Contents
자연어 처리 분야에 한 획을 그은 GPT-1과 BERT를 소개합니다. GPT-1과 BERT는 Transfer Learning, Self-supervised Learning, Transformer를 사용했다는 공통점이 있습니다. 세가지의 강력한 무기를 이용해 대용량의 text를 학습한 모델을 target task에 적용해 거의 모든 기존 자연어처리 task를 압도하는 성능을 보여주었습니다. 세 가지의 키워드를 통해 두 모델을 자세히 알아봅니다.
또한, 이후에는 GPT 시리즈가 2와 3로 이어지면서 일부 데이터셋/task에 대해서는 사람보다 더 뛰어난 작문 능력을 보여주기도 합니다. 이로 인해, model size 만능론이 등장하며 resource가 부족한 많은 연구자들을 슬프게 만들기도 했습니다. 다른 연구 방향으로 transformer의 parameter를 조금 더 효율적으로 활용하고 더 나은 architecture/pre-training task를 찾고자 하는 ALBERT와 ELECTRA에 대해서 알아봅니다. 두 모델 모두 풍부한 실험과 명확한 motivation으로 많은 연구자들의 관심을 받은 논문입니다.
위에서 설명드린 연구방향과는 또 다른 연구 흐름으로 경량화 모델/사전 학습 언어 모델을 보완하기 위한 지식 그래프 integration에 대해 소개한 논문들을 간략하게나마 알아봅니다.
Self-supervised Pre-training Models
Recent Trends
- Transformer model and its self-attention block has become a general-purpose sequence (or set) encoder and decoder in recent NLP applications as well as in other areas.
- Training deeply stacked Transformer models via a self-supervised learning framework has significantly advanced various NLP tasks through transfer learning, e.g.,
BERT
,GPT-3
,XLNet
,ALBERT
,RoBERTa
,Reformer
,T5
,ELECTRA
… - Other applications are fast adopting the self-attention and Transformer architecture as well as self-supervised learning approach, e.g., recommender systems, drug discovery, computer vision, …
- As for natural language generation, self-attention models still requires a greedy decoding of words one at a time.
transformer 이후부터는 self-attention 블럭을 최대한 활용하여 모델을 구성하는 모습을 보이고 있다. 특히, 기존의 6개층으로 쌓은 transformer에서 더 나아가 12개 24개층으로 쌓는 모델들이 개발되고 있으며, self-supervised learning framework의 형태로 발전하는 모습을 보이고 있다. 특히, 이는 신약개발, 추천시스템 등 다양한 도메인에서 활용되고 있다.
하지만, NLU 분야에서는 아직 greedy한 디코딩 방식에서 벗어나지 못하는 모습을 보이고 있다.
GPT-1
일론머스크가 세운 비영리 연구기관 OPENAI에서 발표한 모델이며 최근 2,3로 human score를 넘는 성능을 보여주고 있는 모델이다.
- It introduces special tokens, such as
<S> /<E>/ $
, to achieve effective transfer learning during fine-tuning - It does not need to use additional task-specific architectures on top of transferred
GPT-1은 다양한 토큰을 이용해 심플한 task뿐만 아니라 다양한 task를 동시에 커버할 수 있는 통합된 모델을 제안했다는 것이 특징이다.
- gpt-1의 기본적 특징은, 다양한 스페셜 토큰을 제안하여 심플한 task 뿐만 아니라 다양한 task에 대한 통합적 모델을 제안했다는 점에서 그 의의가 있다.
- 기본적인 구조는 self-attention block(trasnformer의 decoder 부분)을 12개 쌓아 만든 모델이다.
- 입력 출력 sequence가 별도로 있는 것이아니라, 데이터를 입력받으면 토큰
<sos>
부터 다음 단어, 다음 단어를 계속 예측하게끔 학습된다. (Language modeling task) - 이 외에도 문장 level 혹은 다수의 문장이 사용되어도 별 다른 수정 없이 사용할 수 이다.
- 이를 테면 classfication의 경우, text의 앞에
start
토큰을 넣고, end of sentence를extract
토큰으로 바꾼 후start
-text
-extract
sequence를 인코딩 한다. - 이렇게
extract
에 해당하는 인코딩 벡터를 최종 아웃풋 레이어의 입력 벡터로 주고, 긍정인지 부정인지 학습하게 된다.
- 이를 테면 classfication의 경우, text의 앞에
Further Reading
- GPT-1
- BERT : Pre-training of deep bidirectional transformers for language understanding, NAACL’19
- SQuAD: Stanford Question Answering Dataset
- SWAG: A Large-scale Adversarial Dataset for Grounded Commonsense Inference
- How to Build OpenAI’s GPT-2: “ The AI That Was Too Dangerous to Release”
- GPT-2
- Illustrated Transformer
- ALBERT: A Lite BERT for Self-supervised Learning of Language Representations, ICLR’20
- ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators, ICLR’20
- DistillBERT, a distilled version of BERT: smaller, faster, cheaper and lighter, NeurIPS Workshop’19
- TinyBERT: Distilling BERT for Natural Language Understanding, Findings of EMNLP’20
- ERNIE: Enhanced Language Representation with Informative Entities, ACL’19
- KagNet: Knowledge-Aware Graph Networks for Commonsense Reasoning, EMNLP’19
Further Question
- BERT의 Masked Language Model의 단점은 무엇이 있을까요? 사람이 실제로 언어를 배우는 방식과의 차이를 생각해보며 떠올려봅시다