딥러닝, 논문 리뷰

[딥러닝, 논문리뷰] GPT-2 Language Models are Unsupervised Multitask Learners

cheorish 2025. 2. 20. 01:23

 

 

 

https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

 

 

https://cheorish.tistory.com/28

 

[딥러닝, 논문리뷰] GPT-1 Improving Language Understandingby Generative Pre-Training

https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf 1. Abstract 기존 NLU(자연어의 이해)에는 문장의 논리적 관계를 분석하는 "문장간의 함의 관계", QA태스크, 의미적 유사성 평

cheorish.tistory.com

 

기존 GPT-1에 이은 GPT-2도 리뷰 할 것인데 이번에는 완전한 비지도 학습으로도 훈련이 가능하다는 것을 논문에서는 설명하려는 것 같으니 제대로 훑어보겠습니다.

 

1. Abstract 

GPT-2 논문의 주요 내용 설명

 

기존 자연어처리 모델들은 일반적으로 지도 학습 기반으로 훈련 됨, 그렇지만 이번 GPT-2는 비지도 학습만으로도 다양한 NLP 태스크를 해결할 수 있음을 증명하려고 하는데, 사전훈련 된 언어 모델 기반으로 특정 태스크에 대한 추가 학습 없이도 Zero-Shot 기반 여러 NLP 태스크를 수행할 수 있음을 보여줌 

 

주요 기여점 

 

    • Zero-Shot 학습 가능성 증명:
      • QA세트, 기계 번역, 독해, 텍스트 요약 등 다양한 NLP 태스크를 별도 지도 학습 없이 수행 가능 
      • 예: CoQA 데이터셋에서 F1-score 55점 달성 → 기존 모델 중 3개 이상과 비슷하거나 더 높은 성능
    • 웹 기반 대규모 데이터셋(WebText) 활용
      • 기존 데이터 셋이 아닌, 인터넷에서 수집한 대규모 텍스트 (WebText, 8M 문서, 40GB) 사용
      • 레딧에서 3 Karma 이상을 받은 링크만 사용해서 데이터 품질 개선 (확인 해보니까 네이버로 비유하면 붐업 3번 이상 간 글만 긁어온다라는 것 같아요)
      • 다양한 도메인의 언어를 학습할 수 있도록 설계
    • 모델 크기 증가가 성능에 미치는 영향 분석 
      • 1.5빌리언(15억개)의 파라미터를 가진 트랜스포머 모델 
      • 모델 크기가 커질수록 성능이 로그-선형적으로 증가함을 보임 
        • 로그 선형의 증가란?
          • x축 모델의 크기
          • y축 모델의 성능 
          • 선형 관계 → x축이 커질수록 y축도 같이 선형 그림 처럼 증가 
          • 즉, 모델 빵(크기)를 늘릴 수록 성능이 일정 비율로 향상 된다는 말 
    • 7개 언어 모델링 데이터셋에서 SOTA 달성
      • 8개 평가 데이터셋 중 7개에서 SOTA 달성 
      • 특히, 긴 문맥을 이해하는 LAMBDA 테스트에서 기존 대비 7% 향상 

2. Introduction

기존 머신러닝 시스템은 대규모 데이터, 고용량 모델, 지도 학습의 조합을 통해 특정 태스크에서 뛰어난 성능을 발휘하는데, 그렇지만 데이터 분포나 태스크가 조금만 변해도 쉽게 성능이 저하되는 취약성을 가지고 있음.

 

즉 현재의 시스템은 일반적인 인공지능 시스템이 아니라, 특정 태스크에만 특화 되어 활용하는 좁은 의미의 전문가(Narrow Experts)에 가깝다고 논문에서 설명함 

 

궁금적인 목표는 각각의 태스크별로 데이터를 만들고 라벨링을 할 필요 없이, 여러 작업을 수행할 수 있는 범용 인공지능 시스템(General AI라고도 합니다)으로 발전 하는 것 

 

    • 현재 머신러닝 시스템 개발의 일반적인 접근법: 
      • 정답지가 있는 데이터셋(라벨)을 수집하여 모델 훈련
      • 훈련 된 모델이 정답을 모방하도록 학습(지도 학습, Supervised Learning)
      • 독립적이고 동일한 분포(IID)의 테스트 데이터에서 모델 성능을 평가 
    • 위 방법은 특정 태스크에서는 효과적이지만 한계가 있음 
      • Narrow Experts라고도 하며, 캡셔닝 모델, 이미지 분류기, 독해 시스템 등 다양한 제로-샷 베이스드의 입력등의 다양성과 변화를 잘 처리하지 못하는 경향이 있음(모양이 여러가지인 바나나를 제로-샷으로 던졌을 때 구분하지 못하는 예라 생각하면 됨)
      • 즉, 예상치 못한 입력에 대해 비 일관적이거나 예측 불가능한 결과를 보이는 경우가 많음. 
    • 현재 AI 시스템의 일반화 부족 원인
      • 단일 태스크(Single Task) + 단일 도메인(Single Domain) 데이터셋 훈련이 일반적이기 때문
      • 다양한 태스크와 도메인에서 훈련하고 평가하는 것이 필요함
    • 멀티 태스크 학습 가능성
      • 멀티태스크 학습은 인공지능 시스템의 일반화 성능을 향상 시키는 유망한 접근법이랍니다.
      • 최근 GLUE, decaNLP 같은 멀티태스크 벤치 마크가 등장하여 연구가 진행 중 
      • 하지만 NLP에서의 멀티태스크 학습은 아직 초기 단계
    • 멀티태스크 학습의 한계 
      • 기존 연구에서는 10~17개의 데이터셋 & 태스크 목표(objective) 조합으로 훈련 현재 방식으로는 데이터셋과 목표를 확장하는 데 한계가 있음
      • 그러나 AI 모델이 일반화하기 위해서는 수백~수천 개의 예제가 필요
      • 현재 방식으로는 데이터셋과 목표를 확장하는 데 한계가 있음 
    • 새로운 멀티태스크 학습 접근법이 필요 
      • 현재 기법으로는 데이터셋과 태스크를 무작정 확장하는 것은 어렵다.
      • 기존 방식을 넘어선 새로운 멀티태스크 학습 프레임워크를 탐색할 필요가 있음 

현재 NLP에서 가장 성능이 좋은 모델들은 “사전훈련(Pre-training) + 지도 미세 조정(Fine-tuning)” 방식을 사용

 

  • 초창기: 워드 벡터(Word Vectors)만 학습하여 태스크별 모델에 입력 (Mikolov et al., 2013)
  • 이후: RNN 기반의 문맥적 표현(Contextual Representations) 전이 학습 (Dai & Le, 2015)
  • 최근: Transformer 기반의 사전훈련된 모델 전이(Self-Attention Block Transfer)만으로도 성능 향상 가능 (GPT-1, BERT 등)

하지만 이러한 방식은 여전히 지도학습이 필요함 ,지도 데이터가 적거나 없는 상황에서 기존 접근법은 한계가 있음

 

  • 언어 모델을 활용한 몇몇 연구들은 지도 데이터 없이도 특정 태스크 수행 가능성을 보임
  • 예: 상식 추론(Common Sense Reasoning), 감성 분석(Sentiment Analysis)

이 논문(GPT-2)은 두 가지 연구 방향을 연결하고 더 일반적인 전이 학습 방식을 제안

 

  • Zero-shot 학습(Zero-shot Learning):
  • 사전훈련된 언어 모델(Language Model)이 별도의 추가 학습 없이(downstream fine-tuning 없이) 다양한 NLP 태스크를 수행 가능
  • 모델 구조나 파라미터 수정 없이도 NLP 태스크를 해결할 수 있음을 입증

 

 

  • CoQA (독해, Reading Comprehension)
  • WMT-14 Fr-En (기계 번역, Machine Translation)
  • CNN/Daily Mail (텍스트 요약, Summarization)
  • Natural Questions (질문 응답, Question Answering)

각 태스크 별 테스트를 통한 성능 입증을 보여주는 차트 

 


 

3.  Approach

핵심은 언어 모델링, 언어 모델링은 비지도 학습 기반 확률 분포 추정으로 정의 됨 

  • 입력 데이터: \( (x_1, x_2, ..., x_n) \)
  • 각 샘플은 가변 길이의 심볼 시퀀스 \( (s_1, s_2, ..., s_n) \) 로 구성됨.

확률 분포 정의

  • 언어에는 자연스러운 순서가 존재하므로, 공동 확률을 조건부 확률의 곱으로 분해할 수 있다고 하네요 
  • 수식으로는 

\(P(x) = \prod_{i=1}^{n} P(s_n | s_1, ..., s_{n-1})\)

 

  • 상기 접근법을 사용하면,\( p(x) \) 및 특정 조건부 확률도 쉽게 샘플링 및 추정이 가능하다고 함 

$$
p(s_{n-k}, ..., s_n | s_1, ..., s_{n-k-1})
$$

 

→ 조건부 확률의 개념 즉, 앞의 단어들을 바탕으로 다음 단어의 확률을 예측하는 방식

최근 Transformer(Vaswani et al., 2017) 같은 Self-Attention 기반 모델이 이러한 조건부 확률을 더 효과적으로 계산할 수 있도록 개선됨.

태스크 수행을 확률적 관점에서 표현
단일 태스크 학습(Single Task Learning) 은 확률적 표현으로 다음과 같이 정의할 수 있음.

$$
p(\text{output} | \text{input})
$$

일반적인 AI 시스템(General AI)은 동일한 입력을 사용해 여러 태스크를 수행할 수 있어야 함.  
따라서, 모델은 태스크까지 조건으로 고려해야 함.

$$
p(\text{output} | \text{input}, \text{task})
$$

태스크 조건(Task Conditioning) 적용 방식

  • 기존 연구에서는 태스크를 조건으로 반영하는 방법을 두 가지로 구분함.
  1. 아키텍처 기반(Task-specific Encoders & Decoders) (Kaiser et al., 2017)
  2. 알고리즘 기반(Meta-learning Optimization Framework) (Finn et al., 2017, MAML)

하지만, McCann et al. (2018)은 언어 자체를 이용해 태스크, 입력, 출력을 하나의 시퀀스로 표현하는 방법을 제안함

  📌 예시:

  • 기계 번역(Translation):  

    ```
    (translate to french, english text, french text)
    ```

  • 독해(Reading Comprehension):  

    ```
    (answer the question, document, question, answer)
    ```

McCann et al. (2018)는 이 방식으로 MQAN 모델을 훈련하여 다양한 태스크를 수행할 수 있음을 입증함

 

결론을 요약하자면 

 

언어 모델(Language Model)은 명시적인 지도학습(Supervised Learning) 없이도 여러 태스크를 학습할 수 있음

    • McCann et al. (2018)에서 제안한 방식(자연어를 활용한 태스크 지정)도 언어 모델 자체가 학습 가능
    • 지도학습의 목표(Supervised Objective)와 비지도학습의 목표(Unsupervised Objective)는 동일한 수식이므로, 비지도 목표를 최적화하면 자연스럽게 지도 목표도 최적화될 수 있음

다만, 명시적인 지도학습 없이 학습 속도가 느림

  • 실험 결과, 충분히 큰 언어 모델은 멀티태스크 학습을 수행할 수 있었지만, 지도학습을 직접 수행한 모델보다 학습 속도가 느림 

대화형 학습(Dialog-based Learning)의 한계

    • Weston (2016)은 대화(Dialog)를 통해 언어를 직접 학습하는 시스템이 필요하다고 주장
    • 하지만, 이는 너무 제한적인 방식이라고 저자들은 우려함, 인터넷에는 인터랙션 없이도 학습할 수 있는 방대한 자연어 데이터가 존재 

핵심 가설: 충분히 큰 언어 모델은 자연어 데이터를 통해 태스크를 스스로 학습할 수 있음

      • 언어 모델이 더 나은 예측을 위해 자연어 속에서 태스크를 추론하고 수행할 가능성이 있음
      • 즉, 비지도 멀티태스크 학습(unsupervised multitask learning)이 가능할 것
      • 이를 검증하기 위해, Zero-shot 학습 환경에서 언어 모델의 성능을 분석

 

4-1. Training Dataset

 

데이터 셋 구축 

  • 기존 뉴스, 위키피디아, 책 등의 특정 도메인 데이터셋이 아닌 웹 기반 대규모 데이터셋(WebText) 사용
  • Common Crawl보다 품질 높은 데이터를 사용하기 위해 Reddit의 인기 글(3 karma 이상) 기반 수
  • 총 40GB, 8M 문서 규모의 방대한 데이터 

기존 연구들의 한계

  • Trinh & Le (2018): Common Crawl 데이터를 무작정 사용하지 않고, 특정 태스크(Winograd Schema Challenge)에 맞는 데이터를 선별해서 사용
  • 하지만, 이 방식은 특정 태스크에 최적화된 데이터 선택을 필요로 하며, 새로운 태스크에 일반화하기 어려움
  • 저자들의 목표:
    • 특정 태스크에 최적화된 데이터를 선별하는 것이 아니라, 가능한 한 일반적인 방법으로 태스크를 예측할 수 있도록 다양한 데이터를 활용하고 싶음 
  • GPT-2 연구팀이 구축한 데이터셋: “WebText”
    • Reddit에서 3 Karma 이상을 받은 링크 4,500만 개에서 텍스트 부분만 추출하여 WebText 데이터셋을 생성
    • HTML에서 텍스트를 추출하기 위해 Dragnet & Newspaper 콘텐츠 추출기 사용
  •  논문에서 사용한 WebText 버전
    • 2017년 12월 이전의 링크만 포함
    • 최종적으로 800만 개 문서(총 40GB 텍스트)로 구성됨
    • 중복 제거(de-duplication) 및 휴리스틱(heuristic) 기반 클리닝을 수행

4-2. Input Representation

일반적인 언어 모델의 이상적인 목표

  • 어떤 문자열이든 확률을 계산하고 생성할 수 있어야 함 
  • 하지만, 기존 대규모 언어 모델들은 여러 전처리 과정을 거침 
    • 소문자 변환 
    • 토크나이제이션 
    • 아웃 - 오브 - 보캡 토큰 처리(OOV)

이러한 전처리는 모델이 다룰 수 있는 문자열의 범위를 제한함 

 

바이트 단위 처리(Byte-Level Processing) vs 단어 단위 처리(Word-Level Processing)

 

UTF-8 바이트 시퀀스로 문자열을 처리하면(LM을 Byte-Level로 훈련하면), 어떤 문자열이든 다룰 수 있음 

대규모 데이터셋(예: One Billion Word Benchmark)에서 단어 단위 LM보다 성능이 낮은 문제가 생기는데,

GPT-2 연구팀도 WebText에서 같은 문제를 확인함 → 기존 바이트 단위 LM으로는 성능이 부족함

 

그래서 BPE 방식을 사용하기로 함

 

BPE가 무엇이냐?

 

  • BPE는 단어 수준(Word-Level)과 문자 수준(Character-Level) 언어 모델의 중간 형태
  • 자주 등장하는 심볼(단어 등)은 단어 수준으로, 드물게 등장하는 심볼은 문자 수준으로 처리
  • 즉, 단어 기반의 효율성과 문자 기반의 범용성을 모두 활용할 수 있음

 

여기서 BPE에 대한 자세한 예시 

 

BPE는 subword 기반의 인코딩 방법으로 문자 단위로 단어를 분해하여 Vocabulary를 생성하고, 
반복을 통해 빈도수가 높은 문자 쌍을 지속적으로 Vocabulary에 추가하는 방법이다

예를 들어, 

"엄준식? 그게 사람 이름이냐? 라는 단어를 

1. 먼저, 문장을 개별 문자(Character) 단위로 나눔.

['엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', '름', '이', '냐', '?']

2. 가장 자주 등장하는 문자 쌍 병합 (BPE 적용 과정)

각 문자 쌍의 빈도를 계산한 후, 가장 많이 등장하는 문자 쌍을 하나의 토큰으로 병합함.
- 가장 많이 등장하는 문자 쌍:

('이', '름') → "이름"  

새로운 Vocabulary:

['엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이름', '이', '냐', '?']

두 번째 병합

- 가장 많이 등장하는 문자 쌍:

('사', '람') → "사람"

새로운 Vocabulary:

['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름', '이', '냐', '?']

세 번째 병합

('이름', '이') → "이름이"

새로운 Vocabulary:

['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름이', '냐', '?']

 네 번째 병합
 
 ('이름이', '냐') → "이름이냐"
 
 최종 Vocabulary:
 
 ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름이냐', '?']

 

 

 

단계 토크나이징 결과
초기 (Character Level) ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', '름', '이', '냐', '?']
1차 병합 (이름) ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이름', '이', '냐', '?']
2차 병합 (사람) ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름', '이', '냐', '?']
3차 병합 (이름이) ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름이', '냐', '?']
4차 병합 (이름이냐) ['엄', '준', '식', '?', ' ', '그', '게', ' ', '사람', ' ', '이름이냐', '?']

 

즉, BPE는 자주 등장하는 단어 조합을 하나의 토큰으로 병합하여 최적화된 Vocabulary를 생성하는 방식

 

이렇게하면 어휘 크기를 줄이면서도 OOV 문제를 획기적으로 줄일 수 있는 방법임 

 

기존 BPE 구현의 한계

      • 기존 BPE는 유니코드 코드 포인트(Unicode Code Points) 단위로 동작
      • 하지만, 기존 BPE 방식을 그대로 적용하면 비효율적인 토큰 병합(Suboptimal Token Merging)이 발생
      • 일반적인 BPE 모델의 어휘 크기(32,000~64,000)와 비교하면 너무 큼

 

바이트 기반 BPE(Byte-Level BPE)의 장점

  • 기본 어휘 크기를 256개(바이트 수)로 줄일 수 있음
  • 하지만, 기존 BPE 방식을 그대로 적용하면 비효율적인 토큰 병합(Suboptimal Token Merging)이 발생
    • 예: “dog”, “dog!”, “dog?” 등 다양한 형태가 별도의 토큰으로 저장됨, 이로 인해 제한된 어휘 슬롯이 비효율적으로 사용됨

해결 방법: 문자 카테고리(Character Categories) 기반 BPE 제한

 

동일한 문자 유형(예: 알파벳이나 숫자 특수문자)끼리만 병합 시키고 공백은 예외처리 시키면서 어휘 압축 효율을 높이면서도 단어 분절을 최소화 시킴

 

그에 따라. 단어 수준의 LM의 실질적 이점과 바이트 수준 LM의 범용성일 결합해서 사전처리 및 토크나이제이션, 어휘크기 제한 없이 데이터셋에서도 평가 가능하게 됨 

변경된 바이트 기반 BPE를 위해 엄준식을 다시 소환하겠다.

 

한글(UTF-8)은 1글자당 3바이트로 구성되므로,

“엄준식? 그게 사람 이름이냐?” 문장을 바이트 단위로 변환하면 다음과 같다 

 

 

['\xec', '\x97', '\x84', '\xec', '\xa4', '\x80', '\xec', '\x8b', '\x9d', '?', ' ', 
 '\xea', '\xb7', '\xb8', '\xea', '\xb2', '\x8c', ' ', 
 '\xec', '\x82', '\xac', '\xeb', '\x9e', '\x8c', ' ', 
 '\xec', '\x9d', '\xb4', '\xeb', '\xa6', '\x84', '\xec', '\x9d', '\xb4', '\xeb', '\x83', '\x90', '?']

 

각 글자는 UTF-8 바이트 시퀀스로 변환되었음.

 

BPE 병합 과정 (빈도 기반)

 

단계 병합할 바이트 쌍 토큰화 결과
초기 - 개별 바이트로 분해
1차 ('\xec', '\x97', '\x84') → “엄” '엄', '\xec', '\xa4', '\x80', ...
2차 ('\xec', '\xa4', '\x80') → “준” '엄', '준', '\xec', '\x8b', '\x9d', ...
3차 ('\xec', '\x8b', '\x9d') → “식” '엄', '준', '식', '?', ' ', ...
4차 ('\xea', '\xb7', '\xb8') → “그” '엄', '준', '식', '?', ' ', '그', '\xea', '\xb2', '\x8c', ...
5차 ('\xea', '\xb2', '\x8c') → “게” '엄', '준', '식', '?', ' ', '그', '게', ' ', ...
6차 ('\xec', '\x82', '\xac') → “사” '엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '\xeb', '\x9e', '\x8c', ...
7차 ('\xeb', '\x9e', '\x8c') → “람” '엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', ...
8차 ('\xec', '\x9d', '\xb4') → “이” '엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', ...

 

9차 ('\xeb', '\xa6', '\x84') → “름” '엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', '름', ...
10차 최종  ('\xec', '\x9d', '\xb4', '\xeb', '\x83', '\x90') → “이냐” '엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', '름', '이냐', '?'

 

최종 BPE 토큰화 결과

 

바이트 단위에서 시작했지만, 결국 한글 글자 단위로 병합되면서

일반적인 BPE와 유사한 최종 토큰화 결과를 얻음 

 

['엄', '준', '식', '?', ' ', '그', '게', ' ', '사', '람', ' ', '이', '름', '이냐', '?']

 

결국 중복 단어를 제거하면서 메모리 효율을 높이면서 자주 등장하는 패턴을 학습시키면서 서브워드 토큰화를 수행하는 모습을 보여줌 

 


4.3 Model

    • 모델 구조 
      • 기존 GPT-1 모델을 확장한 Decoder-Only Transformer 아키텍처
      • Layer Normalization 위치 변경, 가중치 초기화 개선 등 최적화 적용 

주요 사항 

모델 크기 레이어 수 은닉 층 \(d_{model}\)
117M 12 768
345M 24 1,024
762M 36 1,280
1.5B 48 1,600

 

    • 토크나이제이션(Tokenization) 방식
      • BPE 방식 사용 → 단어 기반 & 문자 기반의 장점 결합 
      • 50,257개 서브워드 토큰 사용 
      • 기존의 BPE 문제점을 해결하기 위해 문자 유형 기반 병합 규칙 추가 

 

5. Experiments

모델은 크기가 각각 다른 4개를 만들어 실험

 

상기 테이블과 같음

 

5-1. Language Modeling

GPT-2는 byte 시퀀스에 BPE를 적용하기 때문에 기존에 존재하는 벤치마크 데이터셋에 자유롭게 적용이 가능

<UNK>는 WebText에 400억 byte 중 26번밖에 나타나지 않는다.

 

결과는 아래 표에 나와 있으며, 비록 One Billion Word Benchmark에서 저조한 성능을 보였지만 그 외의 태스크에서는 어떤 미세조정도 거치지 않고 zero-shot 환경에서 8개 중 7개에서 SOTA를 달성 

 

 

 

5-2.  Children’s Book Test

CBT(Children’s Book Test)란?

 

Hill et al. (2015) 에서 개발한 데이터셋

언어 모델(LM)의 성능을 평가하기 위해 단어 유형별 테스트 진행

 

  • 고유명사(Named Entities)
  • 일반 명사(Common Nouns)
  • 동사(Verbs)
  • 전치사(Prepositions)

평가 방식 

 

일반적인 언어 모델 평가 방식(Perplexity)이 아닌 “Cloze Test” 형식으로 평가

  • 문장에서 특정 단어가 제거된 후, 10개의 후보 중 올바른 단어를 예측하는 방식
  • 예측 확률을 계산하여 가장 확률이 높은 단어를 정답으로 선택

GPT-2의 CBT 성능

 

모델 크기가 커질수록 성능이 향상됨 (Figure 2 참조)

사람 수준의 성능에 근접한 결과 달성

  • SOTA(State-of-the-Art) 달성:
    • 일반 명사(Common Nouns): 93.3%
    • 고유명사(Named Entities): 89.1%

 

5-3. LAMBADA

장거리 문맥(Long-range Dependency) 평가 데이터셋, 간단하게 설명하면 긴 문장에 대해서 완벽하게 생성을 잘 해내는지를 보는 실험으로 최소 50개의 단어 위치에서 마지막 단어를 예측하는 실험

 

최소 50개 이상의 단어(Context)가 있어야 사람이 마지막 단어를 예측할 수 있는 문장으로 구성됨

 

  • 기존 최고 성능 대비 Perplexity를 99.8 → 8.6으로 대폭 감소 (Grave et al., 2016)
  • 정확도(Accuracy)를 기존 19% → 52.66%로 개선 (Dehghani et al., 2018)

 

5-4. Winograd Schema Challenge

 

텍스트에 존재하는 중의성(또는 모호한 부분, ambiguities)을 해석하는 능력을 측정함으로써 일반상식 추론 능력을 평가한다. GPT-2는 정확도를 7% 증가시켜 70.70%를 달성

 

 

 

 

5-5. Reading Comprehension

 

Conversation Question Answering dataset(CoQA)는 7개 도메인의 문서에 대한 질의 응답 대화를 포함하고 있는 데이터셋 

언어 모델의 문서 이해 능력(Reading Comprehension) + 문맥 기반 질의응답 능력(QA)을 동시에 평가할 수 있는 데이터셋

 

특히, CoQA는 대화(Conversational) 형식의 질문이 포함되기 때문에, 이전 질문/답변(Context)까지 고려해야 하는 점이 특징

 

예를 들어, “Why?” 같은 질문은 이전 대화 내용을 기반으로 답해야 하기 때문에 단순한 문서 독해보다 더 복잡한 이해가 필요함.

 

SOTA 모델인 BERT에는 미치지 못했지만, GPT-2는 fine-tuning 없이 55의 F1 score로 좋은 성능을 보였다. 지도학습이 아닌 방법 치고는 굉장한 성과라고 보임 

 

5-6. Summarization

 

 

실험 방법

 

  • CNN/Daily Mail 데이터셋(Nallapati et al., 2016)에서 요약 성능 평가
  • 요약을 유도하기 위해 기사 뒤에 “TL;DR:” 태그를 추가한 후 100개 토큰을 생성
  • Top-k 랜덤 샘플링(k=2) 적용 → 반복을 줄이고, 더 추상적인(Abstractive) 요약 생성 유도
  • 첫 번째 3개 문장을 최종 요약으로 선택

GPT-2의 요약 특성

 

  • 생성된 텍스트가 요약처럼 보이긴 하지만, 중요한 정보가 누락되거나 세부 사항이 부정확함
  • 예: 교통사고에 연루된 차량 수, 로고가 모자에 있었는지 셔츠에 있었는지 등의 세부 사항 혼동
  • 최근 문장 위주로 요약하는 경향 (기사의 핵심 내용을 놓칠 가능성이 있음)

ROUGE 평가 결과

 

  • 기존 신경망 기반(Neural) 요약 모델 성능에는 미치지 못함
  • 3개의 문장을 무작위로 선택하는 방식보다 약간 높은 성능을 기록 (그러나 큰 차이는 없음)
  • “TL;DR:” 태그(요약 태스크 힌트)를 제거하면 성능이 6.4 포인트 하락 → 이는 언어 모델이 자연어 프롬프트를 통해 태스크를 수행할 수 있음을 시사함

여기서 ROUGE란?

 

ROUGE는 텍스트 요약(Text Summarization)과 같은 생성 태스크를 평가하는 대표적인 지표로,

생성된 문장과 정답 문장 간의 n-gram recall을 비교하는 방식

 

🔹 1️⃣ ROUGE-1 (Unigram 기반 평가)

 

👉 단어(1-gram, Unigram) 기준으로 정답 문장과 생성 문장의 일치율을 계산

 

✅ 예제

정답 문장: "엄준식 그는 근엄한 남자이다."

생성 문장: "엄준식 그는 진지한 남자이다."

 

✅ ROUGE-1 계산

정답 문장의 단어 수: ["엄준식", "그는", "근엄한", "남자이다."]4개

생성 문장의 단어 수: ["엄준식", "그는", "진지한", "남자이다."]4개

일치하는 단어: ["엄준식", "그는", "남자이다."]3개

 

\(ROUGE\text{-}1 = \frac{3}{4} = 0.75\)

 

🔹 2️⃣ ROUGE-2 (Bigram 기반 평가)

 

👉 연속된 단어 2개(2-gram, Bigram) 기준으로 정답 문장과 생성 문장의 일치율을 계산

 

✅ 예제

정답 문장: "엄준식 그는 근엄한 남자이다."

생성 문장: "엄준식 그는 진지한 남자이다."

 

✅ ROUGE-2 계산

정답 문장의 2-gram (Bigram) 리스트:

["엄준식 그는", "그는 근엄한", "근엄한 남자이다."]

생성 문장의 2-gram (Bigram) 리스트:

["엄준식 그는", "그는 진지한", "진지한 남자이다."]

일치하는 Bigram: ["엄준식 그는"]1개

정답 문장의 Bigram 개수: 3개

 

\(ROUGE\text{-}2 = \frac{1}{3} \approx 0.33\)

 

🔹 3️⃣ ROUGE-L (Longest Common Subsequence 기반 평가)

 

👉 문장 내 가장 긴 공통 시퀀스(Longest Common Subsequence, LCS)를 찾아 recall 계산

 

✅ 예제

정답 문장: "엄준식 그는 근엄한 남자이다."

생성 문장: "엄준식 그는 남자이다."

 

✅ ROUGE-L 계산

최장 공통 부분 시퀀스(LCS): "엄준식 그는 남자이다."4개 단어 일치

정답 문장의 단어 개수: 5개

 

\(ROUGE\text{-}L = \frac{4}{5} = 0.8\)

모델에 따른 ROUGE 실험 결과

 

5-7. Translation

WMT-14 데이터에서 Translation성능을 측정, nglish-French, French to Enghlish에 대해서 각 성능은 BLEU score로 5, 11.5의 결과를 보임, 비지도 학습을 통한 MT 점수는 33.5 BLEU에는 미치지 못했지만 대부분의 영어 데이터셋으로만 구성한 웹 텍스트 기반 데이터에서 10메가 정도의 작은 프랑스어 코퍼스가 있었음에도 이런 결과가 나온 점에 큰 의미를 둠 

 

5-8. Question Answering

 

GPT-2는 Natural Questions 데이터셋에서 4.1%의 정확도(Exact Match 기준) 를 기록하며, 이는 가장 작은 모델의 성능(1.0%)보다 5.3배 높은 결과로, 모델 용량이 정답 예측 성능에 중요한 영향을 미친다는 것을 시사한다. 하지만, 최고 수준의 오픈 도메인 QA 시스템(30~50% 정확도)과 비교하면 여전히 성능이 크게 부족하며, 검색 기반 정보 검색을 결합한 접근법이 필요함을 보여준다.


6. Generalization vs Memorization

 

 

데이터 중복 분석 결과, WebText 훈련 데이터와 여러 평가 데이터셋 간의 평균 3.2% 중복(overlap)이 발견되었으며, 이는 성능 향상에 소폭 영향을 미쳤지만 기존 학습-테스트 세트 간 중복 수준과 크게 다르지 않음을 확인했다. 또한, GPT-2의 WebText 훈련 및 테스트 성능이 유사하게 향상되는 점을 고려할 때, GPT-2는 여전히 WebText에서 과적합보다는 부족 학습(Underfitting) 상태에 가까움을 시사한다.

 


 

7.Conclusion

연구 성과 

 

  • 비지도 사전훈련(Unsupervised Pre-training)만으로도 Zero-shot 학습이 가능함을 입증
  • 질문 응답(QA), 문장 함의(Entailment), 의미적 유사성(Semantic Similarity), 텍스트 분류(Text Classification) 등에서 기존 모델과 경쟁 가능
  • 12개 태스크 중 9개에서 기존 SOTA 모델을 초월

 

시사점

 

 

  • 비지도 학습(Pre-training)이 지도 학습(Supervised Fine-tuning) 없이도 강력한 전이 학습(Transfer Learning) 효과를 가질 수 있음
  • Transformer 기반 언어 모델이 다양한 태스크에서 효과적으로 일반화할 수 있음을 확인
  • 긴 문맥을 활용한 사전 훈련이 자연어 이해 성능 향상에 중요한 역할을 함

 

 

향후 연구 방향

 

  • 비지도 학습이 언제, 어떻게 효과적인지에 대한 추가 연구 필요
  • 자연어 이해(NLU)뿐만 아니라, 다른 도메인(예: 이미지, 음성)으로의 확장 가능성 탐색
  • 더 효율적인 데이터 중복 제거 및 모델 평가 기법 개발 필요

 

 

요약 

 

실험 결과

  • Zero-Shot 성능 분석 
    • 기존 모델들은 특정 태스크에 맞게 지도 학습이 필요 했음 
    • GPT-2는 추가 학습 없이 제로-샷을 기반으로 다양한 태스크에서 SOTA 수준의 성능을 보임 
태스크 평가 데이터 셋  GPT-2 성능 비교 대상
독해(Reading Comprehension) CoQA 55.0 F1 기존 4개 모델 중 3개 초월
기계 번역(Machine Translation) WMT-14 Fr-En BLEU 11.5 기존 일부 비지도 모델 초월
텍스트 요약(Summarization) CNN/Daily Mail 기존 모델 대비 낮음  
질문 응답(Question Answering) Natural Questions 정확도 4.1% 기존 검색 기반 QA보다 낮음