2026년 8월 31일 월요일

독파모 평가 해부 ② — 100점 중 15점은 아무 일도 하지 않았다

①편에서 점수표의 산수가 맞는다는 걸 확인했다. 이번 편은 그 표를 다른 각도에서 읽는다. 배점표에 적힌 숫자와, 실제로 순위를 만든 숫자는 다르다.

배점은 의도이고, 분산이 현실이다

배점표는 이렇게 말한다 — 전문가 평가가 35점으로 가장 중요하고, AAII가 25점, NIA 벤치마크와 전문사용자가 각 15점, 일반국민이 10점이다. 그런데 어떤 항목이 순위에 실제로 기여하는지는 배점이 아니라 그 항목이 팀 간에 만들어내는 점수 차이(분산)가 결정한다. 모든 팀에게 똑같은 점수를 주는 항목은 배점이 100점이어도 순위에 아무 영향이 없다.

네 팀의 항목별 점수에서 각 항목이 총점 분산에 기여한 몫을 계산하면(필자 계산, n=4의 기술통계임을 명시한다 — "이 4팀에서 그랬다"는 뜻이지 보편 법칙이 아니다):

항목명목 배점4팀 격차실효 가중치배율
AAII254.141.7%×1.67
AI 전문사용자153.228.9%×1.93
전문가352.416.9%×0.48
일반국민101.910.9%×1.09
NIA 벤치마크150.71.7%×0.11

배점표와 현실이 정반대다.

  • 명목 배점이 가장 큰 전문가 35점의 실효 가중치는 16.9% — 배점의 절반도 작동하지 않았다.
  • 명목 15점짜리 전문사용자가 실효 2위(28.9%)다. 배점 대비 거의 2배로 작동했다.
  • 그리고 NIA 벤치마크 15점의 실효 가중치는 1.7%다.

100점 중 15점은 아무 일도 하지 않았다

NIA 벤치마크 항목의 네 팀 점수는 12.7, 12.8, 13.3, 13.4다. 변별폭이 0.7점 — 만점의 4.7%다. 네 팀이 사실상 같은 점수를 받았고, 이 항목은 상수였다.

왜 이렇게 됐는지는 범주별 원점수에 단서가 있다. NIA 벤치마크 8개 범주 중 지시이행은 네 팀이 99.8~100.0, 사회적 안전성은 98.8~100.0이다. 완전히 포화된 시험지다. 모두가 100점을 받는 시험은 아무것도 재지 못한다 — 시험이 쉬워서 모두가 잘하는 것인지, 모두가 잘해서 시험이 의미 없어진 것인지조차 구분할 수 없다.

이건 이 사업만의 문제가 아니라 한국어 벤치마크 전반의 상태다(⑧편에서 본다). 참고로 벤치마크 설계 문헌에는 기저 정답률이 60~95% 구간을 벗어나면 변별력이 사라진다는 실무 기준이 있다. 99.8%는 그 상한을 한참 벗어나 있다. 국가 벤치마크의 절반이 죽은 눈금 위에서 채점됐다.

공정하게: 가중치를 바꿔도 순위는 안 바뀐다

여기서 멈추면 "가중치 장난으로 결과가 뒤집혔다"는 인상이 남을 텐데, 그건 사실이 아니다. 검산해 봤다.

  • 다섯 항목을 균등 배점(20/20/20/20/20)으로 바꿔도 순위는 SKT > 업스테이지 > LG > 모티프 그대로다.
  • 순위가 바뀌려면 벤치마크 블록의 비중을 약 60% 이상으로 올려야 한다.
  • AAII의 환산 상한 문제(①편의 "도달 불가능한 9.25점")를 실제 세계 최고 63점 기준으로 고쳐 다시 계산해도 모티프는 여전히 4위다(72.68 vs LG 73.48, 100점 환산).

즉 모티프가 이의제기에서 주장한 "AAII 격차 16점이 4점으로 압축됐다"는 수치적으로 정확하지만, 그 압축을 고쳐도 결과는 바뀌지 않는다. 이 결과는 가중치의 소소한 변경에 견고하다. 이건 정부에게 유리한 사실이고, 그래서 그대로 쓴다.

하지만 이 견고함이 말해 주는 것을 정확히 읽어야 한다. 순위가 안 바뀌는 이유는 모티프가 사람 평가 세 항목에서 전부, 크게 졌기 때문이다(전문가 −2.4, 전문사용자 −3.2, 일반국민 −1.9). 그러니 진짜 질문은 가중치가 아니라 이것이다 — 그 사람 점수들은 무엇을 잰 것인가. 그리고 벤치마크에서 이기고 사람 평가에서 진 팀을 자르는 것이 "글로벌 프론티어 대비 95% 성능"이라는 사업 목표와 정합적인가.

이 편의 교훈 — 우리 회사용

자체 평가 체계를 설계할 때 그대로 가져갈 규칙 세 개.

  1. 가중치는 배점이 아니라 분산으로 정의된다. 배점표를 만들었으면 시뮬레이션으로 실효 가중치를 확인하라. 우리가 중요하다고 적은 항목이 실제로 순위를 움직이는지.
  2. 포화된 지표는 배점에서 빼거나 어렵게 만들어라. 전 대상이 95%를 넘는 항목은 눈금이 아니라 장식이다.
  3. 민감도 분석을 발표에 포함하라. "가중치를 바꿔도 결론이 유지되는가"는 한 시간짜리 계산이고, 이번처럼 결론이 견고하다면 그건 평가자에게 유리한 증거다. 왜 이 계산을 정부가 아니라 블로거가 하고 있는지 모르겠다.

다음 질문. 격차가 0.7점, 0.9점, 3.2점이라는데 — 이 숫자들에 오차막대를 붙이면 어떻게 될까. 그 전에, 애초에 모델 평가 점수라는 게 얼마나 흔들리는 물건인지부터 보자.

— 독파모 평가 해부 ② / 다음 글: 평가는 실험이다 — 그런데 이 실험엔 표준오차가 없다

독파모 평가 해부 ① — 70.6, 69.9, 69.0, 65.8: 이 표를 먼저 검증했다

2026년 8월, 정부가 독자 AI 파운데이션 모델 사업(독파모) 2차 단계평가 성적을 전부 공개했다. 네 팀이 100점 만점으로 채점됐고, 최하위 한 팀이 탈락했다. 이 시리즈는 그 평가를 해부한다. 결론부터 말하면 배점표를 만든 규칙에 심각한 문제가 있다고 주장할 것이다. 그래서 더더욱, 비판을 시작하기 전에 정부의 산수부터 검산했다.

먼저 이 시리즈 전체의 출처 한계를 밝힌다. 수치는 과기정통부·NIPA 발표와 이를 인용한 보도, 그리고 korea.kr 정책브리핑 원문에서 가져왔다. 평가에 쓰인 문항, 채점 원자료, 환산식은 공개되지 않았으므로 일부는 필자가 역산했고, 그런 값은 전부 필자 계산으로 표기한다.

공개된 점수표

AAII
(25)
NIA 벤치
(15)
전문가
(35)
전문사용자
(15)
일반국민
(10)
총점
SK텔레콤8.813.429.311.67.570.6
업스테이지9.413.329.110.87.369.9
LG AI연구원7.812.829.511.37.669.0
모티프11.912.727.18.45.765.8

검산 결과부터. 네 팀 모두 다섯 항목의 합이 총점과 소수점까지 정확히 일치한다(8.8+13.4+29.3+11.6+7.5 = 70.6, 나머지 세 팀도 동일). 별도로 발표된 파생 수치들 — 벤치마크 평균 22.5점, 벤치마크 1~4위 격차 4.0점, 사용자 평가 격차 5.0점 — 도 이 표에서 전부 재현된다. 산수는 맞다. 이 시리즈의 논지는 "숫자가 틀렸다"가 아니다. "숫자를 만든 규칙이 틀렸다"다.

표에서 바로 보이는 사실 하나를 짚고 가자. 과기정통부 발표 기준으로 모티프는 벤치마크 소계(AAII+NIA) 1위(24.6/40)이면서 종합 4위로 탈락했다. 벤치마크에서 이기고 사람 평가에서 진 것이다. 이게 정당한 결과인지 아닌지는 아직 판단하지 않는다 — 시리즈가 끝날 때까지 판단을 미뤄 달라. 다만 이 구도가 이 시리즈 전체의 출발점이다.

공개되지 않은 환산식을 역산했다

AAII는 Artificial Analysis Intelligence Index라는 외부 지수다(⑦편에서 해부한다). 이 지수의 원점수를 25점 만점으로 어떻게 바꿨는지, 즉 환산식은 공개되지 않았다. 그래서 역산해 봤다. 평가 시점의 AA 리더보드 원점수를 x라 하고 각 팀의 AAII 항목 점수와 비교하면:

팀 / 모델AA 원점수÷4발표 점수잔차
모티프 34711.7511.9+0.06 이내
Solar Open 2 (업스테이지)37+9.359.4+0.06 이내
A.X K2 (SKT)358.758.8+0.06 이내
K-EXAONE 2.0 (LG)317.757.8+0.06 이내

(필자 계산. AA 원점수는 2026-08 시점 리더보드 값.)

환산식은 "AA 원점수 ÷ 4"다. 네 팀의 잔차가 전부 0.06점 이내이고 부호까지 같다(0.1 단위 올림으로 설명된다). 이보다 잘 맞는 다른 가설은 찾지 못했다 — 예컨대 "세계 최고 모델 대비 정규화" 가설을 대입하면 모티프가 18.8점이 나와야 하는데 실제는 11.9점이다.

이 역산은 부수적으로 흥미로운 사실 하나를 확정한다. 업스테이지가 평가받은 모델은 Solar Pro 4가 아니라 Solar Open 2다. Solar Pro 4의 AA 점수를 4로 나누면 발표 점수와 17배 큰 잔차가 생긴다. Solar Open 2만 맞는다. 언론 보도 다수가 이 구분 없이 썼는데, 두 모델은 다른 모델이다(Solar Open 2는 총 250B/활성 15B의 오픈웨이트 MoE이고, Solar Pro 4는 파라미터가 공식적으로 미공개다).

÷4라는 환산이 무엇을 의미하는지는 잠깐 멈춰서 볼 가치가 있다. AAII를 100점 만점 척도로 취급했다는 뜻인데, 평가 시점 세계 최고 모델의 AAII가 63점이다. 즉 25점 만점 중 15.75점 위로는 지구상 어떤 모델도 도달할 수 없었다. 이 설계가 결과를 바꿨는지는 뒤에서 따로 계산한다(미리 말하면: 바꾸지 않았다 — 그래서 더 흥미롭다).

이 평가에 걸려 있던 것

이건 리더보드 순위 놀이가 아니었다. 2차 평가를 통과한 세 팀은 하반기 B200 약 1,000장 규모의 GPU를 배정받고, 탈락한 모티프는 받지 못한다. 1차에서는 다섯 팀 중 네이버클라우드와 NC AI가 탈락했다. 국가가 종합점수로 줄을 세워 하위 팀의 자원을 끊는 토너먼트 구조이고, ⑨편에서 보겠지만 이 구조를 쓰는 나라를 다른 곳에서는 찾지 못했다.

그리고 탈락한 모티프는 2026-08-27 공식 이의를 제기했고, 이의 결과와 무관하게 3차에 불참하겠다고 밝혔다. 정부의 공식 답변은 이 글을 쓰는 시점(2026-08-31)까지 공개되지 않았다.

이 시리즈가 하려는 것

미리 선을 그어 둔다. 이 시리즈는 "잘못된 팀이 탈락했다"고 주장하지 않는다. 그건 필자가 알 수 없는 일이다. 이 시리즈가 주장할 것은 다음이다 — 이 평가는 결과가 옳았는지 아무도 확인할 수 없게 설계됐고, 그 설계 결함들은 하나하나 지목할 수 있으며, 고치는 비용은 놀랄 만큼 싸다. 그리고 마지막 두 편에서는 비판을 넘어, 우리 회사가(그리고 다음 국가 사업이) 그대로 쓸 수 있는 평가 프로토콜과 원화 가격표를 내놓는다.

왜 이걸 파는가. 필자도 LLM을 만들고 있고, 언젠가 누군가의 평가표 위에 올라갈 것이기 때문이다. 남의 평가를 해부해 보는 것이 내 평가 기준을 세우는 가장 빠른 길이다.

다음 질문은 이것이다 — 이 100점 중에서, 실제로 순위를 가른 점수는 몇 점이었을까. 배점표에 적힌 숫자와 실제로 작동한 숫자는 다르다.

— 독파모 평가 해부 ① / 다음 글: 100점 중 15점은 아무 일도 하지 않았다

2026년 8월 30일 일요일

친칠라 법칙 ⑬ (완결) — 2026년의 예산표: 사전학습 : 사후학습 : 테스트타임

친칠라는 하나의 예산을 두 축(N, D)에 나누는 문제였다. 2026년은 세 개의 예산을 나누는 문제다 — 사전학습, 사후학습(RL), 그리고 테스트타임. 마지막 편은 이 셋의 비율을 재고, 시리즈가 열두 편 내내 미뤄 둔 계산을 마무리한다. 서빙 원가를 원화로 닫는 일이다.

RL의 몫이 2년 만에 자릿수로 커졌다

모델사전학습 : 사후학습사후학습 비중
DeepSeek-V32,664K : 5K H800-시간0.18%
Llama-Nemotron UltraRL 140K H100-시간0.45%
K-EXAONE 2.0 (LG)8.8T : 350B 토큰3.8%
ScaleRL 8B 단일 런RL 100K H100-시간6.8%

0.18%에서 4~10%로, 20~50배 커졌다. MiniMax-M1은 RL만으로 512×H800을 3주, $534,700을 썼다. 참고로 이 숫자를 나눠 보면 시간당 $2.07로, DeepSeek이 가정한 $2와 맞는다 — 국내 온디맨드(VESSL H100 $2.98)는 그 1.5배다.

다만 이 표를 읽을 때 함정이 둘 있다. 첫째, RL 비중이 큰 모델은 대부분 사전학습을 물려받은 모델이다. 분자가 커진 게 아니라 분모가 사라진 것이다. 둘째, DeepSeek-R1·Kimi K2·Qwen3는 사후학습 컴퓨트를 공개하지 않는다. 그 자체가 신호다 — 경쟁 우위가 그쪽으로 이동했다는 뜻이다.

RL은 멱법칙이 아니라 시그모이드다

이게 예산 배분에서 가장 중요한 차이다. 사전학습은 돈을 부으면 손실이 계속 내려간다(멱법칙). RL은 천장이 있다. 40만 GPU-시간 규모의 체계적 실험에서 적합된 형태는 시그모이드이고, 검증 런에서 도달한 천장 A는 0.61~0.645였다.

실무적으로 결정적인 건 무엇이 천장을 움직이고 무엇이 속도만 움직이는가다.

  • 천장 A를 올리는 것: 손실 함수 종류, LM head를 FP32로 두는 것(0.52 → 0.61), 배치 크기, 생성 길이, 그리고 base 모델 크기.
  • 속도 B만 올리는 것: 손실 집계 방식, 정규화, 커리큘럼, off-policy 정도. 이걸 아무리 튜닝해도 천장은 그대로다.

그래서 예산 규칙이 단순해진다 — 계획한 RL 예산의 10~20%를 먼저 쓰고, 곡선을 적합해 천장 A를 읽어라. A가 목표에 못 미치면 더 붓지 말고 base 모델이나 손실 함수를 바꿔라. 실제로 8천 스텝에서 1만6천을, 5만 GPU-시간에서 10만을 정확히 외삽했다. RL은 "돈만 부으면 되는 축"이 아니다.

그리고 대안 둘이 있다. 17B×16 MoE가 8B dense를 RL 컴퓨트 6분의 1로 이겼다 — ⑧편의 활성비 논리가 RL에서도 복리로 작동한다. 더 강한 건 Qwen3의 보고다 — 증류가 RL 대비 GPU-시간 10분의 1이고 성능도 더 좋았다. ⑤편의 결론이 여기서 반복된다.

데이터 원가도 비대칭이다. Qwen3의 추론 RL은 검증 가능한 질문-검증기 쌍 3,995개로 했는데, 선호 학습(DPO)용 데이터는 42만 5천 쌍이 필요했다. 사람 선호 데이터 10만 쌍이면 2~3억 원 규모로, 7B를 처음부터 학습하는 비용과 같은 자릿수다. 수학·코드처럼 자동 채점이 가능한 과제를 고르는 것이 곧 예산 절감이다.

테스트타임 — FLOPs로는 이기고 돈으로는 진다

추론 시 여러 번 샘플링해 고르는 테스트타임 스케일링은 FLOPs를 맞춘 조건에서 14배 큰 모델을 이긴다는 결과로 유명하다. 그런데 비용으로 다시 재면 부호가 뒤집힌다.

방식출력 100만 토큰당
7B에 32회 샘플링약 ₩5,456
32B 한 번에약 ₩286

19배 비싸다. FLOPs가 같아도 돈이 같지 않은 이유는 ④편에서 본 그대로다 — 작은 모델을 여러 번 돌리면 가중치 읽기가 그만큼 반복되고, 디코딩은 대역폭 바운드다. 이 둘이 비기려면 어려운 질의 2% 이하에만 다중 샘플링을 라우팅해야 한다. "작은 모델 + 많이 생각하기"는 전량 적용하면 손해이고, 선별 적용해야 이득이다.

그래서 서빙 원가가 얼마인가 — 시리즈의 마지막 계산

기준은 ⑩편과 동일하다(H100 $2.98/시간, 환율 1,380원). 출력 토큰 100만 개당 원가를 배치를 제대로 채운 조건에서 계산하면:

모델₩ / 출력 100만 토큰
30B 총 / 3B 활성 MoE약 ₩95
7B dense약 ₩171
32B dense약 ₩286

검산이 된다 — 32B 추정치가 상용 서빙 업체의 실제 공시가와 1.35배 이내로 맞는다. 그리고 MoE의 값어치가 여기서 숫자로 보인다. 총 30B짜리가 7B dense보다 싸다. 활성 파라미터가 3B이기 때문이다.

그런데 이 표는 낙관적이다. 위 값은 GPU가 100% 가동될 때의 이야기다. 실제로 월 1,000만 요청 서비스라면 H100 한 장의 가동률이 약 12%에 그치고, 그러면 실효 원가가 ₩1,396 / 100만 토큰으로 8배가 된다. 트래픽이 없으면 GPU는 놀면서 돈을 먹는다.

여기서 이 시리즈에서 가장 불편한 결론이 나온다.

  • 8B 모델은 온디맨드 H100에서 100% 가동해도 API 가격을 못 이긴다.
  • 32B 자체 서빙이 API보다 싸지는 손익분기가 월 3,600만 요청 수준이다.

⑩편에서 "자체 LLM은 2억 원짜리 문장"이라고 했는데, 그 2억을 쓰고 나서도 서빙 물량이 없으면 API보다 비싸다.

회수 기간을 계산하면 — 100년이 넘는다

이제 ⑪편의 질문에 숫자로 답할 수 있다. 7B를 처음부터 학습하는 비용(약 ₩1.95억)과 한국어 CPT 비용(약 ₩243만)의 차이가 약 ₩1.93억이다. 이걸 서빙 절감으로 회수하려면 얼마나 걸릴까.

토큰 효율이 30% 개선된다고 후하게 가정해도, 월 1,000만 요청 기준 회수 기간이 100년을 훌쩍 넘는다. 24개월 안에 회수하려면 월 수억 건, 초당 수백 건의 트래픽이 필요하다.

더 직관적인 환산도 있다. 누적 10억 요청을 서빙하는 총 원가가 약 ₩3,700만이다. 사전학습 한 번 값의 7분의 1이다. 서빙 비용이 사전학습 비용과 같아지려면 70억 요청이 필요하다.

④편에서 인용한 "손익분기 10억 요청"을 여기서 정정해야 한다. 그건 회수 조건이 아니라 모델 형상 규칙이다 — "10억 요청을 예상하면 모델을 더 작고 더 오래 학습시켜라"는 말이지, "10억 요청이면 자체 학습이 회수된다"는 말이 아니다. 대부분의 한국 서비스에서 처음부터 학습은 재무적으로 회수되지 않는다.

그리고 이미 공짜로 놓인 500억 원

그렇다면 물려받는 쪽의 값어치를 세어 보자. Qwen3-8B는 파라미터당 약 4,500토큰을 먹은 모델이다. ⑩편의 단가로 이 학습을 재현하는 데 드는 돈을 계산하면 약 50억 원이다.

그게 무료로 공개돼 있다. ⑪편에서 본 SKT의 결과 — 밑바닥 34B가 남의 72B에 CPT한 것에 모든 축에서 졌다는 사실 — 은 이 관점에서 당연하다. 한쪽은 2억을 썼고 다른 쪽은 남이 쓴 수백억을 물려받은 뒤 2백만 원을 얹었다.

1년 예산 5억 원을 어떻게 나눌 것인가

지금까지의 모든 숫자를 하나의 예산표로 접으면 이렇게 된다.

항목비중근거
사람 · 데이터 · 평가약 46%프런티어 총비용 구성에서도 인력이 29~49%(⑩편)
사후학습(RL·SFT)약 12%업계 비중 4~10%의 상단, 천장 A를 15%로 먼저 측정
CPT · 토크나이저 · 어닐링한 자릿수 %7B/20B 토큰 CPT가 ₩243만(⑩편)
서빙 인프라나머지 대부분가동률이 원가를 8배 흔든다
처음부터 사전학습1% 미만애초에 5억으로는 7B 하나도 못 만든다

최종 의사결정 시트

  1. 누적 요청 수를 먼저 적어라. 10억을 넘길 것 같으면 모델 형상을 "더 작고 더 오래"로 잡아라(④편). 다만 그게 자체 학습을 정당화하지는 않는다.
  2. 파인튜닝·양자화 계획이 있으면 D/N을 2,000~2,500 아래로. 그리고 배포할 정밀도로 벤치마크하라(⑤편).
  3. 한국어 고유 토큰이 1,440억에 못 미치면 답은 CPT다. 그 경계는 전이 스케일링 법칙이 주는 숫자이고, 대부분의 국내 팀이 그 아래에 있다(⑦편). 그 CPT는 전체 파라미터로 하고(LoRA 금지), 원본 데이터를 5% 섞어라 — 그것만으로 망각의 71%가 사라진다(⑪편).
  4. 토크나이저를 먼저 고쳐라. 학습비·추론비·컨텍스트에 동시에 작용하는 유일한 항목이다(⑦편).
  5. MoE를 쓸 수 있으면 써라. 서빙 원가가 활성 파라미터에 붙으므로, 총 30B/활성 3B가 7B dense보다 싸다(⑧·⑬편).
  6. RL은 15%를 먼저 쓰고 천장을 읽어라. 안 오르면 더 붓지 말고 base를 바꾸거나 증류로 가라.
  7. 그래도 직접 계수를 적합하고 싶다면 $1,800이다. 그건 거의 언제나 남는 투자다(⑫편).
  8. 그리고 로깅하라. 스텝별 손실, 토큰과 바이트, 비임베딩 M, MFU, 시드, 데이터 스냅샷 해시. 최종 손실 하나만 저장하는 게 가장 흔하고 가장 비싼 실수다.

마지막으로

열세 편을 관통하는 문장을 하나만 남긴다면 이것이다. 친칠라의 20:1은 물리 상수가 아니라 (모델 크기 구간 × 스케줄 × 데이터 품질 × 목적함수)의 함수였고, 우리는 그 네 변수가 전부 다른 자리에 서 있다. 국내 어느 팀도 20:1을 지키지 않는 건 무지가 아니라 계산이다.

그리고 그 계산의 끝에는 겸손한 결론이 있다. 자체 LLM은 2억 원짜리 문장이고, 한국어 특화는 240만 원짜리 문장이며, 후자가 전자를 이긴 실측이 국내에 이미 있다. 2억을 아껴 서빙 가동률을 고치고, 마지막 10%의 데이터를 갈아엎고, 토크나이저를 다시 짜라. 스케일링 법칙이 답해 주지 않는 그 일들이 실제 의사결정의 대부분이다.

그리고 남의 숫자로 결정하지 말자. 벤치마크 점수는 누가 돌렸느냐에 따라 10점씩 흔들리고, 대기업 논문의 계수도 틀린다. 우리 팀의 계수는 우리 로그에서만 나온다.

— 친칠라 법칙 시리즈 ⑬ (완결) / 관련 시리즈: LLM 서빙 캐싱(추론 비용), RAG 종류 총정리, RAG 실전, 에이전트 설계, 사용자 의도 분석과 LLM 라우팅

친칠라 법칙 ⑫ — 우리 팀의 스케일링 법칙을 $1,800에 적합하기

②편의 결론은 "남의 계수를 베낄 수 없다"였다. 같은 방법론에 데이터만 바꿔도 지수가 0.450에서 0.578로 움직이니까. 그러면 직접 적합해야 하는데, 친칠라가 400개 모델을 돌렸다는 얘기를 들으면 포기하게 된다. 그럴 필요 없다. 이번 편은 스케일링 법칙 적합의 실제 견적서다.

모델 5개면 된다 — 그리고 오차 4%가 바닥이다

기준점은 485개 공개 모델로 1,000개 이상의 스케일링 법칙을 적합한 연구다. 결론 세 줄이 이 편의 뼈대다.

  • "모델 5개면 안전한 선택이고, 더 많으면 견고성이 올라간다. 이 모델들은 작아도 된다."
  • 상대오차(ARE) 4%가 현실적으로 얻을 수 있는 최선이다. 이유는 초기화 시드만 바꿔도 손실이 최대 4%까지 흔들리기 때문이다. 그 아래를 노리는 건 노이즈를 쫓는 것이다.
  • 동시에 오차 20%짜리 법칙도 쓸모가 있다. "A 데이터가 B보다 낫다", "이 아키텍처가 저것보다 낫다" 같은 판정에는 충분하다.

그리고 가장 값싼 정확도 개선이 여기 있다 — 학습 초반 10B 토큰 구간의 체크포인트를 버려라. 이것만으로 OPT·Pythia처럼 오차가 15%를 넘던 경우가 4~10%로 떨어진다. 코드 세 줄이다.

부수적으로 나온 반직관적 조언 하나 — 큰 모델 1개보다 작은 모델 여러 개가 나을 때가 있다. 시드 분산 때문이다. 예산이 빠듯할수록 이 사실이 유리하게 작동한다.

스윕을 망치는 건 스케일이 아니라 하이퍼파라미터

②편에서 봤듯 소규모 모델의 하이퍼파라미터를 튜닝하지 않으면 지수 자체가 왜곡된다. 이를 구조적으로 막는 게 muP인데, muP를 "성능 기법"으로 오해하는 경우가 많다. Cerebras-GPT의 숫자가 정확한 그림을 준다.

  • 손실 개선 0.43%, 다운스트림 +1.7% — 성능 이득은 소박하다.
  • 그런데 자기 스케일링 법칙 대비 표준편차가 muP 0.04% vs 표준 파라미터화 0.66%다. 16배 조용하다.

muP의 진짜 가치는 성능이 아니라 분산이다. 오차 4%가 바닥인 게임에서 노이즈를 16분의 1로 줄이는 도구는 성능 향상보다 훨씬 값지다. 튜닝 비용도 싸다 — 40M 프록시에서 전이한 하이퍼파라미터로 GPT-3 6.7B 공개 성능을 넘겼고, 튜닝 비용은 사전학습의 7%였다. 국내에서는 네이버 HyperCLOVA X THINK가 μP를 명시한 사례다.

다만 반전이 있다. DeepMind가 수만 개 모델, 최대 26.8B로 검증한 결과는 "muP만 하이퍼파라미터 전이가 가능한 게 아니다"였다 — 레이어별 학습률을 쓴 표준 파라미터화가 muP를 능가하기도 했다. 어느 처방이냐보다 일관되게 쓰는 것이 중요하다. 그리고 무엇을 쓰든 coord check(폭을 128에서 2048까지 키우며 레이어별 활성값이 폭에 무관한지 확인)는 반드시 통과해야 한다. 여기서 실패하면 이후 스윕이 전부 무의미하다.

배치 크기 처방에는 함정이 하나 있다. ②편에서 Porian이 부수적으로 얻은 값이 B ∝ N^0.28~0.32였는데, 이걸 그대로 스윕에 적용하면 결과가 망가진다.

이유는 이렇다. 컴퓨트 최적 궤적 위에서는 N과 D가 함께 커지므로 "B를 N에 묶는다"와 "B를 D에 묶는다"가 같은 곡선이다. 그런데 IsoFLOP 밴드 안에서는 C가 고정이라 D = C/(6N)이고, N을 키우면 D가 줄어든다. 두 처방의 부호가 정반대가 된다. 이때 N 기반 처방을 쓰면 큰 N 지점이 부당하게 불리해져 포물선 최저점이 왼쪽으로 밀린다.

정답은 후자다. 임계 배치 크기는 모델 크기가 아니라 데이터 크기를 따라 스케일한다는 것이 이 케이스를 겨냥한 결론이다. 실용적인 형태는 MiniCPM의 bs = 1.21×10⁹ / L^6.24인데, 손실이 N과 D를 모두 요약하므로 셋을 통합한다. 같은 연구에서 10배 크기 변화에도 최적 base 학습률이 약 0.01로 거의 불변이었다.

WSD가 규칙을 바꿨다 — 중간 체크포인트가 공짜 데이터가 된다

전통적인 코사인 스케줄에서는 런 하나가 데이터포인트 하나다. 중간 체크포인트는 학습률이 아직 높아 "미완성"이라 쓸 수 없기 때문이다. WSD(Warmup-Stable-Decay)가 이걸 뒤집는다 — 안정 구간의 아무 지점에서나 짧은 감쇠만 붙이면 완성된 모델이 나오므로, 런 하나에서 여러 개의 적합 데이터포인트를 뽑을 수 있다. 스윕 비용이 제곱에서 선형으로 떨어진다.

실무 수치 하나만 기억하면 된다 — 감쇠 구간은 총 토큰의 10%가 필요하고, 2.5%로는 부족하다. 그리고 여기서 더 나간 연구는 학습률 어닐링을 손실 함수에 직접 넣어 1~2회 런만으로 임의 스케줄·임의 스텝의 손실을 예측하는데, 친칠라 방식 대비 컴퓨트가 약 1%다.

손실이 아니라 벤치마크를 예측해야 돈이 된다

경영진이 궁금해하는 건 손실 값이 아니라 "그래서 KMMLU가 몇 점 나오느냐"다. 여기에 두 가지 함정이 있다.

첫째, 정확도에 직접 적합하면 계단이 생긴다. 이른바 "창발적 능력"의 상당 부분이 지표 선택의 산물이라는 것이 밝혀져 있다 — 불연속 지표(정확도)는 계단을, 연속 지표는 매끄러운 개선을 만든다. 심지어 지표를 조작해 비전 네트워크에서 창발을 인위적으로 만들어 낼 수도 있었다. 적합용 프록시는 반드시 연속 지표여야 한다(정답 토큰의 로그우도 등).

둘째, 2단계로 예측해야 한다. (모델·데이터) → 중간 손실 → 태스크 정확도. AI2의 "모델 사다리" 연구가 이 방식으로 타깃 컴퓨트의 1%만 쓰고 7B@4T·13B@5T 모델의 객관식 태스크 정확도를 절대오차 2%p 이내로 예측했다. 다만 체크포인트 간 지표 분산이 큰 태스크일수록 예측 오차가 크다는 단서가 붙는다.

한국어에서는 x축과 D의 단위부터 다시 정해야 한다

②편에서 Kaplan과 친칠라를 갈라놓은 게 임베딩 카운트였다는 걸 봤다. 한국어 모델에서는 이게 훨씬 심각하다.

  • 어휘 10만 × d_model 768 = 임베딩만 76.8M. 사다리 하단(수천만 파라미터)에서는 임베딩이 본체보다 크다. 그러니 x축을 파라미터 수가 아니라 비임베딩 M = 72·n_layer·d_model² + 12·n_layer·d_model·l_seq로 잡아야 한다. 한국어에서는 선택이 아니라 필수다.
  • 토크나이저를 바꾸면 D의 단위가 바뀐다. 같은 한국어 문서가 HyperCLOVA X에서는 676토큰, GPT-4에서는 1,420토큰이다. "20 tokens/param"의 20이 토크나이저에 따라 이동한다는 뜻이다. 토큰과 바이트(또는 문자) 두 축으로 모두 적합해 두라.
  • 그리고 압축률 2배 좋은 토크나이저는 같은 컴퓨트로 2배의 정보를 넣는 것이므로, 데이터 품질 개선과 동등하게 취급해야 한다 — 즉 지수 a를 끌어올린다.

견적서 — 실비 얼마면 되나

⑩편의 기준(H100 dense 989.5 TFLOPS, MFU 40%, VESSL $2.98/시간)으로 환산하면 GPU-시간당 1.425×10¹⁸ FLOPs다. 이 환율로 레시피의 실비를 계산하면 이렇다.

단계실비
공짜 사전조사(공개 모델로 태스크 선별)0
muP 셋업 + coord check< $20
학습률·배치 프록시 스윕(폭 3종 × 54런)$10~50
IsoFLOP 본 스윕(6밴드 × 6~8점, 최대 1e20)약 $1,800 (약 600 GPU-시간)
시드 반복(하위 3밴드 × 3시드)약 $110
적합(2가지 방법 교차 + 부트스트랩 CI)0 (CPU)
홀드아웃 검증 런(스윕 최대의 10배)약 $2,090
다운스트림 사다리(체크포인트 재사용)$0

본 스윕이 $1,800, 검증까지 합쳐도 $4,000 남짓이다. 국내 비교 기준점으로 Trillion-7B가 공개한 실제 학습비가 59.4K H100-시간 / $148K인데, 이 레시피 전체가 그 3% 미만이다. 스케일링 법칙 적합은 이미 중소 팀 예산 안에 있다.

그런데 적합하지 말아야 할 때도 있다

가장 값싼 조언은 "안 해도 되는 경우를 알아두라"는 것이다.

  • 데이터셋 후보의 순위만 알고 싶다면 법칙을 적합하지 마라. 25개 사전학습 레시피를 비교한 DataDecide의 결과에 따르면, 단일 150M 지점의 순위가 1B 타깃의 최적 데이터셋을 약 80% 맞힌다. 그리고 테스트한 8개의 스케일링 법칙 방법 중 어느 것도 이 단순한 베이스라인을 능가하지 못했다. MMLU·ARC·HellaSwag 같은 지표는 컴퓨트의 0.01%로 80% 이상 예측됐다.
  • 다만 이 결과의 범위를 정확히 알아야 한다 — DataDecide가 답한 건 "어느 데이터셋인가"이지 "어떤 비율인가"가 아니다. 25개 레시피 중 혼합 비율을 바꾼 건 세 점뿐이고, 논문은 그 부분집합의 정확도를 따로 보고하지 않는다. 비율 탐색은 ⑦편에서 본 RegMix식 접근(목표 런의 약 2%)으로 따로 풀어야 한다.
  • 다운스트림 정확도에 직접 적합하지 마라. 불연속 지표에 적합하면 계단이 생기고, 그게 이른바 "창발"의 상당 부분이다. 지표를 연속형으로 바꾸면 사라진다. 반드시 (모델·데이터) → 손실 → 정확도의 2단계로 가고, 프록시는 연속 지표(정답 토큰 로그우도 등)를 쓰라. AI2의 모델 사다리가 이 방식으로 타깃 컴퓨트의 1%만 쓰고 7B@4T·13B@5T의 객관식 정확도를 절대오차 2%p 이내로 예측했다.

마지막으로 함정 체크리스트를 남긴다. coord check 미통과(IsoFLOP 포물선이 비대칭이면 의심). 적합 구간이 좁음(밴드는 최소 2.5 오더). 초기 체크포인트 오염(첫 10B 토큰 제거). 시드 노이즈(3시드로 측정하고, 오차 4% 미만을 목표로 삼지 말 것). 불연속 지표. 임베딩 오염(비임베딩 M 사용). 과신하는 신뢰구간 — ①편의 폭 0.001 사건이 대기업 논문에서도 일어난다. 반드시 두 가지 적합법을 교차하고 부트스트랩으로 신뢰구간을 직접 구하라. 두 방법이 불일치하면 멈추고 데이터를 의심하라.

그리고 로깅은 아끼지 마라. 스텝별 손실, 소비 토큰과 바이트 둘 다, 비임베딩 M, 총 FLOPs, 학습률·배치, grad norm, MFU, 시드, 데이터 스냅샷 해시, 체크포인트별 연속 다운스트림 지표. 최종 손실 하나만 저장하는 것이 가장 흔하고 가장 비싼 실수다.

— 친칠라 법칙 시리즈 ⑫ / 다음 글: 2026년의 예산표 — 사전학습 : 사후학습 : 테스트타임 (완결)

친칠라 법칙 ⑪ — 아무도 친칠라를 지키지 않았고, 아무도 밑바닥부터 만들지 않았다

이론은 여기까지다. 국내 대기업 여섯 곳의 기술 리포트를 열어 파라미터·토큰·FLOPs를 전부 계산해 봤다. 결론은 두 문장으로 요약된다. 친칠라 최적을 지킨 팀은 하나도 없다. 그리고 최신 모델을 처음부터 만든 팀도 하나도 없다.

실측 토큰/파라미터 배율

모델파라미터 / 토큰배율
SKT A.X 3.134B / 2.1T62×
KT Mi:dm 2.0 Mini2.3B / ≈331B144×
LG EXAONE 3.5 32B32B / 6.5T203×
LG EXAONE 4.0 32B32B / 14T437×
LG K-EXAONE (활성 기준)23B 활성 / 11T478×
LG EXAONE 3.07.8B / 8T1,026×
LG EXAONE 3.5 7.8B7.8B / 9T1,154×
LG EXAONE 3.5 2.4B2.4B / 6.5T2,708×
LG EXAONE 4.0 1.2B1.2B / 12T10,000×

가장 낮은 값이 62배다. 친칠라의 20배는 국내 실무에서 하한선조차 아니다. 온디바이스용 1.2B는 최적의 500배를 먹였는데, ⑤편에서 봤듯 그 자리가 하필 양자화가 가장 안 먹는 구간이다.

그리고 이 표에서 가장 이상한 줄은 EXAONE 3.5다. 7.8B 모델에 9T 토큰을 먹이고, 32B 모델에는 6.5T를 먹였다. 작은 모델이 큰 모델보다 더 많이 학습했다. 친칠라라면 정반대여야 한다. 실수가 아니라 ④편에서 본 추론 인지 스케일링의 교과서적 구현이다 — 작은 모델일수록 많이 팔리고 서빙 비용은 파라미터에 비례하니, 작은 모델에 학습비를 더 태우는 게 총비용 최적이다. "학습 1회, 추론 무한회"의 산수가 스케일링 법칙을 이겼다는 국내 최고의 실물 증거다.

참고로 EXAONE 3.5는 세 모델의 FLOPs를 전부 공개했는데(1.25e24 / 4.21e23 / 9.36e22) 셋 다 6ND와 정확히 일치한다. 카카오 Kanana는 아예 그림 캡션에 "6 × 학습 토큰 × 모델 크기"라고 적어 놓았다.

그런데 국내 모델의 절반은 이 비율을 계산할 수 없다

위 표를 만들면서 확인한 사실 하나를 정직하게 밝혀야 한다. Depth Up-Scaling이나 upcycling으로 만든 모델에는 토큰/파라미터 비율을 쓸 수 없다.

예를 들어 카카오 Kanana Flag 32.5B를 "3T 토큰 ÷ 32.5B = 92배"로 계산하면 틀린다. 32.5B 모델이 3T를 본 게 아니다. 26.8B 모델이 3T를 봤고, 그걸 32.5B로 부풀린 뒤 200B만 추가로 봤다. 같은 문제가 K-EXAONE 2.0(236B → 750B), KT Mi:dm 2.0 Base(8B급 → 11.5B), 업스테이지 Solar Pro(Phi-3-medium 14B → 22B), Llama-3-Motif(70B → 102B)에 전부 해당한다.

국내 모델의 절반은 "이 모델은 파라미터당 몇 토큰을 봤나"라는 질문이 정의되지 않는 모델이다. 이건 결함이 아니라 이 시리즈가 다루는 현상 그 자체다 — 국내 팀들은 친칠라의 좌표계 자체를 떠났다.

여섯 팀이 같은 레시피로 수렴했다

리포트를 나란히 놓으면 골격이 하나로 겹친다 — ① 중간 크기 base 확보 → ② Depth Up-Scaling으로 부풀리기 → ③ Pruning + Distillation으로 작은 모델 뽑기.

① base② 부풀리기③ 줄이기
업스테이지Mistral 7BDUS → 48층 10.7B
카카오8B / 26.8BDUS → 9.8B / 32.5B8B → 2.1B
KT8B급(32층)DUS → 48층 11.5B→ Mini 2.3B
네이버THINK (6T)→ SEED Think 14B
LGK-EXAONE 236Bupcycle → 750B
모티프Llama 3 70B→ 102B (194B 토큰)

절감률을 숫자로 공개한 건 카카오가 가장 구체적이다 — Depth Up-Scaling은 처음부터 학습 대비 총 컴퓨트를 11.06% 절감했고(각 200B 토큰만 추가), Pruning + Distillation은 2.1B 모델을 0.3T 토큰으로 만들었다 — 처음부터 학습(3T)의 10분의 1이면서 성능은 더 좋았다. 그 결과 Kanana Flag 32.5B의 총 학습 컴퓨트가 Llama 3.1 8B보다도 낮다.

그리고 국내 최대 규모 모델조차 처음부터 학습이 아니다. LG의 K-EXAONE 2.0(총 750B / 활성 37B)은 236B MoE를 깊이 48→78층, 폭 128→256 전문가로 부풀린 것이다. 전문가를 복제할 때 무작위 회전 노이즈로 대칭을 깨는 기법까지 동원했다. 국내 최대 모델의 정체는 재활용이다.

국내 유일하게 공개된 원화 숫자: 902만 원

⑩편에서 국내 클라우드가 GPU 가격을 공개하지 않는다고 했는데, 학습 비용도 마찬가지다. 금액을 공개한 국내 리포트는 사실상 하나뿐이다 — 네이버 HyperCLOVA X SEED의 모델카드다.

모델A100 GPU-시간비용
HyperCLOVA X SEED 0.5B4,358$6,537 (약 902만 원)
Qwen2.5-0.5B-instruct169,257$253,886
SEED Think 14B68,049약 $102,000 (약 1.4억 원)
Qwen3-14B6,267,077

네이버가 주장한 절감률은 0.5B에서 39배, 14B에서 92배다. 정직하게 짚을 단서가 있다 — 자기 모델은 증류 비용만 세고, Qwen은 처음부터 학습한 전체 비용을 셌다. 공정한 벤치마크가 아니다. 하지만 그래서 오히려 이 시리즈의 요지에 정확히 맞는 증거가 된다. 같은 결과물을 만드는 데 전략이 다르면 비용의 자릿수가 바뀐다.

이식이 밑바닥보다 싸고, 심지어 더 강하다

이 시리즈에서 가장 실무적인 질문이 여기 있다 — 처음부터 학습할 것인가, 남의 모델 위에 한국어를 얹을 것인가. 운 좋게도 SKT가 같은 시기에 양쪽을 다 만들어 공개했다.

벤치마크A.X 3.1 (밑바닥 34B, 2.1T)A.X 4.0 (Qwen2.5-72B에 CPT)
KMMLU69.7378.32
CLIcK (한국 문화)77.0983.51
MMLU75.2086.62

밑바닥에서 2.1T를 태운 34B가 남의 72B에 한국어를 얹은 것보다 모든 축에서 졌다. A.X 4.0의 KMMLU 78.32는 GPT-4o의 72.51보다 높다.

물론 파라미터가 34B와 72B로 두 배 차이 나므로 순수한 방법론 비교는 아니다. 하지만 그게 요점이다 — 같은 예산으로 34B를 밑바닥부터 만들 수 있었다면, 그 예산으로 72B급 base를 받아 CPT하는 편이 나았다. 밑바닥 학습은 파라미터 상한을 예산이 정하지만, 이식은 남이 이미 태운 컴퓨트를 물려받는다.

더 극단적인 예가 모티프다. Llama 3 70B를 102B로 부풀린 뒤 194B 토큰(한국어:영어 9:1)만 추가했다. EXAONE 4.0 32B가 먹은 14T의 1.4%다. 결과는 KMMLU 64.74%GPT-4o(64.11%)를 앞섰다. 흥미로운 건 어휘를 128,000 그대로 두고 한국어 토큰을 전혀 추가하지 않았다는 점이다 — ⑦편에서 토크나이저가 무료 점심이라고 했지만, 손대지 않아도 CPT만으로 여기까지 간다는 반례다.

파국적 망각은 생각보다 작다

  • DNA 1.0 8B(디노티시아): Llama 3.1 8B에 46.8억 토큰만 CPT하고 SFT·병합·증류를 거쳤다. KMMLU 41.7 → 53.26 (+11.56%p), MMLU 68.2 → 66.64 (−1.56%p). 한국어를 11.6점 얻고 영어를 1.6점 냈다. 컴퓨트로는 약 2.2×10²⁰ FLOPs로 EXAONE 3.5 32B의 약 5,700분의 1이다.
  • EEVE(야놀자): 한국어 토큰 8,960개를 추가해 어휘를 40,960으로 늘리고 단 20억 토큰으로 끝냈다. H100 8장으로 2.8B 변형은 이틀 미만. 한영 통합 평균 0.7045를 기록하면서 영어 BoolQ 0.8492를 유지했다(리포트가 제시한 0.7045는 한국어 단독 평균이 아니라 한영 합산 평균이라는 점은 짚어 둔다). 비결은 7단계 파라미터 동결 커리큘럼(새 임베딩부터 차례로 열어 주는 순서)이다. 비용은 대략 150~200만 원으로 추정된다.

논문의 표현대로 "새 임베딩에 조 단위 토큰이 필요하다는 통념과 대비되는" 결과다. 스타트업이 실제로 집행할 수 있는 금액이다.

망각을 더 줄이는 방법도 정량화돼 있다. 원본 분포 데이터를 얼마나 섞어 되먹이느냐(replay)가 핵심인데, 효과가 놀랍도록 가파르다.

  • 1%만 섞어도 망각이 절반으로 줄어든다.
  • 5%면 망각의 71%가 사라진다.
  • 25%면 전체 재학습과 동등한 수준이 되는데, 목표 언어 성능의 대가는 0.05 nats에 불과하다.

CPT를 할 때 원본 데이터를 5% 섞는 것은 사실상 공짜다. 그리고 여기서 반대 방향의 경고도 하나 — CPT를 LoRA로 하면 안 된다. 랭크를 256까지 올려도 전체 파라미터 학습 대비 3.9~9.1점 뒤처지고, 토큰을 더 넣어도 그 격차가 좁혀지지 않는다. ⑩편에서 LoRA가 8천 원이라고 했지만, 그건 지시 튜닝(SFT)의 가격이지 언어 능력을 새로 넣는 값이 아니다.

덧붙여 국내 리포트를 읽을 때의 주의점 하나. 모티프 102B는 한국어 9:1로 194B 토큰을 태우고도 영어 벤치마크를 하나도 보고하지 않았다. 망각이 발생했다면 정확히 거기서 측정됐어야 할 설정인데 그 표가 없다. 이 시리즈가 인용하는 모든 국내 벤치마크에 같은 종류의 주의가 필요하다 — 보고되지 않은 축이 곧 약한 축일 가능성이 높다.

국가는 스케일링 결정을 평가표로 대체했다

마지막으로 독자 파운데이션 모델 사업(독파모)의 경과를 짚어 둔다. 2025년 5개 정예팀(네이버클라우드·LG·SKT·업스테이지·NC AI)으로 시작해 2026년 1월 1차 평가에서 네이버클라우드와 NC AI가 탈락, 2월에 모티프가 추가됐고, 2026년 8월 2차 평가에서 모티프가 탈락했다.

  • 2차 점수: SKT 70.6 / 업스테이지 69.9 / LG 69.0 / 모티프 65.8
  • 배점은 벤치마크 40점(AAII 25 + NIA 15) + 전문가 35 + AI전문사용자 15 + 일반국민 10.
  • 항목별 1~4위 격차는 벤치마크 4.0, 전문가 2.4, 사용자 5.0으로 사용자 평가가 가장 컸다.
  • 모티프는 AAII 국내 1위(47점)를 받고도 전문가·사용자에서 깎여 최하위가 됐고, 공식 이의를 제기했다.
  • 3차 진출팀 GPU는 B200 상반기 768장 → 하반기 약 1,000장. 글로벌 최고 대비 격차는 1월 19점에서 8월 16점으로 좁혀졌다.

"무엇을 잘한 것으로 칠 것인가"가 아직 합의되지 않았다는 신호다. 그리고 이건 이 시리즈의 주제와도 맞닿는다 — 벤치마크 1위와 종합 1위가 갈리는 상황에서, 스케일링 법칙이 최적화하는 "손실"이 무엇의 대리변수인지 다시 물어야 한다. 참고로 서강대가 수능 수학으로 별도 평가했을 때는 Kimi K3 92.0% > Solar Pro 4 77.5%로, "한국어 특화"가 곧 "한국 문제를 더 잘 푼다"는 아니라는 결과가 나왔다.

리포트가 끝내 말하지 않는 것들

  • GPU-시간을 공개한 건 네이버 SEED 모델카드뿐. LG·KT·카카오는 FLOPs만, 네이버 본편·SKT·업스테이지는 아무것도 공개하지 않는다.
  • 한국어 토큰 비중을 퍼센트로 밝힌 팀이 없다. HyperCLOVA X의 "균등"과 모티프의 "9:1"이 그나마 구체적이다.
  • 카카오 Kanana는 토크나이저 어휘 크기조차 공개하지 않았다.
  • HyperCLOVA X 본편(2024)은 파라미터 수와 총 학습 토큰 수 자체를 공개하지 않았고 스케일링 법칙 언급도 없다.

이걸 결함으로만 읽을 필요는 없다. ②편에서 봤듯 지수를 직접 적합하려면 16개 모델 스윕이 필요하고, 그건 소형 랩에 부담이다. "우리가 적합한 지수" 대신 "우리가 쓴 GPU 시간과 절감률"을 보고하는 건 제약 하의 합리적 선택이다. 다만 비교 가능성이 사라진다는 대가가 따르고, 그래서 국내 모델끼리 "누가 더 효율적인가"를 판정할 방법이 사실상 없다.

그렇다면 남의 계수를 베낄 수 없다는 뜻이다. 우리 계수는 우리가 적합해야 한다. 그건 얼마일까 — 다음 편에서 견적을 뽑는다.

— 친칠라 법칙 시리즈 ⑪ / 다음 글: 우리 팀의 스케일링 법칙을 $1,800에 적합하기

친칠라 법칙 ⑩ — 6ND에서 청구서까지: FLOPs를 원화로 바꾸는 산수

여기까지가 설계였다. 이번 편은 "그래서 우리 회사는 얼마짜리 모델을 만들 수 있나"에 답한다. 산수는 세 줄이면 끝난다.

  1. C(FLOPs) = 6 × N × D
  2. GPU-시간 = C ÷ (피크 FLOPS × MFU × 3600)
  3. 비용 = GPU-시간 × 시간당 단가

문제는 2번의 분모다. 여기서 순진한 계산과 실제 청구서가 몇 배씩 벌어진다. 그리고 이 편의 결론을 미리 말하면 — 틀리는 건 FLOPs가 아니라 단가다.

스펙시트 숫자를 그대로 쓰면 안 되는 이유

NVIDIA 제품 페이지의 Tensor Core 성능은 전부 희소성(sparsity) 포함 값이다. 학습에는 쓸 수 없으므로 2로 나눠야 한다.

GPU표기값(sparse)BF16 dense(실사용)메모리
H100 SXM1,979 TFLOPS989.580GB
H200 SXM1,979 TFLOPS989.5141GB
B2002,250180GB

놓치기 쉬운 사실 하나 — H200은 H100과 연산력이 완전히 동일하다. 141GB 메모리와 4.8TB/s 대역폭만 다르다. 학습 FLOPs 예산에서 둘은 같은 칩으로 취급해야 한다(⑨편에서 봤듯 그 메모리 차이는 서빙에서 값을 한다). H800도 H100과 BF16 연산력이 같고 NVLink 대역폭만 잘렸다(900→400GB/s) — DeepSeek의 최적화가 전부 "통신 숨기기"에 집중된 이유다.

MFU 40%는 한국 팀 실측을 맞춘다

다음은 MFU(Model FLOPs Utilization)다. 공개된 최고 기록은 Megatron-LM의 52%이고, Llama 3 405B는 8K GPU에서 43%, 16K에서 41%였다. 그래서 흔히 "중소 규모는 25~35%로 잡으라"고 조언하는데, 국내 실측을 대입해 보면 40%가 오히려 정확했다.

Trillion Labs가 공개한 Trillion-7B로 검산해 보자. 7B 모델에 2T 토큰이면 6ND = 8.4×10²² FLOPs다. H100 dense 989.5 TFLOPS에 MFU 40%를 가정하면 GPU-시간당 1.425×10¹⁸ FLOPs이므로, 필요한 시간은 약 59,000시간으로 계산된다.

실제 보고값은 59.4K H100-시간이다. 오차 1% 미만이다.

그런데 같은 리포트가 밝힌 실제 비용은 $148K다. 나눠 보면 $148K ÷ 59.4K시간 = $2.49/GPU-시간. 즉 컴퓨트 추정은 맞았고, 어긋난 건 오직 단가다.

실무 규칙이 여기서 나온다 — 안전계수는 FLOPs가 아니라 $/시간에 곱하라. 6ND와 MFU 40%는 믿어도 되고, 대신 시간당 단가에 1.25~1.5배를 잡아라. 이건 이 시리즈에서 직접 검증한 가장 실용적인 결론이다.

다만 논문 MFU로도 17%가 모자란다 — 실패 비용

Llama 3 405B로 한 번 더 검산하면 다른 종류의 격차가 보인다. 6ND는 3.79×10²⁵로 논문 보고값 3.8×10²⁵와 정확히 맞는다. 그런데 논문의 MFU 41%로 나누면 26.3M GPU-시간인데, 공식 모델카드는 30.84M H100-시간이라고 적었다. 17% 차이이고 실효 MFU는 34.5%다.

정체가 흥미롭다. 405B 사전학습 54일 동안 작업 중단이 466회였고, 419회가 비계획, 비계획의 약 78%가 하드웨어 문제였다(GPU 관련이 비계획 전체의 58.7%). 유효 학습 시간 90% 이상을 유지한 게 성취인데, 뒤집으면 10%는 증발한다.

그래서 견적에는 ×1.15를 곱한다. 그리고 이 대목이 원가절감 포인트이기도 하다 — 체크포인트·재시작이 견고하면 스팟 인스턴스를 쓸 수 있고, 그것만으로 60% 절감(CoreWeave 기준 $6.16 → $2.46)이 가능하다. 참고로 체크포인트 크기는 파라미터당 16바이트(BF16 가중치 2 + 그래디언트 2 + Adam 상태 12)이므로 7B가 112GB, 405B가 약 6.5TB다.

$5.576M의 진실 — DeepSeek이 각주에 써 둔 문장

가장 많이 인용되는 숫자를 정확히 읽어 보자. DeepSeek-V3 리포트 Table 1은 사전학습 2,664K + 컨텍스트 확장 119K + 사후학습 5K = 총 2,788K H800-시간, $2/시간 가정으로 $5.576M이라고 적었다.

그런데 논문 스스로 각주를 달았다 — 이 비용은 "공식 학습만 포함하며, 아키텍처·알고리즘·데이터에 대한 사전 연구와 어블레이션 실험 비용은 제외한다."$5.576M은 마지막에 성공한 런 하나의 GPU 임대료이지 회사가 쓴 돈이 아니다. 빠진 것: 실패한 런, 클러스터 CAPEX, 데이터 파이프라인, 연구원 인건비. Epoch AI의 분해로는 프런티어 학습 총비용에서 하드웨어 47~67%, 연구 인력 29~49%, 에너지 2~6%다. GPU 값만 계산한 견적서는 절반짜리다.

이 숫자에서 MFU를 역산하면 활성 37B 기준 6ND = 3.29×10²⁴ FLOPs, GPU당 343 TFLOPS로 BF16 대비 34.7%다. 그런데 DeepSeek은 FP8로 학습했으므로 FP8 피크(1,979) 대비로는 17.3%다. FP8은 피크를 2배 올리는 대신 MFU를 반으로 깎는다. 저정밀도 학습을 검토한다면 이 상쇄를 감안해야 한다.

같은 H100이 4.6배 — 2026년 가격표

제공자H100 GPU-시간당
CoreWeave 스팟$2.46
RunPod Community$2.69
AWS p5 예약(실효)$2.97
VESSL AI (국내) — 이 시리즈 기준가$2.98 (약 ₩4,112)
Lambda 온디맨드$3.99
AWS p5 온디맨드$6.88
Azure 정가$12.29

최저와 최고가 4.6배 차이 난다. 더 재미있는 건 달러당 실효 FLOPs로 줄 세우면 AWS의 B200이 Lambda의 H100보다 나쁘다는 점이다(2.28×10¹⁷ vs 3.57×10¹⁷). 칩 세대보다 공급처가 더 큰 변수다. 앞서 "안전계수를 단가에 곱하라"고 한 이유가 이 표다.

국내 사정도 짚어 두자. 네이버클라우드·KT클라우드·NHN클라우드·카카오클라우드는 GPU 시간당 요금을 공개 페이지에 게시하지 않는다. 전부 요금 계산기나 영업 문의로 유도한다. 가격을 공개한 국내 사업자는 사실상 VESSL AI 하나이고, 그래서 이 시리즈는 $2.98/시간을 기준가로 쓴다(환율 1,380원). 국내 클라우드는 GPU를 카탈로그가 아니라 견적으로 판다.

국가 자원은 어떤가. 국가AI컴퓨팅센터가 전남 해남에 2026년 8월 착공, 2028년 준공 일정으로 GPU 약 1.5만 장, 전력 40MW 규모로 추진 중이다(총 투자 2조 원대, 보도마다 편차가 있다). 지금 손에 쥘 수 있는 건 훨씬 작다 — 스타트업 대상 무상 GPU는 264장 규모였고 수요가 공급의 4배를 넘었다. 수 장에서 수십 장, 몇 개월이 현실적 기대치이고, 이는 처음부터 학습이 아니라 파인튜닝·계속사전학습에 쓰라는 뜻이다.

그래서 얼마인가 — 워크드 예제

가정: H100 dense 989.5 TFLOPS, MFU 40%, $2.98/시간, 환율 1,380원. 오버헤드 미포함 순수 6ND 기준이다.

모델 / 비율토큰GPU-시간비용
1B / 20:120B84₩35만
3B / 20:160B758₩312만
7B / 20:1140B4,127₩1,697만
1B / 200:1200B842₩346만
3B / 200:1600B7,580₩3,117만
7B / 200:11.4T41,266₩1.70억

7B를 200:1로 처음부터 학습하면 오버헤드(×1.15)까지 넣어 약 47,500 GPU-시간, ₩1.95억이다. H100 8장 노드 하나로는 215일, 64장이면 27일이다. 감도를 보면: MFU가 30%로 떨어지면 ₩2.60억, Lambda 단가($3.99)면 ₩2.61억, AWS 온디맨드($6.88)면 ₩4.50억이다. 같은 모델의 견적이 공급처에 따라 2.3배 흔들린다.

GPU를 몇 장까지 쓸 수 있나 — 임계 배치가 정하는 상한

"64장이면 27일"이라고 썼는데, 여기엔 함정이 있다. GPU를 늘린다고 무한히 빨라지지 않는다. 배치를 키우면 스텝당 처리량은 늘지만, 어느 지점부터는 스텝 수가 더 이상 줄지 않는다. 그 지점이 임계 배치 크기다.

7B를 1.4T 토큰으로 학습하는 경우로 계산해 보자. 목표 손실을 약 2.04 nats로 두고 임계 배치를 추정하면 약 680만 토큰, 시퀀스 4,096 기준 약 1,650 시퀀스다. GPU당 4시퀀스를 얹는다면 데이터 병렬을 약 413장까지 키울 수 있다는 뜻이다. 그 지점의 벽시계는 약 100시간이다.

중요한 건 그 너머의 수익 곡선이다(전부 필자 계산).

  • GPU를 4배 늘리면 속도는 1.6배, 비용은 2.5배가 된다.
  • 16배 늘리면 속도는 1.88배, 비용은 8.5배가 된다.
  • 그리고 아무리 GPU를 부어도 넘을 수 없는 직렬 하한이 약 50시간 존재한다.

또 하나 실무적인 함의가 있다. 임계 배치는 학습이 진행되며 커진다 — 손실이 3.0일 때 87만 토큰이던 것이 2.04에서 680만이 된다. 즉 학습 초반에 큰 배치를 쓰면 낭비이고, 배치를 점진적으로 키우는 것(batch ramping)은 취향이 아니라 필수다. 초반부터 최대 배치로 돌리면 그만큼 컴퓨트를 버린다.

다만 이 추정에는 불확실성이 있다. 데이터 크기 기반의 최신 적합식을 그대로 외삽하면 1.4T 지점에서 35만 토큰이라는 훨씬 작은 값이 나오는데, 이는 Llama-2-7B가 실제로 쓴 400만 토큰 배치와 모순된다. 보수적으로는 위 값을 상한으로 보고, 실제 배치는 자체 스윕으로 정하는 게 맞다(⑫편).

어쨌든 CTO에게 답이 되는 문장은 이것이다 — 7B급 학습에 GPU 400장 이상을 붙이는 건 돈을 태우는 것이고, 그보다 적은 장수에서는 대체로 선형에 가깝게 빨라진다. 국내에서 손에 넣을 수 있는 규모(수십 장)는 이 상한에 한참 못 미치므로, 가진 GPU를 전부 쓰는 게 맞다.

그런데 대안이 훨씬 싸다

대안의 가격표가 이 편의 진짜 결론이다.

  • 한국어 계속사전학습(CPT) 7B에 20B 토큰: 590 GPU-시간, ₩243만 — 처음부터 학습의 1.43%
  • 전체 파라미터 SFT(500M 토큰): 15시간, 약 ₩6만
  • LoRA SFT(50M 토큰): 1.5시간, 약 ₩6천

LoRA에 대해 두 가지를 덧붙인다. 첫째, LoRA를 쓰는 이유가 돈이 아닐 때가 많다. 7B 전체 파인튜닝은 파라미터당 16바이트 = 112GB에 활성값까지 필요해서 H100 80GB 한 장에 안 들어간다. "돈이 없어서"가 아니라 "메모리가 없어서" LoRA를 쓴다.

둘째, 이 ₩6천짜리 선택지를 CPT에 쓰면 안 된다. 지시를 가르치는 것과 언어 능력을 새로 넣는 것은 다른 일이고, 실측으로 랭크를 256까지 올려도 전체 파라미터 CPT 대비 3.9~9.1점 뒤처지며 토큰을 더 넣어도 격차가 좁혀지지 않는다. 위 표에서 한국어 CPT를 ₩243만으로 잡은 건 전체 파라미터 학습 기준이다. 여기서 아끼려다 결과를 통째로 잃는다.

정리하면 이렇다. "자체 LLM"은 2억 원짜리 문장이고, "한국어 특화"는 240만 원짜리 문장이다. 그 사이가 80배다. 그런데 성능 차이는 80배가 아니다 — 다음 편에서 국내 팀들이 실제로 어느 쪽을 골랐는지, 그리고 그 결과가 어땠는지를 본다.

— 친칠라 법칙 시리즈 ⑩ / 다음 글: 아무도 친칠라를 지키지 않았고, 아무도 밑바닥부터 만들지 않았다

친칠라 법칙 ⑨ — 형상도 스케일링 변수다: 깊이·너비·KV 캐시

스케일링 법칙은 오랫동안 형상(shape)에 무관하다고 여겨졌다. 파라미터 수만 같으면 층을 깊게 쌓든 넓게 펴든 손실이 비슷하다는 것이다. 손실만 보면 대체로 맞는 말이다. 그런데 청구서는 형상에 따라 몇 배씩 달라진다. 같은 파라미터 수여도 아키텍처에 따라 추론 레이턴시가 최대 3.5배 차이 난다.

깊이냐 너비냐 — 목적함수가 답을 바꾼다

이 논쟁이 오래 헷갈렸던 이유는 사람들이 서로 다른 목적함수를 최적화하면서 같은 질문을 한다고 믿었기 때문이다. 정리하면 이렇다.

  • 손실이 목적이면 깊이. 최적 깊이는 총 파라미터에 대해 로그로 증가한다. 이 기준으로 보면 GPT-3는 오히려 "크기에 비해 너무 깊었다"는 평가가 나오고, 1조 파라미터 모델의 최적 너비는 약 30K로 예측된다.
  • 레이턴시가 목적이면 너비. 층이 깊으면 토큰 하나를 만들 때 순차적으로 통과해야 하는 단계가 많아진다. 넓고 얕게 설계한 Morph-1B가 레이턴시를 1.8배 개선했다.
  • 온디바이스 품질이 목적이면 다시 깊이. 파라미터가 극도로 제한된 구간에서는 깊고 얇은 쪽이 유리하다는 게 MobileLLM 계열의 결론이다.

"깊이 vs 너비"에 보편적 정답은 없고, 무엇을 최소화하는지에 따라 답이 갈린다. 국내 모델의 실제 선택을 보면 대체로 층수를 보수적으로 잡는다 — EXAONE 4.0 32B가 64층 / hidden 5,120, K-EXAONE 236B가 48층, Solar-Open2가 48층이다.

긴 컨텍스트는 6ND를 깨고, 아키텍처가 되돌린다

③편에서 128K 컨텍스트에서는 어텐션 항이 파라미터 항의 133%까지 부풀어 6ND가 무너진다고 했다. 2026년의 대응은 모든 층에 완전한 어텐션을 두지 않는 것이다.

  • EXAONE 4.0 32B: 슬라이딩 윈도우(4K) : 글로벌 = 3:1. 네 층 중 하나만 전체를 본다.
  • K-EXAONE 236B: 12 × (SWA 3 + Global 1)로 같은 패턴을 48층에 반복.
  • Solar-Open2: [Softmax, Linear×3] × 1248층 중 12층만 KV 캐시를 유지하고, 위치 인코딩을 빼고(NoPE) 컨텍스트 1M을 지원한다.
  • Mamba-2 하이브리드(8B/3.5T, Mamba 43% + 어텐션 7% + MLP 50%): 12개 태스크 평균 +2.65점, 추론 생성 최대 8배. 다만 순수 SSM은 복사·문맥학습에서 열세라 어텐션을 조금 섞는 게 정답이었다.

KV 캐시가 곧 서빙 원가다

왜 이런 설계가 나오는지는 KV 캐시 크기를 직접 계산해 보면 즉시 이해된다. 공식은 이렇다.

KV 바이트 = 2 × 층수 × KV헤드 × head_dim × 정밀도 × 시퀀스 길이

EXAONE 4.0 32B 형상(64층, head_dim 128, KV 헤드 8, BF16)에 대입해 128K 세션 하나의 KV 캐시를 계산하면:

설정128K 세션 1개절감
GQA 없이 전 층 글로벌(MHA)171.8 GB기준
GQA 적용, 전 층 글로벌34.4 GB5.00배
EXAONE 4.0 실제(GQA + 3:1 하이브리드)9.4 GB18.3배

(필자 계산. EXAONE 4.0은 이미 LLLG 패턴, 즉 64층 중 글로벌 16 + 슬라이딩 윈도우 48로 구성돼 있다. 슬라이딩 층은 윈도우 크기만큼만 유지하므로 128K 구간에서는 기여가 작다.)

숫자가 말해 주는 게 명확하다. 아무 대책 없이 128K를 지원하면 세션 하나가 H100 두 장을 통째로 먹는다. GQA로 5배, 하이브리드 어텐션으로 다시 3.7배, 합쳐서 18배를 줄여야 겨우 실용 영역에 들어온다.

그래도 여유롭지는 않다. 80GB H100 한 장에 32B 모델을 올리고 남는 공간으로 128K 세션을 몇 개나 돌릴 수 있는지 계산하면:

  • 가중치를 BF16으로 올리면 세션 1개(가중치만 64GB)
  • 가중치를 FP8로 내리면 4개
  • 가중치와 KV를 모두 FP8로 하면 9개

④편에서 배치를 키워야 디코딩 MFU가 산다고 했는데, 롱컨텍스트 서비스에서는 배치를 9까지밖에 못 키운다는 뜻이다. 이게 롱컨텍스트 서빙 단가가 비싼 진짜 이유다. Solar-Open2가 48층 중 12층만 KV를 유지하는 설계(정확히 4.00배 절감)로 1M 컨텍스트를 여는 것도 같은 계산의 산물인데, 그마저 1M 세션 하나가 51.5GB라 모델 카드가 H200 4장을 요구한다.

④편에서 디코딩이 메모리 대역폭 바운드라고 했는데, 그 병목을 완화하는 유일한 방법이 배치를 키우는 것이고, 배치 크기의 상한을 정하는 게 바로 이 KV 캐시다. 즉 형상 설계 = 배치 상한 설계 = 서빙 단가 설계다. 아키텍처 결정이 곧 원가 결정인 셈이다.

롱컨텍스트는 마지막 10%에 붙인다

학습 쪽 대응은 더 단순하다. 긴 컨텍스트로 처음부터 학습하지 않는다.

  • 네이버 HyperCLOVA X는 학습의 90%를 4,096으로 하고 마지막 10%만 32,768로 돌렸다.
  • DeepSeek-V3의 컨텍스트 확장 단계는 119K GPU-시간, 약 $238K으로 전체 학습비의 4.3%에 불과하다.
  • K-EXAONE도 8K → 32K → 256K의 2단계 확장을 쓴다.

즉 롱컨텍스트는 사전학습 예산의 문제가 아니라 미세조정 단계의 문제로 취급하는 것이 업계 표준이 됐다. 견적을 짤 때 컨텍스트 길이 때문에 겁먹을 필요는 없다는 뜻이다 — 진짜 비용은 학습이 아니라 서빙 쪽 KV 캐시에서 발생한다.

MTP — 데이터가 부족한 D축을 접는 트릭

마지막으로 국산 모델의 기본 사양이 된 장치 하나. MTP(Multi-Token Prediction)는 다음 토큰 하나가 아니라 여러 개를 동시에 예측하도록 학습하는 방식이다. 두 가지 효과가 있다.

  • 학습 신호가 조밀해진다 — 같은 토큰에서 더 많은 학습 신호를 뽑아낸다. 데이터가 부족한 언어에 유리한 성질이다.
  • 추론에서 speculative decoding으로 재활용된다 — DeepSeek-V3 기준 두 번째 토큰의 수용률이 85~90%다. 사실상 디코딩 속도가 1.8배 가까이 빨라진다.

K-EXAONE 750B와 236B가 둘 다 MTP 1층을 채택했다. 한국어처럼 D축이 막힌 상황에서 아키텍처로 데이터 부족을 일부 상쇄하는 선택이고, 동시에 서빙 속도까지 얻는다. ⑦편의 토크나이저와 함께, 한국 팀이 구조적으로 취해야 할 두 번째 무료 점심에 가깝다.

정리

  • 형상은 손실에는 둔감하고 원가에는 민감하다. 파라미터 수가 같아도 레이턴시가 최대 3.5배 차이 난다.
  • 목적함수를 먼저 적어라. 손실이면 깊이, 레이턴시면 너비, 온디바이스 품질이면 다시 깊이.
  • KV 캐시를 설계 단계에서 계산하라. GQA와 하이브리드 어텐션 없이는 128K가 세션당 164GB다. 이게 배치 상한을, 배치 상한이 서빙 단가를 정한다.
  • 롱컨텍스트는 학습 마지막 10%에. 사전학습 예산 문제가 아니다.
  • MTP는 D가 부족한 팀에게 특히 남는 장사다.

여기까지가 설계다. 이제 청구서를 볼 차례다. 우리가 정한 N, D, 형상이 정확히 얼마짜리인가.

— 친칠라 법칙 시리즈 ⑨ / 다음 글: 6ND에서 청구서까지 — FLOPs를 원화로 바꾸는 산수

친칠라 법칙 ⑧ — 6ND가 두 조각으로 쫪개진 날: MoE와 메모리 축

③편에서 6ND가 깨지는 세 지점을 봤는데, 그중 MoE는 단순한 예외가 아니라 문제의 차원을 바꾼다. 친칠라는 컴퓨트 하나를 최적화하는 문제였다. MoE는 그걸 (컴퓨트, 메모리) 두 개로 쪼갰다. 2025~26년 국내 모델이 사실상 전부 MoE로 넘어갔으니, 이건 이제 선택 사항이 아니다.

두 개의 청구서

  • 학습·추론 컴퓨트: C ≈ 6 · Nactive · D
  • 메모리(VRAM): Ntotal에 비례

DeepSeek-V3가 이 분열을 가장 선명하게 보여준다 — 학습 FLOPs로는 37B급이고, 서빙 메모리로는 671B급이다. 두 숫자가 18배 차이 나고, 각각 다른 예산 항목에 청구된다.

Clark 등이 이걸 처음 정리했다. 라우팅 모델에서는 파라미터 수와 토큰당 연산량이 독립적인 두 축이 되며, 둘을 하나로 묶는 "실효 파라미터 수"를 정의할 수 있다. 구체적으로 N=5M에 전문가 128개짜리 모델이 N=55M dense와 동등했다 — 추론 FLOPs를 10배 아낀 것이다.

잘게 쪼갤수록 이득이 커진다 — 그리고 교차점은 없다

한동안 통용되던 반론이 있었다. "MoE는 작은 모델에서만 이득이고 규모가 커지면 dense가 따라잡는다"는 것이다. granularity(전문가를 얼마나 잘게 쪼갤 것인가, G = d_ff / d_expert)를 최적화 변수로 넣으면 이 결론이 뒤집힌다.

컴퓨트최적 granularity G
1e20 FLOPs8
1e2116
1e2332
1e2464

G를 고정한 채 비교하면 규모가 커질수록 MoE 이득이 줄어드는 것처럼 보이지만, G까지 최적화하면 dense 대비 절감폭이 1e20에서 20배 → 1e25 초과에서 40배 이상으로 오히려 벌어진다. "dense가 다시 이기는 교차점"은 나타나지 않는다. 실물 검증도 있다 — DeepSeekMoE 16B가 LLaMA2 7B와 동급 성능을 연산 40%로 냈다.

Apple의 sparsity 스케일링 연구는 방향을 더 명확히 정리했다 — 컴퓨트가 커질수록 총 파라미터는 늘리고 활성 파라미터는 줄이는 게 최적이며, 최적 sparsity는 모델이 커질수록 1.0에 접근한다. 친칠라의 "N을 키워라"가 "Ntotal을 키우고 Nactive를 줄여라"로 교체된 것이다.

그런데 하드웨어가 아키텍처를 고른다

여기가 예산이 작은 팀에게 가장 중요한 대목이다. 위 결론은 메모리가 무한할 때의 이야기다. 메모리 제약을 목적함수에 넣고 최적 전문가 수를 풀면 답이 완전히 달라진다.

  • 24GB GPU에서는 1e23 FLOPs 이상이면 E=1, 즉 dense가 최적이다. MoE의 이론적 이득이 VRAM에 전부 잡아먹힌다.
  • 80GB에서는 E = 8~16 대역.
  • 8×H100(640GB)에서는 전 구간에서 E≥32가 최적이다.

같은 문제, 같은 목적함수인데 손에 쥔 GPU가 아키텍처를 결정한다. "MoE가 대세니까 우리도"가 아니라 "우리 서빙 환경의 VRAM이 얼마인가"가 먼저다. 업스테이지가 Solar Pro를 설계할 때 "80GB 단일 GPU 구동"을 명시적 설계 목표로 걸고 파라미터 수를 22B로 정한 것도 같은 논리다 — 서빙 제약이 파라미터 수를 먼저 정하고 학습 예산이 뒤따랐다.

만드는 사람과 파는 사람의 최적점이 다르다

또 하나의 분열이 있다. compute-optimal과 inference-optimal이 같은 값이 아니다.

  • 서빙 효율만 보면 전문가 4~8개가 최적이다. E=2는 추론 토큰당 FLOPs를 36%, E=4는 61% 절감한다.
  • 그런데 같은 성능에 도달하기까지 학습 비용이 2.5~3.5배 든다.

즉 전문가를 적게 두면 서빙은 싸지만 학습이 비싸진다. ④편의 "누적 요청 수를 먼저 적어라"가 여기서도 그대로 적용된다.

재활용(upcycling)에도 손익분기가 있다. dense 모델을 MoE로 부풀리는 건 예산이 작을 때만 유리하다 — 8×1B 기준 임계점이 약 4B 토큰이고, 그 이상 학습할 거면 처음부터 MoE로 짓는 게 낫다. 그리고 원본에 부은 매몰 컴퓨트가 클수록 재활용 효율이 떨어진다는 상호작용항이 실측됐다. 좋은 dense 모델일수록 MoE로 개조하기 나쁘다는 뜻이라, 직관과 반대다.

국내외 활성비가 한 대역으로 수렴했다

모델총 / 활성활성비
gpt-oss4.4%
K-EXAONE 2.0 (LG)750B / 37B4.9%
DeepSeek-V3671B / 37B5.5%
Solar-Open2 (업스테이지)250B / 15B6.0%
Qwen39.4%
K-EXAONE (LG)236B / 23B9.7%
Kanana-2 (카카오)30B / 3B10%

한국·중국·미국이 독립적으로 4~10% 대역에 수렴했다. 서로 다른 팀이 서로 다른 예산과 하드웨어로 도달한 값이니, 사실상 업계 공통해로 봐도 무방하다. 새로 설계한다면 이 대역 밖으로 나갈 때 왜 나가는지 설명할 수 있어야 한다.

MoE 설계에서 실무적으로 정할 것을 정리하면 이렇다.

  1. 서빙 VRAM을 먼저 정한다. 이게 총 파라미터의 상한이다.
  2. 활성비를 4~10%에서 고른다. 서빙 물량이 많을수록 낮은 쪽.
  3. granularity는 컴퓨트 예산에 맞춰 8~64에서 고른다. 다만 너무 잘게 쪼개면 통신·안정성 비용이 붙는다 — SKT A.X K1은 최적 구간 8~12보다 일부러 낮은 7을 골라 안정성을 확보했다고 밝혔다.
  4. 컴퓨트 회계는 활성 파라미터로 하고, 그 사실을 표에 적는다(③편).

여기까지가 "얼마나 크게, 얼마나 성기게"다. 그런데 같은 파라미터 수, 같은 활성비여도 어떤 형상으로 배치하느냐에 따라 추론 레이턴시가 몇 배씩 차이 난다. 다음 편은 스케일링 법칙 바깥에 있다고 여겨졌던 변수 — 형상을 다룬다.

— 친칠라 법칙 시리즈 ⑧ / 다음 글: 형상도 스케일링 변수다 — 깊이·너비·하이브리드 어텐션

친칠라 법칙 ⑦ — 한국어의 D축: 토크나이저가 유일한 무료 점심인 이유

앞 편의 숫자는 전부 영어 이야기였다. 실효 재고 300조 토큰, 소진 2028년. 한국어로 모델을 만드는 사람에게는 다른 표가 필요하다. 그리고 그 표를 보면 한국어의 벽은 미래가 아니라 이미 우리 뒤에 있다.

웹에 한국어는 1%도 없다

  • Common Crawl에서 한국어는 0.85%다(2026년 8월 스냅샷 기준, 언어 순위 13위). 영어는 40.45%다.
  • 다국어 코퍼스 CulturaX 기준 한국어는 24.8B 토큰, 전체의 0.39% — 영어 2.85T의 0.87%다. 100분의 1도 안 된다.
  • 한국어 위키백과 전체가 0.3~0.5B 토큰 수준이다(문서 76만 건, 총 낱말 2.83억). 프런티어 모델 1회 학습량의 약 3만분의 1이다.

여기에 앞 편의 방법론을 그대로 적용해 보자. 인덱싱 웹 510T × 한국어 0.85% ≈ 4.3T 원시 토큰, 품질 필터 통과율 10~40%를 곱하면 고유 사용 가능 토큰이 0.4T~1.7T다. 여기에 반복 배수 세 시나리오를 적용하면:

시나리오반복한국어 실효 상한
보수1.7T ~ 6.8T
중립3.4T ~ 13.6T
상한16×6.8T ~ 27T

불확실성이 크지만 결론은 시나리오와 무관하다. 가장 낙관적인 가정에서도 한국어 전체가 FineWeb 하나(15T)를 겨우 넘고, 보수적으로 보면 그 절반도 안 된다. 참고로 이건 필자가 영어 방법론을 한국어에 대입한 추정이지 원 논문에 있는 값이 아니다.

그런데 이 표를 조금 낙관적으로 다시 그릴 근거가 하나 있다. ⑥편의 "4에폭까지 공짜"는 단일 소스를 반복할 때의 규칙이다. 2,000회 이상의 런으로 혼합 안에서의 반복을 따로 조사한 결과는 다르다 — 희소한 목표 도메인 데이터는 15~20회 반복까지 견딘다는 것이고, 논문은 이를 "단일 소스 기준의 통상적인 4에폭 경험칙을 크게 상회한다"고 명시한다. 이유는 풍부한 일반 도메인 데이터가 정규화 역할을 하기 때문이다.

이게 한국 팀에게 가장 직접적으로 적용되는 결과다. 한국어만 4에폭 돌리는 게 아니라 영어·코드가 절반 이상 섞인 혼합 안에서 한국어를 15~20회 반복하는 구성이라면, 위 표의 상한 시나리오가 현실적 목표가 된다. 그리고 이건 국내 팀 전원이 이중언어로 가는 또 하나의 이유이기도 하다 — 영어를 섞는 건 영어 능력을 위해서만이 아니라, 부족한 한국어를 더 많이 반복하기 위해서다.

더 구체적인 실측치도 있다. 과기정통부와 NIPA가 2026년 8월 개방한 독자 파운데이션 모델 사업 학습데이터가 29종, 3,544만 건, 약 1.56조 토큰이다. 국가가 5개 정예팀을 동원해 1년간 모은 총량이고, 보도는 이를 "7~8B 파라미터 모델 하나를 학습시킬 수 있는 수준"이라고 표현했다. 대조하면 EXAONE 4.0 32B가 먹은 14T의 11%다.

그래서 전원이 이중언어다

국내 모델의 데이터 구성을 나열하면 패턴이 하나로 보인다.

  • HyperCLOVA X: 한국어 : 다국어 : 코드 = 1 : 1 : 1
  • SKT A.X 4.0: 한국어 42% / 영어 51% / 기타·코드 7%
  • 카카오 Kanana: 영·한 이중언어. 리포트에 "고품질 영어 데이터가 한국어 벤치마크 점수를 올린다"고 명시
  • KT Mi:dm: 합성 데이터 약 14%, Mi:dm K 2.5 Pro는 한국어 코퍼스의 3~10%를 중국어·일본어
  • 네이버 HyperCLOVA X THINK: targeted synthetic Korean data를 문서에 명시
  • Llama-3-Motif만 한국어:영어 = 9:1로 한국어 편중 — 대신 base가 이미 15T 영어를 먹은 모델이다

"한국어 100% 처음부터 학습"은 선택지가 아니라 불가능이다. 그리고 대부분의 리포트가 한국어 토큰 비중을 퍼센트로 밝히지 않는다는 사실 자체가 신호다. EXAONE도 Kanana도 총 토큰은 공개하면서 한국어 몫은 말하지 않는다.

그런데 영어를 섞으면 한국어가 얼마나 좋아지나

"수학적 강제"라고 쓰긴 했지만, 정확히 말하면 강제가 아니라 교환이다. 그리고 교환비를 모르면 예산을 짤 수 없다. 이 질문에 대한 답이 시리즈에서 가장 부실한 부분이라 따로 파봤는데, 결론부터 말하면 한국어에 대한 공개된 전이 계수는 존재하지 않는다. 그래도 근사할 재료는 있다.

가장 가까운 도구가 전이 스케일링 법칙이다. "사전학습된 파라미터가 목표 도메인 데이터 몇 토큰의 값어치인가"를 실효 전이 데이터 D_T로 정의하고 멱법칙으로 적합한다.

D_T = k · D_F^α · N^β  (영어→파이썬 기준 α = 0.18, β = 0.38)

여기서 두 가지가 따라 나온다.

  • 목표 언어 데이터가 적을수록 전이의 값어치가 폭발한다. 논문의 예시로, 4천만 파라미터 모델에 목표 도메인 데이터가 아주 적을 때 사전학습의 효과가 목표 데이터 1,000배에 해당했다. 한국어처럼 D가 막힌 언어가 정확히 이 구간이다.
  • 모델이 클수록 전이를 더 잘 받는다(β = 0.38). 반대로 목표 언어 데이터를 10배 늘리면 전이 배수는 오히려 떨어진다(지수가 음수). 즉 영어의 값어치는 한국어가 부족할 때 가장 크고, 한국어를 채울수록 줄어든다.

혼합 비율 쪽에는 더 직접적인 형태가 있다 — 언어 i의 손실이 그 언어의 비중에 대해 L_i ∝ p_i^(−γ)를 따르고, 언어 계열별로 γ = 0.065~0.140이 적합됐다. 한국어는 이 연구의 다섯 계열 어디에도 없어서 인접 계열 값(γ ≈ 0.115)을 빌리면, 한국어 비중을 절반으로 줄일 때 한국어 손실이 약 8% 나빠진다는 계산이 나온다. 이건 필자가 대리값으로 환산한 추정이지 논문의 주장이 아니다. 다만 자릿수 감각으로는 쓸 만하다 — 한국어를 절반 줄이는 대가가 파국적이지 않다는 것.

가장 실무적인 결과는 언제 CPT를 하고 언제 처음부터 학습하나의 교차점이다. 실효 데이터를 D_eff = D_목표 + Σ(전이계수 × D_보조) 형태로 적합한 연구는 목표 언어 토큰이 1,440억 미만이면 계속사전학습(CPT)이, 2,830억 이상이면 처음부터 학습이 유리하다는 구간을 제시한다. ⑥편에서 본 한국어 고유 토큰 추정(0.4T~1.7T)이 이 경계 위에 걸쳐 있다는 게 흥미로운데, 정제된 고품질 한국어만 세면 대부분의 팀이 CPT 구간에 있다.

국내 실측 — 한국어 100억 토큰당 KMMLU 1~1.6점

이론보다 나은 게 통제된 실측이다. 같은 base 모델에 한국어만 추가한 사례가 둘 있다.

사례추가 한국어 토큰KMMLU 변화
Yi-6B → Yi-Ko-6B60B+5.85
Yi-34B → Yi-Ko-34B40B+6.56

대략 한국어 100억 토큰당 KMMLU 1~1.6점이고, 큰 모델이 같은 토큰을 더 효율적으로 변환한다(34B가 더 적은 토큰으로 더 많이 올렸다). 방향이 위의 β = 0.38 예측과 일치한다는 게 그나마 위안이다.

그리고 예외가 하나 있다. SKT는 Qwen2.5-72B(KMMLU 66.44)를 A.X 4.0(78.32)으로 만들어 +11.88을 얻었는데, 이는 위 비율의 두 배 가까이다. 설정 파일을 보면 단서가 있다 — 어휘를 152,064에서 102,400으로 교체했다. 토크나이저를 바꾼 것이다. 같은 한국어 토큰을 넣어도 토크나이저를 갈면 이득이 배가된다는 해석이 가능하다(⑪편에서 다시 본다).

다만 이 그림을 과신하면 안 된다

국내 모델 전체를 "한국어 비중 대 KMMLU"로 흩뿌려 보면 기울기가 오히려 음수로 나온다. Polyglot-Ko는 한국어 100%인데 29.26이고, A.X K2는 한국어 15.4% / 영어 72.7%인데 80.5다. 물론 이건 인과가 아니라 교란이다.

  • base 모델 품질이 압도적으로 지배한다. 한국어를 한 톨도 안 넣고 Qwen 세대만 올려도 KMMLU가 15점 넘게 오른다.
  • 파라미터 수가 한국어 비중과 역상관이다. 큰 모델일수록 다국어이고, 큰 모델일수록 점수가 높다.
  • CPT 모델과 처음부터 학습한 모델은 분모가 다르다. ⑪편에서 볼 DUS 문제와 같은 종류다.

결정적으로 평가 노이즈가 효과 크기만큼 크다. 같은 모델, 같은 벤치마크인데 누가 돌렸느냐에 따라 최대 10.8점까지 차이 났다. 프롬프트 형식·few-shot 수·정규화 방식이 다르기 때문이다. 남이 보고한 KMMLU를 표에 나란히 놓고 순위를 매기는 것 자체가 위험하다는 뜻이고, 이건 이 시리즈가 인용하는 모든 벤치마크 표에 해당하는 경고다. 비교하려면 같은 하네스로 직접 다시 돌려야 한다.

마지막으로 반대 방향의 우려 — "언어를 많이 섞으면 언어당 성능이 떨어진다"는 다국어의 저주는 어떤가. XLM-R에서 언어를 7개에서 100개로 늘렸을 때 XNLI가 71.8 → 67.7로 떨어진 게 고전적 근거다. 다만 후속 연구는 이게 소형 모델 현상이라고 정리했다 — 1.1B/3B 규모에서는 저주가 관측되지 않았다. 처방도 명확하다. 은닉 차원을 키우거나(768→1152로 30개 언어 모델이 7개 언어 모델 수준 회복), 어휘를 키우면 된다(32K→256K에서 +2.8%p). 국산 모델의 큰 어휘가 여기서 또 한 번 값을 한다.

토크나이저 — 유일한 무료 점심

여기서 한국어에만 있는 레버가 등장한다. 6ND의 D는 글자 수가 아니라 토큰 수다. 그러니 토크나이저를 바꾸는 건 데이터를 늘리는 것과 수학적으로 같은 일이다.

토크나이저어휘한국어 효율
HyperCLOVA X100,000동일 문서 676.48토큰
GPT-4같은 문서 1,420.30 (2.10배)
LLaMA같은 문서 2,079.11 (3.07배)
EXAONE102,4002.46 tok/word (Llama 3.1 3.01 = 1.22배)
SKT A.X비공개GPT-4o 대비 33% 절약
EEVE (야놀자)32,000 → 40,960같은 6.7GB 코퍼스 3.1B → 1.6B (1.94배)

야놀자 EEVE의 사례가 특히 실무적이다. 한국어 토큰 8,960개를 추가한 것만으로 같은 코퍼스의 토큰 수가 절반이 됐다. 어휘를 28% 늘려서 D를 49% 줄인 것이다.

이게 왜 결정적인가. 압축률 2배는 D를 절반으로 줄이는 게 아니라 같은 컴퓨트에 2배의 정보를 넣는 것이다. 그리고 효과가 세 군데에 동시에 나타난다.

  • 학습비 절반 — 같은 텍스트를 절반의 토큰으로 학습한다.
  • 추론비 절반 — 같은 답변을 절반의 토큰으로 생성한다. 이건 모델 수명 내내 복리로 돌아온다.
  • 컨텍스트 실질 2배 — 128K 윈도우에 2배 분량의 한국어가 들어간다.

뒤집어 말하면 영어권 오픈 모델을 토크나이저 손대지 않고 그대로 쓰면 한국어에서 학습·추론 비용을 2~3배 내고 컨텍스트도 실질 3분의 1로 쓰고 있는 것이다. 이 시리즈에서 유일하게 진짜 공짜 점심에 가까운 항목이다.

어휘 크기도 스케일링 법칙을 따른다

흥미로운 건 최적 어휘 크기 자체가 모델 크기와 함께 커진다는 법칙이 있다는 점이다. 이 기준으로 보면 Llama2-70B의 32K 어휘는 예측 최적치(약 216K)의 7분의 1에 불과하다. 3B급에서 어휘를 32K에서 43K로만 늘려도 ARC-C가 29.1 → 32.0으로 올랐다는 실측도 있다.

그리고 국산 모델들은 이미 그 방향에 있다.

  • EXAONE 102,400 / Kanana-2 128,256 / KT Mi:dm 131,392 / K-EXAONE 153,600 / Solar-Open2 196,608
  • 가장 명시적인 건 SKT A.X K1이다 — 스케일링 법칙 추정치 약 132,500을 10T 토큰 레짐을 고려해 163,840으로 25% 상향했다고 리포트에 적었다.

즉 국산 모델의 큰 어휘는 "한국어라 어쩔 수 없이" 키운 것인데, 결과적으로 어휘 스케일링 법칙이 권하는 방향과 일치한다. 제약이 우연히 최적에 가까워진 드문 경우다. 영어권 모델을 그대로 쓰는 팀이 놓치고 있는 이득이기도 하다.

그래서 비율을 어떻게 정하나 — 혼합 비율 스케일링 법칙

"한국어 : 영어 : 코드 = ? : ? : ?"는 한국 팀의 실제 의사결정 변수인데, 이걸 정하는 방법론이 있다는 걸 아는 사람이 의외로 적다. 다만 비용 차이가 크고, 최근에 회의적인 반론도 나왔다. 순서대로 보자.

  • Data Mixing Laws: 소규모 프록시 런으로 혼합 비율 → 최종 손실을 예측한다. 함수형이 멱법칙이 아니라 지수형이라는 게 특징이다. 성과는 확실하다 — 최적화한 혼합이 기본 혼합의 73% 스텝에서 같은 손실에 도달했고, 뒤집으면 기본 혼합은 48% 더 많은 스텝이 필요했다. 문제는 비용이다. 논문 스스로 오버헤드를 목표 런의 1/5 ~ 1/50(2~20%)로 적는다. 결코 공짜가 아니다.
  • RegMix가 비용 면에서 승자다. 100만 파라미터 모델 512개를 각 1B 토큰으로 돌려 회귀로 최적 비율을 찾는데, 1B/25B 목표 런 대비 2.05%다. DoReMi 대비로는 컴퓨트가 10분의 1이고, 전부 병렬 실행이 가능하다. 성과는 사람이 고른 비율 대비 +2.2%p, 그리고 1M에서의 순위가 1B에서의 순위와 상관계수 0.97이었다.

여기서 핵심 구분이 나온다. 순위는 전이되지만 절대 최적값은 전이되지 않는다. 같은 목표 코퍼스에 대해 최적 가중치가 101M 모델에서 9.5%였다가 539M에서 1.9%로 5배 이동한 실측이 있다. 방향성도 밝혀져 있다 — 위키·논문처럼 정제된 도메인은 규모가 커질수록 비중이 빠르게 줄고, 다양한 웹 데이터는 비중이 커진다. 즉 작은 프록시로 "A가 B보다 낫다"는 알 수 있지만 "한국어 37%가 최적"은 알 수 없다.

그리고 정직하게 덧붙일 반론이 있다. 스탠퍼드의 Aioli 연구는 "기존 방법 중 어느 것도 단순 층화 샘플링(stratified sampling) 베이스라인을 일관되게 이기지 못한다"고 결론지었고, 일부 방법은 최대 6.9 PPL 더 나빴다. 다른 비교 실험에서는 Data Mixing Laws가 꼴찌를 하기도 했다. 실무 처방: 무슨 방법을 쓰든 층화 샘플링 베이스라인을 나란히 돌려라. 정교한 방법이 단순한 방법을 이기는지부터 확인하는 게 순서다.

국내 사례로는 카카오가 사실상 이 방식을 프로덕션에서 썼다. Kanana의 2단계 데이터는 가벼운 어닐링 실험과 어블레이션으로 선정됐다고 리포트에 적혀 있다 — 프록시 기반 혼합 탐색이다. 효과는 모델이 클수록 컸다.

Kanana 2단계 효과KMMLU벤치마크 평균
8B45.51 → 48.30 (+2.79)46.81 → 57.44 (+10.63)
26.8B54.26 → 59.04 (+4.78)58.32 → 67.01 (+8.69)

전체의 10%인 고품질 구간이 이만큼을 만든다. 예산이 적은 팀이 가장 먼저 훔쳐야 할 게 이것이다 — 모델을 키우거나 토큰을 늘리는 건 돈이 선형으로 들지만, 마지막 10% 구간의 데이터를 갈아엎는 건 이미 쓰기로 한 예산 안에서 하는 일이다.

정리 — 한국어에서 D축을 늘리는 다섯 가지 방법

  1. 토크나이저를 고쳐라. 가장 싸고 효과가 세 방향으로 온다. 어휘 8,960개 추가로 코퍼스가 1.94배가 된 사례가 있다.
  2. 영어와 코드를 섞어라. 코드는 손실 기준으로 50%까지 무해하지만 자연어 추론 벤치마크의 최적점은 25% 근처이고, 어닐링 구간에 20%를 넣는 게 특히 효과적이다(⑥편).
  3. 혼합 안에서 반복하라. 단일 소스로는 4에폭이 한계지만, 풍부한 영어·코드가 섞인 혼합 안에서는 희소한 한국어를 15~20회까지 반복해도 견딘다. 그리고 R_D* > R_N*의 함의(모델 키우기보다 에폭 늘리기)가 D가 막힌 언어에 그대로 적용된다.
  4. 비율은 프록시로 찾되 베이스라인과 비교하라. RegMix식 탐색이 목표 런의 2% 수준이고 순위 상관이 0.97이다. 다만 절대 최적값은 스케일에 따라 이동하고, 층화 샘플링을 못 이기는 경우도 있다.
  5. 마지막 10%를 고품질로. 국립국어원 모두의 말뭉치나 AI Hub의 정제된 데이터는 사전학습 스케일에서는 반올림 오차지만, 어닐링 구간에 넣을 재료로는 최상급이다. 카카오가 10%로 평균 10.63점을 올린 그 자리다.

그런데 D축을 다 짜내도 한계가 있다면, 남은 축은 N뿐이다. 그리고 2025년 이후 MoE가 그 N을 두 개로 쪼갰다.

— 친칠라 법칙 시리즈 ⑦ / 다음 글: 6ND가 두 조각으로 쪼개진 날 — MoE와 메모리 축

친칠라 법칙 ⑥ — 데이터 벽: 4에폭의 법칙과 지구에 남은 재고

앞 편까지의 결론은 "모델을 줄이고 토큰을 늘려라"였다. 실제로 1.2B 모델에 12조 토큰을 먹이는 시대가 됐다. 그런데 친칠라를 그대로 밀면 필요한 토큰이 컴퓨트의 제곱근으로 늘어난다. 그 토큰이 지구에 남아 있는가.

공개 텍스트의 재고와 소진 시점

Epoch AI의 추정(2024년 개정판)이 기준선이다.

  • 인덱싱된 웹 510T 토큰(95% 신뢰구간 130T~2,100T), Common Crawl 130T, 비인덱스 포함 인터넷 전체 3,100T.
  • 중복 제거와 품질 필터를 통과하는 비율을 10~40%로 잡으면 실효 재고는 약 300T 토큰.
  • 학습 데이터셋 크기는 연 2.4배(0.38 OOM/년)로 커진다.
  • 소진 중앙값 2028년, 80% 구간 2026~2032년. 오늘이 2026년이니 우리는 그 구간 안에 서 있다.
  • 그리고 과학습이 벽을 앞당긴다 — 5배 과학습이면 2027년, 100배면 2025년에 이미 소진이다. ④편에서 본 1,875:1을 떠올리면 이건 먼 얘기가 아니다.

신뢰구간이 16배 폭이라는 점은 정직하게 짚어야 한다. 이 숫자들은 정밀한 재고 조사가 아니라 자릿수 감각이다. 다만 자릿수만으로도 결론이 나온다 — 프런티어 학습량이 연 2.4배로 커지는데 재고는 고정이면, 몇 년 안에 만난다.

4에폭까지는 공짜다 — 그리고 규칙이 뒤집힌다

데이터가 모자라면 같은 데이터를 다시 보면 된다. 문제는 몇 번까지 통하느냐인데, Muennighoff 등의 400회 학습 실험(최대 9B/900B 토큰)이 3단계로 답을 정리했다.

  • ~4에폭: 새 데이터와 손실 차이가 무시할 수준. 사실상 공짜다.
  • 4~16에폭: 이득이 급격히 감쇠하지만 여전히 양수다. 데이터가 부족한 언어에서 실제로 살아 있는 구간이 여기다.
  • 16에폭 이후: 반복 토큰의 반감기 상수 R_D* = 15.4를 넘어서면 추가 이득이 사실상 0. 고유 토큰의 이론적 실효 상한은 약 16배다.

더 중요한 건 두 상수의 대소 관계다 — 반복 토큰의 감쇠 상수 R_D* = 15.4가 여분 파라미터의 감쇠 상수 R_N* = 5.3보다 크다. 이는 데이터가 부족할 때 남는 컴퓨트를 모델 키우기보다 에폭 늘리기에 쓰는 게 낫다는 뜻이다. 친칠라의 "파라미터와 토큰을 같이 키워라"가 데이터 제약 아래서 깨지는 정확한 지점이 여기다.

같은 논문의 부수적 발견도 실무적이다. 학습 데이터의 50%까지 코드로 채워도 자연어 손실이 나빠지지 않고, 실효 토큰이 2배로 늘어난다(50%를 넘기면 하락). 코드는 자연어 데이터의 대체재다. 한국어처럼 D축이 막힌 언어에서 이건 큰 레버다.

다만 여기엔 중요한 단서가 붙는다. 손실 최적과 벤치마크 최적이 다르다. 코드 비중을 0·25·50·75·90·100%로 전부 돌려 본 어블레이션에서 자연어 추론 성능의 최적점은 25%였고(0% 대비 +3.4%), 100%는 25% 대비 −18.3%였다. 더 눈에 띄는 건 세계 지식(world knowledge)은 코드 비중에 단조 감소한다는 점이다 — 코드 100%면 −86%다. 즉 "50%까지 공짜"는 손실 기준의 상한이고, 실제로 벤치마크를 올리려면 25% 근처가 낫다. 대신 어닐링 구간에 코드 20%를 넣으면 세계 지식 +10.1%, 코드 능력 +20%가 나왔는데, 코드 없이 어닐링하면 이득이 거의 없었다.

양이 막히면 질 — 90%를 버리는 사람들과 4배를 남기는 사람들

기본기는 여전히 중복 제거다. C4 분석에서 61단어짜리 문장 하나가 6만 번 반복돼 있었고, 중복을 제거하면 암기 텍스트 방출이 10배 줄고 검증셋 오염(4% 이상)도 줄어든다.

그다음이 필터링인데, 여기서 흥미로운 논쟁이 벌어진다.

  • FineWeb-Edu는 교육적 가치 점수로 원본의 92%를 버려 1.3T 토큰만 남기고 지식·추론 벤치마크를 끌어올렸다.
  • DCLM-Baseline은 2.6T 토큰으로 7B를 학습해 MMLU 64%, Llama 3 8B 수준을 6.6배 적은 컴퓨트로 달성했다. 좋은 데이터는 컴퓨트를 6배 아낀다.
  • 반대로 Nemotron-CC는 "90%를 버리는 대가"를 지적하며 고유 토큰을 4배 유지하면서 MMLU 동급을 냈고, 8B/1T 학습에서는 DCLM 대비 +5.6 MMLU였다.

둘을 화해시키는 건 필터링 스케일링 법칙이다 — 필터링 강도는 컴퓨트 예산의 함수다. 컴퓨트가 작으면 빡세게 거르는 게 맞고, 컴퓨트가 커서 에폭을 여러 번 돌 거라면 덜 걸러야 한다. 고품질 데이터는 반복될수록 빨리 가치를 잃기 때문이다. 몇 에폭을 돌 계획인지 모르면 최적 필터 임계값을 정할 수 없다는 뜻이기도 하다.

그리고 요즘 표준 레시피인 "대량 중간품질 → 소량 고품질 어닐링"도 이 논리 위에 있다. 국내 사례가 가장 구체적이다 — 카카오 Kanana는 1단계 2.7T + 2단계 300B로 학습했는데, 전체의 10%인 2단계만으로 KMMLU가 2.79점, 평균이 10.63점 올랐다. LG EXAONE 3.0도 6T 일반 + 2T 전문의 2단계다.

합성 데이터 — 마법인가 자기잠식인가

되는 쪽부터. phi-4는 약 10T 토큰 중 합성 데이터 400B(50가지 유형)를 최종 혼합의 40%로 넣어 GPQA·MATH에서 교사 모델을 넘었고, 웹 문서를 다시 쓰는 WRAP은 사전학습을 3배 가속했다. 규칙은 이렇게 정리된다 — 합성 데이터는 새 정보를 만들 때가 아니라 이미 가진 정보를 학습하기 쉬운 형태로 재배열할 때 작동한다.

안 되는 쪽은 모델 붕괴다. 자기 출력으로 다음 세대를 학습시키면 분포의 꼬리부터 사라지고 결국 분산이 작은 엉뚱한 분포로 수렴한다. 다만 후속 반박이 조건을 명확히 했다 — 붕괴하는 건 원본을 합성으로 치환할 때이고, 원본 위에 누적하면 테스트 오차 상한이 세대 수와 무관하게 유한하다. 원본을 10%만 남겨도 붕괴가 크게 완화된다.

모델 붕괴는 종말론이 아니라 파이프라인 설계 실수에 대한 경고다. 데이터를 치환하지 말고 누적하라는 것. 동시에 합성 데이터가 데이터 벽을 없애 주지도 않는다 — 새 정보를 만들지는 못하기 때문이다.

그래서 우리에게 남은 토큰은 몇 개인가

여기서 이 편의 가장 정직한 부분을 짚어야 한다. 실효 재고 추정은 반복 배수 가정 하나에 4배씩 흔들린다. 위에서 본 세 숫자가 서로 다른 질문의 답이기 때문이다.

시나리오반복 배수근거
보수손실 페널티가 사실상 0인 구간만 인정
중립감쇠 구간의 절반까지 활용
상한16×R_D* = 15.4, 이론적 최대

Epoch AI 자신은 보수적으로 5배를 정책 가정으로 썼다. 어떤 값을 쓰느냐에 따라 "벽"의 위치가 몇 년씩 움직인다. 이 불확실성을 숨기고 하나의 연도를 단언하는 글은 믿지 말아야 한다 — 이 시리즈의 것을 포함해서.

어쨌든 영어의 벽은 2028년 언저리다. 그런데 한국어로 모델을 만드는 사람에게 이 편의 숫자는 전부 남의 이야기다. 한국어의 벽은 미래가 아니라 이미 지나간 지점에 있다. 다음 편은 그 좌표를 정확히 찍는다.

— 친칠라 법칙 시리즈 ⑥ / 다음 글: 한국어의 D축 — 토크나이저가 유일한 무료 점심인 이유

친칠라 법칙 ⑤ — 오버트레이닝의 청구서: 파인튜닝이 깨지고 양자화가 안 먹는다

앞 편의 결론은 "토큰을 더 먹여라, 포화점도 없다"였다. 실제로 47개 모델로 10,000:1까지 밀어도 품질은 계속 좋아졌다. 그런데 그 실험들은 사전학습 손실만 봤다. 모델을 실제로 쓰려면 파인튜닝을 하고 양자화를 해서 배포한다. 그 단계에서 청구서가 도착한다.

먼저, 수익률 곡선이 생각보다 납작하다

포화점이 없다는 것과 수익률이 유지된다는 건 다른 말이다. 같은 논문이 어느 구간의 데이터로 법칙을 적합하느냐에 따라 지수가 크게 달라진다는 것을 보였다.

적합 구간α (N 지수)β (D 지수)
친칠라 원본0.340.28
통상 구간만(≤100 토큰/파라미터)0.080.13
전 구간(10~10,000)0.180.24

논문의 경고 문장이 정확하다 — "통상적인 토큰/파라미터 구간에서만 수집한 데이터로 법칙을 만들면 극단 구간에서 추가 토큰의 효과를 과대평가한다." 200:1 구간의 실험으로 2,000:1을 예측하면 실망하게 된다는 뜻이다. 이건 ⑫편에서 직접 스케일링 법칙을 적합할 때도 그대로 적용되는 함정이다.

청구서 ① 과학습한 모델은 파인튜닝이 깨진다

Catastrophic overtraining 연구가 반직관적인 사실을 보였다. OLMo-1B를 서로 다른 토큰 수까지 학습시킨 뒤 동일하게 파인튜닝했더니:

  • 3T 토큰까지 학습한 모델이 2.3T 모델보다 파인튜닝 후 2% 이상 나빴다.
  • 조건에 따라서는 1.5T 모델 수준까지 떨어졌다. 사전학습에 태운 7,000억 토큰이 마이너스 값을 냈다는 뜻이다.
  • 임계점은 약 2.5T, 1B 모델 기준으로 2,500:1이다.

메커니즘은 progressive sensitivity다. 오래 학습할수록 가중치가 더 예민해져서, 파인튜닝뿐 아니라 양자화·프루닝 등 사후에 가하는 모든 변형에 취약해진다. 사전학습 손실만 보면 계속 좋아지는데, 손대는 순간 무너진다.

청구서 ② 그리고 양자화가 안 먹는다

정밀도 스케일링 법칙은 465회 이상의 사전학습 런으로 학습 후 양자화(PTQ)의 열화를 적합했다. 결과는 δ ∝ (D/N)^γ토큰/파라미터 비율이 높을수록 양자화 열화가 커진다. 논문의 표현은 더 세다. "추가 데이터가 추론 시점 성능에 적극적으로 해롭다."

그리고 논문이 지목한 위험 구간이 D/N ≈ 2,000인데, 이게 정확히 Llama-3-8B가 서 있는 자리다(1,875:1). 아이러니가 완성된다 — 추론비를 아끼려고 오버트레이닝을 했더니, 추론비를 아끼는 INT8 양자화가 망가진다.

덧붙여 같은 연구는 컴퓨트 최적 학습 정밀도가 16비트가 아니라 7~8비트라고 결론짓는다. 16비트는 낭비이고, 4비트로 가려면 모델을 불균형하게 키워야 한다.

그런데 한국 온디바이스 모델이 바로 그 자리에 있다

두 연구의 임계값(2,500:1과 2,000:1)을 ⑪편에서 볼 국내 모델 비율에 겹쳐 보면 불편한 그림이 나온다.

모델토큰/파라미터두 임계값 대비
EXAONE 4.0 1.2B10,000:1둘 다 크게 초과
EXAONE 3.5 2.4B2,708:1둘 다 초과
Kanana Nano 2.1B143:1안전 구간

온디바이스 모델은 정의상 양자화를 전제로 한다. 스마트폰이나 엣지 기기에 BF16으로 올리지 않는다. 그런데 온디바이스용으로 만든 소형 모델일수록 토큰/파라미터 비율이 극단으로 가고, 그 자리가 하필 양자화가 가장 안 먹는 자리다.

다만 이건 내가 두 연구의 임계값을 국내 모델 비율에 대입해 본 추론이지 실측이 아니다. OLMo의 2.5T 임계는 1B 모델과 특정 데이터셋에서 나온 값이고, EXAONE에 그대로 적용된다는 증거는 없다. 데이터 품질, 학습 스케줄, 어닐링 방식이 다르면 임계도 이동한다. 그러니 주장이 아니라 검증해 볼 가설로 읽어야 한다. 그리고 검증 방법은 간단하다 — 온디바이스 모델을 배포하기 전에 BF16 성능이 아니라 INT8/INT4 성능으로 벤치마크를 다시 재는 것이다. 어차피 그 형태로 나갈 거라면 그게 맞는 측정이다.

그래서 대안은 증류다

과학습의 목적이 "작은 모델을 좋게 만드는 것"이라면, 같은 목적을 달성하는 다른 경로가 있다. 증류(distillation)다.

Gemma 2가 이걸 명시적으로 썼다 — 증류로 "가용 토큰을 넘어선 학습을 흉내내" 컴퓨트 최적의 50배 이상 토큰을 정당화했고, Gemma 3는 전 사이즈에 적용했다. Llama 3.2의 1B/3B도 프루닝+증류로 만들어졌다.

다만 증류에도 손익분기가 있다. 증류 스케일링 법칙의 결론은 셋이다.

  • 교사가 이미 존재하거나 학생이 여럿일 때만 유리하다. 학생 하나를 위해 교사를 새로 만들면 손해다.
  • 학생 예산이 충분히 커지면 지도학습이 항상 이긴다. 증류는 작은 학생의 전략이다.
  • 교사가 너무 세면 오히려 학생이 나빠진다(capacity gap). 성능이 U자를 그린다.

그리고 한국 팀은 이 조건을 이미 만족한다. 교사가 이미 있고(Qwen·Llama·자사 대형 모델), 학생이 여럿이다(온디바이스·서버·경량). ⑪편에서 보겠지만 네이버가 SEED 모델을 이 경로로 만들었고, 카카오는 증류로 2.1B를 처음부터 학습의 10분의 1 데이터로 더 좋게 만들었다.

정리

  • 오버트레이닝의 수익은 사전학습 손실 기준으로는 계속 양수다. 다만 극단 구간에서 곡선은 납작하고, 좁은 구간 데이터로 만든 예측은 이걸 과대평가한다.
  • 파인튜닝·양자화 계획이 있으면 D/N을 2,000~2,500 아래로 두는 것을 검토하라. 그 너머는 다운스트림에서 되돌려준다.
  • 어차피 양자화해서 배포할 모델은 양자화 상태로 벤치마크하라. BF16 점수는 출시되지 않는 모델의 점수다.
  • 작은 모델을 좋게 만드는 게 목적이면 증류를 먼저 계산하라. 교사가 있고 학생이 여럿이면 거의 항상 싸다.

그런데 여기까지의 모든 논의에는 전제가 하나 깔려 있다 — 토큰이 있다는 전제다. 1.2B 모델에 12조 토큰을 먹이려면 그 토큰이 어딘가 있어야 한다. 다음 편은 지구에 남은 텍스트의 재고를 센다.

— 친칠라 법칙 시리즈 ⑤ / 다음 글: 데이터 벽 — 4에폭의 법칙과 남은 재고

친칠라 법칙 ④ — 식에 빠진 항 하나: 추론을 넣으면 답이 뒤집힌다

앞의 세 편은 친칠라가 옳았다는 이야기였다. 이번 편은 그 옳은 답이 왜 실무에서 거의 쓰이지 않는지에 대한 것이다. 이유는 논쟁이 아니라 목적함수에 있다. 친칠라가 최소화한 것은 학습 비용뿐이다.

식에 빠진 항 하나

친칠라의 세계에서 총비용은 6ND다. 그런데 모델을 만들어서 서빙하는 사람의 총비용은 다르다.

C = 6·N·D학습 + 2·N·D추론

뒤의 항이 Sardana와 Frankle이 2024년에 추가한 것이다(추론은 순전파만 하므로 파라미터당 토큰당 2 FLOPs). 항 하나를 더했을 뿐인데 최적점이 통째로 이동한다. 방향은 명확하다 — 모델을 더 작게, 학습은 더 오래. 작은 모델은 평생 추론 비용이 싸니, 학습에 돈을 더 써서 작은 모델의 품질을 끌어올리는 게 남는 장사가 된다.

손익분기는 대략 누적 10억 요청이다. 사내 도구 하나에 하루 1,000건이면 평생 못 넘지만, B2C 서비스라면 금방 넘긴다. 이 시리즈에서 독자가 가장 먼저 적어야 할 숫자가 이것이다 — 우리 모델은 평생 몇 개의 토큰을 뱉을 것인가.

FLOPs로는 16%, 달러로는 58%

여기서 이 편의 핵심 반전이 나온다. 논문의 결과를 FLOPs로만 보면 시시하다.

  • 30B 품질을 5T 추론 토큰 조건에서 다시 풀면 30B/1.56T → 16.4B/3.27T. 총 FLOPs 절감은 16%.
  • 전체 실험 범위로도 FLOPs 절감은 2.6~16%에 그친다.

그런데 달러로 환산하면 34~58%가 된다.

  • 70B 품질을 21.5B / 27T 토큰(1,256:1)으로 만들면 $51.5M → $23.8M, 54% 절감.
  • 30B 품질은 $10.8M → $4.52M, 58% 절감.

가장 뾰족한 문장은 이것이다 — 2조 토큰을 서빙하는 조건에서 친칠라 최적 70B는 컴퓨트 최적 대비 FLOPs를 1.3%밖에 더 쓰지 않는데, 돈으로는 36% 더 든다.

왜 FLOPs와 달러가 어긋나는가 — 디코딩은 연산이 아니라 대역폭이다

원인은 학습 MFU는 50% 근처인데 디코딩 MFU는 1% 수준이라는 데 있다. 50배 격차다. 그런데 "왜 1%인가"를 짚고 가야 이 편의 결론을 믿을 수 있다.

자기회귀 디코딩은 토큰 하나를 만들 때마다 가중치 전체를 메모리에서 한 번씩 읽어 온다. 즉 병목이 연산이 아니라 메모리 대역폭이다. 배치 1 기준 이론 상한은 이렇게 나온다.

토큰/초 ≈ HBM 대역폭 ÷ (파라미터당 바이트 × N활성)

H100의 대역폭 3.35TB/s에 BF16(2바이트) 7B 모델을 넣으면 약 239 토큰/초가 상한이다. 이때 쓰는 연산은 초당 2×7e9×239 ≈ 3.3 TFLOPs로, H100의 989.5 TFLOPS 대비 0.34%다.

그리고 여기서 깔끔한 사실이 하나 나온다 — 이 0.34%는 모델 크기와 무관하다. 위 두 식에서 N이 그대로 약분되기 때문이다. 배치 1로 디코딩하는 한 7B든 70B든 MFU는 대역폭 대 연산력의 비율로 고정된다. H100의 경우 연산기가 놀지 않으려면 바이트당 295 FLOPs가 필요한데, 배치 1 디코딩은 바이트당 2 FLOPs를 쓴다.

그래서 배치를 키워 여러 요청이 같은 가중치 읽기를 공유하게 만드는 것이 서빙 최적화의 거의 전부다. 실제로 4K 컨텍스트에서 배치를 119까지 올리면 MFU가 8.1%가 되고, FP8로 잘 튜닝한 8B 서빙의 실측은 21.8%까지 올라간다. 뒤집어 말하면 흔히 인용되는 "디코딩 MFU 1%"는 물리 법칙이 아니라 배치 3 수준으로 돌리고 있다는 뜻이고, 그건 아키텍처 문제가 아니라 운영 문제다. 배치 상한을 정하는 건 KV 캐시 메모리인데, 그 계산은 ⑨편에서 한다.

어쨌든 이 편의 결론은 유효하다 — 추론 쪽 FLOPs 1은 학습 쪽 FLOPs 1보다 훨씬 비싸다. FLOPs를 목적함수로 쓰는 순간 이 사실이 통째로 사라진다. 다만 그 격차가 50배냐 5배냐는 여러분의 서빙 스택이 결정한다.

현업은 이미 이론을 한참 추월했다

모델토큰/파라미터친칠라 대비
Chinchilla 70B20:11배
Llama 3.1 405B38.5:12배
Llama 3 8B1,875:194배
SmolLM2-1.7B6,471:1324배
Qwen3-0.6B60,000:13,000배

Llama 3 논문은 이유를 대놓고 적었다 — "작은 모델들은 컴퓨트 최적보다 훨씬 오래 학습시켰다." 추론 예산이 같은 조건에서 그게 더 낫기 때문이다. 그리고 47개 모델로 토큰/파라미터 비율을 10에서 10,000까지 밀어본 실험에서도 포화점은 발견되지 않았다. 계속 좋아진다.

얼마나 줄일 수 있는지에 대한 깔끔한 정량화도 있다. 컴퓨트를 2배 쓰면 친칠라 최적 크기의 30%까지 모델을 줄일 수 있다. 학습비 2배로 서빙 비용을 3분의 1로 만드는 거래다. 서빙 물량이 많다면 거의 항상 남는 장사다.

다만 표에 중요한 반전이 숨어 있다. 플래그십은 여전히 친칠라 근처다. Llama 3.1 405B는 자체 예측 최적점 402B/16.55T에 대해 실제로 405B/15.6T(38.5:1)를 썼다 — 최적점의 2배 안쪽이다. 오버트레이닝은 만능 전략이 아니라 "서빙 물량이 많은 소·중형 모델"의 전략이다. 국내 팀이 만드는 게 대부분 이 구간이라는 점이 중요하다.

그럼 오래 학습하는 건 공짜인가

여기까지만 읽으면 "토큰을 더 먹이면 무조건 이득, 포화점도 없다"로 보인다. 실제로 2024년까지의 업계 합의가 대체로 그랬다.

그런데 청구서가 나중에 도착한다. 2025년 이후의 연구 둘이 과학습한 모델은 파인튜닝이 잘 안 되고, 양자화도 잘 안 된다는 것을 정량적으로 보였다. 그리고 그 위험 구간의 좌표가 하필 국내 온디바이스 모델들이 서 있는 자리다. 다음 편은 그 청구서를 연다.

— 친칠라 법칙 시리즈 ④ / 다음 글: 오버트레이닝의 청구서 — 파인튜닝이 깨지고 양자화가 안 먹는다

친칠라 법칙 ③ — C = 6ND는 어디서 깨지는가: 128K 컨텍스트와 MoE

앞의 두 편에서 확인한 건 하나다 — 무엇을 세느냐가 지수를 0.2 움직인다. Kaplan은 마지막 레이어를 안 셌고, 임베딩도 안 셌다. 그래서 이 질문이 남는다. 우리가 견적서 첫 줄에 쓰는 C = 6ND는 정확히 무엇을 세고 있는가. 그리고 언제 그 식이 깨지는가.

6N의 유도, 그리고 놀라운 정확도

유도는 세 줄이다.

  • 순전파: 파라미터 하나당 토큰당 곱셈 1 + 덧셈 1 = 2N
  • 역전파: 입력에 대한 그래디언트와 가중치에 대한 그래디언트, 순전파의 2배 = 4N
  • 합쳐서 토큰당 6N, 전체 C = 6ND

출처는 친칠라가 아니라 Kaplan 2020이고, 친칠라는 부록에서 정밀 계산 대비 비율이 0.99~1.10임을 확인했다. 근사치치고는 이례적으로 잘 맞는다. 실제 공개 모델로 검산해 보면 더 인상적이다.

모델공식 보고 FLOPs6ND 계산오차
OLMo 2 32B1.3×10²⁴1.27×10²⁴2%
Llama 3 405B3.8×10²⁵3.79×10²⁵0.3%
EXAONE 4.0 32B2.69×10²⁴2.688×10²⁴0.07%

국내외 팀이 실제로 6ND로 컴퓨트를 회계한다. 카카오 Kanana는 아예 그림 캡션에 "6 × 학습 토큰 × 모델 크기"라고 공식을 적어 놓았다. 그러니 이 식을 믿어도 된다 — 세 군데만 조심하면.

균열 ① 긴 컨텍스트 — 128K에서는 절반 이하로 과소평가한다

6ND에는 어텐션의 QK·AV 행렬곱이 빠져 있다. 파라미터에 비례하지 않고 시퀀스 길이에 비례하기 때문이다. 어텐션 항과 파라미터 항의 비율은 대략 이렇다.

어텐션 / 파라미터 ≈ s / (12 · d_model)

  • d_model 8,192, 시퀀스 2,048 → 2.1%. 무시해도 된다. Kaplan이 "d_model이 컨텍스트의 12분의 1보다 훨씬 크면 된다"고 조건을 단 이유다.
  • 같은 모델, 시퀀스 128K → 약 133%. 어텐션이 파라미터 항보다 커진다. 6ND가 실제 컴퓨트를 절반 이하로 과소평가한다.

롱컨텍스트 학습을 예산에 넣는다면 이 항을 따로 세야 한다. 실무에서 이 문제를 회피하는 방식이 "롱컨텍스트는 마지막에 붙이기"다 — 네이버 HyperCLOVA X는 학습의 90%를 4K로 하고 마지막 10%만 32K로 돌렸다. DeepSeek-V3의 컨텍스트 확장 단계도 119K GPU-시간으로 전체의 4.3%에 불과하다.

균열 ② MoE — 어느 파라미터를 세느냐로 결론이 뒤집힌다

MoE에서는 N에 총 파라미터가 아니라 토큰당 활성 파라미터를 넣어야 한다. 이건 추측이 아니라 국내 리포트가 스스로 증명한다 — LG의 K-EXAONE(총 236B / 활성 23B)이 보고한 1.52×10²⁴ FLOPs를 검산하면 6 × 23e9(활성) × 11e12 = 1.52e24로 정확히 맞는다.

문제는 이 선택이 결론을 뒤집는다는 것이다. SKT A.X K1(총 519B / 활성 33B / 약 10T 토큰)을 보자.

  • 총 파라미터 기준: 10T ÷ 519B = 19.3:1 — 우연히도 친칠라와 판박이다.
  • 활성 파라미터 기준: 10T ÷ 33B = 303:1 — 16배 과학습이다.

같은 모델이 정의만 바꾸면 "교과서적 최적"과 "극단적 과학습" 사이를 오간다. 그러니 MoE 모델의 "친칠라 최적" 주장을 볼 때는 어느 쪽을 셌는지부터 확인해야 한다. 실무 규칙은 명확하다 — 컴퓨트는 활성 파라미터에, 메모리는 총 파라미터에 붙는다. 이 분리가 만드는 결과는 ⑧편에서 따로 다룬다.

균열 ③ 회계 방식 자체 — 재계산과 벽시계

마지막 균열은 미묘하다. 6ND는 해석적 FLOPs이지 실제로 소비한 연산이 아니다.

메모리를 아끼려고 활성값을 버렸다가 역전파에서 다시 계산하는 activation checkpointing을 쓰면 순전파를 한 번 더 하는 셈이라 실무 컴퓨트는 약 8ND가 된다. 33% 차이다. 대부분의 견적표(이 시리즈의 것을 포함해)가 이걸 6ND로 계산하고 넘어간다는 점은 정직하게 밝혀 둔다.

더 흥미로운 건 아예 다른 회계를 쓰는 팀이 있다는 것이다. SKT A.X K1은 총 예산을 2.548×10²⁴ FLOPs로 보고했는데, 6ND로는 6 × 33e9 × 10e12 = 1.98×10²⁴다. 보고값이 1.29배 크다. 오류가 아니다 — 하드웨어 기준으로 역산하면(H200 약 1,280장 × GPU당 301.72 TFLOPs × 73일) 2.5e24 대역에 정확히 들어온다. 즉 SKT는 "이론 FLOPs"가 아니라 "실효 스루풋 × 시간"으로 보고했다.

둘 다 정당한 회계지만 나란히 놓고 비교하면 안 된다. LG·카카오의 숫자는 6ND이고 SKT의 숫자는 벽시계다. 국내 모델의 효율을 비교하려 할 때 이 차이를 모르면 30% 오독한다.

그래서 견적서를 어떻게 쓰나

  • 기본은 6ND를 쓰라. 실측과 0.07~2% 오차로 맞는다. 이건 근사가 아니라 사실상 정답이다.
  • 시퀀스가 32K를 넘어가는 구간이 있으면 어텐션 항을 따로 더하라. 아니면 아예 그 구간을 학습 후반 10%로 몰아라.
  • MoE면 활성 파라미터로 계산하고, 그 사실을 표에 명시하라.
  • 재계산을 쓸 계획이면 ×1.33을 각오하라. 그리고 이건 뒤에서 볼 실패·재시작 오버헤드(×1.15)와는 별개다.
  • 남의 보고 FLOPs를 인용할 때는 6ND로 검산하라. 안 맞으면 회계 방식이 다른 것이고, 그 자체가 정보다.

여기까지가 학습 비용이다. 그런데 이 식 전체에 빠진 게 하나 있다. 모델은 만들고 끝이 아니라 팔아야 한다. 친칠라의 목적함수에는 그 항이 없고, 그 항을 넣는 순간 최적점이 통째로 이동한다.

— 친칠라 법칙 시리즈 ③ / 다음 글: 식에 빠진 항 하나 — 추론을 넣으면 답이 뒤집힌다

친칠라 법칙 ② — 0.73과 0.50: 지수는 왜 움직이는가

2020년 OpenAI의 Kaplan 논문은 컴퓨트가 10배 늘면 모델을 5배, 데이터를 2배 키우라고 했다. 2022년 친칠라는 둘 다 3.2배씩 키우라고 했다. 같은 대상을 측정한 두 논문의 지수가 0.73과 0.50으로 갈렸다. GPT-3가 175B에 300B 토큰(1.7:1)이었던 것은 전자를 따랐기 때문이다.

이 불일치는 오래 "미스터리"로 불렸다. 2024년에 답이 나왔는데, 범인이 모두가 지목하던 쪽이 아니었다. 그리고 그 과정에서 나온 부산물이 실무자에게 훨씬 값지다.

친칠라 저자들의 가설: 학습률 스케줄

친칠라 논문이 스스로 제시한 설명은 두 가지였다. 첫째, Kaplan은 모든 모델에 동일한 코사인 스케줄을 썼다 — 배치 512×1024토큰에 2.5×10⁵ 스텝 고정이니 코사인 사이클이 약 130B 토큰에 박혀 있었다. 실제 학습 토큰보다 긴 사이클을 중간에 끊으면 손실이 과대평가되고, 그러면 짧게 학습하는 작은 모델이 부당하게 불리해 보인다. 둘째, Kaplan의 모델 범위가 768~1.5B로 작은 쪽에 몰려 있어 곡률을 못 봤다.

그럴듯했다. 그런데 Porian 등이 2024년에 실제로 검증했다. Kaplan의 설정을 재현한 뒤 요인을 하나씩 제거하며 지수가 어떻게 움직이는지 추적한 것이다(16개 모델, 55M~901M, 두 개 데이터셋).

어블레이션 사다리 — 0.864에서 0.50까지

단계지수 a이동폭
Kaplan 재현0.864
+ 마지막 레이어 FLOPs 계상0.699−0.17
+ 워밍업 보정0.603−0.10
+ 코사인 감쇠를 토큰 예산에 맞춤0.574−0.03
+ 스케일 의존 옵티마이저 튜닝0.518−0.08

최종값은 친칠라의 0.50과 0.6% 이내로 일치한다. 그런데 표를 다시 보자. 친칠라 저자들이 지목했던 학습률 스케줄의 기여는 −0.03으로 가장 작았다. 논문의 문장은 단호하다 — "학습률 감쇠를 추가하는 것만으로는 Hoffmann 등의 스케일링 법칙을 재현하기에 충분하지 않다." 심지어 이들은 학습률을 상수로 두고 하이퍼파라미터만 제대로 튜닝해도 0.50에 도달했다.

진범은 컴퓨트를 잘못 센 것이었다

가장 큰 요인은 회계 실수였다. Kaplan은 FLOPs 계산에서 모델의 마지막 레이어(언임베딩 head)를 뺐다. 어휘 크기 × d_model짜리 행렬곱이 통째로 빠진 것이다.

문제는 이 누락이 모델 크기에 따라 비대칭이라는 점이다. 실제 컴퓨트 대비 과소 추정폭이 큰 모델에서는 약 10%인데 작은 모델에서는 약 90%다. 작은 모델들이 실제보다 훨씬 싸게 계산되니, 그래프에서 작은 모델이 부당하게 효율적으로 보이고, 결국 "컴퓨트가 늘면 모델을 빨리 키워라"는 기울기가 나온다. 이 한 요인이 전체 격차(0.86→0.50)의 절반 가까이를 설명한다.

같은 해 Pearce & Song은 이걸 해석적으로 뒷받침했다. Kaplan은 비임베딩 파라미터를, 친칠라는 전체 파라미터를 셌다. 친칠라의 손실 함수를 Kaplan의 조건(소형 모델 + 비임베딩 카운트)에 넣고 시뮬레이션하면 0.74~0.78이 재현된다. 즉 두 법칙은 서로 다른 법칙이 아니라 같은 함수의 두 점근선이고, 전이점은 비임베딩 파라미터 약 10⁷ — 임베딩이 전체의 절반을 차지하는 지점이다. 임베딩 비중이 5% 아래로 내려가면 둘은 수렴한다.

한국어 모델에는 이게 남의 얘기가 아니다. 어휘 10만에 d_model 768이면 임베딩만 76.8M이다. 소형 모델 스윕에서는 임베딩이 본체보다 크다. 그래서 DeepSeek은 파라미터 수 대신 비임베딩 FLOPs/token M = 72·n_layer·d_model² + 12·n_layer·d_model·l_seq를 스케일 대리변수로 쓴다 — 소형 모델에서 최대 50%의 근사 오차를 제거하기 위해서다. 어휘가 큰 언어에서는 선택이 아니라 필수다.

부산물이 본편보다 값지다 — 실무 처방 세 가지

  • 워밍업 토큰 수 = 파라미터 수로 잡아라. Kaplan의 고정 3,000스텝(≈1.57B 토큰)은 작은 모델의 학습 상당 부분을 잡아먹었다. 이 한 줄 수정이 지수를 0.10 움직였다.
  • 작은 배치에서는 AdamW β₂를 올려라. 배치 128 이하에서는 β₂ = 0.99~0.999가 최적이고, 관행적인 0.95를 쓰면 소규모 모델이 부당하게 손해를 본다. 스윕을 돌릴 때 이걸 모르면 결론이 통째로 왜곡된다.
  • 최적 하이퍼파라미터도 멱법칙을 따른다. Porian은 부수적으로 배치 B ∝ N^0.28~0.32, 학습률 η ∝ N^(−0.08~−0.12)를 얻었고, DeepSeek은 컴퓨트 기준으로 η = 0.3118·C^(−0.125), B = 0.2920·C^0.3271을 보고했다. 다만 배치를 파라미터 수에 묶는 이 형태를 IsoFLOP 스윕에 그대로 쓰면 안 된다 — 이유는 ⑫편에서 따로 다룬다.

이 셋을 관통하는 교훈은 하나다. "작은 모델에서 하이퍼파라미터를 튜닝하지 않으면 스케일링 지수 자체가 왜곡된다." 그리고 이 문제를 구조적으로 없애는 도구가 muP다 — 최적 하이퍼파라미터가 모델 크기에 대해 안정해지므로 작은 프록시에서 튜닝해 큰 모델로 전이할 수 있다. 40M 프록시로 GPT-3 6.7B 공개 성능을 넘겼고, 튜닝 비용은 사전학습 전체의 7%였다. 국내에서는 네이버 HyperCLOVA X THINK가 μP 사용을 명시한 드문 사례다.

2026년 판 같은 질문 — 옵티마이저를 바꾸면 지수가 움직이나

위의 이야기는 전부 AdamW 세계의 것이다. 그런데 2025~26년의 실제 변화는 Muon이다. 여기서 CTO에게 결정적인 질문이 하나 생긴다 — AdamW로 스케일링 법칙을 적합해 놓고 본 런을 Muon으로 돌리면, 그 예측이 살아남는가?

이건 취향 문제가 아니다. 손실 곡선의 지수 α가 바뀌면 법칙을 통째로 다시 적합해야 하고, 상수 A만 바뀌면 곡선이 평행이동할 뿐이라 최적 배분(N:D 비율)은 그대로다. 스윕에 쓴 돈이 날아가느냐 마느냐가 여기서 갈린다.

답은 상수 쪽이다. 옵티마이저별로 친칠라 법칙을 따로 적합하는 것 자체가 불량조건(ill-conditioned)이라는 지적이 나왔다 — (A, α)와 (B, β)가 서로 상쇄해서, "지수가 바뀌었다"는 관찰의 상당수가 적합 아티팩트라는 것이다. 처방은 지수를 공유하고 옵티마이저별 재scaling 계수만 따로 두는 것이다.

옵티마이저ρ_Nρ_D실효 컴퓨트 배수
Muon0.962.08약 2.0배
SOAP2.44
Shampoo1.47

공유 지수는 α = 0.49 ± 0.03, β = 0.38 ± 0.04다. 해석이 깔끔하다 — Muon은 "데이터를 2배로 늘려 주는 옵티마이저"이고, 법칙의 형태는 다시 적합할 필요가 없다. 몇 개의 앵커 런으로 ρ_N과 ρ_D만 재면 된다.

Moonshot 자신의 적합값도 같은 방향이다 — Muon이 2.506·C^−0.052, AdamW가 2.608·C^−0.054로, 상수는 3.9% 차이인데 지수 차이는 0.002로 사실상 노이즈다. 독립적인 두 집단이 같은 결론에 도달했다는 게 이 항목에서 가장 믿을 만한 부분이다.

그런데 별표가 둘 붙는다.

  • 배수가 규모에 따라 줄어든다. 별도 측정에서 속도 향상이 0.1B에서 1.4배 → 1.2B에서 1.1배로 빠르게 감소했다. 위의 "2배"가 큰 모델에서도 유지된다는 보장이 없고, 두 결과는 아직 화해되지 않았다.
  • FLOPs 배수와 청구서 배수는 다르다. 같은 연구가 컴퓨트를 FLOPs가 아니라 8×H100 벽시계 초로 재서 다시 적합했더니 Muon의 ρ_C가 1.01이 됐다. 이득이 거의 사라진다. Muon의 Newton-Schulz 연산이 그만큼 시간을 먹는다는 뜻이다.

그래서 실무 권고는 "2.0배가 아니라 1.3~1.5배로 예산을 짜라"다. 그리고 벤더 주장의 근거 범위도 알아 둘 만하다 — Moonshot의 2배는 1.5B 이하 모델, 390억 토큰 이하의 적합에서 나왔고, 5.7T 토큰 규모의 AdamW 대조군은 없다.

부수적이지만 실무에 바로 닿는 차이가 메모리다. AdamW는 파라미터당 16바이트(BF16 가중치 2 + 그래디언트 2 + 옵티마이저 상태 12)인데, Muon은 모멘텀 하나만 들고 있어 12바이트로 25% 줄고, Shampoo·SOAP 계열은 전처리 행렬 때문에 32바이트로 두 배가 된다. 405B 모델의 체크포인트로 환산하면 6.48TB → 4.88TB(하이브리드 Muon) → 12.96TB(SOAP)다. 체크포인트 입출력이 곧 MFU이므로 이 차이는 그대로 원가다.

안정성 쪽도 짚어 두자. Kimi K2가 15.5T 토큰을 loss spike 0으로 학습했다고 보고했고 그 장치가 MuonClip이다. 다만 정확히 말하면 어텐션 로짓 폭발은 Muon이 만든 문제이지 AdamW에는 없던 문제다. 즉 MuonClip은 이득이 아니라 Muon을 쓰기 위한 필요조건에 가깝다. ⑩편에서 볼 Llama 3의 "54일간 466회 중단"과 비교하면, loss spike 제거는 기댓값이 아니라 꼬리 위험에 대한 보험으로 읽는 게 정확하다.

국내에서는 모티프가 유일하게 Muon을 쓴 것으로 확인된다 — MuonClip에 자체 병렬화를 더해 옵티마이저 스텝 처리량을 7.3배(GPU당 80 → 583 TFLOPS, 대신 메모리 4.7배)로 끌어올렸고, 경쟁 모델들이 12~36T를 볼 때 5.5T 토큰으로 학습했다. 데이터가 부족한 팀이 옵티마이저로 D축을 벌충하려 한 사례로 읽을 수 있다.

마지막으로 muP와의 관계. muP의 하이퍼파라미터 전이는 Muon에서도 살아남는다(3.7B / 폭 8192까지 확인). 단 조건이 붙는다 — Moonshot의 RMS 매칭 규칙을 함께 써야 하고, 이걸 빼면 전이가 깨진다.

그래서 20:1은 상수가 아니다

이 시리즈에서 계속 반복될 결론이 여기서 처음 나온다. 스케일링 지수는 자연상수가 아니라 여러분의 실험 설정과 데이터셋의 함수다. DeepSeek이 같은 방법론으로 데이터만 바꿔가며 적합한 값을 보라.

  • 초기 사내 데이터 a = 0.450
  • 개선된 사내 데이터 a = 0.524
  • OpenWebText2 a = 0.578

DeepSeek의 해석은 "데이터 품질이 높을수록 컴퓨트를 모델 크기 쪽에 더 배분해야 한다"는 것이다. 좋은 데이터는 더 큰 모델을 정당화한다.

여기서 이 시리즈를 관통할 정리를 하나 하고 가자. 문헌에 "컴퓨트 최적 토큰/파라미터 비율"이라는 이름으로 최소 세 개의 숫자가 돌아다니고, 이걸 섞으면 독자가 길을 잃는다.

숫자출처와 조건
20 ~ 25.6친칠라·Epoch. 1B 이상 구간, 코사인 스케줄, 특정 데이터 혼합에서의 학습 손실 최적
192MiniCPM. 0.04B~2B의 소형 구간 + WSD 스케줄 + 자체 데이터. 소형 구간이라는 게 결정적이다
1,256 ~ 10,000추론 비용을 목적함수에 넣은 답(④편)

세 숫자는 같은 질문의 서로 다른 답이 아니라, 서로 다른 질문의 답이다. 정리하면 이렇다 — "20"은 자연상수가 아니라 (모델 크기 구간 × 학습률 스케줄 × 데이터 품질 × 목적함수)의 함수다. 192와 20이 다른 건 누가 틀려서가 아니라 네 변수 중 셋이 다르기 때문이다. 특히 소형 구간이라는 조건은 앞서 본 Pearce & Song의 전이점(비임베딩 10⁷ 부근에서 지수가 0.74와 0.50으로 갈린다)과 정확히 같은 이야기다.

즉 "우리 팀은 몇 대 몇으로 가야 하나"라는 질문에 남의 논문 계수를 복사해 답할 수 없다. 그건 남의 데이터, 남의 토크나이저, 남의 옵티마이저 설정에서 나온 숫자다. 다행히 직접 적합하는 비용이 생각보다 싸다 — 뒤에서 다룰 레시피 기준으로 IsoFLOP 스윕 실비가 대략 $1,200이다. 다음 글은 방향을 바꿔서, 애초에 왜 다들 20:1을 알고도 무시하는지를 다룬다. 답은 방정식에 빠져 있던 항 하나에 있다.

— 친칠라 법칙 시리즈 ② / 다음 글: C = 6ND는 어디서 깨지는가

독파모 평가 해부 ② — 100점 중 15점은 아무 일도 하지 않았다

①편에서 점수표의 산수가 맞는다는 걸 확인했다. 이번 편은 그 표를 다른 각도에서 읽는다. 배점표에 적힌 숫자와, 실제로 순위를 만든 숫자는 다르다. 배점은 의도이고, 분산이 현실이다 배점표는 이렇게 말한다 — 전문가 평가가 35점으로 가장 중...