Эпоха 5 · Эра LLM · 2022

42 Chinchilla

Training Compute-Optimal Large Language Models · Hoffmann, Borgeaud и др. · DeepMind · NeurIPS
🟧 оригинал выборочно~1.5 чоригинал ↗
Суть за 20 секунд. Большинство LLM были сильно недообучены: при фиксированном compute параметры и токены надо растить РАВНОМЕРНО (~20 токенов/параметр), а не раздувать только размер. Доказано: Chinchilla 70B (1.4T токенов) бьёт Gopher 280B при том же compute.

Контекст

После scaling laws (#37) гонка шла за РАЗМЕРОМ модели (Gopher 280B, GPT-3 175B, MT-NLG 530B). Хоффманн и др. перепроверяют на 400+ моделях и находят, что отрасль масштабировала неправильно.

Идея и механизм

При фиксированном compute число параметров N и число токенов D надо растить ПРИМЕРНО РАВНО — оптимально ~20 токенов на параметр. Большинство гигантов были недообучены: слишком большие модели на слишком малых данных.

оптимизация Compute-optimal: минимизация лосса при фиксированном бюджете

Подгоняем параметрическую форму лосса (E — неустранимая энтропия языка):

L(N, D) = E + ANα + BDβ

Бюджет compute (FLOPs) примерно C ≈ 6 N D. Минимизируем L при фиксированном C (множители Лагранжа) — и оптимум даёт N* ∝ Ca, D* ∝ Cb с близкими a ≈ b ≈ 0.5:

N и D растут ~равномерно  ⟹   D/N ≈ 20 токенов/параметр

Каплан (#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  ✓
Gopher280Bмало токенов Chinchilla70B, 1.4T Chinchilla < Gopher (меньше, но дольшеобучена → ниже лосс) тот же compute
При равном compute меньшая, но дольше обученная Chinchilla обходит вчетверо бо́льший Gopher — данные были важнее размера.
Аналогия. Нанять одного гения, но не дать ему толком ничему научиться — хуже, чем взять способного человека и как следует его выучить. Раздувать модель (нанимать гениев), скупясь на данные (на обучение), — деньги на ветер. Chinchilla показала: при фиксированном бюджете лучше «средний размер + много учёбы».

Почему это важно

Развернуло индустрию к data-heavy обучению (отсюда триллионы токенов у LLaMA и далее) и переопределило «compute-optimal»; правило ~20:1 («точка Chinchilla») стало эвристикой проектирования.

Связи

↔ уточняет37. Scaling Laws

Та же идея степенного закона, но другой вывод про оптимальную точку. Каплан сказал «большие модели, мало токенов»; Chinchilla — «равномерно растить N и D». Поправка, перевернувшая практику фронтира.

→ направляет50. LLaMA

LLaMA — прямое применение урока Chinchilla: брать модели поменьше (7–65B), но обучать на куда большем числе токенов, ради дешёвого инференса. 13B-LLaMA бьёт GPT-3 175B именно потому, что дольше обучена.

↔ контекст38. GPT-3

GPT-3 (175B на ~300B токенов) — типичный «недообученный гигант» по меркам Chinchilla. Задним числом: ту же или лучшую модель можно было получить меньшего размера, обучив на большем числе токенов.

Вопросы пытливого ума

Если Chinchilla-оптимум так хорош, почему модели всё равно делают большими?

Потому что «compute-optimal для обучения» ≠ «optimal для деплоя». Маленькая модель дешевле в инференсе, поэтому часто выгодно обучать её сверх точки Chinchilla (больше токенов, чем 20×N): тратишь больше на обучение, но экономишь на миллионах запросов. LLaMA так и делает. Chinchilla оптимизирует обучение; реальная экономика смотрит на инференс.

Правило 20 токенов/параметр — универсальная константа?

Нет, это оценка для конкретной формы лосса, архитектуры и расписания того времени. Точное соотношение зависит от данных, токенизатора и деталей обучения; последующие работы дают слегка разные числа. «~20» — полезная эвристика, а не закон природы. Главный вывод — растить данные наравне с параметрами — устойчивее самой константы.

Упрёмся ли в нехватку данных при таком аппетите к токенам?

Да, это реальный потолок. Качественного текста в интернете конечное количество, и фронтир уже приближается к его исчерпанию. Отсюда интерес к синтетическим данным, многократным проходам по корпусу, мультимодальности и новым осям масштабирования (inference-time compute). «Данные важнее, чем думали» неожиданно делает их дефицитным ресурсом.

Что читать в оригинале

Читать ключевое — закон равного масштабирования и результат Chinchilla vs Gopher.