제2부 사전학습(Pretraining)
2.2 스케일링 법칙 — Chinchilla·컴퓨트 최적
대규모 사전학습은 딥러닝에서 거의 유일하게 "돌려 보기 전에 결과를 계산할 수 있는" 일이다. 나머지 모든 하이퍼파라미터 — 학습률, 배치, 옵티마이저 — 는 결국 몇 번 실행해 보고 고르지만, 모델 크기와 데이터 양은 그럴 수가 없다. 수만 장의 가속기를 몇 주 가동하는 한 번의 학습이 수백만 달러이고, "70B로 할지 130B로 할지, 1조 토큰을 먹일지 3조를 먹일지"를 시행착오로 정하려면 그 실험 하나하나가 큰 손실이 될 수 있다. 그런데 이 결정만큼은 미리 계산할 방법이 있다. 작은 규모에서 잰 손실이 규모에 대해 놀랍도록 매끄러운 곡선을 그리고, 그 곡선이 몇 자릿수를 가로질러 이어진다는 경험적 사실 — 그것이 스케일링 법칙이다.
이 장은 그 곡선의 정체와, 그것으로 무엇을 계산할 수 있는지를 다룬다. 결론부터 명시해 둘 것이 두 가지 있다. 첫째, 이 장에 나오는 모든 지수·계수·"토큰당 20개" 같은 숫자는 특정 논문의 특정 설정에서 적합(fit)된 값이다 — 토크나이저·데이터·아키텍처·옵티마이저가 바뀌면 값이 바뀐다. 무게는 특정 상수가 아니라 "손실이 규모의 거듭제곱으로 예측 가능하게 줄고, 그래서 자원 배분을 미리 계산할 수 있다"는 구조에 있다. 둘째, 이 법칙이 예측하는 것은 손실이지 지능·안전·진실성이 아니다. 이 두 단서를 근거로 곡선을 읽으면 스케일링 법칙은 강력한 계획 도구가 되고, 놓치면 위험한 미신이 된다.
2.2.1 값싼 실험으로 비용이 큰 학습을 예측하기
스케일링 법칙이 푸는 문제는 외삽(extrapolation)이다. 좋은 설정을 알려면 학습해 봐야 하는데 대규모 학습은 너무 비용이 커서 여러 개 실행해 고를 수가 없다. 대신 값싼 소규모 실험 여러 개로 손실-대-규모 곡선을 적합한 뒤, 그 곡선을 자릿수 너머로 연장해 아직 학습하지 않은 대규모 모델의 손실을 미리 읽는다. GPT-4 같은 대형 모델의 개발 보고서들이 "최종 모델보다 만분의 일 규모의 실험들로 최종 손실을 예측했다"고 말하는 것이 정확히 이 일이다.
이것이 왜 판을 바꿨나. 스케일링 법칙 이전의 딥러닝은 "더 크게 하면 대체로 낫더라"는 정성적 경험칙에 머물렀다. 스케일링 법칙은 이를 정량적 예산 도구로 바꿨다. 주어진 컴퓨트를 모델 크기와 데이터에 어떻게 나눌지를 계산으로 답하고("이 예산이면 이 크기·이 토큰 수가 최적"), "컴퓨트를 10배 늘리면 손실이 얼마나 떨어지고 그게 제품 가치가 있나"를 학습 전에 가늠하며, 실제 학습의 손실이 예측 곡선에서 크게 벗어나면 무언가 잘못됐다는 조기 경보 — 발산, 데이터 오염, 버그 — 로 읽는다.
다만 이 예측 가능성은 증명된 정리가 아니라 관찰된 규칙성이다. 거듭제곱 법칙이 왜 성립하는지에 대한 제1원리 유도는 없고, 외삽은 언제나 위험하다 — 곡선이 어디까지 이어지는지, 어디서 꺾이는지는 보장되지 않는다. 그럼에도 이 규칙성이 지난 수년간 여러 자릿수에 걸쳐 재현되었다는 것 자체가 놀라운 경험적 사실이고, 현대 대규모 학습의 계획 전부가 여기에 기댄다.
2.2.2 손실은 규모의 거듭제곱으로 준다
먼저 한 축씩 본다. 다른 두 축이 병목이 아닐 때 — 데이터·컴퓨트가 충분한 상태에서 모델 크기만 볼 때 — 손실은 각 축에 대해 거듭제곱 법칙을 따른다(Kaplan et al. 2020의 경험적 발견).
$$L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N}, \qquad L(D) \approx \left(\frac{D_c}{D}\right)^{\alpha_D}, \qquad L(C) \approx \left(\frac{C_c}{C}\right)^{\alpha_C}$$
$N$ 은 (임베딩을 뺀) 파라미터 수, $D$ 는 학습 토큰 수, $C$ 는 학습 컴퓨트(FLOPs)다. $N_c, D_c, C_c$ 는 스케일 상수, $\alpha_N, \alpha_D, \alpha_C$ 는 손실이 얼마나 빨리 떨어지는지를 정하는 지수다.
거듭제곱 법칙의 정체는 로그를 씌우면 드러난다. $L \approx (N_c/N)^{\alpha_N}$ 의 양변에 로그를 취하면
$$\log L \approx \alpha_N \log N_c - \alpha_N \log N$$
이 되어, $\log L$ 이 $\log N$ 의 일차식 — 기울기 $-\alpha_N$ 의 직선이다. "양축을 로그로 그린 그래프에서 손실이 직선으로 내려간다"가 스케일링 법칙의 시각적 서명이고, 이 직선성이 외삽을 가능하게 하는 바로 그 성질이다. 자를 대고 연장하면 되니까.
핵심 직관은 지수 $\alpha$ 가 매우 작다는 데 있다. Kaplan 설정의 대표값은 대략 $\alpha_N \approx 0.076$, $\alpha_D \approx 0.095$, $\alpha_C \approx 0.050$ 수준이다(그들의 특정 설정·자연로그 기준). 지수가 0.05~0.1이라는 것이 실무에서 무슨 뜻인지 직접 재 보자. $\alpha_N = 0.076$ 이면 손실을 절반으로 줄이려면($L \to L/2$) 모델을 $2^{1/0.076} \approx 9100$ 배 키워야 한다. 규모를 10배 높여도 손실은 $10^{-0.076} \approx 0.84$ 배, 겨우 16%만 떨어진다. 이것이 스케일링의 근본 성질인 수확 체감(diminishing returns)이다 — 규모는 곱셈으로 늘려야 손실이 덧셈으로 준다.
| 컴퓨트를 이만큼 늘리면 | 손실 항의 감소(대략, $\alpha_C\approx 0.05$ 가정) |
|---|---|
| $\times 10$ | $\times 10^{-0.05} \approx \times 0.89$ (약 11% ↓) |
| $\times 100$ | $\times 100^{-0.05} \approx \times 0.79$ (약 21% ↓) |
| $\times 10{,}000$ | $\times 10^{4\cdot(-0.05)} \approx \times 0.63$ (약 37% ↓) |
이 표가 전하는 엄정한 사실은, 손실을 꾸준히 낮추는 데 드는 컴퓨트가 지수적으로 폭증한다는 것이다. 그럼에도 이 게임을 하는 이유는 그 "조금씩"의 손실 감소가 하류 능력에서는 큰 차이로 나타나곤 하기 때문이다(1.1의 압축=예측 논의) — 손실 0.1의 차이가 "그럭저럭"과 "쓸 만함"을 가르기도 한다. 다만 그 손실→능력 관계 자체가 매끄럽지 않을 수 있다는 것이 이 장 뒤의 논쟁거리다(2.2.11).
2.2.3 결합 손실식 — 두 페널티의 상충 관계
한 축씩 보는 법칙은 "다른 축이 병목이 아닐 때"만 맞다. 실제로는 $N$ 과 $D$ 가 동시에 유한해 서로를 제약한다. Chinchilla 논문(Hoffmann et al. 2022, Training Compute-Optimal Large Language Models)은 이를 하나의 결합식으로 적합했다.
$$L(N,D) = E + \frac{A}{N^{\alpha}} + \frac{B}{D^{\beta}}$$
세 항이 각각 뚜렷한 의미를 가진다 — 이 분해가 이 장의 핵심이다.
| 항 | 이름 | 의미 |
|---|---|---|
| $E$ | 환원 불가 손실(irreducible loss) | 자연어 자체의 엔트로피 + 토크나이저가 정한 하한. 완벽한 모델·무한 데이터라도 이 아래로는 못 내려간다(베이즈 한계). 1.1에서 교차엔트로피가 $H(p_{\text{data}})$ 아래로 못 가던 그 하한이다. |
| $\dfrac{A}{N^{\alpha}}$ | 유한 모델 페널티 | 파라미터가 유한해 함수를 다 표현하지 못해 생기는 손실. $N\to\infty$ 면 0으로 사라진다. |
| $\dfrac{B}{D^{\beta}}$ | 유한 데이터 페널티 | 데이터가 유한해 분포를 다 못 배워 생기는 손실. $D\to\infty$ 면 0으로 사라진다. |
Chinchilla 설정에서 적합된 대표값은 대략 $E \approx 1.69$, $A \approx 406$, $B \approx 410$, $\alpha \approx 0.34$, $\beta \approx 0.28$ 이다(그들의 특정 설정·자연로그 기준). 두 지수 $\alpha \approx \beta$ 가 엇비슷하다는 것이 뒤에서 볼 "N과 D를 균형 있게 키워라"의 단초다.
이 식이 말하는 실무적 통찰은 이렇다. $N$ 만 키우면 $A/N^\alpha$ 항만 줄고 $B/D^\beta$ 항은 그대로 남는다. 데이터가 부족한 채 모델만 키우면 유한 데이터 페널티가 병목으로 남아 손실이 어느 선에서 멈춘다 — 아무리 큰 모델도 못 본 것은 못 배운다. 반대로 $D$ 만 키우면 유한 모델 페널티가 병목이 된다. 손실을 효율적으로 낮추려면 두 항을 함께 줄여야 하고, 그러려면 $N$ 과 $D$ 를 같이 키워야 한다. "큰 모델 하나면 된다"가 틀린 이유가 이 한 식에 들어 있고, 이것이 정확히 Chinchilla가 앞선 통념을 교정한 지점이다(2.2.9).
이 결합식은 물리 법칙이 아니라 데이터에 잘 맞아서 쓰는 편리한 함수형(functional form)일 뿐이라는 점은 분명히 해 둘 값어치가 있다. "왜 하필 이 형태인가"에 대한 제1원리 유도는 없다. 계수·지수는 설정 의존이라 다른 연구·다른 데이터에서는 다른 값이 나온다. 실제로 이 논문의 상수들은 이후 재현 시도에서 일부 불일치가 지적되기도 했다. 그래서 이 식은 Chinchilla의 상수를 그대로 베껴 쓰는 표가 아니라, 자기 데이터로 다시 적합해서 쓰는 틀로 봐야 한다.
2.2.4 왜 학습 컴퓨트가 6ND인가
$N$·$D$·$C$ 를 잇는 다리가 필요하다. 다행히 아주 명료한 근사가 있다.
$$C \approx 6\,N\,D$$
"밀집(dense) 트랜스포머를 $D$ 개 토큰으로 학습하는 총 FLOPs는 파라미터 수 $N$ 의 6배에 토큰 수를 곱한 값"이라는 뜻이다. 이 6이 어디서 오는지를 유도하면 두 개의 곱, $2\times 3$ 으로 갈라진다.
먼저 인수 2다. 신경망 연산의 대부분은 행렬곱이고, 행렬곱의 기본 단위는 곱셈-누산(multiply-accumulate, MAC) — 곱하고 더한다 — 이다. 한 번의 MAC은 곱셈 1 + 덧셈 1 = 2 FLOPs로 센다. 파라미터 하나는 행렬곱에서 토큰당 대략 한 번의 MAC에 참여하므로, 전방 패스(forward)는 토큰당 약 $2N$ FLOPs다. 이것이 1.4.15에서 파라미터 수를 세며 확인한 $2P$ 규칙 — 순전파 FLOP이 파라미터 수의 두 배 — 바로 그것이고, 여기서 $P = N$ 이다.
다음은 인수 3이다. 역전파(backward)는 두 종류의 기울기를 계산한다(1.3). 하나는 입력에 대한 기울기로, 연쇄법칙을 이어 가려면 이것을 다음(더 앞) 층으로 전달해야 한다. 다른 하나는 가중치에 대한 기울기로, 실제로 파라미터를 갱신하는 데 쓴다. 두 기울기 각각이 대략 전방 한 번만큼의 행렬곱을 요구하므로, 후방 패스는 전방의 약 2배 — 토큰당 $\approx 4N$ FLOPs다.
$$\underbrace{2N}_{\text{전방}} + \underbrace{2N + 2N}_{\text{후방: 입력 기울기 + 가중치 기울기}} = 6N \ \text{FLOPs/토큰}$$
이를 $D$ 개 토큰에 대해 합하면 총 학습 컴퓨트 $C \approx 6ND$. 정리하면 $6 = 2\,(\text{MAC당 FLOPs}) \times 3\,(\text{전방 1 + 후방 2})$ 이다.
숫자를 넣어 개략을 파악하자. 70B 모델을 1.4T 토큰으로 학습하면 $C \approx 6 \times 7\times10^{10} \times 1.4\times10^{12} \approx 5.9\times10^{23}$ FLOPs다. 뒤(2.2.8)에서 이 예산을 거꾸로 풀어 "70B에는 1.4T"를 복원할 텐데, 그 다리가 바로 이 $6ND$ 다. 이 근사가 있어야 컴퓨트 예산 문제를 $N$·$D$ 배분 문제로 옮길 수 있다 — 셋 중 둘을 알면 셋째가 정해진다.
2.2.4.1 6ND가 무시하는 것들
$6ND$ 는 "행렬곱이 지배한다"는 가정 위의 근사다. 무엇을 버렸는지 알아야 어디서 깨지는지 안다.
어텐션 점수 계산($QK^\top$, softmax, $AV$)은 파라미터가 아니라 시퀀스 길이에 의존한다 — 1.4.15에서 셌듯 토큰당이 아니라 $O(n^2 d)$ 다. 컨텍스트가 짧을 때는 이 항이 작아 $6ND$ 가 잘 맞지만, 컨텍스트가 수만 토큰으로 길어지면 이 비-파라미터 항이 커져 $6ND$ 가 실제 FLOP을 과소평가한다. 임베딩·언임베딩, 정규화, 활성함수 같은 비-행렬곱 연산과 옵티마이저 갱신도 빠져 있다. 활성값 재계산(gradient checkpointing, 2.4)을 쓰면 후방에서 전방을 한 번 더 하므로 계수가 6보다 커진다. 그리고 전문가 혼합(MoE, 1.6)에서는 $N$ 을 총 파라미터가 아니라 토큰당 활성 파라미터로 봐야 한다 — 희소 모델은 이 회계 자체가 달라진다.
그럼에도 전형적 밀집 모델·중간 길이 컨텍스트에서 $6ND$ 는 대개 오차 ±10~20% 안의 유용한 어림이고, 정밀 회계가 필요하면 실제 프로파일링으로 보정한다.
2.2.5 IsoFLOP — 예산을 고정하면 골짜기가 보인다
이제 핵심 질문이다. 컴퓨트 예산 $C$ 가 고정됐을 때 그것을 "더 큰 모델"과 "더 많은 데이터"에 어떻게 나눠야 손실이 최소가 되나? $C = 6ND$ 라는 제약 위에서 $L(N,D)$ 를 최소화하는 문제다.
직관부터 정리하자. 예산 $C$ 를 고정하면 $N$ 과 $D$ 는 트레이드오프다 — $D = C/6N$ 이라 $N$ 을 키우면 $D$ 가 준다. 손실을 $N$ 에 대해 그리면 U자 곡선이 나온다. $N$ 이 너무 작으면(왼쪽 팔) 모델이 작아 유한 모델 페널티가 크다 — 데이터는 넘치는데 담을 그릇이 작다(과소 파라미터). $N$ 이 너무 크면(오른쪽 팔) 모델은 큰데 예산을 다 써 버려 $D$ 가 작아지고 유한 데이터 페널티가 크다 — 그릇은 큰데 부어 넣은 것이 적다(과소 학습, undertraining). 두 팔 사이 골짜기에서 두 페널티가 균형을 이루고, 그 $(N^\star, D^\star)$ 가 예산 $C$ 의 컴퓨트 최적 배분이다.
여러 예산 $C_1 < C_2 < C_3$ 에 대해 이 U자를 그리고 최저점들을 이으면 — 예산이 커질수록 오른쪽·아래로 이동하는 궤적 — 그것이 컴퓨트 최적 경계(compute-optimal frontier)다. Chinchilla가 수백 번의 학습으로 실제로 그린 상징적 그림이 이것이다.
2.2.6 최적 배분의 지수를 직접 미분해 얻기
그림의 최저점을 식으로 찾자. 제약 $D = C/(6N)$ 을 손실에 대입해 $N$ 하나의 함수로 만든다.
$$L(N) = E + \frac{A}{N^\alpha} + B\left(\frac{6N}{C}\right)^{\beta} = E + A\,N^{-\alpha} + B\,6^\beta C^{-\beta}\, N^{\beta}$$
두 번째 항은 $N$ 이 커지면 줄고(모델이 커져 좋아짐), 세 번째 항은 $N$ 이 커지면 커진다(데이터가 줄어 나빠짐) — 이 둘의 상충 관계가 U자를 만든다. 최저점은 미분이 0인 곳이다.
$$\frac{dL}{dN} = -\alpha A\, N^{-\alpha-1} + \beta B\, 6^\beta C^{-\beta}\, N^{\beta-1} = 0$$
두 항을 같다고 놓고 $N$ 을 한쪽으로 모은다. $\alpha A\, N^{-\alpha-1} = \beta B\, 6^\beta C^{-\beta}\, N^{\beta-1}$ 에서 $N$ 의 지수를 정리하면 $N^{\beta-1+\alpha+1} = N^{\alpha+\beta}$ 가 나오고, $C$ 는 $C^{\beta}$ 로 붙어
$$N^{\alpha+\beta} \propto C^{\beta} \quad\Longrightarrow\quad N^\star \propto C^{\,\beta/(\alpha+\beta)}$$
가 된다. $D^\star = C/(6N^\star)$ 이므로 $D^\star \propto C^{1-\beta/(\alpha+\beta)} = C^{\,\alpha/(\alpha+\beta)}$. 두 지수의 합이 1인 것은 $C = 6ND$ 이니 당연하다. Chinchilla 적합값 $\alpha\approx0.34$, $\beta\approx0.28$ 을 넣으면
$$N^\star \propto C^{\,0.28/0.62} \approx C^{0.45}, \qquad D^\star \propto C^{\,0.34/0.62} \approx C^{0.55}$$
즉 $N$ 과 $D$ 를 거의 같은 비율(둘 다 $\approx C^{0.5}$)로 키우라는 것이 결론이다. 컴퓨트를 $10\times$ 늘리면 $N$ 도 $D$ 도 각각 $\sqrt{10}\approx 3.2\times$ 씩. 이것이 Chinchilla의 한 줄 요약이고, 그들의 세 가지 독립적 분석이 지수 $\approx 0.46\sim0.50$ 로 대체로 수렴했다.
2.2.7 "토큰 ≈ 20 × 파라미터"와 그 함정
위 결과에 상수까지 넣으면, Chinchilla가 연구한 규모대에서 최적 비율이 대략
$$\frac{D^\star}{N^\star} \approx 20 \ \text{(토큰/파라미터)}$$
로 나온다 — "파라미터 1개당 토큰 약 20개"라는 유명한 어림이다. 70B 모델이면 약 1.4T 토큰이 컴퓨트 최적이라는 판단이 여기서 온다.
이 "20"이 스케일 불변 상수가 아니라는 점이 자주 놓치는 함정이다. 방금 미분에서 $N^\star \propto C^{0.45}$, $D^\star \propto C^{0.55}$ 로 두 지수가 정확히 같지 않았다(0.45 ≠ 0.55). 그러므로 비율 $D^\star/N^\star \propto C^{0.55-0.45} = C^{0.1}$ 은 $C$ 에 따라 천천히 커진다 — "20"은 특정 규모대의 스냅샷이지 모든 규모에서 성립하는 상수가 아니다. 게다가 이 상수는 데이터 품질·토크나이저·아키텍처에 따라 달라진다. 실제로 결합 손실식의 적합 상수로 실제 최적점을 직접 풀면 규모에 따라 파라미터당 토큰이 20보다 크게 나오기도 하는데, 이 불일치야말로 "20"이 정밀한 물리 상수가 아니라 편리한 어림임을 보여 준다. 원리("N과 D를 균형 있게, 각각 $\approx\sqrt{C}$")를 이해하고, 정밀한 값이 필요하면 자기 설정에서 재적합하는 것이 옳다.
2.2.8 수계산 — 예산에서 컴퓨트 최적 N, D 뽑기
식만 보면 미끄러진다. 예산이 주어졌을 때 컴퓨트 최적 $N$, $D$ 를 직접 추정해 보자. 어림 도구는 두 개뿐이다 — $C \approx 6ND$ 와 $D \approx 20N$. 두 식을 연립한다. $D = 20N$ 을 $C = 6ND$ 에 넣으면
$$C = 6N\,(20N) = 120\,N^2 \quad\Longrightarrow\quad N^\star = \sqrt{\frac{C}{120}}, \qquad D^\star = 20\,N^\star$$
Chinchilla 규모 복원. 예산 $C = 6\times10^{23}$ FLOPs 라 하자.
$$N^\star = \sqrt{\frac{6\times10^{23}}{120}} = \sqrt{5\times10^{21}} \approx 7.1\times10^{10} \approx 70\text{B 파라미터}$$ $$D^\star = 20 \times 7.1\times10^{10} \approx 1.4\times10^{12} = 1.4\text{T 토큰}$$
검산하면 $C = 6 \times 7.1\text{e}10 \times 1.4\text{e}12 \approx 6\times10^{23}$. 직접 Chinchilla(70B / 1.4T)를 그대로 복원했다 — 이것이 "70B면 대략 1.4T 토큰"이라는 감의 출처다.
예산을 100배로. $C = 6\times10^{25}$ FLOPs 면
$$N^\star = \sqrt{\frac{6\times10^{25}}{120}} = \sqrt{5\times10^{23}} \approx 7.1\times10^{11} \approx 710\text{B}, \qquad D^\star \approx 1.4\times10^{13} = 14\text{T 토큰}$$
컴퓨트를 $100\times$ 늘렸더니 $N$·$D$ 가 각각 $\approx 10\times$ 씩($\sqrt{100}$) 늘었다 — 2.2.6의 "$\approx C^{0.5}$ 씩"이 눈앞에서 확인된다.
거꾸로, 모델 크기를 먼저 정하는 경우도 흔하다(서빙 제약 때문 — 2.2.10). $N = 7\text{B}$ 로 정하면 컴퓨트 최적 데이터는 $D^\star = 20\times 7\text{e}9 = 1.4\times10^{11} = 140\text{B 토큰}$, 학습 컴퓨트는 $C = 6\times 7\text{e}9 \times 1.4\text{e}11 \approx 5.9\times10^{21}$ FLOPs다. 그런데 실제 배포되는 7B급 모델은 흔히 $2\text{T}$ 토큰 이상($D/N > 280$)으로, 컴퓨트 최적의 10배 넘게 "과학습(overtraining)"된다. 컴퓨트 최적이 왜 최선이 아닐 수 있는가 — 그 답이 2.2.10이다.
FLOPs는 추상적이니 마지막으로 시간으로 바꿔 개략을 파악하자(거친 어림). 가속기 한 대의 유효 처리량을 $5\times10^{14}$ 유효 FLOP/s 라 하자(피크의 일부만 실제로 쓰인다 — 모델 FLOPs 활용률(MFU)이 보통 30~55%, 2.4·2.5). 그러면 $C=6\times10^{23}$ 은
$$\frac{6\times10^{23}}{5\times10^{14}} = 1.2\times10^{9}\ \text{GPU-초} \approx 3.3\times10^{5}\ \text{GPU-시} \approx 33\text{만 GPU-시}$$
가속기 1000대를 완벽 병렬로 운용해도 약 2주에 해당하고, 실제로는 통신·비효율로 더 걸린다. 이 수치는 개략 규모 파악용이며 가속기·정밀도·MFU에 따라 크게 달라지지만, 요점은 컴퓨트 최적 배분이 곧 돈과 일정이라는 것이다.
2.2.9 Kaplan에서 Chinchilla로 — 세부가 결론을 뒤집다
스케일링 법칙의 역사에는 유명한 교정 사건이 있다. 두 논문이 "컴퓨트를 어디에 쓸까"라는 같은 질문에 다른 답을 냈고, 뒤의 것이 앞의 것을 바로잡았다.
Kaplan et al.(2020, OpenAI)은 컴퓨트를 늘릴 때 주로 모델 크기 $N$ 에 투입하고 데이터 $D$ 는 상대적으로 조금만 늘리라고 권했다 — 대략 컴퓨트 $10\times$ 에 $N$ 은 $\sim5.5\times$, $D$ 는 $\sim1.8\times$ 수준이었다. 이 "크기 우선" 처방이 당대 초거대 모델 설계를 지배했고, 예컨대 GPT-3(175B)는 약 300B 토큰으로 학습되어 $D/N\approx 1.7$ 에 그쳤다. Hoffmann et al.(2022, DeepMind — Chinchilla)이 다시 분석하니 $N$ 과 $D$ 를 거의 같은 비율로 키워야 했고(각각 $\approx C^{0.5}$), 그 결론은 당시 큰 모델들이 "너무 크고 데이터가 모자란(undertrained)" 상태였다는 것이었다 — 같은 컴퓨트라면 더 작은 모델을 더 많은 데이터로 학습하는 편이 나았다.
이를 극적으로 보인 것이 Chinchilla(70B)와 Gopher(280B)의 비교다. 같은 컴퓨트 예산에서 Chinchilla는 파라미터를 4배 줄이고(280B→70B) 데이터를 4배 이상 늘려(300B→1.4T 토큰) Gopher를 여러 벤치마크에서 앞섰다. 더 작지만 충분히 학습시킨 모델이 이겼다.
| Kaplan 2020 | Chinchilla 2022 | |
|---|---|---|
| 컴퓨트 늘릴 때 처방 | 주로 $N$ (크기 우선) | $N$·$D$ 균형($\approx C^{0.5}$ 씩) |
| 컴퓨트 최적 $N \propto$ | $\sim C^{0.73}$ | $\sim C^{0.46\sim0.50}$ |
| 컴퓨트 최적 $D \propto$ | $\sim C^{0.27}$ | $\sim C^{0.50\sim0.54}$ |
| 함의 | 큰 모델·적은 토큰 | 작은 모델·많은 토큰(토큰 ≈ 20 × 파라미터) |
| 당대 대형 모델 평가 | — | "과대·과소학습"이었다 |
두 논문이 갈린 결정적 원인으로 지목되는 것은 학습률 스케줄(LR schedule)이다(2.3). 이 대목은 조금 자세히 볼 값어치가 있다 — 스케일링 실험이 얼마나 미묘한 세부에 좌우되는지를 보여 주기 때문이다.
2.2.9.1 코사인 스케줄이 어떻게 데이터의 가치를 숨겼나
핵심은 코사인 감쇠 스케줄이 "정해 둔 종료 시점"에 맞춰 학습률을 0 근처까지 낮출 때 최적 손실을 낸다는 데 있다(2.3). Kaplan의 분석은 여러 학습 길이의 손실을 하나의 긴 코사인 스케줄 위의 중간 지점들로 읽는 식이었는데, 계획된 종료보다 일찍 끊긴 지점에서는 학습률이 아직 높아 손실이 실제 도달 가능한 값보다 나쁘게 측정된다. 다시 말해 "토큰을 더 넣었을 때 손실이 얼마나 좋아지는가"를 과소평가하게 되고, 이 편향이 데이터 $D$ 의 가치를 실제보다 낮게 보이게 만들었다 — 그래서 "$N$ 에 쏟아라"는 처방이 나왔다는 것이 Chinchilla의 진단이다.
Chinchilla는 각 학습 길이마다 그에 맞춰 코사인 스케줄을 조정했고, 세 가지 독립적 접근으로 같은 결론을 재확인했다. 학습 곡선을 직접 보는 방법(모델 고정, 토큰 변화), IsoFLOP 프로파일(컴퓨트 고정, 크기 변화), 그리고 결합식 $L(N,D)$ 의 직접 적합 — 셋이 모두 균형 스케일링($\approx C^{0.5}$)으로 수렴했다. 이 밖에 임베딩 파라미터를 $N$ 에 셀지 여부 같은 정의 차이도 지수 추정을 교란한다.
"코사인 스케줄이 주범"이라는 설명은 널리 받아들여지는 유력한 해석이되, 두 논문의 차이가 그 하나로 온전히 환원된다고 단정하긴 어렵다. 교훈은 인물의 옳고 그름이 아니라, 스케일링 실험이 학습률 스케줄·측정 방식 같은 세부에 민감하며 그 세부가 결론 전체를 뒤집을 수 있다는 것이다. 그래서 스케일링 법칙은 남의 상수를 믿고 베끼는 표가 아니라 재현·재적합의 대상이다.
2.2.10 추론 인지 스케일링 — 서빙 비용을 넣으면
Chinchilla 최적에는 결정적 맹점이 있다. 그것은 학습 컴퓨트만 최소화한다 — 모델을 한 번 학습하는 비용만 본다. 그러나 실제 제품에서 모델은 한 번 학습되고 수십억 번 서빙된다. 학습은 일회성이지만 추론은 트래픽에 비례해 영원히 누적된다(5.1). 목표를 "학습 컴퓨트 최소화"에서 "목표 손실을 달성하는 총 생애비용 최소화"로 바꾸면 그림이 달라진다.
$$C_{\text{총}} \approx \underbrace{6ND}_{\text{학습(1회)}} + \underbrace{2N \cdot D_{\text{inf}}}_{\text{추론(생애 누적)}}$$
$D_{\text{inf}}$ 는 생애 동안 서빙할 총 토큰 수이고, 추론은 전방 패스만이라 토큰당 $\approx 2N$ FLOPs다(1.4.15의 $2P$ 규칙, 여기서 $P=N$). 핵심은 추론 비용이 $N$ 에 비례한다는 것 — 작은 모델일수록 매 질의가 저렴하다. 그리고 서빙에서 실제로 문제가 되는 것은 FLOP보다 매 스텝 가중치를 읽는 메모리 대역폭인데(5.1), 그 대역폭 부담도 $N$ 에 비례하므로 방향은 같다.
2.2.10.1 수계산 — 언제 작은 모델이 총비용에서 이기나
같은 목표 손실은 여러 $(N, D)$ 조합으로 도달할 수 있다(2.2.3의 등손실선). 구체적으로 따져 보자(결합 손실식으로 역산한 개략값이다). 어떤 목표 손실을 학습 최적점 30B / 2.6T 토큰으로 달성한다고 하자. 학습 컴퓨트는
$$C_{\text{학습}}^{(30\text{B})} = 6 \times 3.0\times10^{10} \times 2.6\times10^{12} \approx 4.7\times10^{23}\ \text{FLOPs}$$
같은 손실을 절반 크기 15B로도 낼 수 있는데, 대신 데이터를 훨씬 늘려 약 6T 토큰이 필요하다(작은 모델이 같은 손실에 닿으려면 유한 데이터 페널티를 더 줄여야 하므로). 그 학습 컴퓨트는
$$C_{\text{학습}}^{(15\text{B})} = 6 \times 1.5\times10^{10} \times 6.0\times10^{12} \approx 5.4\times10^{23}\ \text{FLOPs}$$
로, 학습만 보면 15B가 $1.15\times$ 더 비용이 크다 — 컴퓨트 최적 관점에서는 손실이다. 그런데 추론을 넣으면 이야기가 뒤집힌다. 15B는 파라미터가 절반이라 매 추론 토큰이 절반 값이다. 두 총비용이 같아지는 생애 추론량 $D_{\text{inf}}$ 를 풀면
$$4.7\times10^{23} + 2(3.0\times10^{10})D_{\text{inf}} = 5.4\times10^{23} + 2(1.5\times10^{10})D_{\text{inf}}$$ $$(6.0-3.0)\times10^{10}\, D_{\text{inf}} = 0.7\times10^{23} \quad\Longrightarrow\quad D_{\text{inf}} \approx 2.4\times10^{12} = 2.4\text{T 토큰}$$
즉 생애 추론이 약 2.4T 토큰을 넘으면 — 대형 서비스에서는 며칠이면 넘길 수 있는 양이다 — 작은 15B 모델이 학습비를 15% 더 쓰고도 총비용에서 이긴다. 생애 추론이 10T 토큰이면 15B의 총비용은 $\approx 8.4\times10^{23}$, 30B는 $\approx 1.07\times10^{24}$ 로 격차가 뚜렷하다. 학습에 토큰을 더 소비하는 대가로, 영원히 반복될 추론을 저렴하게 만든 것이다.
그래서 현대 배포 모델들이 Chinchilla 최적을 훌쩍 넘겨 학습되곤 하는 것이다. 이는 스케일링 법칙을 위반하는 것이 아니라 다른 목적 함수(총비용)를 최적화하는 것이다 — Chinchilla 곡선의 최저점은 "학습 FLOPs 최소점"이지 "생애비용 최소점"이 아니다. 이 결정을 정식화한 연구도 있다(예: Sardana & Frankle의 추론 인지 스케일링, Beyond Chinchilla-Optimal). 실무에서 파운데이션 모델을 배포용으로 만든다면 컴퓨트 최적을 기본값으로 삼되 예상 추론 트래픽을 넣어 의도적으로 과학습 쪽으로 이동시키는 것이 대개 옳다는 것이 내 견해다 — 얼마나 이동할지는 예상 QPS·모델 수명·토큰 단가에 달렸고, 그 계산은 유닛 이코노믹스의 영역이다(7.5).
다만 과학습에도 수확 체감은 여전하다. $D$ 를 계속 늘려도 손실은 거듭제곱으로만 떨어지고, 어느 지점 이후엔 애초에 데이터 자체가 모자란다(2.2.12의 data wall). "무조건 더 오래 학습"이 아니라 총비용 곡선의 최저점을 찾는 것이 목표다.
2.2.11 손실이 매끄럽게 준다고 능력도 그런가
지금까지의 스케일링 법칙은 전부 손실에 관한 것이었다 — 손실은 규모의 거듭제곱으로 매끄럽게 준다. 그런데 사람들이 실제로 궁금한 건 손실이 아니라 능력(추론·번역·코딩)이다. 손실이 매끄럽게 내려갈 때 능력도 매끄럽게 오르나, 아니면 어느 문턱에서 갑자기 출현하나? 이것이 창발(emergence) 논쟁이고, 1.1.11에서 이미 정면으로 다뤘으므로 여기서는 스케일링 맥락의 요점만 잇는다.
원 주장(대략 2022년경)은 다자릿수 산술이나 특정 추론 과제에서 능력이 규모에 따라 완만하지 않고 문턱을 넘듯 급등한다는 것이었다("emergent abilities"). 참이라면 "더 키우면 예측 못 한 새 능력이 튀어나온다"는 뜻이라 안전·예측에 큰 함의가 있다. 반론(대략 2023년경)의 핵심은 그 급등의 상당 부분이 측정 방식의 산물일 수 있다는 것이다 — 정확도·완전일치 같은 전부-아니면-전무 지표를 쓰면 자리별 정확도가 매끄럽게 올라도 "전부 맞힘" 확률은 계단처럼 증가하는데, 같은 능력을 토큰 확률이나 부분점수 같은 연속 지표로 재면 성능이 문턱 없이 완만하게 오른다는 관찰이다("mirage").
이 책은 어느 쪽도 확정 사실로 쓰지 않는다. 스케일링 법칙이 탄탄하게 예측하는 것은 손실이고, 손실→특정 능력의 사상은 지표 선택에 민감해 매끄러울 수도, 계단처럼 보일 수도 있다. 손실이 낮아지면 하류 성능이 대체로 좋아진다는 것은 반복 관찰이지만, 어떤 특정 능력이 언제 나타날지를 스케일링 법칙으로 정확히 예측할 수는 없다. 평가 지표를 어떻게 고르느냐가 이렇게 결론을 바꾸는 함정은 4.1에서 정면으로 다룬다.
2.2.12 스케일링 법칙이 말하지 않는 것
스케일링 법칙은 강력하지만 그 경계를 모르면 위험하다. 무엇을 하지 못하는지를 살펴봐야 도구를 오용하지 않는다.
가장 먼저, 법칙이 외삽하는 것은 사전학습 손실(퍼플렉서티 대용)이지 유용성·진실성·안전·정렬이 아니다. 손실이 낮아도 모델은 환각하고, 지시를 무시하고, 유해할 수 있다 — 그 간극을 메우는 것이 사후학습·정렬(제3부)이고, 정렬 성능은 스케일링 법칙으로 예측되지 않는다. 안전 위험(탈옥·오용·편향)은 손실 곡선 어디에도 나타나지 않는다(4.3·7.4). "손실이 이만큼 낮아졌으니 이 능력·이 안전성이 생긴다"는 보장이 아니다.
둘째, 곡선을 밀고 나가는 연료인 고품질 텍스트가 무한하지 않다. 컴퓨트 최적은 파라미터당 토큰 $\approx 20$(과학습이면 그 이상)을 요구하는데, 공개 웹의 고품질 텍스트 총량이 유한하고 컴퓨트가 계속 커지면 어느 시점에 쓸 새 데이터가 고갈된다는 논의가 "data wall"이다.
2.2.12.1 data wall과 그 대응의 대가
data wall 시점 추정은 연구마다 다르지만(2020년대 중후반을 지목하기도 한다 — Villalobos et al. 계열, 추정치·시점은 확인 필요), 대응책들과 각각의 대가는 분명하다.
| 대응 | 방법 | 대가·한계 |
|---|---|---|
| 데이터 반복(multi-epoch) | 같은 데이터를 여러 번 학습 | 수 에폭까지는 새 데이터와 비슷하나 이후 수확 급감·과적합(대략 4에폭 부근이 한계라는 연구) |
| 합성 데이터 | 모델로 데이터를 생성(3.9) | 품질·다양성 관리 필요, 모델 붕괴(model collapse) 위험 |
| 멀티모달·비영어·코드 | 텍스트 밖·저자원 언어로 확장(2.1) | 도메인별 품질·정렬 비용, 토크나이저 이슈 |
| 데이터 효율·큐레이션 | 중복 제거·품질 필터로 토큰당 가치↑(2.1) | "더 많이"가 아니라 "더 좋게" — 별도 연구 영역 |
data wall은 추론 인지 과학습(2.2.10)을 더 매력적으로 보이게 만드는 또 하나의 이유이기도 하다 — 새 데이터를 못 구하면, 있는 데이터를 더 잘 쓰고 작은 모델로 서빙을 아끼는 쪽이 합리적이 된다.
셋째, $E, A, B, \alpha, \beta$ 와 "20×"는 모두 특정 설정의 적합값이라 바꾸면 값이 바뀐다. 토크나이저가 다르면 손실 단위(nats/bits, 1.1)가 달라 $E$·비교 자체가 변동하고, 데이터 분포·품질이 바뀌면 모든 계수가 이동한다. MoE·GQA 같은 아키텍처가 곡선을 옮기고, 특히 희소 모델은 $C\approx6ND$ 의 $N$ 정의부터 다시 봐야 한다. 옵티마이저·학습률 스케줄·정밀도가 지수 추정을 바꾼다는 것은 Kaplan↔Chinchilla가 바로 그 사례였다. 그래서 실무 원칙은 하나다 — Chinchilla의 상수를 복사해 쓰지 말고, 자기 설정에서 소규모 실험으로 스케일링 법칙을 직접 적합한 뒤 외삽하라. 법칙은 물려받는 표가 아니라 매번 재는 자다.
가장 근본적인 한계는 거듭제곱 법칙 자체가 제1원리에서 유도된 것이 아니라 관찰된 규칙성이라는 것이다. 여러 자릿수에 걸쳐 잘 들어맞은 것은 놀랍지만, 자릿수 너머 먼 외삽이 계속 성립한다는 보장은 없다 — 새 상전이, 아키텍처 변화, 데이터 품질 저하(반복·오염)에서 곡선이 꺾일 수 있다. 그래서 실제 대규모 학습의 손실이 예측을 벗어나면 "법칙이 틀렸다"가 아니라 "이 규모·설정에서 가정이 깨졌다"는 신호로 읽고 조사해야 한다(2.6). 스케일링 법칙은 강력한 계획 도구이되 예언이 아니다.
이 장은 "얼마나 큰 모델을, 얼마나 많은 데이터로, 얼마의 컴퓨트로" 학습할지를 원리로 정했다. 그런데 그 $N$·$D$ 를 실제로 학습하는 기계 — 언어모델 손실을 무엇으로 줄이고(AdamW), 학습률을 어떻게 오르내리게 하고, 배치·시퀀스를 어떻게 설정하는가 — 는 아직 열지 않았다. 특히 이 장의 Kaplan↔Chinchilla 교정에서 주인공이었던 학습률 스케줄이 왜 그렇게 결정적인지는 다음 장에서 그 기계를 직접 뜯어보며 드러난다.