Improving Language Understanding by Generative Pre-Training (GPT)

Author

  • 저자:Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever (Open AI, Open AI다! 부럽(?)다)

Who is an Author?

Alec Radford라는 친군데, GPT논문 인용수가 젤 많겠지 했는데 오히려 Vision쪽에서 한 Generative model 인용수가 넘사임.. 원래 유명한 친구였음

{: height=”50%” width=”50%”}

느낀점

  • 작은 변화가 큰 성능의 변화를 가져다줌
    • Add auxiliary objective
    • pre-training LM
자세히 보기

SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing

Author

Who is an Author?

{: height=”50%” width=”50%”}

장점

  • 언어에 상관없이 적용 가능
  • OOV 대처 가능
  • 적은 vocab size로 높은 성능기록
  • 빠름

Note

자세히 보기

BERT- Pre-training of Deep Bidirectional Transformers for Language Understanding

Author

  • 저자:Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova (Google AI Language, Google AI니 말다했지)

Who is an Author?

Jacob Devlin is a Senior Research Scientist at Google. At Google, his primary research interest is developing fast, powerful, and scalable deep learning models for information retrieval, question answering, and other language understanding tasks. From 2014 to 2017, he worked as a Principle Research Scientist at Microsoft Research, where he led Microsoft Translate’s transition from phrase-based translation to neural machine translation (NMT). He also developed state-of-the-art on-device models for mobile NMT. Mr. Devlin was the recipient of the ACL 2014 Best Long Paper award and the NAACL 2012 Best Short Paper award. He received his Master’s in Computer Science from the University of Maryland in 2009, advised by Dr. Bonnie Dorr.

{: height=”50%” width=”50%”}

느낀점

  • Masking 기반의 Language Model과 context 추출을 위한 문장 연관성 (NSP) Task를 동시에 학습시켜서 Rich representation을 얻는다는 아이디어가 참신했음. 두마리 토끼를 한번에..!
  • Bidirectional feature가 상당히 중요함
  • pre-train 중요함
  • NSP도 매우 중요함
  • 여기서도 Loss Masking이 중요함
  • CLS Loss와 LM Loss를 따로 떼서 계산해야함
  • gelu, masking scheme 썼을때와 안썼을때 성능차이가 꽤 남
  • segment embedding 처리하는게 은근 귀찮음, 전처리 할때 아예 생성해버리는게 편하긴함
  • CLS acc 올리기보다 LM acc 올리는게 더 쉬움
자세히 보기

Attention Is All You Need

이번엔 오늘날의 NLP계의 표준이 된 Transformer를 제안한 논문인 Attenion Is All You Need에 대해서 리뷰해보고자 한다. 대략적인 내용은 이미 알고 있었지만, 디테일한 부분도 살펴보고자 한다.

Author

  • 저자: Ashish Vaswani, 외 7명 (Google Brain)
  • 구글브레인..wow
  • NIPS 2017 accepted

Who is an Author?

{: height=”50%” width=”50%”}

느낀점

  • Multi-Head-Attention을 빠르게 구현하기 위해 Matrix 연산으로 처리하되, Embedding Tensor를 쪼갠 후 합치는게 아닌 reshape & transpose operator로 shape을 변경 후 한꺼번에 행렬곱으로 계산해서 다시 reshape 함으로써 병렬처리가 가능하게끔 구현하는게 인상적이었음
  • 행렬곱할 때 weight 와 곱하는건 weight variable 생성 후 MatMul 하는게 아니라 그냥 다 Dense로 처리하는게 구현 팁이구나 느꼈음
  • 요약: 쪼갠다음에 weight 선언 후 매트릭스 곱? No! -> 쪼갠 다음에 Dense! -> 쪼개면 for loop 때문에 병렬처리 안되잖아! -> 다 계산후에 쪼개자!
  • Attention만 구현하면 얼추 끝날 줄 알았는데 Masking 지분이 70~80%였음
    • Masking은 logical 연산 (boolean)으로 padding 체크해서 하는게 일반적임
    • Masking은 input에도 해주고 loss에도 해줌
    • 마스킹 적용할땐 broadcasting 기법을 써서 하는게 일반적임
    • 아래의 두 경우 모두 가능함
      • ex) (40, 5, 10, 10) + (40, 1, 1, 10) == (batch, head, seq, seq)
      • ex) (40, 5, 10, 10) + (40, 1, 10, 10) == (batch, head, seq, seq)
자세히 보기

Neural Machine Translation in Linear Time

Author

  • 저자:Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aaron van den Oord, Alex Graves, Koray Kavukcuoglu (Google Deepmind, London UK)
  • 딥마인드 (말 다했다)

Who is an Author?

{: height=”50%” width=”50%”}

Abstract

  • 이 당시엔 Novel architecture였다 (2016년, 후에 Attention is all you need 논문에서도 인용함)
  • ByteNet이라고 부름

{: height=”50%” width=”50%”}

자세히 보기

Deep contextualized word representations(ELMo)

요즘 Transformer가 나오면서 NLP관련 모델의 성능이 크게 증가했다.요즘 시대에 그냥 CNN이나 LSTM쓰면 옛날 사람 취급받을 것만 같은.. 또 하나의 breakthrough라고도 할 수 있을 것 같다. Word Representation쪽에서도 비슷한 도약이 있었는데, 그 시작이 ELMo다. 처음엔 그냥 성능을 약간 올려주는 모델인가보다 하고 넘어갔지만, 다양한 연구에서 활용되는 것을 보면서 이를 기반으로 현재는 Bert와 같은 모델도 나오게 되었다. 이젠 안볼수없는 개념이 되었기에, 논문을 통해 다시 한번 정리해보고자 한다.

Author

  • 저자:Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner,Christopher Clark, Kenton Lee∗, Luke Zettlemoyer

Abstract

  • Syntax & semantics 정보를 잡아냄
  • 언어적 문맥(linguistic contexts)도 고려함
  • word vectors는 internal states에 대한 deep bidirectional language model(biLM)를 통해 유도됨
  • 이러한 representation은 기존 모델에도 잘 붙여서 쓸수 있고 성능도 많이 올랐음(6개의 도전적인 NLP task에서 SOTA!! 기록; QA, SA 등등)

Introduction

  • word2vec등이 NLP에서 Key component였지만 양질의 표현을 얻기는 도전적인 문제가 있었음
  • syntax & semantics와 linguistic contexts를 모델링해주는게 이상적이라 할 수 있음
  • 이 관점으로 새로운 representation을 제안 하겠음
  • Vector를 LM과 함께 학습된 BiLSTM으로부터 얻어낼 것임
  • 이러한 이유로, ELMo(Embeddings from Language Models) representation이라 칭할 것임
  • internal states를 조합해주는건 매우 풍부한 word representation을 줌
  • higher-level LSTM states는 context-dependent aspects of word meaning을 잘 캡쳐함
  • lower-level states는 aspects of syntax(e.g. POS)를 잘함
자세히 보기