GPT-1
Improving Language Understanding by Generative Pre-Training
1. Introduction
대부분의 딥러닝은 대규모의 라벨링 데이터 필요, 이는 다양한 도메인에서의 적용성 제한
→ 이러한 문제를 해결하기 위해 비지도 학습방식 활용해 NLP 작업 성능 향상
ex) 단어 임베딩
But 라벨링되지 않은 텍스트로부터 단어 수준 이상의 정보를 활용하는 것의 어려움
- 어떤 목표가 가장 효과적인지 불분명하다
- 학습된 표현을 목표 작업에 가장 효과적으로 전이하는 방법이 하나로 정해져 있지 않다.
이에 따라 반지도 학습 방식을 이용하기에는 어렵다.
Chat GPT 모델의 아키텍쳐는 Transformer를 활용한다. 이는 기계 번역, 문서 생성, 구문 분석 등에서 사용된다. 구조화된 텍스트 입력을 하나의 연속적인 토큰 시퀀스로 처리하는 순회 스타일 접근 방식에서 파생된 작업 별 입력 적응을 활용한다. 이에 따라 사전 학습된 모델의 아키텍처에 최소한의 변경만으로 효과적인 미세 조정할 수 있게 한다.
2. Related Work
최근에는 라벨링되지 않은 말뭉치에서 학습된 단어 임베딩을 사용하여 다양한 작업의 성능을 향상시키는 방법이 연구되고 있다.
이는 단어를 넘어 더 높은 수준의 의미를 알아낼 수 있다는 것이다. 최근 접근 방식들은 라벨링되지 않은 데이터로부터 단어 수준 이상의 의미를 학습하고 활용하는 것을 조사한 후 구문 또는 문장 수준의 임베딩이 다양한 목표 작업을 위한 적합한 벡터 표현으로 텍스트를 인코딩하는 데 사용되었다.
본 연구의 Transformer 네트워크는 더 긴 범위의 언어 구조를 포착할 수 있게 해준다. 또한 모델이 자연어 추론, 패러프레이즈 검출 및 이야기 완성 등 더 넓은 범위의 작업에서도 효과적임을 보여준다.
이때 보조 비지도 학습 목표를 추가할 수 있다. 이는 보조 NLP 작업을 사용하여 의미 역할 라벨링을 개선할 수 있다.
⇒ 사전 학습된 언어 모델(비지도 방식을 목표)을 활용해 폭넓게, 그리고 정확한 성능을 목표로 연구를 진행하였다.
3. Framework
3.1 Unsupervised pre-training
라벨링되지 않은 토큰의 말뭉치 U={u1,…,un}가 주어지면, 표준 언어 모델링 목적을 사용하여 다음과 같은 식을 최대화 하여야 한다.

여기서 k는 컨텍스트 창의 크기이며, 저건부 확률 P는 매개변수 세타를 가진 신경망을 모델링하며, 확률적 경사 하강법을 사용하여 학습된다.

여기서 U = (u_{i-k}, ..., u_{i-1})는 문맥 토큰의 벡터이고, n은 레이어의 수,
는 토큰 임베딩 행렬,
는 위치 임베딩 행렬이다.
본 연구에서는 트랜스포머 디코더를 사용하여 문맥 정보를 기반으로 다음 토큰의 확률 분포를 계산하고, 이를 통해 모델을 훈련하는 과정을 거치게 된다.
3.2 Supervised fine-tuning
모델에 맞는 파라미터를 지도학습 목표 작업에 맞추게 된다.
- 지도학습 적응
먼저 목적 함수로 학습한 후, 모델의 파라미터를 지도 학습 목표 작업에 맞추어 적응시킨다.
레이블이 있는 데이터셋 C가 주어지며, 각 인스턴스는 입력 토큰 시퀀스 x1...xm과 레이블 y로 구성한다.
입력 토큰은 사전 학습된 모델을 통해 처리되어 최종 트랜스포머 블록의 활성화 h_m을 얻고, 이는 추가된 선형 출력층 파라미터 W_y에 입력되어 y를 예측한다. 그 식은 다음과 같다.

- 위의 식을 통해 최대화해야 하는 목표함수는 다음과 같다.

- 언어 모델링을 보조 목표로
fine-tuning 단계에서 언어 모델링을 보조 목표로 설정하는 것이 학습에 도움이 된다.
아래와 같은 목표를 함께 최적화한다.

- 추가되는 파라미터
fine-tuning 단계에서 필요한 파라미터는 W_y와 구분자 토큰의 임베딩이다.

💡 왼쪽: Transformer 아키텍처와 학습 목표
Transformer는 여러 층의 self-attention 메커니즘과 feed-forward network로 구성되어 있으며 입력 토큰 시퀀스의 특성을 추출한다. 학습 목표는 모델이 입력 시퀀스에 대해 올바른 다음 토큰 또는 레이블을 예측할 수 있도록 하는 것이다.오른쪽: fine-tuning을 위한 입력 변환 방식
- 입력 데이터의 형식에 관계없이 일관된 방식으로 처리하기 위해 토큰 시퀀스로 변환해 모델에 입력한다.
- 모델의 최종 출력은 선형 층과 softmax 층을 거쳐 예측을 수행한다.
⇒ 먼저 사전 학습된 모델을 사용하여 입력 시퀀스를 처리한 후, 출력된 활성화를 기반으로 레이블을 예측한다. 또한 언어 모델링을 보조 목표로 추가하여 지도학습의 성능을 향상시킨다.
3.3 Task-specific input transformations
사전 학습된 모델을 통해 다양한 작업을 수행할 수 있다.
- 텍스트 분류 작업
텍스트 시퀀스를 입력으로 받아 해당 텍스트의 분류를 예측한다. - 질문 답변 및 텍스트 추론
구조화된 입력을 필요로 한다.
→ 질문 답변 작업: 문서, 질문, 답변으로 구성된 삼중 구조
→ 텍스트 추론 작업: 전제와 가설로 구성된 문장 쌍
이러한 입력 구조는 연속적인 시퀀스만 처리하는 모델에 맞게 변환이 필요하다. - 작업별 아키텍처의 한계
작업별로 특화된 아키텍처를 설계할 수 있지만, 이러한 방식은 각 작업마다 구조 수정이 필요하다는 단점을 가진다. - 순회 스타일 접근법
- 순회 스타일의 접근법을 사용하여 구조화된 입력을 사전 학습된 모델이 처리할 수 있는 순서 정보가 있는 시퀀스로 변환한다.
- 모든 입력 변환에는 무작위로 초기화된 시작 및 종료 토큰을 추가하여 모델이 입력의 시작과 끝을 인식할 수 있도록 한다.
사전 학습된 모델을 적용하는 방식은 다음과 같다.
- 텍스트 추론
- 전제 p와 가설 h 두 개의 시퀀스를 사용한다.
- 두 시퀀스를 결합할 때 구분자 토큰을 사이에 추가하여 [p; $; h] 형식으로 구성한다.
- 유사성 작업
- 비교하는 두 문장에 순서 정보가 없기 때문에 두 가지 가능한 순서를 모두 포함한다.
- 각각의 순서에 대해 구분자 토큰($)을 포함한 시퀀스를 만들어 [문장1; $; 문장2], [문장2; $; 문장1] 형식으로 처리한다.
- 두 시퀀스를 독립적으로 처리하여 두 개의 시퀀스 표현 h_m을 생성한 후, 이를 요소별로 합산하여 선형 출력층에 입력한다.
- 질문 답변 및 상식적 추론
- 주어진 문맥 문서 z, 질문 q, 가능한 답변 a_k를 사용한다.
- 문서와 질문을 각 가능한 답변과 결합하여 [z; q; $; a_k] 형식으로 구성한다.
- 각 시퀀스를 모델이 독립적으로 처리한 후, softmax 층을 통해 가능한 답변들에 대한 확률 분포를 생성한다.
⇒ 위와 같은 입력 변환 방식을 통해 구조화된 입력을 모델이 이해할 수 있는 형태로 변환하여 활용할 수 있게 한다.
4. Experiments
4.1 Setup
데이터셋
- 비지도 학습 - BooksCorpus 데이터셋 연속된 긴 텍스트 조각들을 포함하고 있다
- 대체 데이터셋- ELMo 모델은 대안으로 1B Word Benchmark 데이터셋을 사용
- 매우 낮은 토큰 수준 perplexity (18.4)으로 활용
모델
- 구조 : 12개의 레이어로 구성된 디코더 전용 Transformer
- 세부사항
- 768차원 상태와 12개의 마스크드 셀프 어텐션 헤드로 구성
- 위치별 피드포워드 네트워크는 3072차원의 내부 상태를 사용
- 최적화
- Adam 최적화 기법 사용, 최대 학습률은 2.5e-4
- 학습률은 처음 2000번의 업데이트 동안 선형적으로 증가시킨 후 코사인 스케줄에 따라 0으로 감소
- 학습 과정
- 512개의 토큰으로 구성된 연속적인 시퀀스 → 미니배치 64개, 100 epoch
- LayerNorm을 사용하여 N(0, 0.02) 초기화
- 정규화
- 잔여 드롭아웃, 임베딩 드롭아웃, 어텐션 드롭아웃(0.1의 비율)을 사용
- 비편향 및 비증폭 가중치에 대해 수정된 L2 정규화를 적용
- 기타
- 활성화 함수로 GELU(지션 임베딩은 학습된 버전을 사용)
- 텍스트 전처리를 위해 ftfy 라이브러리를 사용하여 문장 부호와 공백을 표준화하고, spaCy 토크나이저를 사용
- Fine-tuning
- 사전 학습 단계에서 사용한 하이퍼파라미터를 재사용
- 분류기에 드롭아웃(0.1의 비율)을 추가
- 학습률은 6.25e-5, 배치 크기는 32
- 대부분의 경우 3 epoch
- 학습 초기 0.2% 동안 워밍업을 포함한 선형 학습률 감소 스케줄을 사용
4.2 Supervised fine-tuning
Natural Language Inference(NLI)
- NLI 과제는 두 문장 간의 관계를 '포함', '모순', '중립' 중 하나로 판단하는 작업
- 다섯 개 데이터셋(SNLI, MNLI, QNLI, SciTail, RTE)을 사용하여 모델을 평가
성과
자연어 추론(NLI)의 성능 결과표

- MNLI에서 1.5%, SciTail에서 5%, QNLI에서 5.8%, SNLI에서 0.6%의 개선을 보임
- 그러나 작은 데이터셋인 RTE에서는 56%의 정확도로, 기존 모델의 61.7%보다 낮은 성과를 보임
⇒ 멀티태스크에 대한 학습 효과에 관한 추후 연구 필요
Question answering and commonsense reasoning
- Question answering
- RACE 데이터셋을 사용하여 질문 응답 성능을 평가 → CNN이나 SQuAD보다 더 다양한 추론 유형의 질문들을 포함하고 있어, 장기적인 문맥을 처리할 수 있는 모델을 평가하는 데 적합하다.
- commonsense reasoning
- Story Cloze Test를 사용하여 다중 문장 이야기의 올바른 결말을 두 가지 옵션 중에서 선택하는 과제를 평가
성능
질문응답 및 상식추론의 성능 결과표

- Story Cloze Test에서 기존 최고 성과보다 최대 8.9% 개선된 성과를 보임
- RACE 데이터셋에서는 전체적으로 5.7% 향상된 성과를 보임
⇒ 모델이 장기 문맥을 효과적으로 처리할 수 있음을 시사
Semantic Similarity
- 두 문장이 의미적으로 동등한지 여부를 예측하는 작업 → 주요 작업은 개념의 재구성, 부정 이해, 구문적 모호성 처리
- 데이터셋 : MRPC(뉴스소스), QQP(질문 쌍 데이터), STS-B(의미적 텍스트 유사성)
성능
의미 유사성과 텍스트 분류의 성능 결과

- STS-B에서 1점 절대적 향상을 기록하며, 두 개의 의미 유사성 과제에서 최신 성과를 달성
- QQP에서는 Single-task BiLSTM+ELMo+Attn 모델에 비해 4.2%의 절대적 향상을 보임
Classification
- (CoLa) → 문장이 문법적으로 맞는지에 대한 전문가 판단을 포함하여, 훈련된 모델의 내재된 언어적 편향을 test
- (SST-2) → 표준 이진 분류 과제
- GLUE 벤치마크에서 전체 점수 72.8을 기록하였으며, 이전 최고 점수인 68.9를 뛰어넘는 점수임을 확인할 수 있다.
5 Analysis
Impact of number of layers transferred
(위의 그래프에서 왼쪽)
Unsupervised pre-training에서 supervised target task로 변환하는 층 수의 영향 관찰
임베딩을 전이하면 성능이 향상되고, 각 transformer layer가 추가적인 이점 제공
Zero-shot Behaviors
(위의 그래프에서 오른쪽)
transformer의 더 구조화된 attention memory가 LSTM에 비해 transfer를 도움
기본 생성 모델을 사용하여 supervised fine-tuning없이 task를 수행하는 일련의 휴리스틱 솔루션의 효과를 시각화
이러한 휴리스틱 성능이 안정적이고 학습이 진행됨에 따라 점차 증가하는 것을 관찰하여
generative pretraining 훈련이 다양한 task 관련 기능 학습을 지원함을 시사
LSTM은 Zero-shot 성능에서 더 높은 분산을 보여주어 트랜스포머 아키텍처의 귀납적 편향이 transfer에 도움이 됨을 시사
Ablation studies
3가지 다른 제거 연구 수행
- fine-tuning 하는 동안 보조 LM objective 없이 성능 조사
- ⇒ 큰 데이터셋이 보조 objective에서 이점을 얻지만 작은 데이터 셋에선 그렇지 않음
- 동일한 프레임워크를 사용하여 단일 layer 2048 unit LSTM과 비교하여 트랜스포머의 효과를 분석
- 사전 훈련 없이 지도 목표 task에 직접 훈련된 transformer 아키텍처와 비교
- ⇒ 사전 훈련이 없으면 모든 작업에서 성능이 저하됨
6 Conclusion
생성적 pre-training과 판별적 fine-tuning을 통해 단일 task 비특화 모델로 강력한 성능 발휘
구체적으로, 다양한 장르의 연속적인 긴 텍스트를 포함하는 데이터 셋에서 pre-training을 통해 모델은 긴 범위의 의존성을 처리하는 능력을 얻음
모델 (Transformers)과 데이터셋(긴 범위의 의존성을 가진 텍스트)이 이러한 접근 방식에 가장 잘 맞는다는 힌트를 제공
이는 Unsupervised learning 을 통한 자연어 이해 및 기타 분야에서의 새로운 연구를 촉진하게 함