본문 바로가기
LLM/Training

LLM 스케일링 법칙 (Kaplan과 Chinchilla)

by AtoN 2022. 10. 6.

LLM 스케일링 법칙: Kaplan에서 Chinchilla까지

학습을 시작하기 전에 정해야 하는 것이 있습니다. 모델을 얼마나 키우고, 데이터를 얼마나 학습시킬지입니다. 학습 컴퓨트는 한정되어 있고, 같은 예산이라도 모델 크기와 데이터에 어떻게 나누느냐에 따라 결과가 달라집니다.

이 관계를 작은 실험에서 찾아 더 큰 학습을 예측하려는 것이 스케일링 법칙(scaling law)입니다. Kaplan과 Chinchilla는 모두 손실이 규모에 따라 예측 가능하게 줄어든다는 점을 보였지만, 컴퓨트가 늘어날 때 모델과 데이터를 어떤 비율로 키울 것인가에서는 큰 차이를 보였습니다.

핵심은 그 배분이 왜 달라졌고, 이후 어떻게 다시 해석됐는지를 이해하는 것입니다.


1장. 컴퓨트를 모델과 데이터에 나누는 문제

학습 컴퓨트가 정해져 있다고 합시다. 같은 컴퓨트로 더 큰 모델을 상대적으로 적은 토큰으로 학습할 수도 있고, 더 작은 모델을 더 많은 토큰으로 학습할 수도 있습니다. 어느 쪽이 더 좋은지가 문제입니다. 대형 모델은 가능한 조합을 모두 직접 학습해 비교하기 어렵기 때문에, 작은 규모의 실험에서 규칙을 찾고 그것을 큰 규모까지 외삽합니다.

즉 스케일링 법칙은 단순히 "크게 만들면 좋아진다"를 말하는 것이 아니라, 주어진 컴퓨트를 모델 크기와 데이터에 어떻게 배분할 것인가를 다루는 경험 법칙입니다.


2장. 외삽을 가능하게 하는 멱법칙

스케일링 법칙에서 반복해서 등장하는 것이 멱법칙(power law)입니다. 가장 단순한 꼴은 다음과 같습니다.

y = (a / x)^k

양변에 로그를 취하면 직선이 됩니다.

log y = k * (log a - log x)
      = -k * log x + k * log a

log x를 가로축, log y를 세로축에 두면 기울기가 -k인 직선입니다. 그래서 여러 규모의 실험 결과가 로그-로그 축에서 직선에 가깝게 놓이면 멱법칙으로 근사할 수 있습니다.

이 직선이 중요한 이유는 외삽에 있습니다. 작은 모델에서 얻은 점들로 추세를 맞추면, 아직 직접 학습하지 않은 더 큰 규모의 손실을 예측할 수 있습니다.

k가 크면 규모를 늘릴 때 손실이 빠르게 줄고, 작으면 완만하게 줄어듭니다. 언어 모델의 스케일링 지수는 작은 편이라 성능을 의미 있게 개선하려면 모델·데이터·컴퓨트를 큰 배수로 늘려야 하는 경우가 많습니다.

다만 멱법칙은 관측 범위에서 얻은 경험적 근사입니다. 무한히 외삽해도 그대로 성립하는 물리 법칙으로 보면 안 됩니다.


3장. 모델을 훨씬 빠르게 키우라는 Kaplan의 답

2020년 Kaplan et al.의 Scaling Laws for Neural Language Models는 언어 모델의 손실이 모델 크기, 데이터 크기, 학습 컴퓨트에 따라 어떻게 변하는지를 체계적으로 측정했습니다.

논문의 핵심 관찰은 다음과 같습니다.

손실은 모델 크기, 데이터셋 크기, 학습 컴퓨트에 대해 매끄러운 멱법칙으로 감소하며, 네트워크의 깊이와 폭 같은 세부 구조의 영향은 넓은 범위에서 상대적으로 작다.

세 가지 기본 스케일링

대표적인 식은 다음과 같습니다.

파라미터    L(N) = (Nc / N)^αN         αN ≈ 0.076
데이터      L(D) = (Dc / D)^αD         αD ≈ 0.095
컴퓨트      L(C) ∝ C^-αC               αC ≈ 0.050

모델 크기 N, 데이터 크기 D, 학습 컴퓨트 C가 증가할수록 손실이 멱법칙에 가깝게 감소한다는 뜻입니다.

또 같은 비임베딩 파라미터 수를 유지하면 깊이와 폭, attention head 수 같은 차이는 실험 범위에서 손실에 비교적 작은 영향을 보였습니다. 세부 모양보다 전체 규모가 더 중요했다는 것이 당시의 핵심 관찰입니다.

컴퓨트 배분의 결론

Kaplan의 compute-optimal 결론은 다음과 같습니다.

N ∝ C^0.73        모델 파라미터
D ∝ C^0.27        학습 데이터

논문의 분해에서는 다음과 같이 나타납니다.

N ∝ C^0.73
B ∝ C^0.24
S ∝ C^0.03
D = B × S ∝ C^0.27

B는 배치 크기, S는 학습 스텝입니다.

핵심은 데이터를 고정하라는 것이 아니라, 모델 크기를 데이터보다 훨씬 빠르게 늘리라는 것입니다. 컴퓨트가 100배가 되면 대략 다음과 같습니다.

모델 크기    약 29배
데이터       약 3.5배

Kaplan은 큰 모델이 더 높은 sample efficiency를 보이기 때문에, 컴퓨트 효율만 놓고 보면 아주 큰 모델을 상대적으로 적은 데이터로 학습하고 완전히 수렴하기 전에 멈추는 전략이 유리하다고 결론 내렸습니다.

당시 대형 모델들도 비슷한 모습이었습니다.

모델 파라미터 학습 토큰
GPT-3 175B 300B
Jurassic-1 178B 300B
Gopher 280B 300B
MT-NLG 530B 270B

파라미터 수는 크게 늘었지만 학습 토큰은 수백 B 수준에 머물렀습니다. 다만 이것을 Kaplan의 법칙 하나만의 직접적인 결과로 보기는 어렵고, 당시 데이터와 학습 시간, 시스템 제약도 함께 작용했습니다.


4장. 배분을 다시 계산한 Chinchilla

2022년 Hoffmann et al.의 Training Compute-Optimal Large Language Models는 같은 질문을 더 넓은 모델·데이터 조합에서 다시 측정했습니다. 이 논문이 학습한 70B 모델의 이름이 Chinchilla이고, 논문도 흔히 이 이름으로 불립니다.

고정된 학습 컴퓨트에서 모델 크기와 학습 토큰을 어떻게 나누는 것이 최적인가?

연구진은 당시 대형 언어 모델들이 모델 크기에 비해 학습 토큰이 부족한 undertrained 상태라고 지적했습니다. 이를 확인하기 위해 70M부터 16B 이상까지, 5B부터 500B 토큰까지 400개가 넘는 모델을 학습했습니다.

모델과 데이터를 함께 담은 손실 식

세 번째 분석 방법에서는 손실을 다음과 같이 모델링했습니다.

L(N, D) = E + A / N^α + B / D^β

E = 1.69
A = 406.4
B = 410.7
α = 0.34
β = 0.28

각 항의 의미는 다음과 같습니다.

E             데이터 분포에서 더 줄이기 어려운 손실의 바닥
A / N^α       모델 크기가 부족해서 생기는 손실
B / D^β       학습 데이터가 부족해서 생기는 손실

Kaplan의 단변수 식과 달리 N과 D를 하나의 손실 함수에서 함께 다뤘다는 점이 중요합니다. E도 모든 자연어에 공통인 절대 상수가 아니라 해당 데이터 분포에 대한 적합값입니다.

0.5 근처로 바뀐 배분 지수

Chinchilla는 세 가지 방법으로 최적 배분을 추정했습니다.

N_opt ∝ C^a        D_opt ∝ C^b

방법 1  학습 곡선의 최소점      a = 0.50   b = 0.50
방법 2  IsoFLOP 곡선           a = 0.49   b = 0.51
방법 3  파라메트릭 손실 적합    a = 0.46   b = 0.54

세 방법 모두 같은 방향을 가리켰습니다. 컴퓨트가 늘어날 때 모델 크기와 학습 토큰을 비슷한 비율로 늘려야 한다는 것입니다.

               모델            데이터
Kaplan         C^0.73          C^0.27
Chinchilla     약 C^0.5        약 C^0.5

컴퓨트가 100배 늘어난다고 단순화하면 차이가 선명합니다.

Kaplan         모델 약 29배     데이터 약 3.5배
Chinchilla     모델 약 10배     데이터 약 10배

Gopher와 같은 컴퓨트로 한 검증

Gopher는 280B 파라미터를 약 300B 토큰으로 학습했습니다. Chinchilla는 비슷한 학습 컴퓨트를 70B 파라미터와 1.4T 토큰에 배분했습니다.

Gopher        280B parameters    약 300B tokens
Chinchilla     70B parameters    1.4T tokens

모델은 4배 작고 학습 토큰은 4배 이상 많습니다. Chinchilla는 Gopher뿐 아니라 GPT-3, Jurassic-1, MT-NLG보다 여러 다운스트림 평가에서 높은 성능을 보였고, MMLU 평균 정확도도 67.5%로 Gopher보다 7%p 이상 높았습니다.

핵심은 작은 모델이 큰 모델을 이겼다는 것보다, 같은 학습 컴퓨트라도 모델과 데이터의 배분을 바꾸면 더 좋은 결과를 얻을 수 있다는 것입니다.

파라미터당 20토큰

Chinchilla의 실제 학습량을 나누면 다음과 같습니다.

1.4T / 70B = 20 tokens per parameter

여기서 파라미터당 약 20토큰이라는 경험칙이 널리 쓰이게 됐습니다.

하지만 논문이 모든 규모에 20이라는 상수를 적용하라고 정의한 것은 아닙니다. 핵심 결과는 모델과 데이터를 비슷한 비율로 스케일하라는 것이고, 20은 Chinchilla 설정을 이해하기 쉬운 경험값에 가깝습니다. 실제 논문의 외삽 표에서도 규모에 따라 이 비율은 조금씩 달라집니다.


5장. 두 답이 갈린 이유

처음에는 이 차이를 학습률 스케줄로 설명하는 경우가 많았습니다. Chinchilla 논문도 Kaplan의 실험에서 학습 길이에 맞지 않는 learning-rate schedule이 짧게 학습한 모델을 불리하게 만들 수 있다고 지적했습니다.

하지만 후속 재현 연구에서는 그것만이 핵심 원인은 아니라는 결과가 나왔습니다.

한 연구에서는 Kaplan이 작은 규모에서 임베딩을 제외한 파라미터 수를 사용한 것이 Chinchilla와의 차이를 크게 만든다고 분석했습니다. 다른 재현에서는 여기에 마지막 출력층의 연산량, warmup 길이, 규모별 optimizer tuning을 바로잡으면 Chinchilla에 가까운 배분 지수가 재현됐습니다. 반대로 learning-rate decay 자체는 같은 결과를 얻기 위한 필수 조건은 아니었습니다.

따라서 차이를 한 가지 실수로 설명하기보다, 두 논문이 모델·데이터 범위뿐 아니라 파라미터와 컴퓨트의 정의, 학습 설정과 최적화 방법까지 달랐다고 보는 편이 정확합니다.

교훈은 스케일링 법칙의 형태보다 계수를 어떻게 얻었는지가 중요하다는 것입니다. 스케일링 법칙은 물리 상수처럼 고정된 법칙이 아니라 모델 계열, 데이터 분포, optimizer, 실험 범위와 측정 방식에 따라 값이 달라지는 경험식입니다.

Kaplan의 핵심 발견인 손실이 규모에 따라 매끄럽게 예측 가능하게 감소한다는 사실은 남았고, Chinchilla는 그 컴퓨트 배분을 다시 계산한 것으로 보는 편이 정확합니다.


6장. 실무로 옮길 때 달라지는 것들

학습 최적과 배포 최적의 간극

Chinchilla가 찾은 것은 기본적으로 주어진 사전학습 컴퓨트에서 손실을 최소화하는 배분입니다.

하지만 실제 서비스에서는 학습 이후 같은 모델로 추론을 반복합니다. 비슷한 성능이라면 작은 모델이 메모리와 추론 비용에서 유리합니다.

그래서 추론 비용까지 포함하면 Chinchilla의 학습 최적점보다 더 작은 모델을 더 많은 토큰으로 학습하는 전략이 전체 비용 측면에서 유리할 수 있습니다. 이후 inference-aware scaling 연구에서도 추론량이 많을수록 이런 방향의 최적점이 나타날 수 있음이 확인됐습니다.

여기서 말하는 overtraining은 일반적인 과적합과 다릅니다.

과적합(overfitting)
→ 학습 데이터에 지나치게 맞춰 일반화 성능이 나빠지는 현상

Chinchilla 기준 overtraining
→ 학습-compute 최적점보다 더 많은 토큰을 학습해
   더 작은 모델과 낮은 추론 비용을 선택하는 것

데이터라는 병목

모델과 데이터를 함께 늘려야 한다면 다음 문제는 충분한 고품질 데이터가 있는가입니다.

고품질 자연어 데이터는 무한하지 않기 때문에 데이터 필터링과 중복 제거, 여러 epoch의 재사용, 합성 데이터, 데이터 mixture의 품질이 중요해집니다.

즉 모델 크기만 늘리는 문제에서 좋은 학습 토큰을 얼마나 확보하고 효율적으로 사용할 것인가가 또 하나의 스케일링 문제로 이어집니다.

그대로 대입할 수 없는 MoE

Kaplan과 Chinchilla의 대표적인 식은 dense Transformer를 중심으로 얻어진 결과입니다. MoE에서는 전체 파라미터와 토큰마다 실제 계산에 참여하는 active parameter가 다르기 때문에 dense 모델의 N과 같은 의미로 단순 대입하기 어렵습니다.

MoE도 별도의 스케일링 법칙을 만들 수 있지만, dense 모델에서 얻은 계수와 경험칙을 그대로 적용하면 안 됩니다.

사전학습에 한정되는 결론

Kaplan과 Chinchilla가 다룬 핵심 문제는 사전학습의 모델 크기·데이터·컴퓨트 배분입니다.

파인튜닝에도 데이터와 모델 규모에 따른 스케일링 현상은 있지만, 여기서 나온 C^0.73, C^0.27, 20 tokens/parameter 같은 값을 그대로 적용하는 것은 별개의 문제입니다.


7장. 경험식으로서의 스케일링 법칙

스케일링 법칙은 모델, 데이터, 컴퓨트를 늘릴 때 손실이 어떻게 변하는지를 경험적으로 모델링하고, 작은 실험에서 더 큰 학습의 결과를 예측하는 방법입니다.

Kaplan은 큰 모델의 높은 sample efficiency에 주목해 컴퓨트가 늘어날수록 모델은 C^0.73, 데이터는 C^0.27 정도로 늘리는 배분을 제안했습니다.

Chinchilla는 모델과 학습 토큰을 함께 폭넓게 변화시켜 다시 측정했고, 모델과 데이터를 거의 C^0.5 : C^0.5로 함께 늘리는 편이 낫다는 결론을 얻었습니다.

Kaplan
모델을 데이터보다 훨씬 빠르게 키운다
N ∝ C^0.73, D ∝ C^0.27

        ↓ 재평가

Chinchilla
모델과 데이터를 비슷한 비율로 키운다
N ∝ C^0.5, D ∝ C^0.5

그리고 후속 연구는 둘의 차이가 단순히 learning-rate schedule 하나 때문이 아니라 파라미터·컴퓨트 정의와 여러 학습 설정의 차이에서 함께 나온 것임을 보여줬습니다.

실무에서는 여기서 한 단계 더 나아갑니다. Chinchilla는 학습 컴퓨트 최적점을 다루기 때문에, 반복되는 추론 비용까지 포함하면 더 작은 모델을 더 오래 학습하는 선택이 유리할 수 있습니다.

가장 중요한 것은 특정 숫자를 외우는 것이 아닙니다.

스케일링 법칙은 실험에서 얻은 경험식이고, 실제 최적점은 무엇을 비용으로 보고 어떤 조건에서 측정하느냐에 따라 달라집니다.


자주 틀리는 해석

  • Kaplan은 데이터를 고정하라고 한 것이 아닙니다. 최적 데이터량도 D ∝ C^0.27로 증가하지만 모델 크기보다 훨씬 느리게 증가합니다.
  • 파라미터당 20토큰은 Chinchilla의 핵심 정리를 이해하기 좋은 경험값이지 모든 모델과 규모에 적용되는 상수가 아닙니다.
  • Kaplan과 Chinchilla의 차이를 learning-rate schedule 하나만으로 설명하는 것은 후속 재현 연구 기준으로 불완전합니다.
  • Chinchilla의 E는 해당 데이터 분포에서의 손실 바닥에 대응하는 항이지 모든 자연어에 공통인 절대 상수가 아닙니다.
  • Chinchilla의 최적점은 기본적으로 사전학습 컴퓨트 기준입니다. 추론 비용까지 포함하면 다른 최적점이 나올 수 있습니다.
  • dense 모델에서 얻은 계수를 MoE나 파인튜닝에 그대로 대입하면 안 됩니다.

용어 정리

용어 한 줄 뜻
스케일링 법칙 모델 크기, 데이터, 컴퓨트에 따른 손실 변화를 예측하는 경험식
멱법칙 y ∝ x^-k 형태의 관계. 로그-로그 축에서 직선으로 나타난다
배분 지수 컴퓨트가 늘 때 모델과 데이터를 각각 어느 비율로 늘릴지 나타내기 위해 이 글에서 사용하는 표현
컴퓨트 예산 학습에 사용할 수 있는 총 연산량
컴퓨트 최적 주어진 학습 연산량 안에서 가장 낮은 손실을 얻는 모델·데이터 배분
환원 불가 손실 E 해당 데이터 분포의 이상적인 생성 과정에 대응하는 손실의 바닥
IsoFLOP 총 학습 FLOPs를 고정한 채 모델 크기와 토큰 배분을 바꿔 최적점을 찾는 분석
과소학습 모델 크기에 비해 학습 토큰이 부족한 상태
Chinchilla 기준 overtraining 학습-compute 최적점보다 더 많은 토큰을 학습하는 것. 과적합과는 다른 개념
FLOPs 부동소수점 연산 횟수. 학습 컴퓨트를 나타내는 대표적인 단위
Sample efficiency 같은 양의 데이터나 학습 단계에서 얼마나 효율적으로 성능을 얻는가
학습률 스케줄 학습 진행에 따라 learning rate를 변화시키는 계획
에폭 학습 데이터 전체를 한 번 사용하는 단위
Dense 모델 대부분의 파라미터가 각 토큰 처리에 함께 참여하는 일반적인 모델 구조
Active parameters MoE에서 한 토큰을 처리할 때 실제 계산에 참여하는 파라미터 수
MMLU 여러 분야의 지식과 문제 해결 능력을 객관식으로 평가하는 벤치마크

참고자료

'LLM > Training' 카테고리의 다른 글

LoRA와 QLoRA  (0) 2024.04.17
SFT (Supervised Fine-Tuning)  (0) 2023.07.26
RLHF (Reinforcement Learning from Human Feedback)  (0) 2023.03.05

댓글