Scaling Laws
Законы масштабирования — это степенные зависимости, предсказывающие снижение функции потерь при увеличении числа параметров модели, объёма данных и вычислительных ресурсов. Рассматриваются Kaplan, Chinchilla и масштабирование во время тестирования.
Законы масштабирования нейросетей — это эмпирические степенные зависимости, которые позволяют предсказать, как будет снижаться ошибка модели при росте трёх ресурсов: числа её параметров (N), объёма обучающих данных в токенах (D) и вычислений при обучении в операциях с плавающей запятой (C). Кривые остаются гладкими на многих порядках величины, поэтому лаборатории строят их по небольшим недорогим запускам и экстраполируют результаты, чтобы выбрать размер модели и объём данных для большого запуска до того, как тратить на него ресурсы. Например, отчёт OpenAI о GPT-4 предсказал некоторые характеристики итоговой модели на основе моделей, обученных с вычислительными затратами не более 1/1000 от её затрат. Самые известные законы описывают языковое моделирование, но тот же метод применим к моделям компьютерного зрения, речи и рассуждений.
Законы масштабирования Kaplan#
В 2020 году исследователи OpenAI во главе с Джаредом Капланом опубликовали работу Scaling Laws for Neural Language Models. Они обнаружили, что перекрёстно-энтропийная ошибка языковой модели на основе трансформера подчиняется степенному закону для N, D и C. Некоторые тенденции охватывают более семи порядков величины, тогда как ширина, глубина и другие архитектурные параметры в широком диапазоне оказывают минимальное влияние. Более крупные модели также эффективнее использовали примеры, поэтому авторы пришли к выводу, что для вычислительно эффективного обучения нужны очень большие модели с относительно небольшим объёмом данных, а обучение следует останавливать задолго до сходимости. GPT-3 следовала этому рецепту: 175 миллиардов параметров обучили на 300 миллиардах токенов.
Chinchilla и вычислительно-оптимальное обучение#
В исследовании Chinchilla DeepMind обучила более 400 моделей с числом параметров от 70 миллионов до более чем 16 миллиардов на объёмах от 5 до 500 миллиардов токенов и пришла к другому выводу: при фиксированном вычислительном бюджете размер модели и число обучающих токенов должны расти пропорционально, то есть при каждом удвоении числа параметров объём данных тоже следует удваивать. Сама Chinchilla использовала те же вычислительные ресурсы, что и Gopher с 280 миллиардами параметров, но имела 70 миллиардов параметров и примерно в четыре раза больше данных; она превзошла Gopher, GPT-3 и Megatron-Turing NLG с 530 миллиардами параметров. В исследовании ошибка аппроксимировалась формулой L(N, D) = E + A / N^α + B / D^β, где E — неустранимая ошибка естественного текста, а два других слагаемых уменьшаются с ростом модели и объёма данных. На каждый параметр и токен обучения приходится около 6 FLOPs, поэтому C ≈ 6ND. Минимизация аппроксимированной ошибки при заданном C даёт вычислительно-оптимальную модель:
import numpy as np
# Chinchilla loss fit L(N, D) = E + A / N^alpha + B / D^beta, as re-estimated by Besiroglu et al. (2024)
E, A, B, alpha, beta = 1.8172, 482.01, 2085.43, 0.3478, 0.3658
# Training costs about 6 FLOPs per parameter per token, so a budget C fixes D = C / (6N)
N = np.logspace(8, 13, 10_000)
for C in [1e21, 1e23, 5.76e23, 1e25]:
D = C / (6 * N)
loss = E + A / N**alpha + B / D**beta
best = loss.argmin()
print(
f"C={C:.2e} FLOPs: {N[best] / 1e9:6.1f}B params, {D[best] / 1e12:5.2f}T tokens, "
f"{D[best] / N[best]:.0f} tokens/param, loss {loss[best]:.3f}"
)Коэффициенты взяты из повторного расчёта аппроксимации Chinchilla, выполненного Epoch AI и исправляющего третью оценку из исходной работы. При вычислительном бюджете Chinchilla в 5.76 × 10^23 FLOPs аппроксимация выбирает 72.2 миллиарда параметров и 1.33 триллиона токенов — близко к фактическим 70 миллиардам параметров и 1.4 триллиона токенов Chinchilla. При любом бюджете от 10^21 до 10^25 FLOPs получается от 17 до 22 токенов на параметр, что соответствует распространённому правилу «около 20».
За пределами вычислительной оптимальности#
Правило Chinchilla минимизирует только затраты на обучение, тогда как за работающую модель приходится платить при каждом запросе. Маленькие модели, обученные значительно дольше вычислительно-оптимального срока, обходятся дешевле при обслуживании: Meta отметила, что для достижения вычислительного оптимума модели с 8 миллиардами параметров достаточно около 200 миллиардов токенов, однако Llama 3 8B продолжала линейно улучшаться в логарифмическом масштабе вплоть до 15 триллионов токенов. Поэтому малые языковые модели (SLM) регулярно переобучают на избыточном объёме данных. Ещё одно ограничение — доступность данных. Исследование масштабирования при ограниченном объёме данных 2023 года показало, что обучение на повторяющихся данных в течение максимум четырёх эпох почти не меняло ошибку по сравнению с обучением на уникальных данных, а синтетические данные позволяют ещё увеличить объём обучающих данных.
Масштабирование вычислений во время тестирования#
Второе направление — расход вычислительных ресурсов во время вывода. Модели рассуждений, например o1 от OpenAI, перед ответом генерируют длинные цепочки рассуждений. В 2024 году OpenAI сообщила, что точность o1 росла как при увеличении вычислительных затрат на обучение с подкреплением, так и при увеличении времени на размышления. Исследование Google DeepMind и UC Berkeley о масштабировании вычислений во время тестирования показало, что вычислительно-оптимальные стратегии, например поиск с помощью модели вознаграждения за ход рассуждения (PRM), более чем в четыре раза эффективнее выборки best-of-N. Кроме того, для задач, которые небольшая модель решает с ненулевой вероятностью, дополнительные вычисления во время тестирования позволяют ей превзойти модель в 14 раз крупнее при одинаковом числе FLOPs.
Масштабирование в компьютерном зрении#
Для моделей компьютерного зрения действует тот же принцип. В исследовании Google Scaling Vision Transformers обучила визуальный трансформер (ViT) с 2 миллиардами параметров, достигший точности top-1 90,45% на ImageNet. Ultralytics YOLO26 предлагает пять размеров модели на основе одного файла YAML модели, в котором записи scales задают множители глубины и ширины, а также максимальное число каналов — от n: [0.50, 0.25, 1024] до x: [1.00, 1.50, 512]. На COCO средняя точность (mAP) растёт с 40.9 у YOLO26n с 2.4 миллиона параметров до 57.5 у YOLO26x с 55.7 миллиона параметров: число параметров увеличивается в 23 раза, а mAP50-95 — на 16.6 пункта.










