신경망 언어 모델의 스케일링 법칙
언어 모델 손실이 모델 · 데이터 · 연산에 대해 거듭제곱 법칙을 따름을 보인 스케일링 법칙 논문
먼저 알아야 할 것
다루는 내용
이 논문은 임베딩을 뺀 파라미터 수 N, 데이터 토큰 수 D, 학습 연산 C에 대해 트랜스포머 언어 모델의 시험 손실이 각각 거듭제곱 법칙(지수 약 0.076 · 0.095 · 0.050)을 따른다는 것을 여러 자릿수 범위에서 보입니다. 모델 모양(깊이 · 폭)은 거의 중요하지 않고, 과적합은 N^0.74/D로 정해지며, 큰 모델일수록 표본 효율이 높습니다. 연산이 늘면 대부분을 모델 크기에 쓰고 수렴 전에 멈추라는 처방은 GPT-3 설계의 근거가 됐고, 이후 Chinchilla가 데이터 비중을 높이도록 수정했습니다.
초록
언어 모델 성능을 교차 엔트로피 손실로 재어, 그 경험적 스케일링 법칙을 연구합니다. 손실은 모델 크기, 데이터 크기, 학습에 쓴 연산량에 대해 거듭제곱 법칙으로 줄어들며, 일부 추세는 일곱 자릿수가 넘는 범위에 걸칩니다. 네트워크의 폭이나 깊이 같은 다른 구조적 세부 사항은 넓은 범위 안에서 영향이 아주 작습니다. 과적합이 모델 · 데이터 크기에 어떻게 의존하는지, 학습 속도가 모델 크기에 어떻게 의존하는지는 단순한 식으로 나타납니다. 이 관계들로 고정된 연산 예산의 최적 배분을 정할 수 있습니다. 큰 모델은 표본 효율이 훨씬 높아서, 연산 효율이 가장 좋은 학습은 매우 큰 모델을 비교적 적은 데이터로 학습하고 수렴하기 한참 전에 멈추는 것입니다.
해설
신경망 언어 모델의 스케일링 법칙
트랜스포머 언어 모델의 손실이 모델 크기 · 데이터 양 · 학습 연산에 대해 깔끔한 거듭제곱 법칙을 따른다는 것을, 일곱 자릿수가 넘는 범위에서 실험으로 보인 논문입니다. "연산이 늘면 대부분을 모델 키우는 데 쓰고, 끝까지 수렴시키지 말고 일찍 멈춰라"는 처방을 내려 GPT-3 같은 거대 모델 설계의 근거가 됐습니다.
| 항목 | 내용 |
|---|---|
| 원제 | Scaling Laws for Neural Language Models |
| 저자 | Jared Kaplan 외 9명 (존스홉킨스대 · OpenAI) |
| 발표 | 2020 · arXiv 2001.08361 |
| 트랙 · 수준 | 스케일링·효율 · 중급 |
| 먼저 알면 좋은 것 | 교차 엔트로피 손실, 트랜스포머 디코더, 로그 그래프 · 거듭제곱 함수, 과적합 · 조기 종료, 배치 크기 |
들어가기 전에
이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.
- 스케일링 법칙과 연산 예산: 6ND · 친칠라 · 학습 메모리 계산 — 연산량 6ND와 학습 메모리를 먼저 손계산하는 수업
- 언어 모델은 퓨샷 학습자다 (GPT-3) — 1,750억 파라미터 GPT-3로 미세조정 없이 프롬프트 속 예시만으로 과제를 푸는 퓨샷 학습을 보인 논문
- 언어 모델의 기본: 다음 토큰 예측 · 퍼플렉서티 · 샘플링 — 다음 토큰 예측 · n-gram · 소프트맥스 · 퍼플렉서티 · 디코딩을 손계산으로 익히는 수업
한눈에 보기
- 손실 이 파라미터 수 , 데이터 토큰 수 , 연산 각각에 대해 꼴로 줄어든다는 것을 알게 됩니다.
- 모델의 "모양"(깊이 · 폭 · 헤드 수)은 크기에 비해 거의 중요하지 않다는 결과를 알게 됩니다.
- 모델을 8배 키우면 데이터는 약 5배만 늘리면 된다는 과적합 법칙을 손으로 확인해 보게 됩니다.
- 정해진 연산 예산을 모델 크기 · 배치 · 학습 단계에 어떻게 나눠야 하는지, 그리고 이 처방의 한계를 알게 됩니다.
초록 (번역)
언어 모델 성능을 교차 엔트로피 손실로 재어, 그 경험적 스케일링 법칙을 연구합니다. 손실은 모델 크기, 데이터 크기, 학습에 쓴 연산량에 대해 거듭제곱 법칙으로 줄어들며, 일부 추세는 일곱 자릿수가 넘는 범위에 걸칩니다. 네트워크의 폭이나 깊이 같은 다른 구조적 세부 사항은 넓은 범위 안에서 영향이 아주 작습니다. 과적합이 모델 · 데이터 크기에 어떻게 의존하는지, 학습 속도가 모델 크기에 어떻게 의존하는지는 단순한 식으로 나타납니다. 이 관계들로 고정된 연산 예산의 최적 배분을 정할 수 있습니다. 큰 모델은 표본 효율이 훨씬 높아서, 연산 효율이 가장 좋은 학습은 매우 큰 모델을 비교적 적은 데이터로 학습하고 수렴하기 한참 전에 멈추는 것입니다.
무엇을 풀었나
언어 모델 성능은 구조, 크기, 연산, 데이터 등 여러 요인에 따라 달라집니다. 하지만 "모델을 10배 키우면 얼마나 좋아지나?", "데이터와 모델 중 무엇을 늘려야 하나?", "같은 GPU 시간이면 큰 모델을 짧게, 작은 모델을 길게 중 무엇이 나은가?"에 대한 정량적인 답은 없었습니다.
이런 질문에 답이 없으면 수억~수십억 원이 드는 대형 학습을 감으로 설계할 수밖에 없습니다. 이 논문은 768개부터 15억 개(임베딩 제외) 파라미터까지, 데이터 2,200만~230억 토큰까지 수많은 모델을 학습해 손실이 이 요인들에 어떻게 의존하는지 식으로 정리합니다.
전체 흐름
flowchart LR
A[WebText2<br/>약 229억 토큰] --> B[다양한 트랜스포머 학습<br/>크기 · 모양 · 데이터 · 배치 · 단계 바꿔 가며]
B --> C[시험 손실 L 측정<br/>교차 엔트로피, nats/토큰]
C --> D[요인별 거듭제곱 맞춤<br/>L N · L D · L C]
D --> E[결합식<br/>L N,D · L N,S]
E --> F[연산 예산 최적 배분<br/>N ∝ C^0.73 · B ∝ C^0.24 · S ∝ C^0.03]
F --> G[처방: 큰 모델 · 적당한 데이터<br/>수렴 전 조기 종료]핵심 아이디어
1. 크기를 재는 방법 — 임베딩을 뺀 파라미터 N과 연산 C ≈ 6ND
한 문장 직관: 모델의 "덩치"는 단어 사전 표(임베딩)가 아니라 실제로 계산하는 층들의 파라미터로 재야 법칙이 깔끔하게 보입니다.
단계별 설명
- 트랜스포머의 층 수 , 폭 로 파라미터 수를 셉니다. 어휘 · 위치 임베딩은 뺍니다.
- 앞으로 계산(순전파)은 토큰당 약 번의 곱셈-덧셈이고, 역전파는 그 두 배쯤입니다.
- 그래서 학습 연산은 토큰당 약 , 전체로는 입니다(: 배치 토큰 수, : 학습 단계 수).
- 연산 단위는 PF-day(번 연산)입니다.
| 기호 | 뜻 |
|---|---|
| 임베딩을 뺀 파라미터 수 | |
| 층 수 | |
| 잔차 흐름의 폭 | |
| 어텐션 출력 차원, 피드포워드 중간 차원(표준 설정 ) | |
| 배치 크기(토큰 수) | |
| 학습 단계(파라미터 갱신) 수 | |
| 임베딩을 뺀 학습 연산 추정치 |
왜 임베딩을 빼나: 임베딩을 포함해 세면 같은 파라미터 수에서도 층 수에 따라 성능이 크게 달라 보였습니다. 빼고 세면 깊이가 다른 모델들이 하나의 추세선으로 모였습니다(2층 미만이나 극단적인 비율만 예외). 논문은 이것이 임베딩 행렬을 작게 해도 성능에 영향이 적을 수 있다는 뜻이라고 봅니다.
숫자로 해 보기 (해설용 계산)
- , 이면 만입니다. 논문 그림의 "85M" 모델 크기와 맞습니다.
- 인 모델을 토큰 학습하면 번 연산, 곧 약 PF-day입니다.
2. 세 가지 거듭제곱 법칙 — N, D, C
한 문장 직관: 다른 두 요인이 발목을 잡지 않을 때, 모델 · 데이터 · 연산을 몇 배로 늘리면 손실이 일정한 비율로 줄어듭니다. 로그-로그 그래프에서는 직선입니다.
단계별 설명
- 데이터가 충분히 크고 수렴까지 학습하면 손실은 에만 의존합니다.
- 모델이 충분히 크고 조기 종료하면 손실은 에만 의존합니다.
- 데이터 충분 · 모델 크기 최적 · 배치 충분히 작게 했을 때 손실은 최소 연산 에만 의존합니다.
| 기호 | 뜻 |
|---|---|
| 시험 손실(교차 엔트로피, 토큰당 nats) | |
| 지수 — 클수록 늘린 만큼 손실이 빨리 줄어듦 | |
| 맞춤 상수 — 어휘 크기 · 토큰화에 따라 달라져 근본적 의미는 없음 |
이 관계는 으로 여덟 자릿수, 으로 여섯 자릿수, 로 두 자릿수가 넘는 범위에서 성립했고, 큰 쪽에서 추세가 꺾이는 신호는 보이지 않았습니다.
숫자로 해 보기 (해설용 계산, 논문 맞춤식 사용)
- 을 두 배로 하면 손실은 배가 됩니다. 논문도 같은 예를 듭니다.
- 맞춤식에 넣어 보면 일 때 , 일 때 입니다. 10배 키워 손실이 약 16% 줄었습니다. 지수가 작아서 "조금씩, 하지만 예측 가능하게" 좋아집니다.
3. 모양은 거의 상관없다
한 문장 직관: 같은 파라미터 수라면 "깊고 좁은" 모델이든 "얕고 넓은" 모델이든 손실 차이가 몇 %에 그칩니다.
단계별 설명
- 파라미터 수 을 고정하고 헤드 수 · 층 수 · 피드포워드 비율 중 하나만 바꿔 가며 학습했습니다.
- 손실은 넓은 범위에서 몇 %만 달라졌습니다.
- 특히 폭/깊이 비율을 40배 바꿔도 영향이 작았습니다. 예: 이 GPT-2의 모델과 손실 3% 안쪽이었습니다.
또 하나의 비교: 같은 데이터 · 문맥 길이로 LSTM과 비교하니, 문맥 앞쪽 토큰에서는 비슷했지만 뒤쪽 토큰에서는 트랜스포머가 앞섰습니다. LSTM은 100토큰 안쪽에서 개선이 멈췄고, 트랜스포머는 문맥 전체에서 계속 좋아졌습니다.
4. 과적합의 법칙 — N과 D를 함께 키워라
한 문장 직관: 모델만 키우고 데이터는 그대로 두면 외우기 시작하고, 데이터만 늘리고 모델은 그대로 두면 다 못 담습니다. 둘을 정해진 비율로 함께 키우면 손실이 예측대로 줄어듭니다.
단계별 설명
- 과 를 하나로 합친 식이 조기 종료한 손실을 잘 맞췄습니다.
- 데이터가 무한할 때 손실 대비 얼마나 나빠지는지(과적합 정도)는 라는 하나의 비율로 정해졌습니다.
- 과적합 손해를 작게 유지하려면 데이터가 대략 여야 합니다.
| 기호 | 뜻 |
|---|---|
| 크기 모델을 토큰으로 학습하고 조기 종료했을 때의 손실 | |
| 두 지수의 비 | |
| 데이터를 모델 크기에 대해 "덜 빠르게"(선형보다 느리게) 늘려도 된다는 뜻 |
숫자로 해 보기 (해설용 계산)
- 모델을 8배 키우면 필요한 데이터는 배, 곧 논문 요약대로 "약 5배"면 됩니다.
- 이면 토큰입니다. 실험에 쓴 WebText2(약 229억 토큰)가 대략 이 크기였다는 점과도 맞물립니다.
5. 학습 곡선과 임계 배치 크기
한 문장 직관: 학습 초반 곡선만 봐도 오래 학습했을 때 손실을 대략 예측할 수 있고, 배치는 "손실이 낮아질수록" 키울 수 있습니다.
| 기호 | 뜻 |
|---|---|
| 아주 큰 배치로 학습했다면 필요했을 최소 단계 수 | |
| 임계 배치 크기 — 시간과 연산 효율 사이의 대략 최적 타협점 | |
| 임계 배치 맞춤 상수 |
의미: 학습 곡선의 모양은 모델 크기와 거의 무관하게 같은 꼴을 따릅니다. 임계 배치는 손실에만 의존하고, 가장 큰 모델이 수렴할 즈음 약 100만~200만 토큰이었습니다. 큰 모델은 같은 손실에 더 적은 단계와 더 적은 데이터로 도달해 표본 효율이 높았습니다.
6. 연산 예산의 최적 배분 — 큰 모델을 짧게
한 문장 직관: 연산이 10배 생기면, 그중 대부분은 모델을 키우는 데 쓰고 학습 시간은 거의 늘리지 않는 편이 가장 효율적입니다.
단계별 설명
- 위의 와 에서, 정해진 연산으로 손실을 최소화하는 를 풉니다.
- 이론 예측은 등으로 나오고, 실험값은 , , 이었습니다.
- 데이터 요구량은 연산에 대해 아주 천천히 늘어납니다(요약: ).
- 결론: 최적 학습은 아주 큰 모델을 수렴 한참 전에 멈추는 것입니다.
| 기호 | 뜻 |
|---|---|
| 주어진 손실에 도달하는 데 필요한 최소 연산(배치가 임계 배치보다 훨씬 작을 때) | |
| 지수 0.73 · 0.24 · 0.03 | 연산이 늘 때 모델 크기 · 배치 · 단계 수가 늘어나는 속도 |
숫자로 해 보기 (해설용 계산): 연산을 10배 늘리면 모델은 배, 배치는 배, 단계 수는 배로 늘립니다. 세 배수를 곱하면 으로 연산 10배와 맞습니다. 학습 기간(단계 수)은 7%만 늘어납니다.
결과
실험 범위(논문 기준)
| 항목 | 범위 · 설정 |
|---|---|
| 데이터 | WebText2: 문서 2,030만 개, 96GB, 단어 162억 개 → 토큰 229억 개(시험용 6억 6천만 토큰 따로) |
| 토큰화 | 바이트 수준 BPE, 어휘 50,257, 문맥 1,024토큰 |
| 모델 크기 | 임베딩 제외 768 ~ 15억 파라미터 |
| 데이터 크기 | 2,200만 ~ 230억 토큰 |
| 학습 | 대부분 Adam, 25만 단계, 배치 512 × 1,024토큰, 3,000단계 워밍업 후 코사인 감소(10억 초과 모델은 Adafactor) |
주요 맞춤 값 요약
| 관계 | 지수 | 상수 |
|---|---|---|
| 토큰 | ||
| PF-day | ||
| 토큰 | ||
다른 분포로의 전이: 책 말뭉치 · Common Crawl · 위키백과 등 다른 텍스트에서 잰 손실도 같은 지수의 거듭제곱 법칙을 따랐고, WebText2 손실과 거의 일정한 차이(오프셋)를 유지했습니다.
추세의 교차점(추측): 이 법칙대로라면 아주 큰 규모에서 예측이 데이터 부족으로 생기는 하한 와 부딪힙니다. 저자들은 그 교차점을 약 PF-day, 파라미터, 토큰, nats/토큰으로 추정하고, 이것이 트랜스포머 언어 모델 성능의 한계를 가리킬 수 있다고 추측합니다. 다만 수치는 지수 값에 따라 한 자릿수 정도 위아래로 크게 불확실하다고 밝힙니다.
왜 중요한가 · 이후 영향
- 예측 가능한 학습 설계: 작은 실험 여러 개로 큰 모델의 손실을 미리 예측할 수 있게 됐습니다. 대형 모델 학습 계획에서 "작게 여러 번 돌려 추세선을 맞춘다"는 관행이 자리 잡았습니다.
- GPT-3의 근거: "연산을 대부분 모델 크기에 써라"는 처방은 GPT-3가 1,750억 파라미터를 상대적으로 적은 토큰으로 학습한 설계의 근거가 됐습니다(GPT-3 논문도 이 연구를 인용합니다).
- 다음 연구의 출발점: 이 처방은 이후 Chinchilla 논문에서 "모델과 데이터를 비슷한 비율로 키워야 한다"는 결과로 크게 수정됩니다. 스케일링 법칙 자체를 다시 재는 연구가 이어졌습니다.
- 모양보다 규모: 깊이 · 폭 같은 세부 설계보다 규모가 압도적으로 중요하다는 메시지는 연구 방향 전체에 영향을 줬습니다.
한계 · 주의할 점
- 손실 ≠ 실제 과제 성능: 법칙은 교차 엔트로피 손실에 대한 것입니다. 저자들도 손실 개선이 실제 언어 과제 개선으로 이어지는지 확인하는 것이 중요하다고 말합니다.
- 상수는 근본적 의미가 없습니다. , , 은 어휘 · 토큰화 · 데이터에 따라 달라집니다.
- 최적 배분 처방은 나중에 수정됐습니다. 학습률 일정 등 실험 설정의 영향으로, 이후 Chinchilla 연구는 같은 연산에서 모델을 더 작게, 데이터를 더 많이 쓰는 편이 낫다고 보고합니다.
- 언젠가는 꺾입니다. 자연어의 엔트로피가 0이 아니므로 추세는 언젠가 평평해져야 하고, 위의 교차점 추정도 매우 불확실합니다.
- 하드웨어 현실: 실제로는 하드웨어 제약 때문에 연구자들이 이론적 최적보다 작은 모델을 더 오래 학습하는 경우가 많다고 논문이 적습니다.
- WebText2 · 트랜스포머 디코더 중심: 다른 데이터 · 영역(이미지 · 음성 등)에서도 성립하는지는 앞으로 확인할 과제로 남겼습니다.
이어서 읽을 것
- 앞: 언어 모델은 비지도 멀티태스크 학습자다 (GPT-2) · 어텐션만 있으면 된다 (트랜스포머)
- 뒤: 언어 모델은 퓨샷 학습자다 (GPT-3) · 연산 최적 대형 언어 모델 학습 (Chinchilla) · LLaMA
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 스케일링 법칙 | 규모(모델 · 데이터 · 연산)와 성능 사이의 수식 관계 |
| 거듭제곱 법칙(power law) | 꼴. 로그-로그 그래프에서 직선 |
| 교차 엔트로피 손실 | 정답 토큰 확률의 음의 로그 평균(단위: nats). 낮을수록 좋음 |
| 임베딩 제외 파라미터 | 어휘 · 위치 임베딩을 뺀, 실제 계산 층의 파라미터 수 |
| PF-day | 초당 번 연산을 하루 동안 한 양 = 번 |
| 과적합(overfitting) | 학습 데이터를 외워 새 데이터 성능이 나빠지는 것 |
| 조기 종료(early stopping) | 시험 손실이 나빠지기 전에 학습을 멈추는 것 |
| 수렴(convergence) | 더 학습해도 손실이 거의 줄지 않는 상태 |
| 표본 효율(sample efficiency) | 같은 성능에 데이터를 얼마나 적게 쓰는지 |
| 임계 배치 크기 | 배치를 더 키워도 단계 수가 별로 줄지 않기 시작하는 지점 |
| 연산 최적 배분 | 정해진 연산으로 손실을 최소화하는 모델 크기 · 배치 · 단계 조합 |
스스로 점검
- 파라미터 수를 두 배로 늘리면 손실은 대략 몇 배가 되나요?
배, 곧 약 5% 줄어듭니다.
- 모델을 8배 키울 때 과적합 손해를 피하려면 데이터를 몇 배 늘려야 하나요?
과적합이 로 정해지므로 , 곧 약 5배입니다.
- 이 논문이 권하는 연산 예산 사용법은 무엇이고, 이후 어떻게 수정됐나요?
연산이 늘면 대부분을 모델 크기에 쓰고() 학습 단계는 거의 늘리지 않으며 수렴 전에 멈추라는 것입니다. 이후 Chinchilla 연구는 모델과 데이터를 비슷한 비율로 키워야 한다고 수정했습니다.
다음에 볼 것
이 글을 이해했다면 이어서 보면 좋은 항목입니다.
- 연산 최적 대형 언어 모델 학습 (Chinchilla) — 같은 연산이면 모델과 학습 토큰을 같은 비율로 늘려야 함을 보이고 Chinchilla로 증명한 논문
출처
- 원문: https://arxiv.org/abs/2001.08361 (2020 · Jared Kaplan 외)
AI 원리부터 이해하기 · 스케일링·효율 모듈
스케일링·효율 모듈 학습
이 글은 스케일링·효율 모듈의 학습 자료입니다. 전체 19개 자료 중 2번째입니다.
출처·원문
원문 보기요약만