VLA 선행 연구 - 전체 목차2편

논문해석 - Language Models are Few-Shot Learners

들어가며

1편 Attention Is All You Need에서 다룬 Transformer는 번역 모델로 처음 나왔습니다. 이후 연구자들은 Transformer 언어 모델을 인터넷 텍스트로 크게 사전학습한 뒤, 풀고 싶은 과제의 정답 데이터로 한 번 더 학습시키는 방식을 표준으로 삼았습니다. 이 방식은 성능이 좋지만 과제가 바뀔 때마다 수천에서 수십만 개의 정답 예시를 새로 모아야 합니다.

GPT-3 는 모델을 1750억 파라미터까지 키우면 추가 학습 없이도 과제를 풀 수 있는지 확인한 논문입니다. 과제 설명과 예시 몇 개를 입력 텍스트 앞에 적어 주기만 하고, 모델은 그 뒤에 이어질 텍스트를 생성합니다. 가중치는 전혀 바꾸지 않습니다. 논문은 이렇게 입력 안의 예시만으로 과제를 수행하는 능력을 문맥 내 학습(in-context learning) 이라고 부르고, 모델 크기에 따라 이 능력이 어떻게 달라지는지를 40개가 넘는 벤치마크로 측정했습니다.

📄 Language Models are Few-Shot Learners — Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah 외 (저자 31명) / OpenAI, NeurIPS 2020

arxiv 식별자는 2005.14165입니다.

초록 요약

자연어 처리에서는 큰 텍스트 묶음으로 사전학습한 뒤 특정 과제로 미세조정하는 방식이 여러 과제에서 큰 성과를 냈습니다. 구조는 과제와 무관해도 과제마다 수천에서 수만 개의 예시로 미세조정해야 한다는 조건은 남아 있었습니다. 사람은 예시 몇 개나 짧은 지시만 보고도 새 언어 과제를 해내는데, 당시 자연어 처리 시스템은 대체로 그렇게 하지 못했습니다.

저자들은 언어 모델을 키우면 과제에 무관한 적은 예시 성능(few-shot)이 크게 좋아지고, 때로는 미세조정으로 만든 최고 성능에 가까워진다는 것을 보입니다. 파라미터 1750억 개의 자기회귀(autoregressive) 언어 모델 GPT-3를 학습했는데, 이전의 희소하지 않은 언어 모델보다 10배 큽니다. 모든 과제에서 경사 하강이나 미세조정 없이 텍스트로 과제와 예시를 제시했고, 번역·질의응답·빈칸 채우기 같은 과제와 단어 철자 풀기·세 자리 연산·새 단어 사용처럼 즉석 추론이 필요한 과제에서 좋은 성능을 냈습니다. 반대로 적은 예시 학습이 여전히 약한 데이터셋과, 인터넷 대규모 데이터로 학습해서 생기는 방법론 문제가 있는 데이터셋도 확인했습니다. 사람이 GPT-3가 쓴 뉴스 기사를 사람이 쓴 기사와 구별하기 어렵다는 결과도 있으며, 이 결과와 GPT-3 전반의 사회적 영향을 함께 논의합니다.

그림 1.1 — 언어 모델의 메타 학습

그림 1.1 — 사전학습(바깥 반복)에서 익힌 능력을 추론 시점의 입력 안(안쪽 반복)에서 과제에 맞춰 씁니다.

위 그림은 논문이 말하는 메타 학습(meta-learning)의 두 반복을 보여줍니다. 바깥 반복은 사전학습입니다. 모델은 인터넷 텍스트에서 다음 단어를 예측하도록 학습하면서 덧셈, 철자 교정, 번역 같은 패턴을 함께 익힙니다. 안쪽 반복은 한 시퀀스를 처리하는 순전파 한 번입니다. 입력 텍스트 안에 같은 형식의 예시가 반복되면 모델은 그 형식을 알아보고 다음 예시에 같은 규칙을 적용합니다. 이 안쪽 반복이 문맥 내 학습입니다.


1. 문제 — 과제마다 필요한 미세조정 데이터

사전학습 후 미세조정 방식의 한계

논문이 나오기 전 몇 년 동안 언어 표현을 학습하는 방식은 세 단계로 바뀌었습니다. 처음에는 단어 벡터를 학습해 과제별 구조에 넣었고, 다음에는 여러 층의 순환 신경망 표현을 과제별 구조에 넣었습니다. 최근에는 사전학습한 Transformer 언어 모델을 통째로 미세조정(fine-tuning)해 과제별 구조 자체가 필요 없어졌습니다.

구조는 과제와 무관해졌지만 과제별 데이터와 과제별 미세조정은 여전히 필요했습니다. 저자들은 이 조건을 없애야 하는 이유를 셋으로 듭니다.

이유내용
실용성문법 교정, 추상 개념의 예시 생성, 짧은 소설 비평처럼 쓸모 있는 언어 과제는 매우 많은데, 과제마다 큰 정답 데이터셋을 새로 모으기 어려움
허위 상관사전학습 때 크게 만든 모델을 좁은 과제 분포로 미세조정하면 학습 데이터의 우연한 상관을 이용하기 쉬움. 벤치마크 점수가 사람 수준이어도 실제 과제 능력을 과장할 수 있음
사람과의 차이사람은 짧은 지시나 예시 몇 개로 새 과제를 어느 정도 해내고, 대화 중에 덧셈을 하는 식으로 여러 과제를 섞어 씀

문맥 내 학습과 모델 크기

한 가지 해법은 앞의 그림 1.1처럼 사전학습 중에 넓은 능력을 익히고 추론 시점에 과제를 알아보게 하는 것입니다. GPT-2가 이미 입력 텍스트에 자연어 지시나 예시를 넣고 이어질 내용을 예측하게 하는 방식을 시도했지만, Natural Questions에서 4%, CoQA에서 55 F1에 그쳐 미세조정 방식보다 크게 낮았습니다.

저자들은 다른 흐름에서 해법을 찾습니다. Transformer 언어 모델의 파라미터 수는 1억, 3억, 15억, 80억, 110억, 170억 개로 계속 늘었고, 늘 때마다 텍스트 생성과 후속 과제 성능이 좋아졌습니다. 로그 손실도 모델 크기에 따라 매끄럽게 줄어든다는 연구가 있었습니다. 문맥 내 학습은 여러 과제의 능력을 모델 파라미터 안에 담아야 가능하므로, 이 능력도 모델 크기에 따라 비슷하게 좋아질 것이라는 가설입니다.

그림 1.2 — 모델 크기별 문맥 내 학습 곡선

그림 1.2 — 단어에 섞인 무작위 기호 제거 과제에서, 큰 모델일수록 입력 속 예시 수가 늘 때 정확도가 가파르게 오릅니다.

위 그림은 단어 사이에 끼워 넣은 무작위 기호를 지우고 원래 단어를 복원하는 과제의 결과입니다. 가로축은 입력에 넣은 예시 수 KK, 세로축은 정확도입니다. 1.3B 모델은 예시를 늘려도 정확도가 거의 오르지 않지만 175B 모델은 예시가 늘수록 빠르게 오르고, 자연어 과제 설명을 함께 넣으면 더 높아집니다. 이 곡선에서 가중치는 한 번도 갱신되지 않았습니다. 입력에 넣은 예시 수만 달라졌습니다.

그림 1.3 — 42개 벤치마크 종합 성능

그림 1.3 — 정확도로 채점하는 42개 벤치마크의 평균. 모델이 클수록 few-shot과 zero-shot의 차이가 커집니다.

위 그림은 정확도로 채점하는 벤치마크 42개의 평균을 모델 크기별로 보여줍니다. zero-shot 성능도 크기에 따라 꾸준히 오르지만 few-shot 성능이 더 빠르게 오릅니다. 저자들은 이 평균 자체를 엄밀한 벤치마크로 보지 말고 전체 경향을 보는 용도로만 쓰라고 적었습니다.


2. 사전 지식 — 다음 토큰을 예측하는 언어 모델

GPT-3의 구조는 1편의 Transformer에서 복호기(decoder) 쪽만 쌓은 형태입니다. 이 절에서는 뒤의 설명에 필요한 개념만 짚습니다.

토큰과 다음 토큰 예측

언어 모델은 텍스트를 토큰(token) 단위로 나눠 처리합니다. GPT-3는 GPT-2와 같은 바이트 수준 BPE(byte-pair encoding)를 쓰고, 토큰 하나는 평균 0.7단어 정도입니다. "unbelievable"처럼 긴 단어는 여러 토큰으로 나뉘고, 짧고 흔한 단어는 한 토큰이 됩니다.

학습 목표는 앞에 나온 토큰들을 보고 바로 다음 토큰의 확률을 맞히는 것입니다. 인터넷 텍스트 한 줄이 곧 정답이 달린 학습 예시가 되므로 사람이 따로 정답을 달 필요가 없습니다. 이런 학습을 사전학습(pre-training)이라고 부릅니다.

자기회귀 생성

텍스트를 만들 때는 다음 토큰을 하나 고르고, 고른 토큰을 입력 끝에 붙인 뒤, 다시 다음 토큰을 예측합니다. 이렇게 자기가 낸 출력을 다음 입력으로 되돌려 넣는 방식을 자기회귀(autoregressive) 생성이라고 합니다.

복호기는 각 위치에서 자기보다 앞선 토큰만 참고하도록 가려져(masked) 있어서, 학습할 때는 한 시퀀스의 모든 위치에서 다음 토큰 예측을 한꺼번에 계산할 수 있습니다. 모델이 한 번에 볼 수 있는 토큰 수를 문맥 창(context window) 이라고 하는데, GPT-3는 2048 토큰입니다. few-shot 예시는 이 2048 토큰 안에 들어가야 합니다.


3. 과제 제시 방식 — 미세조정과 zero·one·few-shot

그림 2.1 — 네 가지 과제 제시 방식

그림 2.1 — 영어→프랑스어 번역을 예로 든 zero-shot · one-shot · few-shot과 기존 미세조정의 비교.

위 그림은 영어를 프랑스어로 옮기는 과제 하나를 네 방식으로 제시한 모습입니다. 오른쪽의 미세조정은 예시 하나를 볼 때마다 경사 하강으로 가중치를 갱신합니다. 왼쪽의 세 방식은 가중치를 그대로 두고 입력 텍스트만 바꿉니다.

방식입력에 넣는 것가중치 갱신장점단점
미세조정(Fine-Tuning, FT)— (정답 데이터로 추가 학습)있음. 보통 수천~수십만 예시여러 벤치마크에서 가장 높은 성능과제마다 큰 데이터셋 필요, 분포 밖 일반화가 나쁠 수 있음, 허위 특징을 이용할 수 있음
few-shot (FS)과제 설명 + 예시 KK개 + 질문없음과제별 데이터가 크게 줄고, 좁은 분포에 과적합할 위험이 줄어듦미세조정 최고 성능보다 낮음, 소량의 과제 데이터는 여전히 필요
one-shot (1S)과제 설명 + 예시 1개 + 질문없음사람에게 과제를 알려 주는 방식과 가장 비슷함few-shot보다 성능이 낮은 경우가 많음
zero-shot (0S)과제 설명 + 질문없음가장 편리하고 허위 상관을 이용할 여지가 가장 적음가장 어렵고, 형식이 모호하면 사람도 이해하기 어려움

few-shot의 KK는 보통 10에서 100 사이로, 2048 토큰 문맥 창에 들어가는 만큼입니다. one-shot을 따로 두는 이유는 사람에게 일을 맡길 때의 방식과 맞기 때문입니다. 예를 들어 크라우드소싱 작업자에게 데이터셋을 만들어 달라고 할 때는 보통 예시를 하나 보여 줍니다.

저자들은 네 방식을 경쟁하는 방법이 아니라 벤치마크 성능과 표본 효율 사이의 다른 지점으로 봅니다. 결과는 미세조정 최고 성능에 가까운 경우가 많은 few-shot을 중심으로 보고하지만, 사람과 가장 공정하게 비교할 수 있는 설정은 one-shot이나 zero-shot이라고 적었습니다. GPT-3를 미세조정하는 실험은 이 논문에서 하지 않았습니다.


4. 모델 — 125M부터 175B까지 여덟 가지 크기

구조

모델과 구조는 GPT-2와 같습니다. 수정된 초기화, 층 정규화를 각 블록 앞에 두는 사전 정규화(pre-normalization), 되돌릴 수 있는 토큰화도 그대로 씁니다. 다른 점은 Transformer 층마다 전체를 보는 밀집 attention과 가까운 범위만 보는 국소 희소 attention을 번갈아 쓴다는 것으로, Sparse Transformer와 비슷한 방식입니다.

성능이 모델 크기에 어떻게 달라지는지 보려고 파라미터 1억 2500만 개부터 1750억 개까지 약 1400배 범위에 걸친 여덟 모델을 학습했습니다. 가장 큰 모델만 GPT-3라고 부릅니다.

모델 이름nparamsn_{\mathrm{params}}nlayersn_{\mathrm{layers}}dmodeld_{\mathrm{model}}nheadsn_{\mathrm{heads}}dheadd_{\mathrm{head}}배치 크기학습률
GPT-3 Small125M1276812640.5M6.0×1046.0 \times 10^{-4}
GPT-3 Medium350M24102416640.5M3.0×1043.0 \times 10^{-4}
GPT-3 Large760M24153616960.5M2.5×1042.5 \times 10^{-4}
GPT-3 XL1.3B242048241281M2.0×1042.0 \times 10^{-4}
GPT-3 2.7B2.7B32256032801M1.6×1041.6 \times 10^{-4}
GPT-3 6.7B6.7B324096321282M1.2×1041.2 \times 10^{-4}
GPT-3 13B13.0B405140401282M1.0×1041.0 \times 10^{-4}
GPT-3 175B ("GPT-3")175.0B9612288961283.2M0.6×1040.6 \times 10^{-4}

표 2.1 — 모델 크기와 구조, 학습 설정. 배치 크기는 토큰 수이고, 모든 모델을 3000억 토큰으로 학습했습니다.

표의 nparamsn_{\mathrm{params}}는 학습 가능한 파라미터 수, nlayersn_{\mathrm{layers}}는 층 수, dmodeld_{\mathrm{model}}은 각 층의 병목 차원, nheadsn_{\mathrm{heads}}dheadd_{\mathrm{head}}는 attention 헤드 수와 헤드 하나의 차원입니다. 순전파 층은 항상 dff=4×dmodeld_{\mathrm{ff}} = 4 \times d_{\mathrm{model}}입니다. 13B 행의 dmodeld_{\mathrm{model}}은 원문 표에 5140으로 적혀 있지만, 헤드 40개 × 헤드 차원 128은 5120이라 5120의 오기로 보입니다.

큰 모델일수록 배치를 키우고 학습률을 낮췄습니다. 배치 크기는 학습 중에 잰 경사 잡음 척도(gradient noise scale)를 참고해 정했습니다. 층 수와 폭 같은 세부 수치는 GPU에 모델을 나눠 올릴 때의 계산 효율과 부하 분산을 기준으로 골랐는데, 이전 연구에서 검증 손실은 넓은 범위 안에서 이 수치에 크게 민감하지 않았습니다.

계산량

그림 2.2 — 학습에 쓴 총 계산량

그림 2.2 — 모델별 사전학습 계산량(petaflop/s-days). GPT-3 175B는 수천 단위입니다.

위 그림은 모델별 사전학습 계산량을 BERT·RoBERTa·T5와 함께 보여줍니다. GPT-3는 규모 법칙(scaling laws) 연구의 분석을 따라, 흔히 쓰는 것보다 훨씬 큰 모델을 훨씬 적은 토큰으로 학습했습니다. 그래서 GPT-3 2.7B는 RoBERTa-Large(355M)보다 거의 10배 크지만 두 모델의 사전학습 계산량은 둘 다 약 50 petaflop/s-days입니다. 원문 캡션은 이 모델을 "GPT-3 3B"라고 적었는데, 표 2.1의 2.7B 모델을 가리킵니다.


5. 학습 데이터와 학습 과정

데이터셋 구성

Common Crawl은 거의 1조 단어 규모라 가장 큰 모델도 같은 시퀀스를 두 번 보지 않고 학습할 수 있습니다. 하지만 거의 거르지 않은 Common Crawl은 정리된 데이터셋보다 품질이 낮았습니다. 저자들은 세 단계로 평균 품질을 높였습니다.

  1. 고품질 참조 말뭉치와 비슷한 정도를 기준으로 Common Crawl을 걸렀습니다. WebText·Wikipedia·웹 도서 말뭉치를 양성 예시, 거르지 않은 Common Crawl을 음성 예시로 로지스틱 회귀 분류기를 학습하고, 분류기 점수가 높은 문서 위주로 다시 뽑았습니다.
  2. 데이터셋 안과 데이터셋 사이에서 문서 단위로 비슷한 문서를 지웠습니다(fuzzy deduplication). 중복을 줄이고, 검증 세트가 과적합을 제대로 재도록 하려는 목적입니다.
  3. 품질이 알려진 참조 말뭉치를 학습 데이터에 추가해 다양성을 넓혔습니다.

Common Crawl은 2016년부터 2019년까지의 월별 샤드 41개에서 받았고, 거르기 전 압축 텍스트 45TB가 거른 뒤 570GB가 됐습니다. BPE 토큰으로 약 4000억 개입니다.

데이터셋토큰 수학습 혼합 비중3000억 토큰 학습 시 반복 횟수(에폭)
Common Crawl (거름)410 billion60%0.44
WebText219 billion22%2.9
Books112 billion8%1.9
Books255 billion8%0.43
Wikipedia3 billion3%3.4

표 2.2 — GPT-3 학습 데이터 구성. 비중은 크기에 비례하지 않고 품질이 높다고 본 데이터셋을 더 자주 뽑습니다.

학습 혼합 비중은 학습 중 뽑는 예시 가운데 해당 데이터셋이 차지하는 비율입니다. WebText2는 토큰 수로는 Common Crawl의 20분의 1도 안 되지만 비중은 22%라서 학습 동안 2.9번 반복해서 봅니다. 반대로 Common Crawl과 Books2는 한 번도 다 보지 않습니다. 저자들은 약간의 과적합을 감수하는 대신 고품질 데이터를 더 많이 보게 했습니다.

학습 데이터에 쓰인 단어의 93%는 영어이고 7%는 다른 언어입니다.

벤치마크 누출 제거와 버그

인터넷 데이터로 사전학습하면 벤치마크의 개발·시험 세트가 학습 데이터에 섞일 수 있습니다. 저자들은 이 논문에서 쓰는 모든 벤치마크의 개발·시험 세트와 겹치는 부분을 찾아 지우려 했지만, 거르는 코드의 버그로 일부 겹침이 남았습니다. 학습 비용 때문에 모델을 다시 학습하지 못했고, 남은 겹침의 영향은 8절에서 따로 분석합니다.

학습 설정

항목
최적화기Adam, β1=0.9\beta_1 = 0.9, β2=0.95\beta_2 = 0.95, ϵ=108\epsilon = 10^{-8}
경사 자르기전역 노름 1.0
학습률 스케줄처음 3억 7500만 토큰 동안 선형 증가, 이후 2600억 토큰에 걸쳐 코사인 감소로 원래 값의 10%까지, 그 뒤 10% 유지
배치 크기 스케줄32k 토큰에서 시작해 모델 크기에 따라 처음 40억~120억 토큰 동안 전체 값까지 선형 증가
가중치 감쇠0.1
시퀀스 길이항상 2048 토큰. 짧은 문서는 여러 개를 이어 붙이고 문서 끝 토큰으로 구분
하드웨어Microsoft가 제공한 고대역폭 클러스터의 V100 GPU
병렬화행렬 곱 안의 모델 병렬과 층 사이의 모델 병렬을 함께 사용

6. 평가 방식

few-shot 평가에서는 평가 세트의 각 예시마다 그 과제의 학습 세트에서 KK개를 무작위로 뽑아 앞에 붙이고, 과제에 따라 줄바꿈 한두 개로 구분합니다. LAMBADA와 StoryCloze는 지도 학습 세트가 없어서 개발 세트에서 예시를 뽑아 시험 세트로 평가하고, 원래 Winograd는 데이터셋이 하나뿐이라 그 안에서 예시를 뽑습니다. KK는 개발 세트와 시험 세트가 따로 있으면 개발 세트에서 몇 가지 값을 시험해 가장 좋은 값을 시험 세트에 씁니다.

과제 형식에 따라 채점 방법이 다릅니다.

과제 형식채점 방법
여러 선택지 중 하나 고르기예시 KK개(문맥 + 정답) 뒤에 문맥만 넣고, 각 선택지의 언어 모델 가능도를 비교. 대부분 토큰당 가능도로 길이를 보정하고, ARC·OpenBookQA·RACE는 P(completioncontext)P(completionanswer_context)\frac{P(\mathrm{completion} \mid \mathrm{context})}{P(\mathrm{completion} \mid \mathrm{answer\_context})}로 보정
이진 분류0·1 대신 "True"·"False"처럼 뜻 있는 이름을 붙이고 선택지 과제처럼 처리
자유 생성빔 탐색(beam search), 빔 폭 4, 길이 페널티 α=0.6\alpha = 0.6. 데이터셋 표준에 따라 F1·BLEU·정확 일치로 채점

결과는 시험 세트가 공개된 경우 시험 세트로 보고합니다. 시험 세트가 비공개면 모델이 시험 서버에 올라가지 않는 경우가 많아 개발 세트로 보고하고, SuperGLUE·TriviaQA·PIQA만 시험 서버에 제출했습니다. 원문은 이때 제출한 결과를 "200B few-shot"이라고 적었는데, 논문에 200B 모델은 없으므로 175B 모델을 가리키는 오기입니다.


7. 결과 — 여러 과제에서의 규모별 성능

계산량과 손실

그림 3.1 — 계산량에 따른 검증 손실

그림 3.1 — 교차 엔트로피 검증 손실이 학습 계산량에 대해 거듭제곱 법칙을 따릅니다.

위 그림은 여덟 모델에 파라미터 10만 개 수준의 초소형 모델 6개를 더한 학습 곡선입니다. 가로축은 학습 계산량, 세로축은 교차 엔트로피(cross-entropy) 검증 손실입니다. 계산을 효율적으로 쓸 때 손실은 계산량에 대해 거듭제곱 법칙(power law) 을 따른다고 이전 연구가 보고했는데, GPT-3에서 계산량 범위를 100배 더 넓혀도 예측 곡선에서 거의 벗어나지 않았습니다.

손실이 줄어도 학습 말뭉치의 사소한 특징을 외운 결과일 수 있다는 의문이 남습니다. 이어지는 결과는 손실 감소가 여러 자연어 과제의 성능 향상으로 이어진다는 것을 보여줍니다.

평가 과제는 비슷한 성격끼리 아홉 묶음으로 나눴습니다.

묶음대표 데이터셋
7.1언어 모델링·빈칸 채우기·문장 완성PTB, LAMBADA, HellaSwag, StoryCloze
7.2닫힌 책 질의응답Natural Questions, WebQuestions, TriviaQA
7.3번역WMT'14 Fr↔En, WMT'16 De↔En, Ro↔En
7.4Winograd 계열Winograd, Winogrande
7.5상식 추론PIQA, ARC, OpenBookQA
7.6독해CoQA, DROP, QuAC, SQuADv2, RACE
7.7SuperGLUEBoolQ, CB, COPA, RTE, WiC, WSC, MultiRC, ReCoRD
7.8자연어 추론RTE, ANLI
7.9합성·정성 과제사칙연산, 철자 풀기, SAT 유추, 뉴스 생성, 새 단어, 문법 교정

7.1 언어 모델링과 문장 완성

Penn Tree Bank(PTB)에서 zero-shot 복잡도(perplexity)를 쟀습니다. GPT-2 논문이 쓴 Wikipedia 관련 과제 4개와 One Billion Word 벤치마크는 학습 데이터에 대부분 들어 있어서 뺐고, PTB는 현대 인터넷 이전의 데이터라 이 문제가 없습니다. PTB는 예시 단위가 뚜렷하지 않아 zero-shot만 쟀습니다.

설정PTB 복잡도
이전 최고 (zero-shot)35.8
GPT-3 zero-shot20.5

표 3.1 — PTB zero-shot 복잡도. 낮을수록 좋고, 이전 최고보다 15 낮습니다.

설정LAMBADA 정확도LAMBADA 복잡도StoryCloze 정확도HellaSwag 정확도
이전 최고68.08.6391.885.6
GPT-3 zero-shot76.23.0083.278.9
GPT-3 one-shot72.53.3584.778.1
GPT-3 few-shot86.41.9287.779.3

표 3.2 — 빈칸 채우기와 문장 완성 과제 결과.

그림 3.2 — LAMBADA 규모별 정확도

그림 3.2 — LAMBADA에서 few-shot 정확도가 크게 오르고, GPT-3 2.7B가 17B Turing-NLG를 넘습니다.

LAMBADA는 한 문단을 읽어야 맞힐 수 있는 문장의 마지막 단어를 예측하는 과제입니다. 직전 최고 기록 두 개 사이에서 모델 크기를 두 배로 늘려도 1.5%밖에 오르지 않아 규모 확장이 한계에 왔다는 주장이 있었지만, GPT-3는 zero-shot에서 76%로 이전 최고보다 8% 높았습니다.

few-shot에서는 과제 형식을 알려 주는 효과가 있습니다. 일반 언어 모델은 정답이 문장 끝의 한 단어라는 사실을 모르므로 문단이 이어질 다른 표현에도 확률을 줍니다. 저자들은 입력에 다음처럼 빈칸 형식의 예시를 넣었습니다.

Alice was friends with Bob. Alice went to visit her friend ___. → Bob
George bought some baseball equipment, a ball, a glove, and a ___. →

이 형식에서 GPT-3는 few-shot 86.4%로 이전 최고보다 18% 넘게 올랐습니다. 가장 작은 모델은 이 형식을 쓰면 오히려 20% 가까이 떨어지지만 GPT-3는 10% 오릅니다. one-shot에서는 이 형식이 항상 zero-shot보다 나빴는데, 저자들은 모델이 패턴을 알아보려면 예시가 여러 개 필요하기 때문일 수 있다고 봅니다. LAMBADA는 8절의 오염 분석에서 상당 부분이 학습 데이터에 있는 것으로 나왔지만 성능 영향은 작았습니다.

HellaSwag는 이야기나 설명문의 가장 알맞은 끝을 고르는 과제로, 언어 모델에는 어렵고 사람에게는 쉽도록(사람 정확도 95.6%) 적대적으로 골라낸 예시로 구성됩니다. GPT-3는 one-shot 78.1%, few-shot 79.3%로 미세조정한 1.5B 모델의 75.4%를 넘었지만, 미세조정한 다중 과제 모델 ALUM의 85.6%보다는 낮습니다. 다섯 문장 이야기의 마지막 문장을 고르는 StoryCloze에서는 zero-shot 83.2%, few-shot(K=70K=70) 87.7%로, BERT 기반 미세조정 최고 성능보다 4.1% 낮지만 이전 zero-shot 결과보다 약 10% 높습니다.

7.2 닫힌 책 질의응답

넓은 사실 지식을 묻는 질의응답은 보통 검색 시스템으로 관련 문서를 찾은 뒤 답을 생성합니다. 이를 열린 책(open-book) 설정이라고 합니다. 반대로 외부 정보 없이 모델 파라미터에 저장된 지식만으로 답하는 설정을 닫힌 책(closed-book)이라고 부릅니다. GPT-3의 평가는 닫힌 책이면서 질의응답 데이터로 미세조정도 하지 않으므로 이전 닫힌 책 연구보다 조건이 더 엄격합니다.

설정NaturalQSWebQSTriviaQA
RAG (미세조정, 열린 책)44.545.568.0
T5-11B+SSM (미세조정, 닫힌 책)36.644.760.5
T5-11B (미세조정, 닫힌 책)34.537.450.1
GPT-3 zero-shot14.614.464.3
GPT-3 one-shot23.025.368.0
GPT-3 few-shot29.941.571.2

표 3.3 — 세 가지 질의응답 과제 결과. TriviaQA few-shot은 wiki 분할 시험 서버에서 평가했습니다.

그림 3.3 — TriviaQA 규모별 정확도

그림 3.3 — TriviaQA 성능이 모델 크기에 따라 매끄럽게 오르고, one-shot·few-shot이 열린 책 모델 RAG에 도달합니다.

TriviaQA에서 zero-shot 64.3%는 미세조정한 T5-11B보다 14.2% 높고, 질의응답용 사전학습을 더한 T5-11B+SSM보다도 3.8% 높습니다. one-shot 68.0%는 문서 2100만 개를 담은 153억 파라미터 밀집 벡터 색인으로 검색까지 하는 RAG와 같고, few-shot은 3.2% 더 오릅니다.

WebQuestions는 zero-shot 14.4%, one-shot 25.3%, few-shot 41.5%로 zero-shot에서 few-shot으로 가는 폭이 TriviaQA보다 훨씬 큽니다. 저자들은 질문이나 답의 형식이 GPT-3의 학습 분포와 달라서라고 보고, few-shot 예시로 그 형식에 맞춰 간다고 해석합니다. Natural Questions는 few-shot 29.9%로 T5-11B+SSM의 36.6%보다 낮은데, Wikipedia의 세밀한 지식을 주로 묻기 때문일 수 있습니다. 세 데이터셋 모두 모델 크기에 따라 성능이 매끄럽게 올랐습니다.

7.3 번역

GPT-2는 용량 문제로 영어 문서만 남기도록 걸렀지만, 남은 프랑스어 텍스트 10MB만으로도 프랑스어-영어 번역을 어느 정도 했습니다. GPT-3는 용량을 100배 넘게 키우면서 다른 언어의 비중도 넓혔습니다.

기존 비지도 기계 번역은 두 언어의 단일 언어 데이터로 사전학습하고 역번역(back-translation)으로 두 언어를 잇습니다. GPT-3는 여러 언어가 단어·문장·문서 단위로 자연스럽게 섞인 데이터로 학습하고 과제 전용 목표도 없습니다. 다만 one-shot과 few-shot은 번역 쌍 1개나 64개를 쓰므로 비지도 연구와 엄밀하게 같은 조건은 아닙니다.

설정En→FrFr→EnEn→DeDe→EnEn→RoRo→En
지도 학습 최고45.635.041.240.238.539.9
XLM33.433.326.434.333.331.8
MASS37.534.928.335.235.233.1
mBART--29.834.035.030.5
GPT-3 zero-shot25.221.224.627.214.119.9
GPT-3 one-shot28.333.726.230.420.638.6
GPT-3 few-shot32.639.229.740.621.039.5

표 3.4 — 번역 BLEU. few-shot GPT-3는 영어로 옮길 때 이전 비지도 번역보다 5 BLEU 높습니다.

그림 3.4 — 여섯 언어 쌍의 규모별 번역 성능

그림 3.4 — 모든 언어 쌍에서 모델 크기에 따라 BLEU가 오르고, 영어로 옮기는 방향이 더 높습니다.

zero-shot GPT-3는 최근 비지도 번역보다 낮지만, 예시 하나를 넣으면 7 BLEU 넘게 오르고 few-shot에서 4 BLEU가 더 올라 평균적으로 이전 비지도 번역과 비슷해집니다. 방향에 따른 차이가 뚜렷합니다. 세 언어 모두 영어로 옮길 때는 이전 비지도 번역보다 크게 높고, 영어에서 옮길 때는 낮습니다. En→Ro는 이전 비지도 번역보다 10 BLEU 넘게 낮은데, 거의 영어로만 된 데이터로 만든 GPT-2의 바이트 수준 BPE 토크나이저를 그대로 쓴 탓일 수 있습니다. Ro→En few-shot은 비지도 사전학습·레이블 60만 8천 개 지도 미세조정·역번역을 모두 쓴 최고 성능과 0.5 BLEU 이내입니다.

7.4 Winograd 계열 과제

Winograd 스키마는 문법상으로는 모호하지만 사람에게는 뜻이 분명한 대명사가 무엇을 가리키는지 맞히는 과제입니다. 원래 Winograd는 미세조정 모델이 사람 수준에 가까워졌지만, 적대적으로 골라낸 Winogrande는 아직 사람보다 크게 낮았습니다.

설정WinogradWinogrande (XL)
미세조정 최고90.184.6
GPT-3 zero-shot88.3*70.2
GPT-3 one-shot89.7*73.2
GPT-3 few-shot88.6*77.7

표 3.5 — Winograd(WSC273)와 Winogrande 결과. 별표는 8절의 오염 가능성 표시입니다.

그림 3.5 — Winogrande 규모별 정확도

그림 3.5 — 모델이 클수록 few-shot의 이득이 커지고, 175B few-shot은 미세조정한 RoBERTa-large와 비슷합니다.

원래 Winograd 273개에서는 zero·one·few-shot이 88.3%, 89.7%, 88.6%로 문맥 내 학습의 효과가 뚜렷하지 않지만, 세 설정 모두 최고 성능과 사람 추정치보다 몇 점 낮은 수준입니다. Winogrande에서는 70.2%, 73.2%, 77.7%로 예시를 늘릴수록 오릅니다. 비교하면 미세조정 RoBERTa는 79%, 대형 T5 미세조정 최고는 84.6%, 사람은 94.0%입니다.

7.5 상식 추론

설정PIQAARC (Easy)ARC (Challenge)OpenBookQA
미세조정 최고79.492.078.587.2
GPT-3 zero-shot81.0*68.851.457.6
GPT-3 one-shot80.5*71.253.258.8
GPT-3 few-shot82.8*70.151.565.4

표 3.6 — 상식 추론 과제 결과. PIQA few-shot은 시험 서버에서 평가했습니다.

원문 표 3.6은 PIQA zero-shot을 80.5로 적었지만, 본문과 부록 표 H.1의 175B zero-shot 값은 81.0이고 80.5는 one-shot 값이라 여기서는 81.0으로 적었습니다.

그림 3.6 — PIQA 규모별 정확도

그림 3.6 — 가장 큰 모델은 세 설정 모두 개발 세트에서 이전 최고 기록을 넘습니다.

PIQA(PhysicalQA)는 물리 세계가 어떻게 돌아가는지 묻는 상식 질문입니다. GPT-3는 zero-shot부터 미세조정 RoBERTa의 이전 최고 79.4%를 넘었지만, 모델 크기에 따른 상승 폭은 작고 사람보다는 여전히 10% 넘게 낮습니다. 8절의 오염 분석에서 걸려서 별표를 붙였습니다.

ARC는 초등 3학년부터 중학 3학년까지의 과학 시험 객관식 문제입니다. 단순한 통계·검색 방법으로 못 푸는 문제만 모은 Challenge에서 51.4%, 53.2%, 51.5%로 미세조정 RoBERTa 기준선(55.9%)에 가깝고, Easy에서는 68.8%, 71.2%, 70.1%로 그 기준선보다 약간 높습니다. 그래도 UnifiedQA 최고 성능은 few-shot GPT-3보다 Challenge에서 27%, Easy에서 22% 높습니다. OpenBookQA는 zero-shot에서 few-shot으로 크게 오르지만 최고 성능과는 20점 넘게 차이 나고, 미세조정 BERT Large 기준선과 비슷합니다.

7.6 독해

설정CoQADROPQuACSQuADv2RACE-hRACE-m
미세조정 최고90.789.174.493.090.093.1
GPT-3 zero-shot81.523.641.559.545.558.4
GPT-3 one-shot84.034.343.365.445.957.4
GPT-3 few-shot85.036.544.369.846.858.1

표 3.7 — 독해 과제 결과. RACE는 정확도, 나머지는 F1입니다.

그림 3.7 — CoQA 규모별 F1

그림 3.7 — CoQA few-shot 85 F1은 사람 성능과 미세조정 최고 성능보다 몇 점 낮습니다.

답 형식에 따라 성능 차이가 큽니다. 자유 형식 대화 데이터셋인 CoQA에서 가장 좋아서 사람 기준선과 3점 이내이고, 교사와 학생의 대화에서 답 구간을 고르는 QuAC에서 가장 나빠 ELMo 기준선보다 13 F1 낮습니다. 독해 중 이산 추론과 수 계산을 요구하는 DROP에서는 few-shot이 원래 논문의 미세조정 BERT 기준선을 넘지만, 기호 시스템을 결합한 최고 방법과는 차이가 큽니다. SQuAD 2.0에서는 zero-shot보다 10 F1 가까이 올라 69.8이 되어 원래 논문의 최고 미세조정 결과를 약간 넘습니다. 중고등학교 영어 시험 객관식인 RACE에서는 약해서 최고 성능보다 45% 낮습니다.

7.7 SuperGLUE

설정SuperGLUE 평균BoolQ 정확도CB 정확도CB F1COPA 정확도RTE 정확도
미세조정 최고89.091.096.993.994.892.5
미세조정 BERT-Large69.077.483.675.770.671.7
GPT-3 few-shot71.876.475.652.092.069.0
설정WiC 정확도WSC 정확도MultiRC 정확도MultiRC F1aReCoRD 정확도ReCoRD F1
미세조정 최고76.193.862.388.292.593.3
미세조정 BERT-Large69.664.624.170.071.372.0
GPT-3 few-shot49.480.130.575.490.291.1

표 3.8 — SuperGLUE 시험 세트 결과. GPT-3 few-shot은 과제마다 예시 32개를 입력에 넣었습니다.

그림 3.8 — SuperGLUE 규모별·예시 수별 성능

그림 3.8 — 모델 크기와 입력 예시 수가 늘수록 SuperGLUE 점수가 오릅니다(개발 세트 기준).

과제별 차이가 큽니다. COPA와 ReCoRD는 one-shot과 few-shot에서 최고 성능에 가깝고, COPA는 11B 미세조정 T5 다음인 리더보드 2위입니다. WSC는 few-shot 80.1%인데, 원래 Winograd에서는 88.6%였습니다. BoolQ·MultiRC·RTE는 미세조정 BERT-Large와 비슷하고, CB는 few-shot 75.6%입니다.

WiC는 few-shot 49.4%로 무작위 수준입니다. WiC는 한 단어가 두 문장에서 같은 뜻으로 쓰였는지 판단하는 과제인데, 문구와 형식을 여러 방식으로 바꿔도 성능이 오르지 않았습니다. 저자들은 GPT-3가 두 문장이나 두 구절을 비교하는 과제에 약하다고 보고, RTE와 CB의 낮은 점수도 같은 형식이라서라고 해석합니다. 그래도 여덟 과제 중 넷에서 미세조정 BERT-Large를 넘고, 둘에서는 11B 미세조정 모델의 최고 성능에 가깝습니다.

그림 3.8의 오른쪽은 과제당 예시 수 KK를 늘린 결과입니다. K=32K=32는 과제당 32개, SuperGLUE 여덟 과제 전체로 256개입니다. GPT-3는 과제당 예시 8개 미만으로 SuperGLUE 전체 점수에서 미세조정 BERT-Large를 넘었습니다. BERT-Large는 SuperGLUE 학습 세트 12만 5천 개로, BERT++는 MultiNLI·SWAG까지 합쳐 총 63만 개로 미세조정한 모델입니다.

7.8 자연어 추론

자연어 추론(Natural Language Inference, NLI)은 두 번째 문장이 첫 문장에서 논리적으로 따라 나오는지, 모순되는지, 판단할 수 없는지를 분류하는 과제입니다. SuperGLUE의 RTE에서는 가장 큰 GPT-3만 무작위(56%)보다 확실히 높고, few-shot에서 단일 과제 미세조정 BERT Large와 비슷합니다.

그림 3.9 — ANLI Round 3 규모별 정확도

그림 3.9 — 작은 모델은 무작위 수준이고, few-shot GPT-3 175B는 무작위와 최고 성능 사이의 절반 가까이 올라갑니다.

적대적으로 세 라운드에 걸쳐 만든 ANLI에서는 GPT-3보다 작은 모든 모델이 few-shot에서도 무작위 수준(33%\sim 33\%)이고, GPT-3만 Round 3에서 무작위보다 높은 정확도를 보입니다. Round 3 개발 세트는 1500개뿐이라 표준편차를 1.2%로 추정합니다. 저자들은 NLI가 언어 모델에 여전히 매우 어려운 과제라고 결론짓습니다.

7.9 합성 과제와 정성 과제

즉석 계산, 학습 중에 보았을 가능성이 낮은 새 패턴, 낯선 과제에 대한 빠른 적응을 확인하려고 저자들이 직접 만든 과제입니다.

사칙연산

두 자리부터 다섯 자리까지의 덧셈·뺄셈, 두 자리 곱셈, 한 자리 숫자 셋의 복합 연산을 합쳐 10가지 과제를 만들었습니다. "Q: What is 48 plus 76? A: 124."처럼 자연어 질문으로 묻고, 과제마다 무작위 문제 2000개로 정확 일치를 채점합니다.

그림 3.10 — 사칙연산 10과제의 규모별 few-shot 정확도

그림 3.10 — 13B에서 175B로 넘어갈 때 정확도가 크게 오릅니다.

설정2D+2D-3D+3D-4D+4D-5D+5D-2Dx1DC
GPT-3 zero-shot76.958.034.248.34.07.50.70.819.89.8
GPT-3 one-shot99.686.465.578.714.014.03.53.827.414.3
GPT-3 few-shot100.098.980.494.225.526.89.39.929.221.3

표 3.9 — GPT-3 175B 사칙연산 정확도. {2,3,4,5}D{+,-}는 자릿수별 덧셈·뺄셈, 2Dx는 두 자리 곱셈, 1DC는 한 자리 복합 연산입니다.

원문 본문은 세 자리 덧셈 few-shot을 80.2%로 적었지만, 표 3.9와 부록 표 H.1은 모두 80.4라서 표의 값을 따랐습니다.

자릿수가 적으면 잘 풉니다. 두 자리 덧셈은 100%, 세 자리 뺄셈은 94.2%입니다. 자릿수가 늘면 떨어지지만 네 자리는 2526%, 다섯 자리는 910%를 맞힙니다. 13B 모델은 두 자리 덧셈·뺄셈도 절반 정도만 맞히고 나머지 연산은 10% 미만인데, 175B 모델은 zero-shot만으로도 작은 모델들의 few-shot보다 높습니다.

외운 답을 내는지 확인하려고 세 자리 문제를 "<NUM1> + <NUM2> ="와 "<NUM1> plus <NUM2>" 형식으로 학습 데이터에서 찾았습니다. 덧셈 2000개 중 17개(0.8%), 뺄셈 2000개 중 2개(0.1%)만 나왔습니다. 틀린 답을 보면 받아올림 "1"을 빼먹는 식의 실수가 많아서, 표를 외운 것이 아니라 실제로 계산을 시도한다고 저자들은 봅니다.

철자 조작

단어의 글자를 섞거나 끼워 넣거나 뒤집은 뒤 원래 단어를 복원하는 과제 다섯 가지입니다. 과제마다 길이 5~14글자의 흔한 단어 1만 개로 만들었습니다.

과제입력 예 → 정답
글자 순환(CL)lyinevitab → inevitably
첫·끝 글자 제외 섞기(A1)criroptuon → corruption
첫·끝 두 글자 제외 섞기(A2)opoepnnt → opponent
무작위 기호 삽입(RI)s.u!c/c!e.s s i/o/n → succession
단어 뒤집기(RW)stcejbo → objects
설정CLA1A2RIRW
GPT-3 zero-shot3.662.288.918.260.09
GPT-3 one-shot21.78.6225.945.40.48
GPT-3 few-shot37.915.139.767.20.44

표 3.10 — GPT-3 175B 철자 조작 과제 정확도.

원문 본문은 few-shot 값을 RI 66.9%, CL 38.6%, A2 40.2%로 적었는데, 표 3.10과 부록 표 H.1의 값(67.2, 37.9, 39.7)과 조금 달라 표의 값을 따랐습니다.

그림 3.11 — 철자 조작 다섯 과제의 규모별 few-shot 정확도

그림 3.11 — 모델 크기에 따라 대체로 매끄럽게 오르고, 무작위 기호 삽입은 175B에서 과반을 맞힙니다(K=100K=100).

어떤 모델도 단어 뒤집기는 하지 못합니다. one-shot은 few-shot의 절반 이하로 떨어지고 zero-shot은 거의 풀지 못합니다. 이 과제들은 인위적이라 사전학습 데이터에 그대로 있었을 가능성이 낮으므로, 모델이 시험 시점에 입력 예시에서 과제를 익힌다고 저자들은 해석합니다. BPE 토큰 하나가 평균 0.7단어라서 글자 단위 조작을 하려면 토큰 내부 구조까지 다뤄야 하고, CL·A1·A2는 섞인 단어에서 원래 단어가 하나로 정해지지 않아 탐색도 필요합니다. 그림 1.2의 문맥 내 학습 곡선이 이 가운데 기호 삽입 과제의 결과입니다.

SAT 유추

2005년 이전 미국 대학 입학시험 SAT에 있던 유추 문제 374개입니다. "audacious is to boldness as"처럼 단어 쌍 하나를 주고, 보기 다섯 쌍 가운데 같은 관계인 쌍을 고릅니다.

그림 3.12 — SAT 유추 규모별 정확도

그림 3.12 — 175B는 few-shot 65%이고, 작은 모델에는 없는 문맥 내 학습 이득이 나타납니다.

GPT-3는 few-shot 65.2%, one-shot 59.1%, zero-shot 53.7%입니다. 대학 지원자 평균은 57%, 무작위 추측은 20%입니다. 175B 모델은 13B 모델보다 10% 넘게 높습니다.

뉴스 기사 생성

GPT-3 학습 데이터는 GPT-2보다 뉴스 비중이 낮아서, 기사 첫 문장만 주면 트윗으로 받아들이고 답글을 생성하는 경우가 많았습니다. 그래서 입력에 이전 뉴스 기사 세 편을 넣고, 새 기사의 제목과 부제를 준 뒤 본문을 생성하게 했습니다.

생성 품질은 사람이 모델이 쓴 기사와 실제 기사를 얼마나 구별하는지로 쟀습니다. newser.com에서 기사 25개의 제목과 부제(평균 215단어)를 골라, 125M부터 175B까지의 모델로 본문(평균 200단어)을 생성했습니다. 모델마다 미국 참가자 약 80명이 제목·부제와 실제 기사 또는 생성 기사를 보고 다섯 단계로 판단했습니다. 참가자의 주의도를 확인하려고 문맥 없이 출력 무작위성을 높인 대조 모델의 일부러 나쁜 기사도 함께 평가했습니다.

모델평균 정확도95% 신뢰구간대조 모델 대비 tt (pp값)"모르겠음" 비율
대조 모델 (일부러 나쁜 모델)86%83%–90%-3.6%
GPT-3 Small76%72%–80%3.9 (2e-4)4.9%
GPT-3 Medium61%58%–65%10.3 (7e-21)6.0%
GPT-3 Large68%64%–72%7.3 (3e-11)8.7%
GPT-3 XL62%59%–65%10.7 (1e-19)7.5%
GPT-3 2.7B62%58%–65%10.4 (5e-19)7.1%
GPT-3 6.7B60%56%–63%11.2 (3e-21)6.2%
GPT-3 13B55%52%–58%15.3 (1e-32)7.1%
GPT-3 175B52%49%–54%16.9 (1e-34)7.8%

표 3.11 — 약 200단어 뉴스 기사가 모델이 쓴 것인지 사람이 맞힌 정확도. 50%가 무작위 수준입니다.

그림 3.13 — 모델 크기별 생성 기사 식별 정확도

그림 3.13 — 모델이 클수록 사람의 식별 정확도가 무작위 수준(50%)에 가까워집니다.

정확도는 참가자별로 "모르겠음"을 뺀 판단 가운데 맞힌 비율입니다. 175B 모델이 쓴 기사는 52%로 무작위보다 겨우 높습니다. 사람이 가장 구별하기 어려웠던 GPT-3 기사는 정확도 12%, 가장 쉬웠던 기사는 61%였습니다. 모델은 기사 제목이 가리키는 구체적 사실에 접근할 수 없으므로 사실 오류가 단서가 되고, 반복이나 앞뒤가 맞지 않는 문장, 어색한 표현도 단서가 되지만 알아채지 못할 만큼 미묘한 경우가 많습니다.

길이 효과도 확인했습니다. 로이터 세계 뉴스 12개(평균 569단어)에 대해 GPT-3 175B로 평균 498단어를 생성해 같은 방식으로 평가하자, 대조 모델 기사의 식별 정확도는 88%(84%–91%), GPT-3 175B 기사는 52%(48%–57%)였습니다. 약 500단어 기사에서도 사람은 GPT-3 기사를 구별하기 어려웠습니다.

새 단어 사용과 문법 교정

존재하지 않는 단어의 정의를 주고 그 단어로 문장을 만들게 했습니다. 예를 들어 "Gigamuru"를 일본 악기라고 정의하면 GPT-3는 삼촌에게 선물받은 Gigamuru를 집에서 연주한다는 문장을 만듭니다. 여섯 예시 모두 뜻에 맞거나 그럴듯하게 썼고, 칼을 휘두른다는 뜻의 "screeg"는 "screeghed"라는 과거형까지 만들었습니다.

"Poor English input: … Good English output: …" 형식으로 사람이 고친 예시 하나를 준 뒤 문장 다섯 개를 더 고치게 하는 문법 교정도 해 보았습니다. "I eated the purple berries."를 "I ate the purple berries."로 고치는 식입니다. 한 예시에서는 문법뿐 아니라 "cheap"이라는 단어까지 지워 뜻이 바뀌었는데, 저자들은 무엇이 "좋은" 영어인지에 대한 모델의 가정이 오류로 이어질 수 있다고 적었습니다.


8. 벤치마크 오염 분석

과적합 여부

그림 4.1 — GPT-3 학습 곡선

그림 4.1 — 학습 손실과 중복을 제거한 검증 손실의 차이가 모델 크기와 학습 시간에 따라 거의 늘지 않습니다.

학습 데이터가 인터넷에서 왔으므로 벤치마크 시험 세트 일부를 학습했을 수 있습니다. GPT-2 때의 사후 분석에서는 겹친 데이터에서 성능이 약간 높았지만 오염 비율이 몇 퍼센트 수준이라 보고한 결과에 큰 영향이 없었습니다. GPT-3는 데이터와 모델이 GPT-2보다 약 100배 크고 Common Crawl 비중이 커서 오염과 암기 가능성이 더 큽니다. 한편 위 그림처럼 175B 모델도 중복을 제거한 검증 세트 기준으로 학습 세트에 크게 과적합하지 않았습니다. 그래서 저자들은 오염이 자주 있더라도 영향은 우려만큼 크지 않을 것으로 예상했습니다.

분석 방법

앞의 5절에서 적었듯이 버그로 겹침 제거가 일부만 됐으므로, 남은 겹침이 결과에 주는 영향을 벤치마크별로 쟀습니다.

학습 데이터의 어떤 문서와 13-gram이 하나라도 겹치는 예시(13-gram보다 짧으면 예시 전체가 겹치는 경우)를 오염 의심으로 표시하고 나머지를 깨끗한 부분집합으로 둡니다. 부록 C의 실제 기준은 데이터셋마다 예시 길이의 하위 5% 값을 NN으로 쓰되, 합성 과제가 아니면 최소 8, 모든 과제에서 최대 13입니다. 오염 가능성이 조금이라도 있으면 표시하는 매우 보수적인 기준이라, 깨끗한 부분집합에는 오염이 없다고 높은 확신을 가질 수 있습니다. 깨끗한 부분집합의 점수가 전체 점수와 비슷하면 오염이 있더라도 결과에 큰 영향이 없고, 낮으면 오염이 점수를 부풀렸을 수 있습니다.

그림 4.2 — 벤치마크 오염 분석

그림 4.2 — 가로축은 깨끗한 비율의 하한, 세로축은 깨끗한 부분집합에서의 성능 변화입니다.

위 그림에서 벤치마크 넷 중 하나는 오염 의심 비율이 50%가 넘지만, 대부분 성능 변화는 거의 없고 오염 비율과 성능 변화 사이의 상관도 보이지 않았습니다. 저자들은 보수적인 방법이 오염을 크게 과대평가했거나 오염이 성능에 영향이 거의 없다고 결론짓습니다.

따로 확인한 벤치마크

벤치마크분석 결과조치
독해 (QuAC, SQuAD2, DROP)90% 넘게 오염 의심으로 표시. 직접 확인하니 지문은 학습 데이터에 있었지만 질문-답 쌍은 없어서 답을 외울 수 없음그대로 보고
독일어 번역 (WMT16 De-En)시험 세트의 25%가 오염 의심, 영향은 1~2 BLEU. 번역 쌍은 없고 뉴스 사건을 다룬 단일 언어 구절이 겹친 것그대로 보고
단어 뒤집기·섞기짧아서 2-gram으로 검사. 실제 뒤집기가 아니라 "kayak = kayak" 같은 회문이나 너무 쉬운 예시가 걸렸고, 이를 빼면 과제가 어려워져 허위 신호가 생김그대로 보고
PIQA29%가 오염 의심, 깨끗한 부분집합에서 3%p(상대 4%) 하락. 시험 세트는 학습 데이터 생성 뒤에 공개됐고 레이블도 숨겨져 있지만, 데이터셋 제작자가 참고한 웹 페이지 일부가 학습 데이터에 있음. 암기 능력이 훨씬 낮은 25배 작은 모델에서도 비슷하게 하락해 통계적 편향으로 추정별표 표시
Winograd45%가 오염 의심, 깨끗한 부분집합에서 2.6% 하락. 직접 확인하니 스키마 132개가 형식만 달리해 학습 데이터에 있음별표 표시
언어 모델링GPT-2가 쓴 Wikipedia 벤치마크 4개와 Children's Book Test가 거의 전부 학습 데이터에 있음결과 보고 안 함 (PTB만 사용)
LAMBADA실제 오염이 상당하지만 깨끗한 부분집합 점수가 전체와 0.5% 이내결과 절에 오염 가능성 명시

분석에는 한계가 있습니다. 깨끗한 부분집합이 원래 데이터셋과 같은 분포라는 보장이 없어서, 암기로 점수가 부풀면서 동시에 깨끗한 부분집합이 우연히 더 쉬워 서로 상쇄됐을 수도 있습니다. 저자들은 변화가 0에 가까운 벤치마크가 매우 많고, 암기할 가능성이 낮은 작은 모델에서도 변화에 차이가 없었으므로 그럴 가능성은 낮다고 봅니다.


9. 저자가 밝힌 한계

텍스트 생성과 일부 과제의 약점. 문서 수준에서 같은 뜻을 반복하고, 긴 글에서 일관성을 잃고, 스스로 모순되거나 앞뒤가 맞지 않는 문장을 넣는 경우가 있습니다. PIQA 같은 데이터셋에서는 잘했지만 "치즈를 냉장고에 넣으면 녹을까?" 같은 상식 물리 질문을 어려워합니다. WiC와 ANLI처럼 두 문장을 비교하는 과제와 일부 독해 과제에서는 few-shot에서도 무작위보다 조금 나은 수준입니다.

단방향 구조. 표본 추출과 가능도 계산이 쉬운 자기회귀 모델만 실험했고, 양방향 구조나 잡음 제거(denoising) 같은 다른 학습 목표는 다루지 않았습니다. 빈칸 채우기, 두 내용을 되돌아보며 비교하는 과제, 긴 지문을 다시 읽고 짧게 답하는 과제에서는 양방향 구조가 유리할 수 있고, WiC·ANLI·QuAC·RACE의 낮은 성능이 이 때문일 수 있습니다. 저자들은 GPT-3 규모의 양방향 모델이 미세조정에서 더 강할 것으로 추측합니다.

사전학습 목표 자체의 한계. 현재 목표는 모든 토큰에 같은 가중치를 주고 무엇이 더 중요한지 구분하지 않습니다. 과제를 예측 문제로 바꿔야만 지정할 수 있는데, 가상 비서 같은 실제 시스템은 예측보다 목표를 향한 행동으로 보는 편이 맞을 수 있습니다. 또 대형 언어 모델은 영상이나 실제 물리적 상호작용 같은 다른 경험에 연결되어 있지 않아 세계에 대한 맥락이 부족합니다. 저자들은 사람에게서 목표 함수를 배우기, 강화학습으로 미세조정하기, 이미지 같은 다른 모달리티 추가하기를 앞으로의 방향으로 듭니다.

사전학습의 표본 효율. 시험 시점의 표본 효율은 사람에 가까워졌지만, 사전학습에서는 사람이 평생 보는 것보다 훨씬 많은 텍스트를 봅니다.

few-shot의 정체. few-shot 학습이 추론 시점에 새 과제를 처음부터 익히는 것인지, 학습 중에 본 과제를 알아보는 것인지 분명하지 않습니다. 단어 섞기나 가짜 단어 정의 같은 합성 과제는 새로 익혔을 가능성이 크고, 번역은 사전학습에서 배웠을 수밖에 없습니다. 과제마다 위치가 다를 수 있습니다.

추론 비용. GPT-3 규모의 모델은 추론이 비싸고 불편합니다. 특정 과제에 필요한 능력은 일부이므로 작은 모델로 증류(distillation)하는 방향을 제안하지만, 수천억 파라미터 규모에서는 아직 시도된 적이 없습니다.

딥러닝 공통 한계. 판단을 해석하기 어렵고, 새 입력에서 예측 확신도가 잘 보정되어 있지 않으며, 학습 데이터의 편향을 그대로 가집니다.


10. 사회적 영향

저자들은 코드·글 자동 완성, 문법 보조, 게임 서사 생성, 검색 응답 개선 같은 유익한 용도가 있다는 점을 먼저 적고, 해로운 용도를 연구하고 줄이는 노력을 촉진하려고 위험 쪽을 중심으로 분석합니다.

오용 가능성

허위 정보, 스팸, 피싱, 법·행정 절차 악용, 대필 논문, 사회공학적 사칭처럼 텍스트를 생성하는 해로운 활동은 모두 강한 언어 모델로 규모를 키울 수 있습니다. 이런 활동은 대개 질 좋은 글을 쓸 사람이 부족해서 제한되는데, 7.9절처럼 사람이 구별하기 어려운 여러 문단을 생성하는 능력은 그 제한을 낮춥니다.

위협 행위자는 기술과 자원 수준으로 나눴습니다. 저·중급 행위자에 대해서는 허위 정보·악성코드·컴퓨터 사기를 논의하는 포럼과 채팅방을 관찰했는데, 2019년 봄 GPT-2 공개 직후에는 오용 논의가 많았지만 이후 실험 사례는 적었고 성공적인 배포는 없었습니다. 국가 지원 조직 같은 고급 지속 위협(advanced persistent threat, APT)은 공개적으로 논의하지 않으므로 전문 위협 분석가에게 자문했고, GPT-2 이후 뚜렷한 변화가 없다는 평가를 받았습니다. 현재 언어 모델이 기존 텍스트 생성 방법보다 확실히 낫다는 증거가 없고 출력 내용을 원하는 방향으로 제어하는 방법도 초기 단계이기 때문입니다. 다만 출력이 99% 믿을 만해도 1%가 엉망이면 사람이 걸러야 하므로 규모 확장이 제한되는데, 저자들은 신뢰성과 제어 가능성이 좋아지면 악의적 행위자의 관심도 커질 것으로 봅니다.

공정성과 편향

성별. "The {occupation} was a" 형식으로 직업 388개를 넣었을 때 83%가 여성보다 남성 지시어로 이어질 확률이 높았습니다. 입법자·은행원·명예교수처럼 교육 수준이 높은 직업과 석공·보안관처럼 육체노동 직업이 강하게 남성 쪽이었고, 조산사·간호사·접수원·가사도우미는 여성 쪽이었습니다. 직업 편향 평균 1njobsjobslog(P(femaleContext)P(maleContext))\frac{1}{n_{\mathrm{jobs}}}\sum_{\mathrm{jobs}}\log\left(\frac{P(\mathrm{female} \mid \mathrm{Context})}{P(\mathrm{male} \mid \mathrm{Context})}\right)은 중립 문맥 1.11-1.11, "competent"를 붙인 문맥 2.14-2.14, "incompetent"를 붙인 문맥 1.15-1.15였습니다. Winogender 대명사 해소에서는 GPT-3 175B가 모든 모델 중 가장 높은 64.17%였고, 정답이 직업인 문장에서 여성 대명사 정확도가 남성보다 높은(81.7% 대 76.7%) 유일한 모델이었습니다. 생성문의 공기어 분석에서는 여성이 "beautiful", "gorgeous" 같은 외모 중심 단어로 더 자주 묘사됐습니다.

인종. "The {race} man was very" 같은 프롬프트로 800개씩 생성하고, 인종별로 유독 자주 함께 나온 단어의 감성 점수를 SentiWordNet으로 쟀습니다.

그림 6.1 — 모델별 인종 감성 점수

그림 6.1 — 인종 범주별로 함께 생성된 단어의 평균 감성 점수를 모델 크기별로 비교합니다.

분석한 모델 전반에서 'Asian'은 감성 점수가 높아 7개 모델 중 3개에서 1위였고, 'Black'은 낮아 7개 중 5개에서 최하위였습니다. 이 차이는 큰 모델에서 조금 줄었습니다. 저자들은 모델에게 인종을 명시적으로 이야기하도록 유도한 실험이고, 노예제 논의처럼 사회·역사적 맥락이 부정적 감성으로 잡힐 수 있다는 점을 함께 적었습니다.

종교. 무신론·불교·기독교·힌두교·이슬람교·유대교에 대해 "{종교 신자} are" 형식으로 생성해 공기어를 분석했습니다. 이슬람교에서는 ramadan·prophet·mosque가 다른 종교보다 자주 나왔고, violent·terrorism·terrorist도 다른 종교보다 자주 나와 GPT-3에서 이슬람교와 가장 강하게 연결된 단어 40개 안에 들었습니다.

저자들은 이 분석이 성별·인종·종교에서 출발한 예비 분석이며, 편향을 기술하는 데서 그치지 않고 개입해야 하고, 지표만으로 편향을 "제거"하려 하기보다 영향을 받는 공동체의 경험까지 고려하는 방식이 필요하다고 적었습니다.

에너지 사용

GPT-3 175B 사전학습에는 수천 petaflop/s-days가 들었고, 1.5B GPT-2는 수십 petaflop/s-days였습니다. 반면 학습을 마친 GPT-3 175B로 100쪽 분량을 생성하는 데는 약 0.4 kW-hr, 에너지 비용으로 몇 센트 정도가 듭니다. 저자들은 학습 비용을 모델이 여러 용도로 쓰이는 전체 기간에 나눠 봐야 하고, 증류로 비용을 더 낮출 수 있다고 봅니다.


11. 정리 — VLA 계보에서의 위치

  • 규모 확장 — 같은 구조의 자기회귀 언어 모델을 125M에서 175B까지 키우자 검증 손실이 계산량에 대해 거듭제곱 법칙을 계속 따르고, 대부분의 후속 과제 성능도 크기에 따라 매끄럽게 올랐습니다.
  • 문맥 내 학습 — 가중치를 바꾸지 않고 입력에 예시 몇 개를 넣는 것만으로 번역·질의응답·사칙연산 같은 과제를 수행했고, TriviaQA·LAMBADA·PIQA 등에서는 미세조정 최고 성능에 가깝거나 넘었습니다.
  • 크기와 적응 능력의 관계 — zero-shot과 few-shot의 성능 차이가 모델이 클수록 커졌습니다. 큰 모델일수록 입력 속 예시를 더 잘 활용합니다.
  • 남은 약점 — 두 문장을 비교하는 과제, 상식 물리, 긴 글의 일관성, 벤치마크 오염, 사회적 편향은 규모만으로 해결되지 않았습니다.

GPT-3는 모든 과제를 "앞의 토큰을 보고 다음 토큰을 하나씩 생성하는" 한 가지 방식으로 풉니다. 번역 결과든 산수 답이든 모두 토큰열입니다. RT-2는 로봇 행동을 256구간 정수 문자열로 바꿔 이 방식에 그대로 넣었습니다. 로봇 팔의 이동량과 회전량이 텍스트 토큰이 되므로, 웹 텍스트로 사전학습한 모델이 구조를 바꾸지 않고 행동을 출력할 수 있습니다.

VLA 연구는 사전학습 규모에 대한 가정도 GPT-3와 같습니다. GPT-3는 넓은 데이터로 한 번 크게 사전학습한 모델이 과제별 데이터 없이도 여러 과제에 적응한다는 것을 보였습니다. VLA 연구는 같은 가정을 로봇에 적용해, 웹 데이터로 사전학습한 대형 모델의 지식이 로봇 제어로 옮겨 가는지를 확인합니다. 저자들이 한계로 적은 "영상이나 실제 물리적 상호작용과 연결되지 않은 언어 모델" 문제는 이후 시각-언어 모델과 VLA가 다루는 주제입니다.

다음 편 ViT에서는 이미지를 패치 토큰열로 바꿔 Transformer로 처리하는 방법에 대한 이야기입니다. 시리즈 전체 목록은 VLA 선행 연구 목차에 있습니다.