논문 정보
- 논문 제목: 언어 모델은 비지도 멀티태스크 학습자이다 (Language Models are Unsupervised Multitask Learners)
- 논문 저자: Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever (OpenAI)
- 논문 출처: https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
초록
- 자연어 처리 작업(질문 응답, 기계 번역, 독해, 요약 등)은 주로 작업별(task-specific) 데이터셋을 기반으로 지도 학습(supervised learning)을 통해 수행
- 그러나 이 논문은 수백만 개의 웹페이지로 구성된 WebText라는 새로운 데이터셋으로 학습된 언어 모델이 명시적인 지도 학습 없이도 이러한 작업을 학습할 수 있음을 보여줌
- 실험 결과
- 제안된 모델(GPT-2)은 CoQA 데이터셋에서 지도 학습된 시스템의 성능과 유사한 F1 점수(55점)를 달성, 127,000+개의 작업별 데이터셋 없이 가능
- 모델 용량의 증가가 zero-shot task transfer 및 성능 향상에 결정
- 최대 15억(1.5B) 매개변수를 가진 GPT-2 모델은 zero-shot setting 내 8개의 언어 모델링 데이터셋 중 7개에서 최신 성능 달성, but still underfits WebTex
- 기대 효과: 모델의 생성 결과는 문법적이고 문맥적으로 일관성을 유지하며, 이는 자연 언어 처리 시스템이 자연적으로 발생하는 시연(naturally occurring demonstrations)에서 작업을 학습할 가능성을 시사
- cf) 자연적으로 발생하는 시연
- 기존의 기계 학습 모델은 작업을 학습하기 위해 인위적으로 설계된 데이터셋(예: 레이블이 있는 훈련 데이터)을 필요로 함
- 반면, 자연적으로 발생하는 시연은 인터넷, 소셜 미디어, 책, 대화 기록 등에서 사람들이 자연스럽게 생성한 텍스트 데이터를 말함
- cf) 자연적으로 발생하는 시연
1. 서론
기존의 기계 학습 시스템은 대규모 데이터셋과 지도 학습을 통해 특정 작업에서 우수한 성능을 발휘하지만, 데이터 분포(distribution)와 업무 특화(task specification) 변화에 민감하며 일반화에 한계가 있음
narrow experts rather than competent generalists
기존 ML system: 특정 task에 대한 알맞은 행동을 설명하는 training example → 시스템이 행동을 imitate하도록 훈련 → IID(independent and identically distributed) 성능 평가
- captioning models(이미지를 입력으로 받아 해당 이미지의 내용을 설명하는 문장을 생성하는 기계 학습 모델), reading comprehension system, image classifier에서 오류
→ 단일 도메인 데이터셋에 대한 단일 작업 훈련의 보급이 ‘일반화 부족’의 주요한 이유일 것으로 예상
멀티태스크 학습(multitask learning)은 general performance를 향상시키기 좋은 프레임워크지만, 아직 초기 단계에 있음
- 현재 ML 시스템은 일반화가 잘 되는 함수를 유도하기 위해 수백에서 수천 개의 예제 필요
- 현재 언어모델에서 가장 좋은 성능을 나타내는 모델은 pre-training과 supervised fine-tuning의 조합을 활용
이 논문에서는 zero-shot setting에서 매개변수나 아키텍처의 수정 없이도 다운스트림 작업을 수행할 수 있는 언어모델 소개
- zero-shot setting: 사전 학습된 모델이 특정 작업에 대한 추가적인 학습(fine-tuning) 없이, 즉 새로운 작업에 대한 데이터나 레이블을 제공받지 않은 상태에서 바로 해당 작업을 수행하는 환경
- downstream task: 이미 학습된 모델(예: 사전 학습된 언어 모델)을 활용하여 특정 애플리케이션이나 문제를 해결하는 구체적이고 응용 중심의 작업
시키고, 다양한 작업을 수행할 수 있는 범용 모델의 가능성을 탐구합니다.
2. 접근 방법
핵심: 언어 모델링
비지도 분포 추정으로 구성
언어는 순차적 순서가 있으므로 공동 확률을 인수분해 하는 것이 일반적

- learning to perform single task: p(output | input)
- general system: p(output | input, task)
이 논문에서는 충분한 용량을 갖춘 언어 모델은 procurement method에 관계없이 자연어 시퀀스에서 작업을 추론하고 수행하는 방법을 학습하여 작업을 더 잘 예측할 것으로 추측 ⇒ unsupervised multitask learning 수행
2.1. 훈련 데이터셋
- 기존에는 single domain 텍스트로 언어모델을 훈련시키는 경우가 대부분이었음 ex) 뉴스 기사
- 이 논문에서는 가능한 크고 다양한 데이터셋을 구축하기 위해 노력 → Common Crawl 같은 web scrapping이 적합, but data quality issue 있음
- Trinh & Le(2018)
- Common Crawl에서 대부분의 콘텐츠는 ‘이해할 수 없었음(unintelligible)’
- 대상 dataset과 가장 유사한 문서만 포함된 Common Crawl의 subsample을 사용했을 때 결과가 가장 좋았음
- 그러나 , 미리 수행할 작업에 대한 가정 필요
- 이 논문에서는
- 문서 품질을 강조하는 새로운 web scraping 제작 → 인간이 큐레이팅, 필터링한 웹 페이지만 스크래핑
- 소셜미디어 reddit에서 3 karma 이상을 받은 외부 링크만 사용 → ‘WebText’
- 4500만 개 링크의 텍스트 하위 집합 포함
- HTML 응답에서 텍스트를 추출하기 위해 Dragnet (Peters &
Lecocq, 2013)과 Newspaper content extractor 조합 - 2017년 12월 이후의 글과 위키피디아 글은 제거
- 총 40GB의 텍스트에 대해 약 800만 개가 넘는 문서 포함
2.2. 입력 표현
입력 표현: Byte Pair Encoding(BPE)을 활용
문자 수준 ~ 단어 수준 언어 모델링의 중간 지점
자주 사용되는 단어와 드물게 사용되는 단어를 효과적으로 처리할 수 있도록 설계
preprocessing, 토큰화, 어휘 크기에 상관 없이 모든 dataset에서 LM 평가 가능
추가 설명
BPE는 subword 기반의 인코딩 방법으로 문자 단위로 단어를 분해하여 Vocabulary를 생성하고, 반복을 통해 빈도수가 높은 문자 쌍을 지속적으로 Vocabulary에 추가하는 bottom-up방법이다(Greedy).
모델 구조: Transformer 기반의 GPT 구조(GPT-1과 유사)


- Layer normalization이 각 sub-block의 입력으로 옮겨짐
- 추가 layer normalization이 마지막 self-attention block 이후에 추가됨
- 모델 깊이에 따른 residual path의 누적에 관한 부분의 초기화 방법 변경
- 하이퍼파라미터 변경: 단어 사전 크기는 50,257로 확장, 문맥 고려 범위(context size)는 512 토큰에서 1024 토큰으로 증가, 더 큰 배치 크기(batch size)인 512 사용
3. 실험

- 실험에 사용된 네 가지 모델 크기는 로그 균등 간격(log-uniform spacing)으로 설계(117M, 345M, 762M, 1.5B 파라미터)
- 가장 작은 모델은 기존 GPT와 동일한 크기이며, 두 번째 모델은 BERT의 가장 큰 모델과 유사한 크기
- GPT-2는 기존 GPT보다 10배 이상 큰 매개변수를 보유
- 학습률 최적화: 학습률은 WebText 데이터셋의 5% 검증 데이터를 기준으로 수동 튜닝(manual tuning)됨
- 과소적합(Underfit): 모든 모델은 여전히 WebText에 대해 과소적합 상태에 있으며, 이는 더 많은 학습 시간과 데이터가 필요하다는 점을 시사
- cf) underfitting: 모델이 너무 단순하거나 학습이 부족하여 데이터의 구조를 제대로 반영하지 못하는 상황
3.1. Language Modeling (언어 모델 성능 평가)
- 목적: 언어 모델의 기본 작업인 다음 단어 예측(next-word prediction) 성능을 다양한 데이터셋에서 평가
- 언어의 자연스러운 순서를 고려하여, 텍스트의 다음 단어를 예측하기 위해 조건부 확률을 사용하는 방식 채택
- 데이터셋
- 다양한 언어 모델링 벤치마크 데이터셋(LAMBADA, WikiText-2, Penn Treebank, enwik8 등)을 사용
- WebText 데이터셋과는 분포가 다른 도메인의 텍스트로 실험
- 평가 방식
- Perplexity: 모델이 텍스트의 확률 분포를 얼마나 잘 예측하는지 측정
- 결과
- GPT-2는 기존의 언어 모델링 데이터셋 8개 중 7개에서 최신 성능(State-of-the-art)을 달성
- 특히 소규모 데이터셋(Penn Treebank, WikiText-2)과 장기 의존성을 요구하는 데이터셋(LAMBADA, Children’s Book Test)에서 성능이 크게 개선
- 그러나 One Billion Word Benchmark(1BW)에서는 기존 성능을 넘지 못했는데, 이는 해당 데이터셋의 전처리(문장 순서 무작위화)가 장기 의존성 학습에 부정적인 영향을 미쳤기 때문*
NLP Task 평가
3.2. Children’s Book Test (CBT)
- 목적: 문맥에서 특정 단어 유형(명사, 고유명사 등)을 예측하는 능력을 평가
- 방법
- 각 문장에서 특정 단어를 빈칸으로 만들어, 모델이 그 빈칸에 들어갈 단어를 선택하도록 함
- 모델은 10개의 후보 단어 중 하나를 선택
- 확률 계산을 통해 가장 가능성이 높은 단어를 예측
- 평가 대상 단어
- 고유명사, 일반 명사, 동사, 전치사 등
- 결과
- GPT-2는 명사(93.3%)와 고유명사(89.1%)에서 새로운 최고 성능을 기록
- 모델 크기가 증가함에 따라 성능이 꾸준히 개선됨
3.3. LAMBADA
- 목적: 긴 문맥에서 마지막 단어를 예측하는 능력을 평가
- 방법:
- 각 문장에서 최소 50개의 토큰이 제공된 상태에서, 마지막 단어를 예측하도록 설정
- 문맥 이해 및 긴 의존 관계(long-range dependency)를 처리하는 모델의 능력을 테스트
- 결과
- GPT-2는 기존 최고 성능(19% 정확도)을 63.24%로 대폭 개선
- 퍼플렉서티(perplexity)도 기존 모델 대비 크게 감소(99.8 → 8.6)
- 단어가 문맥의 마지막 단어임을 활용하지 못하는 점이 발견되었으며, 이를 보완하면 추가 개선 가능
3.4. Winograd Schema Challenge
- 목적: 텍스트의 상식적 추론과 문맥에서의 모호성 해소 능력을 평가
- 방법:
- 모호한 지시어(대명사)를 포함한 문장이 제공되며, 모델이 지시어의 참조 대상을 예측
- ex) "The trophy didn't fit in the suitcase because it was too large."에서 "it"이 "trophy"인지 "suitcase"인지 추론
- 평가 방식:
- 정확도(Accuracy)로 성능 측정
- 결과
- GPT-2는 정확도 70.70%를 기록하며 기존 최고 성능 대비 7% 향상
- 데이터셋이 매우 작음(273개의 예제)에도 불구하고, 모델 용량 증대가 성능에 긍정적인 영향을 미침
3.5. Reading Comprehension (독해 능력)
- CoQA 데이터셋 사용:
- 모델이 문서와 대화 이력을 기반으로 질문에 답변을 생성하는 능력을 평가
- 방법:
- 모델은 문서와 질문 이력을 포함한 프롬프트를 제공받은 후, A:로 시작하는 답변을 생성
- 대화형 질문-응답이므로 질문 간 문맥(history)의 연결을 이해해야 함
- 결과
- GPT-2는 F1 점수 55점을 기록하여, 지도 학습 기반의 일부 모델을 능가
- 단순 검색 기반 답변(문서에서 이름 추출 등) 패턴이 일부 발견됨
3.6. Summarization (요약)
- CNN/Daily Mail 데이터셋 사용:
- 뉴스 기사 텍스트를 요약하는 작업
- 방법:
- 기사 뒤에 "TL;DR:" 프롬프트를 추가하고, 모델이 해당 프롬프트에 따라 요약을 생성하도록 설정
- 생성된 요약 중 상위 3문장을 평가 대상으로 사용
- 결과
- GPT-2는 기존 신경망 기반 모델에는 미치지 못했으나*, 일부 단순 베이스라인보다 높은 성능을 보임
- 생성된 요약은 대체로 품질이 높지만, 세부적인 정보(숫자 등)를 혼동하는 경향이 있음
3.7. Translation (번역)
- WMT-14 데이터셋 사용:
- 영어 ↔ 프랑스어 번역 작업 평가.
- 방법:
- 예제 번역 쌍(e.g., "English sentence = French sentence")을 문맥으로 제공하여, 모델이 번역 작업을 인식하도록 함
- 주어진 문장에서 다음 번역 문장을 예측
- 결과
- 영어 → 프랑스어: BLEU 점수 5
- 프랑스어 → 영어: BLEU 점수 11.5로 기존 비지도 학습 기반 번역 시스템 일부를 능가*
- WebText에서 비영어 데이터를 제외했음에도 일부 번역 작업에서 좋은 성능을 보임
3.8. Question Answering (질의 응답)
- Natural Questions 데이터셋 사용
- 사실 기반 질문-응답 정확도 평가
- 방법
- 모델은 질문과 함께 예제 질문-답변 쌍을 제공받아 질문의 스타일을 학습
- 질문에 대한 직접적인 응답을 생성하도록 설정
- 결과
- GPT-2는 4.1% 정확도를 기록하며, 베이스라인 모델(1.0%) 대비 크게 개선
- 상위 1%의 자신 있는 답변에서는 정확도가 63.1%에 달함
- 여전히 지도 학습 기반 시스템(30~50%)보다는 낮은 성능*

4. Generalization and Memorization
- 모델 성능이 데이터셋의 중복된 텍스트에 의해 과대평가되지 않았는지 검증하기 위해 Bloom 필터를 사용한 분석을 수행
- 결과적으로 일부 데이터셋에서 중복이 확인되었으나, 이는 성능에 미치는 영향이 미미했음
4.1. 배경
- 기계 학습 모델이 대규모 데이터셋에서 학습할 경우, 일부 데이터를 단순히 암기해 모델의 일반화 능력이 과대평가될 가능성이 있음
- 따라서 학습 데이터(WebText)와 평가 데이터셋 사이의 중복 여부를 분석해, 모델의 성능이 일반화의 결과인지 또는 단순 암기의 결과인지를 검증
4.2. n-그램 중복 분석
- 분석 방법
- 학습 데이터(WebText)의 8-그램을 기준으로 평가 데이터와 중복된 텍스트를 분석
- Bloom Filter를 활용해 학습 데이터와 평가 데이터 간의 중복률을 계산했으며, 문자열을 소문자로 변환하고 불필요한 기호를 제거해 정규화했음
- 결과:
- 언어 모델링 벤치마크 데이터셋의 테스트 세트에서 WebText와의 평균 8-그램 중복률은 3.2%로 나타남
- 일부 데이터셋(예: WikiText-103)은 자체 테스트 세트와 학습 데이터 간 중복률이 5.9%에 달함
- WebText가 학습 데이터로 사용되지 않은 평가 데이터셋에서도 일반화 능력을 유지하고 있음을 보여줌
4.3. 데이터셋별 중복률
- 데이터셋마다 WebText와의 중복률이 상이했으며, 중복 데이터가 포함된 경우 약간의 성능 향상이 있었음
- Winograd Schema Challenge: 273개의 예제 중 10개가 WebText와 중복되었으나, 대부분 정답에 영향을 주지 않았음
- CoQA
- 뉴스 도메인의 15%는 WebText와 중복되었고, 약 3 F1 성능 향상이 있었음.
- 그러나 전체 데이터셋에서 중복된 질문이나 답변은 없었음
- LAMBADA
- 평균 중복률은 1.2%였으며, 중복된 예제에서 모델 성능이 약간 향상됨(퍼플렉서티 8.6 → 8.7)
- cf) perplexity: 언어 모델의 성능을 평가하는 지표 중 하나로, 모델이 얼마나 ‘혼란스럽지 않고’ 주어진 문장에서 다음 단어를 얼마나 잘 예측하는지를 나타냄
4.4. 일반화 평가
- 학습 데이터와 테스트 데이터에서의 성능 비교
- WebText 학습 데이터와 자체 테스트 데이터에서 모델의 퍼플렉서티를 비교한 결과, 훈련 데이터와 테스트 데이터에서 유사한 성능을 보였음
- 이를 통해 모델이 데이터를 단순히 암기하기보다는 일반화된 학습을 수행하고 있다는 점을 확인했음
4.5. 기억화의 사례
- 일부 유명 텍스트(예: 게티스버그 연설)는 학습 데이터에서 반복적으로 등장해, 모델이 이를 암기하는 경향을 보였음
- 예를 들어, 게티스버그 연설의 첫 문장과 반 문장을 제공하면, 모델이 나머지 연설을 거의 정확하게 생성했음
- 그러나 대부분의 경우, 100~200 토큰 이후에는 다양성이 증가하며 단순 암기를 넘어서는 텍스트를 생성했음
결론
- 전반적으로 데이터셋 내 중복은 성능에 작은 영향을 미쳤으나, 결과적으로 일반화 능력이 더 큰 영향을 미쳤음
- 데이터셋 생성 시 n-그램 기반 중복 제거와 같은 검증 절차가 중요함을 제안
GPT-1과 다른점
| 구분 | GPT-1 | GPT-2 |
|---|---|---|
| 모델 크기 | 1.1억 파라미터 | 최대 15억 파라미터 |
| 데이터셋 | BooksCorpus | WebText (약 40GB) |
| 학습 방식 | Pre-training + Fine-tuning | Zero-shot 학습 |
| 아키텍처 개선 | 없음 | Layer Norm 위치 변경, 컨텍스트 크기 증가 |
| 평가 작업 | GLUE Benchmark로 작업별 성능 평가 | Zero-shot 환경에서 번역, 요약, 질문 응답 등 다양한 작업 |
| 공개 여부 | 완전 공개 | 초기에는 부분적 공개 |