Improving Language Understanding by Generative Pre-Training
논문 원본 : https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf
Abstract
- 자연어 이해(NLU)는 텍스트 함의(textual entailment), 질문 응답(question answering), 의미 유사도 평가(semantic similarity assessment), 문서 분류(document classification) 등 다양한 작업을 포함
- 기존에는 이런 작업을 수행하려면, 각 작업마다 특별히 설계된 모델이 필요
- 하지만 문제는, 그런 모델을 훈련하려면 라벨이 있는 데이터가 필요한데, 이런 데이터가 부족하다는 점
- 그래서 본 연구팀은 두 가지 방법을 결합한 새로운 접근법 제안
- generative pre-training : 많은 양의 레이블 없는 텍스트 데이터를 사용해 언어 모델을 먼저 훈련. 이때는 단순히 텍스트를 이해하고 생성하는 모델을 만듦
- discriminative fine-tuning : task를 인식하는 입력 변환(input transformations)을 사용하여 모델 아키텍처를 최소한으로 변경하면서도 효과적인 전이를 달성
1. Introduction
- 현재 NLP에서 딥러닝 모델은 많은 양의 labeled data가 필요
- 하지만 라벨 작업은 시간과 비용이 많이 들어 raw data(원시 텍스트)로부터 효과적으로 학습할 수 있는 능력이 필요
- 또한, 충분한 지도 학습 데이터가 있는 경우에도 비지도 방식으로 좋은 representation을 학습하면 성능을 크게 향상시킬 수 있음
- 그러나 unlabeled data를 사용해 단어 수준을 넘는 유용한 텍스트 표현을 학습하는 데 크게 2가지 어려움을 가짐
- 첫 번째는 target task를 모르기 때문에 어떤 유형의 optimization objectives(목적 함수)가 효과적인지 알 수 없음
- 두 번째는 학습된 representations을 target task에 가장 효과적으로 transfer하는 정해진 방법이 없음
- 이러한 불확실성으로 언어 처리를 위한 효과적인 semi-supervised 학습 개발을 어렵게 함
- 본 논문에서는 unsupervised pre-training과 supervised fine-tuning을 조합하여 언어 이해 작업에 대한 semi-supervised 접근 방식을 탐구
- unsupervised pre-training : 라벨이 없는 대규모 텍스트 데이터를 사용해서, 모델이 텍스트의 기본 구조와 언어적 패턴을 학습
- supervised fine-tuning : 목표 작업(예: 질문 응답, 문서 분류)에 맞춘 라벨 데이터로, 사전 학습된 모델을 조금 조정
- 목표는 다양한 task에 적응할 수 있는 보편적인(universal) 표현을 학습
- 목표 작업(예: 질문 응답)에 맞게 입력 데이터를 변형하는 방식도 도입
- 이를 통해 모델 구조를 복잡하게 바꾸지 않아도, 효과적으로 작업에 적응할 수 있도록 함
- 본 연구에서는 Transformer 모델 구조 사용
- Transformer는 텍스트의 긴 맥락도 잘 이해할 수 있어, 기계 번역, 문서 생성, 구문 분석 등에서 뛰어난 성과를 냄
- 기존의 순환 신경망(RNN)보다 더 효과적으로 텍스트를 처리
- 또한, 사전 학습된 모델의 zero-shot 행동(사전 학습만으로 목표 작업에 적용)을 4가지 설정에서 분석한 결과, 목표 작업에 유용한 언어적 지식을 습득했음을 확인
2. Related Work
Semi-supervised learning for NLP
- 초기 연구들은 레이블이 없는 데이터를 활용해 단어 수준이나 구 수준의 통계를 계산하고 이를 지도 학습 모델의 특징(feature)으로 사용
- 최근에는 레이블이 없는 데이터로 학습한 단어 임베딩이 다양한 작업에서 성능을 개선하는 데 도움
- 하지만 이런 접근은 주로 단어 수준 정보만 전달하며, 우리가 목표로 하는 고차원적인 의미(Higher-level semantics)를 포착하지는 못함
- 더 최근의 연구들은 레이블이 없는 데이터로부터 단어 수준을 넘어선 의미(Phrase-level 또는 Sentence-level Embeddings)를 학습하고 활용하는 데 중점을 둠
Unsupervised pre-training
- 지도 학습 목표를 수정하는 대신 모델의 좋은 초기화 지점을 찾는 데 초점이 맞춰져 있음
- 본 연구와 가장 밀접한 접근은 언어 모델링(Language Modeling) 목표로 신경망을 사전 학습(Pre-training)한 후, 지도 학습 데이터를 사용해 파인튜닝(Fine-tuning)하는 것
- 과거 연구들은 LSTM 같은 모델을 사용했는데, 이는 짧은 문맥만 이해할 수 있음
- 반면, 본 연구에서 사용된 Transformer 모델은 더 긴 문맥을 이해할 수 있어서, 문장의 복잡한 구조까지 잘 학습
Auxiliary training objectives
- 주된 task(예: 텍스트 분류, 시퀀스 태깅)의 성능을 향상시키기 위해, 관련된 작은 추가 task(예: 품사 태깅, 개체명 인식, 언어 모델링 등)을 함께 학습시킴
- 보조 학습 목표가 성능 향상에 도움을 줄 수 있지만, 비지도 사전 학습(Unsupervised Pre-training)만으로도 충분한 언어적 정보를 학습하고 목표 작업을 효과적으로 수행할 수 있음을 입증
3. Framework
3.1 Unsupervised pre-training
- unsupervised 말뭉치 U = {u1, . . . , un}가 주지면 standard LM 목표를 사용하여 아래와 같은 likelihood 최대화
- k는 context window 사이즈
- 즉, 현재 단어를 예측하기 위해 이전 k개의 단어를 참고한다는 의미
- P는 조건부 확률, Θ는 neural network의 파라미터
- 모델 학습은 SGD 사용
- 본 논문에서는 Transformer의 Decoder 구조를 변형하여 언어 모델에 사용(multi-layer Transformer decoder)
- encoder layer가 없기 때문에 encoder-decoder attention 제외
- 첫 번째 hidden state는 입력 컨텍스트 토큰에 token embedding matrix(We)를 곱한 후 positional embedding matirx를 (Wp)를 더하여 생성
- 해당 첫 번째 hidden state에 대해 Masked Multi-Head Self-Attention 연산을 적용한 후, 위치별 Feed Forward Layer를 통해 다음 hidden state를 생성
- 그 다음 decoder block 수만큼 통과하고 position-wise feed-forward layers(WeT)를 거쳐 sofmax로 확률값 구함
3.2 Supervised fine-tuning
- pre-trained model에 linear layer추가하여 각 task 별 fine-tuning 진행
- 데이터셋 C은 입력 x1,x2, ... , xm과 label y로 구성
- 입력 데이터를 사전 학습된 모델에 전달하여 최종 Transformer 블록의 hidden state hlm을 얻은 다음, 추가된 linear layer (파라미터 Wy) 를 사용하여 를 예측
- Transformer의 마지막 레이어에서 입력 시퀀스 마지막 토큰 m에 대한 hidden state 값
- 위의 식에 따라서 아래의 목표함수를 최대화
- 추가적으로 auxiliary objective를 추가
- 구체적으로 labeled 데이터셋에 대한 language model의 fine-tuning과 supervised model의 목적함수가 같이 극대화하면 크게 2가지 이점을 볼 수 있음
- 1) supervised model에 일반화 성능 향상
- 2) 수렴 속도를 가속
- 최종적으로 아래의 objective를 optimize를 함(가중치 λ 사용)
3.3 Task-specific input transformations
- GPT-1의 traversal-style approach은 복잡한 구조를 가진 input(문장 쌍, 문서-질문-답변 등)을 단순한 텍스트 시퀀스로 변환하여 transfer learning을 최소한의 변화로 가능하게 함
Textual entailment
- 전제 p와 가설 h 토큰 시퀀스를 delimiter token($)로 연결
Similarity
- 비교 대상인 두 문장의 고유한 순서가 없으므로 Text 1, Text2의 순서를 바꿔가며 Transformer로 전달
- 두 문장은 delimiter token($)으로 연결
- 두 입력의 representation hlm을 생성하기 위해 각각을 독립적으로 처리한 후 linear layer에 들어가기 전에 더함
Question Answering and Commonsense Reasoning
- context document z와 question q, 가능한 답변 집합 {ak}가 주어짐
- z,q, ak를 하나로 연결하고, 그 사이에 delimiter token($)을 추가하여 입력 시퀀스를 만듦
- 이러한 각 입력 시퀀스를 모델이 독립적으로 처리
- 마지막으로, softmax 레이어를 통해 가능한 답변에 대한 확률 분포를 생성하여 가장 적합한 답을 선택
4. Experiments
4.1 Setup
- 12-layer decoder-only transformer 사용
- Hidden size : 768
- Attention heads : 12
- Feed-forward inner size : 3072
- Activiation : GeLU
- 학습 데이터 : 512 token씩 잘라 64개의 mini-batch로 100 epcoh 학습
4.2 Supervised fine-tuning
- 대부분의 경우 3 epoch만에 학습 완료
- Natural Language Inference
- Question & Answering
- Semantic Similarity & Classification
5. Analysis
Impact of number of layers transferred
- Decoding block의 layer 수의 증가에 따른 성능 향상
Zero-shot Behaviors
- pre-training이 진행됨에 따라 각 tasks의 성능이 향상
Ablation studies
- auxiliary object가 큰 데이터 셋에서는 성능 향상에 도움이 되지만 작은 데이터 셋에서는 아님
- 추가로, transformer 구조 대신 LSTM 모델을 사용했을 때 MRPC 데이터 셋을 제외하고는 모두 transformer보다 낮은 성능 기록
- 또한, pre-training을 했을 때 보다 하지 않았을 때 전체적으로 성능이 감소
6. Conclusion
- 본 연구는 generative pre-training과 discriminative fine-tuning을 통해 단일 task에 종속되지 않은 모델(task-agnostic model)로 강력한 NLU를 달성할 수 있는 프레임워크 소개
- 문서 분류, 문장 간 유사성 평가, 질의 응답, 문맥적 함의 추론 등 다양한 분야에서 성공적으로 fine-tuning이 이루어졌으며 12개 중 9개 task에서 SOTA 달성
7. Reference
'논문 리뷰 > NLP' 카테고리의 다른 글
[X:AI] ELMo 논문 리뷰 (0) | 2024.03.25 |
---|---|
[X:AI] BERT 논문 리뷰 (0) | 2024.02.15 |
[X:AI] Transformer 논문 리뷰 (0) | 2024.02.10 |
[X:AI] Attention 논문 리뷰 (0) | 2024.02.04 |
[X:AI] Seq2Seq 논문 리뷰 (0) | 2024.02.02 |