GPT-2: 언어 모델은 이미 비지도 멀티태스크 학습자다
한 줄 요약
태스크를 자연어 프롬프트로 조건화하면, 충분히 크고 다양한 텍스트로 학습한 언어 모델 하나가 파라미터나 아키텍처 수정 없이도 독해·번역·요약·질의응답 등 여러 태스크를 제로샷으로 수행하기 시작한다. 이 관찰을 뒷받침하기 위해 저자들은 4500만 개 outbound 링크에서 추출한 대규모 웹 텍스트 데이터셋 WebText와, 그 위에서 학습한 117M~1.5B 파라미터 규모의 Transformer 4종(가장 큰 모델이 GPT-2)을 함께 제시한다.
핵심 기여
- 태스크를 조건화 변수로 취급: 단일 태스크 학습은 조건부 분포 을 추정하는 문제로 볼 수 있지만, 하나의 시스템이 같은 입력에서도 여러 태스크를 수행하려면 태스크 자체를 조건으로 넣어야 한다.
McCann et al. (2018)의 관찰처럼, 언어는 태스크·입력·출력을 모두 하나의 기호 시퀀스로 표현할 수 있는 유연한 수단이다. 예를 들어 번역 학습 예시는 (translate to french, english text, french text), 독해 학습 예시는 (answer the question, document, question, answer)처럼 표현할 수 있다. 이 논문은 이런 태스크 조건화를 모델 아키텍처나 손실 함수의 변경 없이, 프롬프트 안의 자연어만으로 유도할 수 있는지를 검증한다.
- 언어 모델링 자체가 목적함수: 언어 모델링은 여전히 시퀀스의 결합확률을 조건부확률의 곱으로 분해하는 표준적인 방식을 따른다.
지도학습 목적함수가 비지도 목적함수(전체 시퀀스 예측)의 부분집합(특정 태스크 관련 부분만 평가)에 불과하다면, 비지도 목적함수의 전역 최솟값은 곧 지도 목적함수의 전역 최솟값이기도 하다는 것이 이 접근의 이론적 근거다. 다만 저자들은 이 등가성이 원칙의 문제일 뿐, 실제로 비지도 목적함수를 수렴할 때까지 최적화하는 것이 명시적 지도학습보다 훨씬 느리다는 한계를 분명히 인정한다.
-
WebText 데이터셋: Common Crawl 같은 웹 스크레이프는 문서 품질이 낮다는 문제가 있어, 저자들은 대신 사람이 큐레이션한 품질 신호를 대리 지표로 사용한다 — Reddit에서 karma 3점 이상을 받은 게시물의 outbound 링크만 스크레이핑한 것이다. 결과물은 4500만 개 링크 중 텍스트 추출까지 마친 800만+ 문서, 중복 제거 후 총 40GB. 다른 데이터셋과의 중복(특히 Wikipedia)을 피하기 위해 Wikipedia 문서는 모두 제외했다.
-
입력 표현 — byte-level BPE: 기존 BPE는 유니코드 코드 포인트 단위로 동작해 전체 유니코드 심볼 공간을 커버하려면 13만+ 크기의 기본 어휘가 필요하다. 반대로 byte-level BPE는 256 크기의 기본 어휘만으로 모든 문자열을 표현할 수 있지만, 그리디 빈도 기반 병합이
dog,dog.,dog!처럼 사실상 같은 단어의 여러 변형을 각각 어휘에 채워 넣는 비효율을 낳는다. 이를 막기 위해 BPE 병합이 문자 카테고리 경계를 넘지 못하도록 제한하고(공백은 예외), 어휘 크기 50,257의 byte-level BPE를 사용한다. 이는 전처리·토큰화·어휘 크기에 관계없이 어떤 유니코드 문자열에도 확률을 매길 수 있다는 장점으로 이어진다. -
아키텍처 — GPT-1 대비 변경점: 기본 구조는 Transformer 기반 GPT를 따르되 몇 가지가 바뀌었다.
- Layer normalization을 각 서브블록의 입력 쪽으로 옮겨(pre-activation residual network와 유사), 마지막 self-attention 블록 뒤에 layer norm을 추가로 둔다.
- 잔차 경로에 누적되는 분산을 보정하기 위해, 잔차 레이어의 초기화 가중치를 로 스케일링한다(은 잔차 레이어 수).
- context size를 512에서 1024 토큰으로, 배치 크기를 512로 늘린다.
- 4개 모델 크기(파라미터/레이어/): 117M/12/768, 345M/24/1024, 762M/36/1280, 1542M/48/1600. 가장 작은 모델은 원래 GPT와 동등, 두 번째로 작은 모델은 BERT-large와 동등한 크기다.
실험 결과
- 언어 모델링(제로샷): 별도 학습·파인튜닝 없이 8개 언어모델링 벤치마크 중 7개(LAMBADA, CBT-CN/NE, WikiText2, PTB, enwik8, text8, WikiText103)에서 SOTA를 달성했다. 유일하게 뒤처진 것은 문장 단위 셔플로 장거리 구조가 파괴된 1BW(One Billion Word Benchmark)였다.
- LAMBADA: perplexity를 99.8→8.63, 정확도를 19%→52.66%(불용어 필터 추가 시 63.24%)로 개선.
- Children’s Book Test: 일반명사 93.3%, 개체명 89.05%로 새 SOTA. 모델 크기가 커질수록 성능이 꾸준히 향상되어 인간 성능과의 격차를 좁힌다.
- Winograd Schema Challenge: 정확도 70.70%로 SOTA 대비 +7%p.
- 독해(CoQA): 문서+대화 맥락+질문을 조건으로 준 greedy decoding으로 개발셋 F1 55 — 127,000개 이상의 학습 데이터로 학습한 4개 베이스라인 중 3개를 넘어섰지만, BERT 기반 지도학습 SOTA(89 F1)에는 크게 못 미친다.
- 요약(CNN/Daily Mail): 기사 뒤에
TL;DR:힌트를 붙이고 Top- 샘플링()으로 생성한 뒤 앞 3문장을 요약으로 사용. ROUGE 기준으로 3문장 랜덤 추출(Random-3)보다 근소하게 나은 수준에 그쳐, 태스크를 정성적으로는 수행하지만 정량적으로는 아직 미숙하다. - 번역(WMT-14):
english sentence = french sentence형태의 예시 몇 개로 태스크를 조건화한 뒤 그리디 디코딩. En→Fr 5 BLEU(단어 단위 사전 치환보다도 낮음), Fr→En 11.5 BLEU. WebText에서 비영어 텍스트를 의도적으로 필터링했음에도 이 정도 성능이 나온 것은 놀랍다고 서술하지만, unsupervised MT SOTA(33.5 BLEU)에는 크게 못 미친다. - 질의응답(Natural Questions): exact match 정확도 4.1%로, “가장 흔한 답”만 반환하는 단순 베이스라인(1.0%)보다는 5.3배 낫지만 정보 검색을 결합한 오픈도메인 QA 시스템(30~50%대)에는 크게 못 미친다. 다만 모델이 가장 확신하는 상위 1% 질문에서는 정확도 63.1%로, 확률-정확도 캘리브레이션이 준수하다는 점을 보여준다.
- 일반화 vs 암기: 학습셋과 평가셋 사이 8-gram 중복률을 Bloom filter로 측정한 결과, WebText 학습셋과 표준 벤치마크 평가셋 사이의 중복은 일반적인 학습/평가셋 쌍의 중복 수준과 비슷했다. 학습·평가 성능이 모델 크기에 따라 함께 개선되는 것으로 보아, GPT-2는 WebText에 대해 여전히 underfit 상태다.
인사이트
이 논문의 핵심은 새로운 아키텍처가 아니라, 태스크 지정을 자연어 프롬프트로 옮기면 하나의 언어 모델이 여러 태스크의 암묵적 멀티태스크 학습자가 된다는 관찰이다. GPT(Radford et al., 2018)가 “언어 모델 사전학습 + 태스크별 지도학습 파인튜닝”이라는 2단계 전이 학습 패러다임을 정립했다면, GPT-2는 그 파인튜닝 단계를 걷어내고 모델 용량과 데이터 다양성만으로 제로샷 전이가 가능한지를 시험한다. 실험 결과가 보여주는 일관된 패턴 — 모델 크기가 커질수록 거의 모든 태스크에서 로그-선형에 가깝게 성능이 향상됨 — 은 이후 스케일링 법칙 연구와 GPT-3의 few-shot in-context learning으로 이어지는 직접적인 출발점이 된다.
다만 논문 스스로도 명시하듯 실용성 관점에서는 한계가 뚜렷하다: 요약·번역·QA 같은 태스크의 절대 성능은 여전히 지도학습 SOTA에 크게 못 미치고, “비지도 목적함수를 수렴시키는 것이 지도학습보다 훨씬 느리다”는 문제도 해결되지 않았다. 그럼에도 이 논문이 제기한 질문 — 모델과 데이터를 얼마나 더 키우면 프롬프트만으로 태스크를 지정하는 것이 실용적 수준에 도달하는가 — 은 이후 GPT-3, InstructGPT 등 후속 연구의 핵심 동기가 되었다.