GPT-2
GPT-1은 pre-training 뒤 task별 labeled fine-tuning을 거쳤다. GPT-2는 큰 causal LM에 task를 text pattern으로 제시하고, 그 continuation만으로 task를 수행할 수 있는지 보여준다. Target-task data로 weights를 update하지 않는 zero-shot transfer가 이 section의 핵심이다. Fine-tuning 단계를 생략할 수 있는 가능성과 모든 task에서 좋은 결과를 얻었다는 주장은 다르다.
A Task as a Text Pattern
Summarization에서는 article 뒤에 TL;DR:를 붙여, 그 다음에 짧은 summary가 이어질 패턴을 만든다. Translation에서는 English = French 형태를 context에 보여주고, 새 English = 뒤에 French가 이어지도록 한다. 모델에 새로운 classification head를 붙이는 대신, 원하는 task를 “이 text 뒤에 무엇이 올 것인가”라는 원래 LM 문제로 표현하는 것이다.
Prompt의 prefix나 examples는 모델 입력에 들어간다. 이 text를 읽으면서 내부 state와 Attention은 달라지지만, 해당 task에 맞춰 parameter를 학습하는 것은 아니다. 교수님이 GPT-2를 이후 prompting과 In-context Learning의 출발점으로 연결한 이유도, task를 context로 전달하는 interface가 드러났기 때문이다.
Scale and Context
GPT-1에서 GPT-2로 가며 parameters는 117M에서 1.5B로, data는 BooksCorpus에서 40GB WebText로 늘어난다. Context는 512에서 1024 tokens가 되고, Tokenizer는 50,257 types의 byte-level BPE를 사용한다. 즉 architecture 계열은 causal LM으로 이어지지만, 모델·data·context의 규모가 함께 바뀐다.
LAMBADA는 긴 문맥을 읽고 마지막에 올 단어를 맞히는 task다. 가까운 단어의 단순한 pattern만으로 풀기 어렵도록 구성되어 있어, 앞의 문맥을 얼마나 이용하는지를 본다. 강의의 zero-shot accuracy는 다음과 같다.
| Parameters | LAMBADA accuracy |
|---|---|
| 117M | 46.0% |
| 345M | 55.5% |
| 762M | 60.1% |
| 1.5B | 63.2% |
이 결과는 scale에 따라 해당 task 성능이 높아진다는 관측이다. Language-modeling datasets 8개 중 7개에서 SOTA를 기록했다는 보고와 함께, 긴 context를 활용하는 생성 모델의 가능성을 보여준다.
Transfer Has Limits
당시 summary의 품질은 random-sentence baseline에 가깝고, English→French Translation은 약 5 BLEU였다. Task를 text pattern으로 표현해 실행할 수 있어도, 그 출력이 fine-tuned task model만큼 유용하다는 보장은 없었다. Zero-shot이라는 평가 조건과 출력 품질은 별도로 확인해야 한다.
1.5B checkpoint는 약 9개월에 걸쳐 단계적으로 공개되었다. 다음 GPT-3에서는 이 causal LM recipe를 더 크게 학습하고, zero/one/few-shot prompting을 체계적으로 비교한다.
Check
GPT-1과 GPT-2의 task interface를 weights update 여부로 비교하라.
Answer
GPT-1 원 recipe는 labeled fine-tuning과 task head, GPT-2 zero-shot 평가는 text pattern을 주고 target-task weights를 업데이트하지 않는다.
GPT-2의 zero-shot 가능성을 모든 task의 높은 품질로 해석하면 안 되는 근거는?
Answer
Language-model 평가 성과와 summarization/translation의 낮은 결과가 동시에 제시된다. Task와 metric을 구분한다.