논문
Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever,
Language Models are Unsupervised Multitask Learners (OpenAI, 2019)

Link:https://llmrisks.github.io/docs/language-models.pdf
GPT-2는 2019년 OpenAI가 발표한 언어 모델로, GPT-1에서 시작된 Generative Pre-Training의 가능성을 한 단계 더 확장한 연구입니다.
특히 이 논문은 단순히 모델의 크기를 키운 것뿐만 아니라,
충분히 큰 언어 모델을 충분히 다양한 텍스트로 학습하면, 별도의 지도 학습 없이도 다양한 NLP Task를 수행할 수 있지 않을까?
라는 중요한 질문을 던졌습니다.
이 아이디어는 이후 GPT-3의 Few-shot Learning, 그리고 오늘날의 Large Language Model(LLM)로 이어지는 중요한 출발점이 되었습니다.
1. 연구 배경 (Background)
GPT-2가 발표되기 이전의 자연어 처리(NLP)는 대부분 Task-specific Supervised Learning 방식에 크게 의존했습니다.
예를 들어 다음과 같은 Task가 있다고 가정해 보겠습니다.
- Machine Translation
- Question Answering
- Reading Comprehension
- Text Summarization
- Sentiment Analysis
기존 방식에서는 각각의 Task마다 별도의 데이터셋을 준비하고, 정답 Label을 만들어 모델을 학습해야 했습니다.
즉,
번역 데이터 → 번역 모델
질문/답변 데이터 → QA 모델
감성 분석 데이터 → 감성 분석 모델
과 같이 하나의 Task를 수행하기 위해 하나의 전용 학습 과정이 필요한 경우가 많았습니다.
하지만 인터넷에는 이미 엄청난 양의 자연어 데이터가 존재합니다.
예를 들어 웹 문서에는 자연스럽게 다음과 같은 형태의 정보가 포함되어 있습니다.
영어 문장 → 프랑스어 번역
질문 → 답변
기사 → 요약
문장 → 설명
GPT-2 연구진은 여기에서 중요한 가능성을 발견했습니다.
대규모 언어 모델이 충분히 다양한 텍스트를 학습한다면, 자연어 데이터 속에 존재하는 여러 Task의 패턴까지 함께 학습할 수 있지 않을까?
GPT-2는 이러한 아이디어를 바탕으로 Language Model 자체가 Unsupervised Multitask Learner가 될 수 있는지를 실험한 연구입니다.
2. 연구 목적 (Objective)
GPT-2의 핵심 목표는 단순히 다음 단어를 더 정확하게 예측하는 언어 모델을 만드는 것이 아니었습니다.
연구진이 확인하고자 했던 핵심은 다음과 같습니다.
대규모 언어 모델을 다양한 웹 텍스트로 학습하면 별도의 Task-specific Fine-tuning 없이도 여러 NLP Task를 수행할 수 있는가?
즉 기존의
Pre-training
↓
Task-specific Dataset
↓
Fine-tuning
↓
특정 Task 수행
방식에서 한 단계 더 나아가,
Large-scale Language Modeling
↓
자연어 패턴 학습
↓
Translation / QA / Summarization
↓
Zero-shot
이 가능한지를 확인하고자 했습니다.
이러한 접근은 오늘날 우리가 LLM에게 자연어로 질문하거나 지시하면 여러 종류의 작업을 수행하는 방식의 초기 형태라고 볼 수 있습니다.
3. 연구 방법 (Method)
GPT-2는 GPT-1과 마찬가지로 Transformer의 Decoder 구조를 기반으로 한 Autoregressive Language Model입니다.
모델은 이전까지 등장한 Token들을 이용하여 다음 Token의 확률을 예측합니다.
I
↓
I love
↓
I love deep
↓
I love deep learning
즉,
P(x₁, x₂, ..., xₙ)
= P(x₁)
× P(x₂ | x₁)
× P(x₃ | x₁, x₂)
× ...
× P(xₙ | x₁, ..., xₙ₋₁)
과 같은 방식으로 전체 문장의 확률을 모델링합니다.
WebText Dataset
GPT-2 연구에서 매우 중요한 요소 중 하나는 새로운 대규모 데이터셋인 WebText입니다.
기존의 무작위 Web Crawling 데이터는 품질이 낮은 문서가 많이 포함될 수 있다는 문제가 있었습니다.
이를 해결하기 위해 연구진은 Reddit에서 사람들이 공유한 외부 링크 중 3 Karma 이상을 받은 링크를 수집했습니다.
사람들이 어느 정도 관심을 보인 링크를 이용함으로써 일종의 Human Filtering 효과를 얻고자 한 것입니다.
정제된 WebText는 약
- 800만 개 이상의 문서
- 약 40GB의 텍스트
로 구성되었습니다.
또한 평가 데이터와의 중복 문제를 줄이기 위해 Wikipedia 문서는 WebText에서 제외했습니다.
Byte-level BPE
GPT-2는 Tokenization을 위해 Byte-level BPE(Byte Pair Encoding) 방식을 사용했습니다.
일반적인 Word-level Tokenization은 Vocabulary에 없는 단어를 처리하기 어렵다는 문제가 있습니다.
반면 Byte-level BPE를 사용하면 문자열을 더 작은 단위로 표현할 수 있기 때문에 다양한 단어와 특수 문자 등을 보다 안정적으로 처리할 수 있습니다.
Model Scaling
GPT-2 연구에서는 모델 크기에 따른 성능 변화도 비교했습니다.
가장 큰 GPT-2 모델은 약 1.5B(15억) Parameters 규모였습니다.
논문의 핵심적인 발견 중 하나는
모델의 Capacity가 커질수록 Zero-shot Task 성능 역시 전반적으로 향상되었다는 것
입니다.
즉 GPT-2는 단순히 새로운 구조를 제안했다기보다,
Model + Data + Compute를 함께 Scale-up하면 언어 모델의 능력이 크게 향상될 수 있다
는 가능성을 보여준 연구라고 볼 수 있습니다.
4. 실험 (Experiment)
GPT-2 연구에서는 별도의 Task-specific Fine-tuning 없이 다양한 NLP Benchmark에서 모델의 성능을 평가했습니다.
대표적인 실험은 다음과 같습니다.
- Language Modeling
- Reading Comprehension
- Question Answering
- Machine Translation
- Summarization
특히 중요한 점은 대부분의 평가가 Zero-shot Setting으로 수행되었다는 것입니다.
Zero-shot이란?
Zero-shot은 특정 Task의 학습 데이터를 이용하여 추가 학습하지 않은 상태에서 해당 Task를 수행하는 것을 의미합니다.
예를 들어 기존 방식이
번역 Dataset
↓
Fine-tuning
↓
번역 수행
이었다면 GPT-2가 추구한 방식은
WebText Pre-training
↓
"translate to french, ..."
↓
번역 생성
과 같은 형태입니다.
즉 모델이 Language Modeling 과정에서 이미 자연스럽게 접한 패턴을 활용하여 새로운 Task를 수행할 수 있는지를 확인한 것입니다.
5. 실험 결과 (Result)
GPT-2는 별도의 Task-specific Fine-tuning 없이도 여러 NLP Benchmark에서 상당히 높은 성능을 보여주었습니다.
가장 대표적인 결과는 8개의 Language Modeling Dataset 중 7개에서 Zero-shot Setting으로 당시 최고 수준의 성능(SOTA)을 기록했다는 것입니다.
또한 CoQA Question Answering 실험에서는 별도의 127,000개 이상의 학습 예제를 사용하지 않고도 55 F1을 기록했습니다.
흥미로운 결과는 모델의 크기와 성능 사이의 관계였습니다.
Model Size ↑
↓
Language Modeling Performance ↑
↓
Zero-shot Task Performance ↑
모델이 커질수록 여러 Task에서 전반적으로 성능이 향상되는 경향이 나타났습니다.
심지어 가장 큰 1.5B GPT-2 모델조차 WebText에 대해 Underfitting 상태였습니다.
이는 당시 기준으로 매우 큰 모델이었음에도 불구하고,
더 큰 모델과 더 많은 데이터가 추가적인 성능 향상을 가져올 가능성이 있다
는 것을 의미했습니다.
이러한 결과는 이후 GPT-3를 비롯한 Large Language Model의 Scaling 연구로 이어지는 중요한 단서가 되었습니다.
6. 장점과 한계 (Pros & Cons)
장점
- 별도의 Fine-tuning 없이 여러 NLP Task를 수행할 수 있는 Zero-shot Learning 가능성 제시
- 약 800만 개 이상의 문서로 구성된 대규모 WebText Dataset 활용
- 모델 크기가 증가할수록 다양한 Task의 성능이 향상되는 Scaling 효과 확인
- Language Model이 단순한 문장 생성기를 넘어 Multitask Learner가 될 수 있음을 보여줌
- GPT-3와 현대 LLM으로 이어지는 중요한 연구 방향 제시
- Byte-level BPE를 활용하여 다양한 문자열을 유연하게 처리
한계
- 1.5B Parameters라는 당시 기준 매우 큰 모델로 높은 학습 비용과 Computing Resource가 필요함
- Zero-shot 성능이 모든 Task에서 기존 Supervised Learning 모델보다 뛰어난 것은 아님
- 생성된 문장이 자연스럽더라도 사실과 다른 정보를 생성할 수 있음
- WebText의 데이터 품질과 편향이 모델에 그대로 반영될 가능성이 있음
- Prompt 표현 방식에 따라 Task 수행 능력이 크게 달라질 수 있음
- 논문에서도 가장 큰 모델이 WebText를 완전히 학습하지 못한 Underfitting 상태였음
7. 개인적인 평가 (Comment)
GPT-2는 GPT-1에서 제시된 Generative Pre-Training의 아이디어를 한 단계 더 발전시켜, 대규모 언어 모델이 별도의 Task-specific Fine-tuning 없이도 다양한 NLP Task를 수행할 수 있다는 가능성을 본격적으로 보여준 연구입니다.
특히 개인적으로 GPT-2에서 가장 중요한 부분은 단순히 Parameter 수가 1.5B까지 증가했다는 사실이 아니라,
Language Modeling 자체가 다양한 NLP Task를 학습하는 하나의 방법이 될 수 있다는 관점
이라고 생각합니다.
GPT-1에서는 일반적인 언어 능력을 Pre-training한 뒤 특정 Task에 맞게 Fine-tuning하는 방식이 중요했다면, GPT-2에서는 한 단계 더 나아가 충분히 큰 모델과 충분히 다양한 데이터가 있다면 Fine-tuning 없이도 Task를 수행할 수 있다는 가능성을 보여주었습니다.
이를 GPT 시리즈의 발전 과정으로 정리하면 다음과 같이 이해할 수 있습니다.
GPT-1
Pre-training + Fine-tuning
↓
일반적인 언어 표현 학습
GPT-2
Large-scale Pre-training + Zero-shot
↓
언어 모델 자체의 Multitask 능력 발견
GPT-3
Scaling + In-context Learning
↓
Few-shot / One-shot / Zero-shot
Modern LLM
Instruction Tuning + RLHF + Tool Use
↓
General-purpose AI Assistant
따라서 GPT-2는 GPT 역사에서 “더 큰 언어 모델을 학습시키면 단순한 문장 생성 능력을 넘어 다양한 Task 수행 능력이 나타날 수 있다”는 가능성을 보여준 중요한 전환점이라고 평가할 수 있습니다.
오늘날의 LLM과 비교하면 GPT-2의 1.5B Parameters는 상대적으로 작은 규모이고, Instruction Following이나 복잡한 Reasoning 능력 역시 제한적입니다.
하지만 Zero-shot Learning, Large-scale Pre-training, Model Scaling, 자연어를 통한 Task 수행이라는 핵심 아이디어는 이후 GPT-3와 현대 LLM 발전의 중요한 기반이 되었습니다.
GPT 시리즈와 LLM의 발전 과정을 공부하는 사람이라면 GPT-1 다음으로 반드시 읽어볼 가치가 있는 논문이며, “왜 언어 모델의 크기를 계속 키우기 시작했는가?”를 이해하기에 매우 중요한 연구라고 생각합니다.

