42 Chinchilla
Контекст
После scaling laws (#37) гонка шла за РАЗМЕРОМ модели (Gopher 280B, GPT-3 175B, MT-NLG 530B). Хоффманн и др. перепроверяют на 400+ моделях и находят, что отрасль масштабировала неправильно.
Идея и механизм
При фиксированном compute число параметров N и число токенов D надо растить ПРИМЕРНО РАВНО — оптимально ~20 токенов на параметр. Большинство гигантов были недообучены: слишком большие модели на слишком малых данных.
оптимизация Compute-optimal: минимизация лосса при фиксированном бюджете
Подгоняем параметрическую форму лосса (E — неустранимая энтропия языка):
Бюджет compute (FLOPs) примерно C ≈ 6 N D. Минимизируем L при фиксированном C (множители Лагранжа) — и оптимум даёт N* ∝ Ca, D* ∝ Cb с близкими a ≈ b ≈ 0.5:
Каплан (#37) недооценил роль D и рекомендовал «большие модели, мало токенов». Причина расхождения конкретна: у Каплана learning-rate-расписание не доводилось до конца под бюджет токенов (это занижало выигрыш от бо́льших D), плюс иначе учитывались embedding-параметры — отсюда смещённые экспоненты. Chinchilla, поправив и форму лосса, и LR-расписание, показала: данные надо растить наравне с параметрами. Доказательство — Chinchilla (70B, 1.4T) бьёт Gopher (280B, 300B токенов) при том же C.
Python Правило Chinchilla
# бюджет C ≈ 6·N·D FLOPs; оптимум — растить N и D равномерно
def chinchilla_tokens(N):
return 20 * N # ~20 токенов на параметр
# Gopher: 280B параметров, 300B токенов → D/N ≈ 1 (сильно недообучен!)
# Chinchilla: 70B параметров, 1.4T токенов → D/N ≈ 20 ✓
Почему это важно
Развернуло индустрию к data-heavy обучению (отсюда триллионы токенов у LLaMA и далее) и переопределило «compute-optimal»; правило ~20:1 («точка Chinchilla») стало эвристикой проектирования.
Связи
Та же идея степенного закона, но другой вывод про оптимальную точку. Каплан сказал «большие модели, мало токенов»; Chinchilla — «равномерно растить N и D». Поправка, перевернувшая практику фронтира.
LLaMA — прямое применение урока Chinchilla: брать модели поменьше (7–65B), но обучать на куда большем числе токенов, ради дешёвого инференса. 13B-LLaMA бьёт GPT-3 175B именно потому, что дольше обучена.
GPT-3 (175B на ~300B токенов) — типичный «недообученный гигант» по меркам Chinchilla. Задним числом: ту же или лучшую модель можно было получить меньшего размера, обучив на большем числе токенов.
Вопросы пытливого ума
Если Chinchilla-оптимум так хорош, почему модели всё равно делают большими?
Потому что «compute-optimal для обучения» ≠ «optimal для деплоя». Маленькая модель дешевле в инференсе, поэтому часто выгодно обучать её сверх точки Chinchilla (больше токенов, чем 20×N): тратишь больше на обучение, но экономишь на миллионах запросов. LLaMA так и делает. Chinchilla оптимизирует обучение; реальная экономика смотрит на инференс.
Правило 20 токенов/параметр — универсальная константа?
Нет, это оценка для конкретной формы лосса, архитектуры и расписания того времени. Точное соотношение зависит от данных, токенизатора и деталей обучения; последующие работы дают слегка разные числа. «~20» — полезная эвристика, а не закон природы. Главный вывод — растить данные наравне с параметрами — устойчивее самой константы.
Упрёмся ли в нехватку данных при таком аппетите к токенам?
Да, это реальный потолок. Качественного текста в интернете конечное количество, и фронтир уже приближается к его исчерпанию. Отсюда интерес к синтетическим данным, многократным проходам по корпусу, мультимодальности и новым осям масштабирования (inference-time compute). «Данные важнее, чем думали» неожиданно делает их дефицитным ресурсом.
Что читать в оригинале
Читать ключевое — закон равного масштабирования и результат Chinchilla vs Gopher.