---
title: "큰 모델보다 충분히 배운 모델: Chinchilla의 예산 배분 질문"
author: "Dne Cna"
published_at: "2026-10-06T10:00:00.236Z"
updated_at: "2026-09-30T08:15:05.595Z"
tags: ["ai","머신러닝","논문리딩","chinchilla"]
canonical_url: "https://ariser.io/@writer_8706b598dfee/%ED%81%B0-%EB%AA%A8%EB%8D%B8%EB%B3%B4%EB%8B%A4-%EC%B6%A9%EB%B6%84%ED%9E%88-%EB%B0%B0%EC%9A%B4-%EB%AA%A8%EB%8D%B8-chinchilla%EC%9D%98-%EC%98%88%EC%82%B0-%EB%B0%B0%EB%B6%84-%EC%A7%88%EB%AC%B8"
ai_assisted: false
---

# 큰 모델보다 충분히 배운 모델: Chinchilla의 예산 배분 질문

[원문](https://ariser.io/@writer_8706b598dfee/%ED%81%B0-%EB%AA%A8%EB%8D%B8%EB%B3%B4%EB%8B%A4-%EC%B6%A9%EB%B6%84%ED%9E%88-%EB%B0%B0%EC%9A%B4-%EB%AA%A8%EB%8D%B8-chinchilla%EC%9D%98-%EC%98%88%EC%82%B0-%EB%B0%B0%EB%B6%84-%EC%A7%88%EB%AC%B8)

GPU 예산이 정해져 있을 때 더 좋은 언어 모델을 만드는 선택지는 적어도 두 개다. 모델을 크게 만들거나, 같은 모델에 더 많은 토큰을 학습시키거나. 둘 다 좋아 보이지만 예산 안에서는 한쪽에 더 쓰면 다른 쪽에 덜 쓸 수밖에 없다.

Chinchilla 논문은 이 선택을 모델 크기 경쟁에서 분리해 다룬다. 더 큰 모델이 더 좋은가라는 질문 대신, **같은 학습 계산량을 어떻게 나눠야 최종 손실이 낮아지는가**를 묻는다. 그 질문을 수백 개의 학습 실험으로 조사하고, 예측에 따라 더 작은 모델을 더 많은 데이터로 학습해 확인한다. [Training Compute-Optimal Large Language Models](https://arxiv.org/abs/2203.15556)

## 예산은 파라미터와 토큰의 곱으로 보인다

dense autoregressive Transformer의 학습 계산량을 거칠게 C ≈ 6ND로 쓸 수 있다. N은 파라미터 수, D는 학습에서 처리한 토큰 수다. 이 근사는 전체 비용의 세부 항을 모두 표현하지는 않지만, 두 축의 자원 교환을 생각하기에는 유용하다.

같은 C에서 N을 두 배로 키우면 대략 D를 절반으로 줄여야 한다. 가중치가 더 많아 배울 공간은 늘지만, 각 가중치를 조정할 데이터와 학습 기회가 줄어든다. 반대로 작은 모델에 토큰을 더 보여 주면 학습은 충분해질 수 있지만, 모델 표현의 용량이 부족할 수 있다. 어느 쪽이 좋은지는 둘 사이의 균형에 달려 있다.

설명을 위해 예산이 같은 두 후보를 만들어 보자. A는 10억 파라미터에 100억 토큰, B는 5억 파라미터에 200억 토큰을 사용한다. ND의 곱은 같다. “A가 더 크니 더 좋다”는 말만으로 선택할 수 없다. A는 데이터가 적은 쪽의 병목을, B는 모델이 작은 쪽의 병목을 겪을 수 있기 때문이다. 이 숫자는 실제 논문의 실험 조건이 아니라 최적화 문제를 설명하는 예다.

## 작은 실험으로 큰 선택을 예측하는 방법

원문은 모델 크기와 학습 토큰 수를 여러 값으로 바꿔 실험한다. 손실이 두 변수에 어떻게 달라지는지 추정하고, 고정된 계산량에서 좋은 조합을 찾는다. 학습 곡선의 효율 경계를 보는 방법, 같은 FLOPs에서 크기를 바꿔 비교하는 방법, 손실 함수를 직접 fitting하는 방법을 함께 사용한다. 하나의 곡선에만 결론을 맡기지 않는 접근이다. [실험과 추정 방법](https://arxiv.org/pdf/2203.15556)

fitting의 직관은 손실을 “데이터 분포 자체의 어려움”, “모델 용량의 부족”, “학습 데이터의 부족” 같은 항으로 나누는 것이다. 이를 L(N,D) = E + A/N^α + B/D^β처럼 표현할 수 있다. 정확한 계수는 데이터와 실험 조건에서 추정해야 하므로, 식 자체가 모든 모델에 적용되는 자연법칙은 아니다.

이 식에서 N만 크게 늘려도 D 때문에 남는 항은 해결되지 않는다. D만 늘려도 N 때문에 남는 항이 있다. 제한된 C에서는 두 항의 개선 효율이 비슷해지는 방향으로 자원을 배분하게 된다. 논문은 연구한 조건에서 계산 예산을 늘릴 때 모델 크기와 토큰 수를 대략 비슷한 비율로 늘리는 것이 유리하다고 결론 내린다.

이 말을 “모든 모델은 정확히 같은 토큰 대 파라미터 비율을 가져야 한다”로 바꾸면 범위를 넘는다. 경험적으로 추정한 scaling 관계이고, 근사와 extrapolation이 포함되어 있다. 법칙의 숫자를 외우는 것보다 어떤 비용 제약 아래 어떤 손실을 최소화했는지 기억하는 편이 더 오래 도움이 된다.

## 학습률 스케줄도 공정한 비교의 일부다

이 논문에서 자주 놓치는 대목은 학습률 스케줄이다. 오래 학습하도록 정한 스케줄의 중간 checkpoint와, 짧은 학습을 목표로 맞춘 스케줄의 마지막 checkpoint를 비교하면 같은 토큰 수라도 학습 상태가 다를 수 있다. 짧은 예산에 맞춰 학습률을 낮춘 모델이 더 잘 마무리되었을 가능성이 있다.

따라서 학습 토큰 수의 효과를 보려면 학습률 스케줄도 해당 길이에 맞춰야 한다. 원문은 이전 scaling 추정과 다른 결론을 설명하는 요소 중 하나로 이 점을 다룬다. [학습 설정에 대한 비교](https://arxiv.org/pdf/2203.15556)

실무에서도 비슷한 함정이 생긴다. 여러 모델을 같은 횟수의 업데이트로 끝내면 batch size 차이로 처리한 토큰 수가 다를 수 있다. 같은 토큰 수로 끝내더라도 스케줄이 다르면 최적화 조건이 달라진다. 같은 GPU 시간으로 비교하면 하드웨어 효율까지 들어간다. 무엇을 같게 맞췄는지 명시하지 않으면 “효율이 좋다”는 표현의 뜻이 흔들린다.

내가 이 논문에서 특히 배운 것은 공정한 예산 비교가 단순히 학습 시간을 같게 만드는 일이 아니라는 점이다. 비교하려는 축에 맞춰 다른 설정도 정리해야 한다. scaling law는 좋은 데이터 fitting 문제인 동시에 좋은 실험 설계 문제다.

## Chinchilla가 실제로 보여 준 것

저자들은 Gopher와 같은 학습 계산 예산에서 70B 파라미터의 Chinchilla를 1.4T 토큰으로 학습한다. 280B 파라미터의 Gopher보다 작은 모델을 더 오래 학습시키는 선택이다. Chinchilla는 여러 downstream 평가에서 더 큰 비교 모델들보다 좋은 결과를 보고한다. 추정한 자원 배분을 큰 학습 실행으로 점검한 부분이 논문의 설득력을 높인다. [연구팀의 결과 설명](https://deepmind.google/blog/an-empirical-analysis-of-compute-optimal-large-language-model-training/)

그렇다고 이 한 비교가 파라미터와 토큰 외의 모든 요소를 완벽하게 고정한 실험이라고 소개할 필요는 없다. 실제 모델 학습에는 데이터 구성과 tokenizer, optimizer 설정 같은 선택이 함께 들어간다. 전체 결과와 크기별 scaling 실험을 함께 읽어야 자원 배분에 대한 주장의 강도를 판단할 수 있다.

또 여기서 D는 토큰의 질을 나타내지 않는다. 같은 양이라도 중복된 문장, 도메인에 맞지 않는 자료, 잘 정제된 데이터는 효과가 다를 수 있다. 원문이 토큰 수의 중요성을 강조했다고 해서 수집량만 늘리면 같은 결과를 얻는다는 뜻은 아니다. 학습량과 데이터 품질은 별도로 관리해야 한다.

데이터가 제한되어 같은 자료를 반복해서 보는 상황도 구분해야 한다. 더 많은 처리 토큰과 더 많은 새로운 정보는 같지 않다. 논문의 추정을 반복 epoch가 많은 작은 도메인 데이터에 그대로 적용하려면 추가 실험이 필요하다.

## 학습의 최적과 서비스의 최적은 목적함수가 다르다

Chinchilla의 compute-optimal은 고정된 학습 계산량에서의 최적을 뜻한다. 서비스에서는 학습 후 수많은 요청을 처리하는 비용도 발생한다. 작게 만든 모델을 더 오래 학습해 두면 초기 비용이 늘더라도 매번의 추론 비용을 아낄 수 있다. 반대로 연구용으로 잠깐만 사용하는 모델이라면 학습 시간의 비중이 더 크다.

총비용을 생각하는 내 해석은 C_total = C_train + 요청 수 × C_infer처럼 시작할 수 있다. 이는 이 논문이 모든 서비스의 최적 크기를 계산해 줬다는 말이 아니라, 목적함수를 바꾸면 최적점도 달라진다는 일반적인 자원 계획의 관점이다. 메모리 제약과 지연 시간까지 넣으면 선택은 더 달라진다.

예산 계획에서 먼저 할 일은 목표를 명확히 적는 것이다. 같은 학습 FLOPs에서 좋은 손실을 원하는지, 같은 운영비에서 좋은 응답을 원하는지, 한 장치에 올라갈 모델을 원하는지. 그런 다음 작은 실험으로 우리 데이터와 구조의 관계를 측정한다. 널리 알려진 비율은 출발점으로 쓰되 우리 환경의 답으로 확정하지 않는다.

이 논문이 모델 크기에 대한 감각을 바꾼 이유는 간단하다. 큰 모델은 충분히 학습된 모델과 같은 말이 아니다. 가중치의 공간과 데이터를 읽는 시간을 함께 투자해야 한다. 더 좋은 결과를 얻기 위해 반드시 더 큰 파일을 만들어야 하는 것은 아니라는 사실을, 자원 배분의 언어로 분명하게 보여 준다.

논문: Jordan Hoffmann 외, *Training Compute-Optimal Large Language Models*, 2022. [원문](https://arxiv.org/abs/2203.15556) · [Google DeepMind 연구 소개](https://deepmind.google/blog/an-empirical-analysis-of-compute-optimal-large-language-model-training/)

