Scaling laws LLM: почему Kaplan ошибся, а Chinchilla права
В 2022 году DeepMind потратил те же вычисления, что ушли на модель Gopher с 280 млрд параметров, но обучил не ещё одну гигантскую сеть — а модель вчетверо меньше. Результат: Chinchilla с 70 млрд параметров и 1,4 трлн токенов обошла Gopher по всем бенчмаркам. Этот эксперимент перевернул главное правило обучения LLM и запустил спор, который не закрыт до сих пор. Спор о scaling laws.
Что такое scaling laws
Scaling laws (масштабные законы) — это эмпирическое наблюдение: тренировочный loss модели убывает предсказуемо, по степенному закону, при увеличении размера модели N, объёма данных D и вычислений C. На log-log графике это прямая линия. На практике это значит, что можно обучить несколько маленьких моделей, построить кривую и спрогнозировать, сколько токенов и GPU потребуется модели, которая в тысячи раз больше. Вычисления приближённо равны C ≈ 6ND — двойной проход вперёд и учетверённый назад.
Ранние предвестники степенного закона
Идея, что ошибка обобщения предсказуема по масштабу, появилась задолго до LLM. Ещё в 1992 году Амарри с соавторами вывели четыре типа кривых обучения: при детерминированном алгоритме и чистых данных ошибка падает как D^(-1), при зашумлённых — как D^(-1/2), а при стохастическом обучении появляется невозрастающая «неснижаемая» часть E. Все четыре — степенные законы вида ε ~ c·D^α + E.
В 2017 году Хестнесс с соавторами проверил это на четырёх доменах: машинном переводе, классификации изображений, языковом моделировании и распознавании речи. Ошибка обобщения везде подчинялась степенному закону, причём смена архитектуры сдвигала кривую (меняла константу E), но не показатель степени α. Наклон оказался свойством задачи, а не модели — важный и контринтуитивный вывод. Rosenfeld и коллеги в 2020 году свели всё к единой форме L(N,D) ≈ A/N^α + B/D^β + E, которая предсказывает ошибку как совместную функцию размера модели и данных и позволяет натренировать предиктор на дешёвых конфигурациях.
Kaplan: родоначальник LLM-scaling laws
Прорыв случился в 2020 году, когда Kaplan с соавторами из OpenAI формализовал scaling laws для трансформеров. Они обучили модели от 768 млн до 1,5 млрд параметров на датасетах от 22 млн до 23 млрд токенов и увидели, что loss подчиняется степенному закону по каждой из трёх осей — N, D и C — на порядки величин. Большие модели при этом обучались эффективнее: они достигали заданного loss за меньшее число шагов и меньше данных, чем маленькие, а архитектурные детали (ширина, пропорции) оказывались менее важны, чем чистый масштаб.
Главный вывод Kaplan был практичным и подкупающе простым: при фиксированном бюджете вычислений выгоднее обучить очень большую модель и остановиться до сходимости, чем маленькую — до конца. Авторы оценили оптимальный баланс как N_opt ∝ C^0.73: модель должна расти быстрее данных. Конкретно, при десятикратном росте вычислений модель стоило увеличивать в 5,5 раз, а токены — лишь в 1,8 раз. Следствием стала эпоха «толстых» моделей: GPT-3 с 175 млрд параметров обучили всего на 300 млрд токенов, и никто не считал это проблемой.
Chinchilla: модель вчетверо меньше побеждает
В 2022 году Hoffmann и соавторы из DeepMind перепроверили выводы Kaplan и пришли к противоположному результату. Они просканировали 400 моделей от 70 млн до 16 млрд параметров и от 5 млрд до 500 млрд токенов и применили три независимых метода подгонки. Первый — зафиксировать размер модели и варьировать токены, записывая минимальный loss на каждый бюджет FLOPs. Второй — построить изо-FLOP профили: для каждого фиксированного бюджета вычислений loss против размера модели превращается в параболу в log-пространстве, и её минимум указывает оптимальный размер. Третий — параметрический фит той же формы L(N,D) = A/N^α + B/D^β + E через устойчивую к выбросам Huber loss и алгоритм L-BFGS, который хорошо подходит для подгонки кривых с малым числом параметров.
Все три метода сошлись на одном ответе: оптимальное распределение — N_opt ∝ C^0.5, то есть модель и данные должны расти одинаковыми темпами. Когда α ≈ β, удвоение параметров требует удвоения токенов. Это означало, что большинство больших моделей 2022 года были недообучены. Демонстрация стала знаменитой: при том же бюджете, что у Gopher (280 млрд параметров, 300 млрд токенов), Chinchilla (70 млрд параметров, 1,4 трлн токенов) — вчетверо меньше, но на данных вчетверо больше — обошла Gopher по всем бенчмаркам. Эпоха GPT-3 закончилась, и индустрия принялась обучать на триллионах токенов.
Почему Kaplan и Chinchilla разошлись
Расхождение в 0.73 против 0.50 кажется огромным, и исследователи долго искали его причину. Выяснилось две. Первая — масштаб экспериментов. Kaplan работал на моделях до 1,5 млрд параметров, Chinchilla — на моделях в десять с лишним раз больше. В log-log пространстве крошечная разница в коэффициентах подгонки выливается в большое расхождение при экстраполяции на порядки величин вверх. Это классическая ловушка: степенной закон выглядит надёжным, пока не пытаешься предсказать модель в тысячу раз больше обучающей выборки.
Вторая причина тоньше и связана с тем, как считать параметры. Kaplan исключал эмбеддинги из подсчёта (N без E), Chinchilla считала все параметры целиком. Pearce и Song в 2024 году показали, что связь между полным числом параметров N и числом без эмбеддингов описывается как N = N_без_E + ω·N_без_E^(1/3). Если подставить это в уравнения Chinchilla, локальный показатель степени g становится переменным: в диапазоне моделей Kaplan (768 млн–1,5 млрд) g близок к 0.73, но при росте вычислений он монотонно сходится к 0.50. Иными словами, обе статьи были правы в своём диапазоне — Kaplan просто измерял кривую там, где она ещё не вышла на асимптотику.
Почему именно степенной закон
Степенные законы встречаются повсюду — от закона Ципфа для частоты слов до безмасштабных сетей и законов роста городов. Почему loss LLM ведёт себя так же? Sharma и Kaplan в 2020 предложили объяснение через регрессию на низкоразмерном многообразии данных. Модель размера N разбивает d-мерное многообразие на O(N) областей, и типичное разрешение убывает как N^(-1/d) — то есть по степенному закону. Позже Michaud с соавторами (2023) предположили, что навыки усваиваются дискретными «квантованными» порциями, частота которых подчиняется степенному закону: модель сначала учит частые навыки, потом редкие, и loss плавно убывает. Полной теории до сих пор нет — есть лишь гипотезы, опирающиеся на спектральные хвосты данных, собственные значения ядер и фазовые переходы в динамике обучения.
Что делать, когда данные кончаются
Классические scaling laws предполагают бесконечный поток уникальных токенов. Реальность жёстче: качественных данных начинает не хватать, и мы упираемся в «стену данных». Решение — повторять данные, но как при этом считать оптимальный масштаб?
Hernandez и соавторы в 2022 году показали, что даже 10% повторов вызывают двойной спуск: loss может ухудшиться, а потом снова улучшиться — эффект, который усиливается с ростом доли повторов и осложняет подгонку закона. Muennighoff и соавторы в 2023 году поставили около 400 экспериментов (10 млн–9 млрд параметров, до 900 млрд токенов, до 1500 эпох) и предложили раскладывать общий объём данных D на уникальные токены U_D и число повторов R_D, так что D = U_D(1+R_D). Стоимость токена убывает экспоненциально с числом повторов: каждый повтор отнимает у токена долю (1 − 1/r_D) его остаточной ценности, где r_D — обучаемый «период полураспада». Их ключевой вывод: избыточные параметры теряют ценность быстрее, чем повторённые данные (r_N < r_D) — значит, вычисления выгоднее тратить на дополнительные эпохи, а не на лишние параметры.
Самая свежая работа — Lovelace и соавторы, 2026 год, около 300 моделей от 15 млн до 1 млрд параметров. Они обнаружили контринтуитивный эффект: большие модели сильнее страдают от повторов. Штраф за переобучение растёт и с числом эпох, и со степенью избыточности параметров относительно уникальных данных. Формально это член P·R_D^δ·(N/U_D)^κ, который штрафует и повтор, и пере-параметризацию одновременно. Полезный практический вывод: сильный weight decay снижает штраф за повтор данных.
Почему scaling laws коварны на практике
За чистой формой скрывается пугающая чувствительность к мелочам. Поскольку закон подгоняют на дешёвых маленьких моделях, а прогноз экстраполируют на модель в тысячи раз больше, «ошибки округления» превращаются в катастрофу. Besiroglu и соавторы в 2024 году перепроверили третий метод Chinchilla, вытащив сырые точки (N, D, L) из оригинального графика. Оказалось, что усреднение Huber-loss по примерам вместо суммирования изменило масштаб оптимизации и заставило L-BFGS-B остановиться слишком рано — узкие доверительные интервалы на самом деле были артефактом. А округление показателей α и β до двух знаков сделало производные константы A и B «более ошибочными», чем они были на самом деле. Истинная оценка: L(N,D) = 482.01·N^(-0.3478) + 2085.43·D^(-0.3658) + 1.8172, что даёт N_opt ∝ C^0.5126 — почти симметричный баланс.
Вторая ловушка — сам набор гипотез. Scaling law предполагает, что меняется только масштаб, а архитектура, оптимизатор, расписание learning rate, батч, смесь данных и токенайзер остаются прежними и хорошо настроенными. Недообученные модели дают другие законы — именно поэтому Kaplan, обучавший на маленьких моделях с одним расписанием, получил другой наклон.
Почему это важно сейчас
Scaling laws — не академическое упражнение, а рабочий инструмент планирования GPU-бюджетов. Когда компания решает, обучать модель на 10 млрд или 50 млрд параметров, сначала ставят серию прогонов по 100–500 млн параметров, строят кривую и считают оптимальную точку. Без scaling laws такой выбор превращается в слепую ставку на миллионы долларов вычислений. Но из истории Kaplan и Chinchilla есть и более горький урок: даже тщательная подгонка на десятках экспериментов может давать ошибочный наклон, если модель слишком мала, эмбеддинги посчитаны иначе или оптимизатор остановился на одну итерацию раньше. Степенной закон честен только в своём диапазоне измерения, а за его пределами начинает врать — тем сильнее, чем дальше экстраполяция.
Часто задаваемые вопросы
Можно ли доверять scaling laws при планировании обучения? Можно, но с оговорками. Они хорошо предсказывают loss в своём диапазоне подгонки, а экстраполяция на порядок вперёд — риск. Считайте параметры одинаково, не округляйте коэффициенты, держите архитектуру и гиперпараметры стабильными — иначе «закон» начнёт врать.
Что важнее: больше параметров или больше данных? По Chinchilla — одинаково. Удваиваете параметры — удваивайте токены. Если данные кончаются, выгоднее повторять данные с weight decay, чем добавлять параметры: избыточная ёмкость вредит сильнее, чем повтор, особенно у больших моделей.
К чему привёл спор Kaplan и Chinchilla? К концу эпохи «толстых недообученных» моделей вроде GPT-3 и к переходу на триллионы токенов: Llama 2, Mistral, Qwen, GPT-4 — все обучены на данных, сопоставимых с размером модели. Scaling laws стали рабочим инструментом планирования GPU-бюджетов, а «data wall» — новой нормой, заставившей искать синтетические данные и эффективную фильтрацию.
Итог
Scaling laws — самый полезный эмпирический закон глубокого обучения: предсказуемая степенная кривая, которая связывает размер модели, объём данных и вычисления. Но за этой чистотой стоит история ошибки и пересмотра: Kaplan считал, что модель должна расти быстрее данных, Chinchilla доказала обратное, а разница свелась к масштабу экспериментов и способу подсчёта эмбеддингов. Когда данные кончаются, закон приходится переписывать — и теперь мы знаем, что повтор данных ранит большие модели сильнее, а ответ в балансе, а не в чистом масштабе. Если планируете обучение LLM, первым делом постройте scaling law на маленьких прогонах — это единственный способ понять, сколько токенов и GPU вам реально нужно.