learning/MLDL

[논문 리뷰] Improving Language Understandingby Generative Pre-Training (GPT-1) (2018)

silhumin9 2025. 1. 30. 02:41

논문

Abstract

  • 자연어 이해에서 발생하는 다양한 과제들-텍스트 함의(textual entailment), 질문 응답(question answering), 의미 유사성 평가(semantic similarity assessment), 문서 분류(document classification) 등-의 성능 향상을 위해 Generative Pre-Training(GPT) 접근 방식을 제안
  • 라벨링 되지 않은 대규모 텍스트 코퍼스는 풍부하지만, discriminatively trained 모델이 적절한 성능을 발휘하기 어려움
    • discriminatively trained model: 주어진 데이터에서 입력과 출력 간의 관계를 직접 학습하는 모델
  • GPT는 대규모 비지도 텍스트 코퍼스에서 생성적으로 사전 학습을 수행(generative pre-training)한 후, 각 과제에 맞춘(task-aware input transformation) 소규모 지도 학습(discriminative fine-tuning)을 통해 모델을 미세 조정
    • 모델 아키텍쳐에 최소한의 변화를 주며 효과적인 전이 학습(transfer) 가능
    • 전이 학습: 이미 학습된 모델이 다른 관련된 작업에 학습한 지식을 전이하여 사용하는 기법
    • 많은 기존 모델은 특정 작업에 맞게 아키텍처를 변경하거나 복잡한 추가 모듈을 설계
    • GPT는 일관된 모델 구조를 유지하며, 작업별로 입력 형식만 변환(task-aware input transformation)하여 다양한 작업에 적응
  • 이 모델은 특정 과제에 특화된 기존 아키텍처를 뛰어넘어 12개의 실험 과제 중 9개에서 최신 성능(State-of-the-Art)을 달성
    • 8.9% on commonsense reasoning (Stories Cloze Test), 5.7% on question answering (RACE), and 1.5% on textual entailment (MultiNLI)

1. Introduction

  • 기존 방법의 한계
    • 수동으로 라벨링 된 데이터 필요
    • 비지도로 좋은 표현 학습하면 비용 절감, 성능 향상
    • 지금까지 사전 학습된 단어 임베딩을 사용한 경우는 있었으나, word-level information 이상의 정보를 활용하는 것은 어려웠음
      • 어떤 유형의 최적화 목표(optimization objective)가 효과적인지 파악이 어려움
      • 학습된 표현을 target task로 옮기는 효과적인 방법에 대한 동의 부재
  • GPT
    • 개념
      • semi-supervised apporach for language understanding task
      • 비지도 사전학습(pre-training) + 지도 미세조정 (fine-tuning)
    • 훈련 절차: 2단계
      • 비지도 사전학습(unsupervised pre-training): 언어 모델링 목표를 사용하여, 라벨링되지 않은 데이터에 초기 파라미터 학습
      • 지도 미세 조정(supervised fine-tuning): 지도 목표를 사용하여 파라미터를 목표 task에 맞게 조정
    • 모델 아키텍처: transformer 사용
      • 텍스트의 장거리 의존성(long-term dependency)*을 처리하기 위한 구조화된 메모리를 제공하므로 다양한 작업에서 강력한 transfer 성능 보임
        • 장거리 의존성(long-term dependency)
          • 텍스트가 멀리 떨어져있을 때도 맥락하는 파악하는 능력
      • transfer 중에는 task-specific input adaptation을 사용하여 구조화된 텍스트 입력을 하나의 연속적인 토큰 시퀀스로 처리
      • 아키텍처를 최소한으로 변경하며 효과적인 fine-tuning 가능
    • 평가 방식
      • 4가지 업무에 대해 평가: 자연어 추론, 질문 답변, 의미적 유사성, 텍스트 분류
      • 8.9% on commonsense reasoning 상식추론 (Stories Cloze Test), 5.7% on question answering 질문 답변 (RACE), and 1.5% on textual entailment 텍스트 함의 (MultiNLI)

2. Related Works 생략


3. Framework

3.1 Unsupervised pre-training

  • 비지도 사전 학습(Unsupervised Pre-Training): 대규모 텍스트 코퍼스에서 대용량 언어 모델 학습

스크린샷 2025-01-29 오전 2.28.57.png

  • Loss Function
    • Ui = 비지도 토큰 말뭉치(현재 예측하고자 하는 단어)
    • k = context window(언어 모델에서 현재 단어를 예측하기 위해 참조하는 이전 단어들의 범위)
    • 조건부 P = 매개변수 Θ가 있는 신경망을 사용하여 모델링
  • : L(U) = 언어 모델 학습의 기본 목표; standard language modeling objective (주어진 단어 시퀀스를 기반으로 다음 단어의 확률을 최대화하는 것)
  • Optimization Algorithm
    • 확률적 경사하강법(stochastic gradient descent)
  • : 매개변수는 확률적 경사하강법(SGD, stochastic gradient descent)으로 학습됨
  • Language model
    스크린샷 2024-12-27 오후 7.45.30.png
    (2) multi-headed self attention 연산 적용해 위치별 feedforward layer를 적용(h1)
    • h = 특정 시점의 transformer 출력
    • U = 토큰의 context vector
    • n = layer 수
    • We = 토큰 embedding vector
    • Wp = 위치 embedding vector
  • (3) 대상 token에 대한 output distribution 생성(P(u))
  • (1) input context token에 대해 (h0)
  • : Transformer Decoder 사용
  • 부연 설명*
    • Decoder는 주로 텍스트 생성(generative tasks)에서 사용되며, 이전의 토큰(token)을 기반으로 다음 토큰을 예측하는 데 초점
    • input: context token으로 이루어진 시퀀스 → 임베딩 벡터로 변환되어 모델에 입력
    • multi-headed self attention
      • Self-Attention: 입력 시퀀스의 각 토큰이 다른 모든 토큰과 상호작용하여 중요도를 계산
      • Multi-Headed: 여러 개의 Attention 연산(Head)을 병렬로 수행해 다양한 관계를 동시에 학습 - 서로 다른 문맥적 특징을 학습하는 데 도움
      • 토큰 임베딩 벡터 변환 → attention score 계산 및 정규화 → 여러 head에서 병렬로 수행한 후 결과 결합
    • feedforward layer: Self-Attention의 출력은 위치별(position-wise)로 독립적인 Fully Connected Layer에 전달
      • cf) fully connected layer: 노드가 이전 층의 모든 노드와 연결된 인공신경망의 구성 요소. , 모든 입력이 각 출력에 영향을 미치며, 이를 통해 입력 간의 복잡한 관계를 학습.
      • cf) feedforward layer: Self-Attention 이후 등장하는 두 개의 Fully Connected Layer로 구성된 서브 네트워크
        • 첫 번째 Fully Connected Layer는 입력을 고차원 공간으로 확장
        • 두 번째 Fully Connected Layer는 이를 다시 원래의 차원으로 축소
        • 이 과정은 비선형 활성화 함수 (e.g., ReLU, GELU)를 포함하며, 각 토큰의 표현을 독립적으로 처리
    • output distribution: Feedforward Layer를 거친 결과는 각 토큰에 대해 다음 토큰의 확률 분포로 변환되며, 이 확률이 softmax로 계산됨
      • cf) softmax 함수: 입력 값을 확률 분포로 변환하는 수학적 함수. 각 입력 값이 특정 클래스에 속할 확률을 계산하도록 돕는 역할.
        • 각 클래스가 정답일 확률을 0~1 사이로 나타냄
        • 스크린샷 2025-01-29 오전 2.50.15.png

Figure 1

Figure 1

  • 왼쪽: 트랜스포머 아키텍쳐 및 사용된 학습 목표
  • 오른쪽: 다양한 작업에 대한 fine-tuning을 위한 입력 변환
    • 구조화된 입력 → 토큰 시퀀스 → 사전 학습 모델 처리 → 선형+소프트맥스 계층으로 변환

3.2 Supervised Fine-Tuning

  • 지도 학습(Supervised Fine-Tuning): supervised target task에 맞게 모델 파라미터 미세 조정
  • 라벨링된 데이터셋 C를 가정
  • input
    • label y와 함께 각각의 인스턴스가 연속된 input token으로 구성됨
    • pre-trained model 최종 transformer block의 activation hl~m
    • cf) activation?: 활성화 함수의 마지막 출력값을 linear layer에 넣음
    • 데이터셋 C 파라미터 Wy
  • output
  • 스크린샷 2024-12-27 오후 7.46.02.png
  • maximize 목표: Loss function
  • 스크린샷 2024-12-27 오후 7.46.23.png
  • 이 과정에서 언어 모델을 fine-tuning의 보조 목표(auxiliary objective)로 포함시키면
    • (a) 지도 모델의 generalization를 개선하고
    • (b) convergence를 가속화함으로써 학습에 도움됨. 다음 목표 최적화
  • 구체적인 loss function
  • 스크린샷 2024-12-27 오후 7.46.38.png

3.3 Task-specific input transformations(작업별 입력 변환)

  • classification: 직접 model fine-tune 가능
  • entailment: have structured inputs. 전체 p와 가설 h 토큰 시퀀스를 연결하고 그 사이에 구분 기호 토큰 $를 넣음.
  • ↔ 사전학습된 모델은 연속된 텍스트 시퀀스에 대해 학습되었으므로 수정 필요
  • similarity: 비교 대상인 두 문장의 고유한 순서가 없으므로, 입력 시퀀스를 두 가지 가능한 문장 순서 모두 포함하도록 수정하고, 각각을 독립적으로 처리하여 두 개의 시퀀스 표현 생성
  • Q&A: 문맥 문서 z, 질문 q, 가능한답변 {a} 집합이 주어짐. 문맥과 질문을 각각 가능한 답변과 연결하고, 그 사이에 구분 기호 토큰 추가
  • 이전 연구: 전이된 표현(transferred representation)을 기반으로 작업별(task-specific) 아키텍처 학습
  • ↔ 해당 연구; traversal style : 구조화된 입력을 사전학습 된 모델이 처리할 수 있는 ordered sequence로 변환, 아키텍처 변경 피할 수 있음

4. Experiments

4.1 Setup

4.1.1 Unsupervised Pre-training

  • 비언어모델 학습: Books Corpus Dataset
    • 모험, 판타지, 로맨스 등 다양 한 장르의 미출간 도서 7,000여 권이 포함
    • 연속된 긴 텍스트가 포함되어 있어 생성 모델이 장거리 정보를 조건으로 학습
    • alternative dataset: 1B Word Benchmark (비슷한 크기)
  • 모델 사양
    • Transformer 아키텍처:
      • 12층(layer) 디코더 전용 Transformer 사용
      • 각 층은 768 차원 상태와 12개의 self-attention heads로 구성
    • 학습 설정:
      • 학습률: 2.5e-4로 설정, 초기에는 선형적으로 증가 후 코사인 감소 스케줄 사용
      • 100회 반복 학습(epoch): 각 배치(batch)는 64개의 512개 토큰 시퀀스로 구성
    • 규제와 정규화:
      • 드롭아웃(dropout) 비율: 0.1
      • 40,000개 서브워드 단위(BPE, bytepair encoding) 어휘 사용
        • cf) BPE: 가장 많이 등장하는 문자 쌍(pair)을 반복적으로 병합하면서 단어를 작은 조각으로 나누는 방식
      • L2 정규화: 가중치에 0.01 적용
        • cf) L2: 신경망을 훈련할 때 가중치(weight)가 너무 커지면 과적합(overfitting)이 발생할 가능성이 커지므로, 이를 방지하기 위해 penalty를 부여하는 것
      • 활성화 함수: GELU(Gaussian Error Linear Unit) 사용
        • cf) 활성화 함수: 신경망에서 입력값을 비선형적으로 변환해서 모델이 복잡한 패턴을 학습할 수 있도록 도와주는 함수
        • cf) ReLU와의 비교: GELU는 더 부드러운 활성화 함수
          • ReLU는 x가 0보다 크면 그대로 출력, 0보다 작으면 0 출력 → 비연속적인 변화 발생!
          • GELU는 입력값을 확률적으로 조정해서 더 부드러운 활성화를 수행!
    • 초기화 및 데이터 전처리
      • 초기 가중치 분포: N(0,0.02)
      • BooksCorpus 데이터셋에서 텍스트를 정리, 표준화, 토큰화(spaCy 사용)

4.1.2 Fine-tuning

  • 드롭아웃 추가: 분류 레이어에 0.1 드롭아웃* 적용
  • 학습률
    • 대부분의 작업은 6.25e-5 학습률과 배치 크기 32로 3회 학습으로 충분
    • 학습 스케줄: 초반 0.2%는 학습률을 선형 증가 후 감소
    • 보조 언어 모델 목표: 학습 가속 및 일반화 성능 향상 (λ=0.5)
    • λ=0.5\lambda = 0.5

스크린샷 2024-12-27 오후 7.47.39.png

4.2 Supervised Fine-tuning

4.2.1 Natural Language Inference

  • 자연어 추론(Natural Language Inference, NLI)은 두 문장의 관계를 판단하는 작업으로, 관계는 다음 중 하나로 분류:
    • 수반(Entailment): 전제가 가설을 참으로 만듦
    • 모순(Contradiction): 전제가 가설과 상충
    • 중립(Neutral): 전제가 가설을 참인지 거짓인지 알 수 없음
  • 사용된 데이터셋: SNLI (이미지 캡션), MNLI (필사된 연설, 대중 소설 등), QNLI (Wikipedia 기사), SciTail (과학 시험), RTE (뉴스 기사)
  • 모델의 성능 결과: 제안된 모델은 5개 데이터셋 중 4개에서 기존 최고 성능(SOTA)을 능가
    • MNLI: 1.5% 개선
    • SciTail: 5% 개선
    • QNLI: 5.8% 개선
    • SNLI: 0.6% 개선
    • RTE: 정확도 56%로, 기존 다중 작업 BiLSTM 모델(61.7%)에 미치지 못함
  • 의의
    • 모델은 여러 문장을 효과적으로 추론하며 언어적 모호성도 처리 가능
    • 대규모 데이터셋에서 강력한 성능을 보였으며, 멀티태스크 학습을 추가적으로 적용하면 성능이 더욱 향상될 가능성이 있음(현재 미검토)
    • 스크린샷 2024-12-27 오후 7.47.59.png

4.2.2 Question answering and commonsense reasoning질문 답변 및 상식적 추론

  • 사용 데이터셋
    • RACE: 중고등학교 영어 시험 질문과 지문으로 구성, 복잡한 추론 문제 포함
    • Story Cloze Test: 여러 문장으로 구성된 이야기의 올바른 결말 선택하는 과제
  • 모델 성능
    • RACE: 이전 최고 성능 대비 5.7% 향상
    • Story Cloze Test: 이전 최고 성능 대비 8.9% 향상
  • 의의: 모델이 긴 문맥을 효과적으로 처리할 수 있는 능력을 입증
  • 스크린샷 2024-12-27 오후 7.48.10.png

4.2.3 Semantic Similarity 의미적 유사성

  • 과제:
    • 두 문장이 의미적으로 동일한지 예측
    • → 의역 인식, 부정 이해, 구문 모호성 처리
  • 사용 데이터셋
    • MRPC: 뉴스 소스에서 수집된 의역 데이터셋
    • QQP: Quora 질문 쌍
    • STS-B: 의미적 텍스트 유사성 벤치마크
  • 모델 성능
    • STS-B: 1점의 절대 향상
    • QQP: BiLSTM + ELMo 대비 4.2% 절대 향상
  • 의의: 의미적 유사성 작업에서 최신 성능을 기록

4.2.4 Classification 텍스트 분류

  • 과제
    • CoLA: 문장이 문법적으로 수용 가능한지 판단
    • SST-2: 감정 분석(긍정/부정) 이진 분류
  • 모델 성능
    • CoLA: 45.4점으로 이전 최고 점수인 35.0점 대비 크게 향상
    • SST-2: 정확도 91.3%로, 기존 최신 모델과 경쟁 가능
    • GLUE 점수: 72.8점으로, 이전 최고 기록(68.9점)보다 향상
  • 의의: CoLA에서 모델의 타고난 언어적 편향성과 문법적 이해 능력을 입증
  • 스크린샷 2024-12-27 오후 7.48.22.png

5. Analysis

5.1 Impact of number of layers transferred

: pre-trained model의 layer를 supervised target task로 전송할 때 성능에 미치는 영향

  • MultiNLI와 RACE 데이터셋 모두에서 전송 레이어 수가 많을수록 성능 향상
    • MultiNLI에서 모든 레이어를 전송했을 때 최대 9% 성능 개선
      스크린샷 2024-12-27 오후 7.48.39.png
    • → 사전 학습된 모델의 각 레이어는 특정 작업에 유용한 기능을 포함하고 있음

5.2 Zero-shot Behaviors

: 사전 학습된 언어 모델이 제로 샷(Zero-shot) 환경에서 어떤 성능을 보이는지 분석

  • 사전 학습 모델은 다양한 작업 관련 기능을 학습하여 성능 향상 지원
  • Transformer는 LSTM보다 더 안정적이며 높은 전송 성능을 보임
  • 스크린샷 2024-12-27 오후 7.48.49.png

5.3 Ablation studies

  • fine-tuning 중 언어모델 보조 목표의 효과
    • NLI 및 QQP 작업에서 보조 언어 모델 목표가 성능에 도움을 줌
    • 소규모 데이터셋에서는 보조 목표의 효과가 제한적
  • LSTM vs Transformer 비교
    • 동일한 프레임워크에서 LSTM은 Transformer보다 평균 5.6점 낮은 점수를 기록
    • 특히 MRPC 작업에서만 LSTM이 유리했으며, 다른 작업에서는 Transformer가 우세
  • 사전 학습 없이 학습한 모델
    • 사전 학습 없이 작업을 직접 학습하면 전체 성능이 14.8% 감소

6. Conclusion

  • Generative Pre-Training은 자연어 이해를 위한 강력한 도구로, 비지도 학습을 통해 긴 문맥 의존성을 학습하고, 이를 다양한 과제에 성공적으로 전이