37 Scaling Laws
Контекст
Масштабировать модели можно, но как именно растёт качество и куда вкладывать compute? Каплан, Макэндлиш и др. измеряют это систематически.
Идея и механизм
Обучив множество моделей разных размеров на разных объёмах данных, обнаружили: лосс падает как гладкий степенной закон от числа параметров N, объёма данных D и compute C — предсказуемо на много порядков. Форма сети (соотношение ширины/глубины) почти не важна.
статистика Степенной закон и compute-optimal распределение
Зависимость тестового лосса от каждого ресурса (при изобилии остальных) — степенная:
В лог-лог координатах это прямая с наклоном −α — отсюда и удивительная предсказуемость: измерив лосс на малых моделях, можно экстраполировать на большие. Практический вывод о распределении бюджета: при фиксированном C существует оптимальная пара (N, D), минимизирующая лосс. Каплан заключил, что выгоднее брать очень большие модели и не доводить их до сходимости (останавливаться рано). Этот рецепт позже уточнит Chinchilla (#42): растить N и D надо равномернее.
NumPy Подгонка степенного закона
import numpy as np
# L ≈ (N_c/N)^α → log L линеен по log N
slope, intercept = np.polyfit(np.log(N), np.log(L), 1)
alpha = -slope # наклон лог-лог прямой = −α
# экстраполяция: лосс для модели в 10× больше
L_pred = np.exp(intercept + slope * np.log(10 * N))
Почему это важно
Превратил «сделаем модель побольше» в предсказуемую инженерию и прямо оправдал постройку GPT-3 спустя месяцы. «Лосс предсказуем как функция масштаба» — основа всей стратегии фронтир-лабораторий: можно планировать прогресс, а не надеяться на него.
Связи
GPT-2 эмпирически показал «больше = качественно лучше». Scaling laws превратили это наблюдение в количественный закон с показателями степени — из интуиции в инструмент планирования.
Имея закон, OpenAI могли уверенно вложиться в 175B-модель, зная заранее, какого порядка лосс получат. GPT-3 — прямое следствие веры в предсказуемость масштаба.
Chinchilla перепроверила распределение compute и нашла, что Каплан недооценил роль данных: параметры и токены надо растить равномернее (~20 токенов/параметр). Та же идея степенного закона, но другой вывод про оптимальную точку.
Вопросы пытливого ума
Почему лосс вообще обязан быть гладким степенным законом — это магия?
Не магия, но и не полностью понято. Есть теории (через спектр данных, эффективную размерность, аппроксимацию многообразий), объясняющие степенное поведение, но единого вывода «из первых принципов» нет. Эмпирически закон поразительно устойчив на 7+ порядков — и именно эта устойчивость, а не теоретическая неизбежность, сделала его рабочим инструментом.
Если лосс предсказуем, предсказуемы ли способности (рассуждение, код)?
Нет, и это ключевая оговорка. Лосс падает гладко, но конкретные способности часто появляются скачком при некотором масштабе («эмерджентность», ср. Chain-of-Thought #43). Гладкий лосс ≠ гладкий рост умений. Поэтому scaling laws хорошо предсказывают средний лосс, но плохо — когда именно «включится» рассуждение или арифметика.
Закон когда-нибудь сломается — есть ли потолок?
Да, у степенного закона есть «неустранимый» член (entropy of language) — лосс не падает ниже шумового предела данных. Плюс упираемся в физические лимиты: данные качественного текста конечны, compute дорог. Поэтому фронтир сместился от «просто больше» к эффективности (Chinchilla, дистилляция, лучшие данные) и к новым осям масштабирования (inference-time compute, как в reasoning-моделях).
Что читать в оригинале
Читать ключевое — степенные законы и вывод про распределение compute (с поправкой на Chinchilla).