Перейти к содержимому
ПереводыStanford

CS336, лекции 9 и 11: законы масштабирования — основы и практика

Перевод лекций Тацунори Хашимото (весна 2025): откуда берутся степенные законы, законы по данным и по модели, критический батч, Kaplan против Chinchilla и три метода подгонки; затем — как масштабируют на практике Cerebras-GPT, MiniCPM, DeepSeek, Llama 3, Hunyuan и MiniMax, расписание WSD и подробный разбор μP.

  • Лекция 9 — то, что в курсе изложено в уроке 5.1.1 «Законы масштабирования»: степенной закон, Kaplan и Chinchilla, «перекармливание» данными. Здесь больше истории (законы по данным с 1993 года), теории (почему именно степенной закон) и законов для гиперпараметров (батч, learning rate). Слайды о повторении данных и составе смеси — к уроку 5.1.2.
  • Лекция 11 — практика: как конкретные лаборатории (в том числе китайские — MiniCPM из Университета Цинхуа, DeepSeek, Tencent Hunyuan, MiniMax) подбирают размер модели, батч и learning rate. Расписание WSDрасписание WSD (warmup — stable — decay)EN warmup-stable-decay (WSD) scheduleРазогрев, длинное плато с постоянным learning rate и короткий спад в конце. Популяризовано MiniCPM (OpenBMB и Университет Цинхуа, 2024). есть в уроке 5.4.4. Тема μP (параметризация максимального обновления) в нашем курсе не разбирается — здесь её подробный вывод; для него нужен урок 3.4.1 об инициализации.
  • Это теория для задания 3 CS336 (подгонка закона масштабирования через API обучения), см. путеводитель по заданию 3.

Лекция 9. Законы масштабирования — основы

Заголовок раздела «Лекция 9. Законы масштабирования — основы»

Представьте сценарий… Друг дал вам десять тысяч H100 на месяц и попросил сделать хорошую открытую LM. Что вы будете делать?

  • Соберёте команду инфраструктуры и фреймворк распределённого обучения (задание 2).
  • Соберёте отличный датасет для претрейна (задание 4).
  • Запустите большую модель (но какую??) ← мы здесь.

Широкая или глубокая? Сколько голов? Какая нелинейность? [Таблица архитектурных решений десятков моделей — та же, что в лекции 3.]

Можно скопировать «как карго-культ» решения существующих LM… но как их вообще оптимизировали изначально?

Сегодня: простые предсказательные «законы» поведения LM (4)

Заголовок раздела «Сегодня: простые предсказательные «законы» поведения LM (4)»

Подход — законы масштабирования (scaling laws): простые предсказательные правила для качества модели.

  • Старое и неприятное: подбирать гиперпараметры на больших моделях.
  • Новый (чрезмерный?) оптимизм: подбирать на маленьких моделях и экстраполировать на большие.

[Два графика из Kaplan et al. (2020): потери в зависимости от вычислений для моделей разного размера и потери в зависимости от числа параметров для моделей с 1, 2, 3, 6 и более чем 6 слоями.]

Часть 1. Законы масштабирования: история и предпосылки (5)

Заголовок раздела «Часть 1. Законы масштабирования: история и предпосылки (5)»
  • Масштабирование по данным как эмпирическая выборочная сложность.
  • Первые попытки понять нейросетевое масштабирование по данным.

Теоретики давно думали о «масштабировании»…

  • Обучение в конечном множестве из kk гипотез: ϵ(h^)≤(min⁡h∈Hϵ(h))+21mlog⁡2kδ\epsilon(\hat h) \le \left(\min_{h \in H} \epsilon(h)\right) + 2\sqrt{\frac{1}{m}\log\frac{2k}{\delta}}.
  • Генеративное моделирование гладких плотностей: скорость сходимости оценки плотности n−β/(2β+1)n^{-\beta/(2\beta+1)} (Hall, 1989).

Но это верхние оценки, а не реальные, фактически достигнутые значения потерь.

Самая ранняя статья о законе масштабирования по данным — 1993 (7)

Заголовок раздела «Самая ранняя статья о законе масштабирования по данным — 1993 (7)»

[Статья Cortes, Jackel, Solla, Vapnik, Denker «Learning Curves: Asymptotic Values and Rate of Convergence» (AT&T Bell Labs): ошибка на тесте моделируется как εtest=a+blα\varepsilon_{test} = a + \frac{b}{l^\alpha}, на обучении — как εtrain=a−clβ\varepsilon_{train} = a - \frac{c}{l^\beta}; обе кривые сходятся к общей асимптоте. Идея статьи — предсказывать, как классификатор поведёт себя на большом датасете, обучив его только на малых.]

Ранняя история: масштабирование по данным (8)

Заголовок раздела «Ранняя история: масштабирование по данным (8)»

Логарифмически-линейный рост с данными [Banko и Brill, 2001]. [График точности разрешения неоднозначности слов от размера корпуса — от 1 млн до 1 млрд слов, все методы растут почти по прямой в логарифмической шкале. Цитата из статьи: «эти результаты наводят на мысль, что стоит пересмотреть баланс между затратами на разработку алгоритмов и на разработку корпусов».]

Ранняя история: масштабирование по данным (9)

Заголовок раздела «Ранняя история: масштабирование по данным (9)»

Ранние проверки функциональных форм. [Таблица семейств кривых: экспоненциальные y=c−e−ax+by = c - e^{-ax+b} и т. п., степенные y=c−ax−αy = c - ax^{-\alpha}, y=c−(−ax+b)−αy = c - (-ax+b)^{-\alpha}, логарифмическая y=c−(a/log⁡x)y = c - (a/\log x).] Kolachina et al. (2012) — степенная зависимость между данными и качеством на прикладной задаче (машинный перевод).

Первая «крупномасштабная нейросетевая» работа о масштабировании — Hestness (2017). Предсказуемое масштабирование на многих задачах (машинный перевод, языковое моделирование, речь) и гипотеза о форме кривой. [Схема: «область малых данных» (ошибка на уровне угадывания) → «степенная область» (прямая в логарифмических осях) → «область неустранимой ошибки».]

Сильно опередила своё время…

  • «Эмерджентность»: при малых данных бывает трудно получить даже кривую, лучшую угадывания.
  • Масштабирование по вычислениям: когда известна нужная модель, следующее ограничение — скорость вычислений.
  • Скорость = точность: любой прирост скорости железа и ПО можно обратить в точность (через большие данные и модели).

Часть 2. Нейросетевые (LLM) законы масштабирования (12)

Заголовок раздела «Часть 2. Нейросетевые (LLM) законы масштабирования (12)»
  1. Данные и качество — «есть ли простые правила, определяющие, как данные влияют на качество?»
  2. Данные и размер модели — учить на большем числе данных или учить большие модели?
  3. Гиперпараметры и качество — «как ставить гиперпараметры большой модели??»

Законы масштабирования — степенные зависимости для многих факторов (13)

Заголовок раздела «Законы масштабирования — степенные зависимости для многих факторов (13)»

Эти законы выполняются для очень многих явлений! [Три графика Kaplan et al. (2020): потери на тесте от вычислений L=(Cmin/2,3⋅108)−0,050L = (C_{min}/2{,}3 \cdot 10^8)^{-0{,}050}, от размера датасета L=(D/5,4⋅1013)−0,095L = (D/5{,}4 \cdot 10^{13})^{-0{,}095}, от числа параметров L=(N/8,8⋅1013)−0,076L = (N/8{,}8 \cdot 10^{13})^{-0{,}076}.] Они выполняются даже в нестандартных условиях (когда распределение обучения ≠ распределению теста). [График потерь на разных датасетах — WebText2, Internet Books, Books, Wikipedia, Common Crawl — параллельные прямые.]

Что такое закон масштабирования по данным? Закон масштабирования по данным — простая формула, отображающая размер датасета (nn) в ошибку. Чего мы ждём от законов масштабирования? Монотонных кривых, похожих на логистические. [Схема трёх областей Hestness et al.]

Законы масштабирования по данным для языковых моделей (15)

Заголовок раздела «Законы масштабирования по данным для языковых моделей (15)»

Сначала эмпирическое наблюдение. Потери и размер датасета лежат на прямой в логарифмических осях — это «безмасштабная» (scale-free) или «степенная» зависимость. [График L=(D/5,4⋅1013)−0,095L = (D/5{,}4 \cdot 10^{13})^{-0{,}095} из Kaplan et al. (2020).]

Концептуальные основы законов по данным (16)

Заголовок раздела «Концептуальные основы законов по данным (16)»

В: почему появляются законы масштабирования? Мы знаем, что ошибка должна монотонно убывать. Но почему это степенной закон, то есть прямая в логарифмических осях?

О (?): ошибка оценивания естественным образом убывает полиномиально.

Но этот ответ требует времени, чтобы его понять. Разберём пример: если задача — оценить среднее датасета, каков закон масштабирования?

Вход: x1…xn∼N(μ,σ2)x_1 \dots x_n \sim N(\mu, \sigma^2). Задача: оценить среднее как μ^=∑ixin\hat\mu = \frac{\sum_i x_i}{n}.

Какова ошибка? Стандартными рассуждениями:

E[(μ^−μ)2]=σ2n.\mathbb{E}\left[(\hat\mu - \mu)^2\right] = \frac{\sigma^2}{n}.

Это и есть «закон масштабирования»:

log⁡(Ошибка)=−log⁡n+2log⁡σ.\log(\text{Ошибка}) = -\log n + 2\log\sigma.

В общем случае любая полиномиальная скорость 1/nα1/n^\alpha — это закон масштабирования.

Показатели законов масштабирования: интригующая загадка (18)

Заголовок раздела «Показатели законов масштабирования: интригующая загадка (18)»

Факт: похожие рассуждения показывают, что у большинства «классических» моделей (регрессия и т. д.) масштабирование 1n\frac{1}{n}. Значит, мы должны видеть y=−x+Cy = -x + C. Что мы видим в нейросетевых законах? [Три графика Hestness et al.: машинный перевод — ε(m)=3,87⋅m−0,13\varepsilon(m) = 3{,}87 \cdot m^{-0{,}13}; речь — ε(m)=1,36⋅m−0,30\varepsilon(m) = 1{,}36 \cdot m^{-0{,}30} и 0,95⋅m−0,300{,}95 \cdot m^{-0{,}30} (внимание и DS2); языковое моделирование — L=(D/5,4⋅1013)−0,095L = (D/5{,}4 \cdot 10^{13})^{-0{,}095}. Наклоны от −0,1-0{,}1 до −0,3-0{,}3 вместо −1-1.]

Сильно отличается от предсказаний… Почему?

Отступление: законы масштабирования для (непараметрического) обучения (19)

Заголовок раздела «Отступление: законы масштабирования для (непараметрического) обучения (19)»

Нейросети могут приближать произвольные функции. Превратим это в пример.

  • Вход: x1…xnx_1 \dots x_n равномерно в единичном квадрате на плоскости, yi=f(xi)+N(0,1)y_i = f(x_i) + N(0, 1).
  • Задача: оценить f(x)f(x).
  • Подход: разрезать плоскость на квадратики со стороной n−1/4n^{-1/4}.

Какова ошибка оценивания? Неформально: у нас n\sqrt n квадратиков, в каждый попадает n\sqrt n точек.

Ошибка≈1n+(прочие члены гладкости).\text{Ошибка} \approx \frac{1}{\sqrt n} + (\text{прочие члены гладкости}).

В размерности dd это становится Ошибка=n−1/d\text{Ошибка} = n^{-1/d}. Значит, масштабирование имеет вид y=−1dx+Cy = -\frac{1}{d}x + C.

Вывод: у гибкого «непараметрического» обучения законы масштабирования зависят от размерности.

Теория внутренней размерности для законов по данным (20)

Заголовок раздела «Теория внутренней размерности для законов по данным (20)»

Некоторые (Bahri, 2021) рассуждают так:

  1. Законы масштабирования возникают из-за полиномиальных скоростей обучения 1nα\frac{1}{n^\alpha}.
  2. Наклон α\alpha тесно связан с внутренней размерностью данных.

[График: оценённая внутренняя размерность против 4/α4/\alpha для разных датасетов (CIFAR-10, CIFAR-100, SVHN, MNIST, FashionMNIST, учитель-ученик) — точки примерно вдоль прямой.] Но оценки внутренней размерности ненадёжны, и аргумент не безупречен…

Другие законы масштабирования по данным (21)

Заголовок раздела «Другие законы масштабирования по данным (21)»

До сих пор: как размер датасета связан с качеством? Связанный вопрос: как состав датасета влияет на качество?

  • Выбор оптимальной смеси данных по маленьким моделям.
  • Решение, повторять ли данные.
  • Сочетание того и другого: баланс качества и частоты повторения.

Продвинутый закон по данным: сдвиг распределения (22)

Заголовок раздела «Продвинутый закон по данным: сдвиг распределения (22)»

О: состав данных влияет на смещение (offset), а не на наклон. [График Kaplan et al.: прямые для разных тестовых датасетов параллельны.] Такие законы «сдвига распределения» говорят о важности сбора разнообразных данных! [Hashimoto (2021): графики ошибки от размера выборки для разных пропорций источников и U-образная кривая «ожидаемое смещение ошибки от доли источника данных» — лучше всего смесь, а не один источник.]

Законы масштабирования при повторении данных (23)

Заголовок раздела «Законы масштабирования при повторении данных (23)»

На практике данных конечное число — как повторение примеров влияет на масштабирование? [Графики из Muennighoff et al. «Scaling Data-Constrained Language Models»: до ~4 эпох повторение почти так же хорошо, как новые данные; дальше отдача быстро падает, около 40 эпох повторение уже бесполезно.]

D′=UD+UDRD∗(1−e−RD/RD∗),D' = U_D + U_D R_D^* \left(1 - e^{-R_D / R_D^*}\right),

где D′D' — эффективный объём данных, UDU_D — число уникальных токенов, RDR_D — число повторений, RD∗R_D^* — константа.

Выбор данных с учётом масштаба и конечности (24)

Заголовок раздела «Выбор данных с учётом масштаба и конечности (24)»

Раз повторённые данные менее ценны… выбор данных должен зависеть от масштаба! [Рисунок из Goyal et al. «Scaling Laws for Data Filtering»: при малом бюджете вычислений лучше агрессивно фильтровать (брать только лучшие данные), при большом — фильтровать мягче, потому что лучшие данные пришлось бы повторять слишком часто.]

  • Удивительно линейная связь между логарифмом размера данных и логарифмом ошибки.
  • Выполняется в разных областях и для разных моделей.
  • Теоретическое понимание: похоже на оценки обобщения, пример с оценкой среднего.
  • Применения: сбор и отбор данных.

Законы масштабирования для инженерии моделей (26)

Заголовок раздела «Законы масштабирования для инженерии моделей (26)»

Теперь обещанное в начале: масштабирование моделей!

Мотивация: как эффективно проектировать огромные LM?

  • LSTM против трансформеров.
  • Adam против SGD.

Как распределить ограниченные ресурсы?

  • Дольше учить модели или учить модели побольше?
  • Собирать больше данных или купить больше GPU?

Законы масштабирования дают простую процедуру ответа на эти вопросы.

Рассмотрим некоторые решения в контексте классической статьи Kaplan о масштабировании: архитектура; оптимизатор; пропорции/глубина; размер батча.

В: трансформеры лучше LSTM? Метод грубой силы — потратить десятки миллионов на обучение «LSTM-GPT-3». Метод законов масштабирования: [график Kaplan et al.: потери на тесте от числа параметров — у трансформеров прямая идёт ниже и круче, у LSTM она ложится на плато уже при ~10710^7–10810^8 параметров].

Масштабирование разных архитектур в Tay et al. [Графики для ALBERT, динамических свёрток, Evolved Transformer, Funnel, Transformer-GLU, лёгких свёрток, MLP-Mixer, MoS-трансформера, Performer, Switch Transformer, Universal Transformer: масштабируются по-разному, обычный трансформер (и его GLU-вариант) — среди лучших.]

А Adam против SGD? [Hestness et al. (2017): обе кривые для рекуррентных highway-сетей глубины 10 — прямые, у Adam ε(m)=5,25⋅m−0,095\varepsilon(m) = 5{,}25 \cdot m^{-0{,}095} идёт ниже SGD с 5,37⋅m−0,0945{,}37 \cdot m^{-0{,}094}: наклоны почти одинаковы, Adam просто сдвинут вниз.] (Это 2017 год, ещё до трансформеров; RHN — recurrent highway nets.)

Сильно ли важна глубина или ширина? [График Kaplan et al.: потери от числа параметров для 1, 2, 3, 6 и более 6 слоёв.]

  • Один слой против двух — огромная разница.
  • Дальнейшее увеличение числа слоёв даёт убывающую отдачу ниже 10710^7 параметров.

3. Глубина/ширина: не все параметры одинаковы (32)

Заголовок раздела «3. Глубина/ширина: не все параметры одинаковы (32)»

Мы думали о «параметрах», но не все параметры равны. Параметры слоя эмбеддингов ведут себя иначе! [Два графика: если считать параметры с эмбеддингами, кривые для разной глубины расходятся; если без эмбеддингов — сливаются в одну.]

Связанное: недавние статьи о законах масштабирования для смесей экспертов.

3. Глубина/ширина и другие гиперпараметры трансформера (33)

Заголовок раздела «3. Глубина/ширина и другие гиперпараметры трансформера (33)»

Зависят ли гиперпараметры вроде пропорций от масштаба? [Рисунок 5 Kaplan et al.: при фиксированном числе параметров качество слабо зависит от формы модели — отношения dff/dmodeld_{ff}/d_{model}, пропорций dmodel/nlayerd_{model}/n_{layer}, размерности головы; пропорции могут меняться в 40 раз при потере в пределах 3%.]

У размера батча, как известно, сильно убывающая отдача после определённой точки. [Слева — схема: малые батчи идут к минимуму зигзагом, большие — прямее, но после некоторого размера выигрыш пропадает; справа — «предсказанная скорость обучения»: идеальное масштабирование до шумового масштаба и неэффективное после.]

Критический батч = минимальное число примеров для целевых потерь / минимальное число шагов для целевых потерь.

Чем ниже целевые потери, тем больше батч. [График Kaplan et al.: критический батч (в токенах) растёт с уменьшением потерь, Bcrit=2,1⋅108 токенов⋅L−4,8B_{crit} = 2{,}1 \cdot 10^8 \text{ токенов} \cdot L^{-4{,}8}.]

Cmin(C)≡C1+B/Bcrit(L)C_{min}(C) \equiv \frac{C}{1 + B / B_{crit}(L)}

(минимальные вычисления — при B≪BcritB \ll B_{crit}).

4. Размер батча: выбор оптимального батча (36)

Заголовок раздела «4. Размер батча: выбор оптимального батча (36)»

В: когда растут и вычисления, и размер модели, как масштабировать обучение?

  • Огромные батчи, то же число шагов?
  • Фиксированные батчи, больше шагов?

[График Kaplan et al.: число шагов SminS_{min} при оптимальном батче почти не растёт с вычислениями, Smin=(5,4⋅103)⋅Cmin0,03S_{min} = (5{,}4 \cdot 10^3) \cdot C_{min}^{0{,}03}, а при фиксированном батче растёт резко.] Хорошая новость для параллелизма по данным (?).

5. Learning rate: μP и выбор LR с учётом масштаба (37)

Заголовок раздела «5. Learning rate: μP и выбор LR с учётом масштаба (37)»

[Yang et al. (2022): при стандартной параметризации оптимальный learning rate сдвигается при росте ширины от 128 до 8192, а с μP — остаётся на месте. Таблица Yao et al. (2024): как масштабируются learning rate AdamW, дисперсия инициализации и множители для модели в rr раз шире.]

Если масштабировать наивно, оптимальный learning rate зависит от масштаба. Нужны инициализация и масштабирование learning rate с учётом масштаба.

Осторожно — на прикладных задачах масштабирование может отличаться (38)

Заголовок раздела «Осторожно — на прикладных задачах масштабирование может отличаться (38)»

До сих пор: масштабирование предсказуемо и зависит в основном от параметров. Подвох: масштабирование на прикладных задачах часто куда менее предсказуемо. [Tay et al. (2023): по перплексии модели разной формы ложатся на одну линию, а по точности на SuperGLUE та же модель может оказаться и выше, и ниже соседей.]

Влияние гиперпараметров на большие LM можно предсказать до обучения! — выбор оптимизатора, глубина модели, выбор архитектуры.

Процедура проектирования по законам масштабирования:

  1. Обучить несколько маленьких моделей.
  2. Установить закон масштабирования (например, закон для ADAM и для SGD).
  3. Выбрать оптимальный гиперпараметр по предсказанию закона.

В: нужно больше данных или большие модели? Очевидно, на маленьких моделях много данных тратится впустую. [График потерь от размера датасета для моделей разного размера: маленькие модели выходят на плато.]

Совместные законы «данные–модель» описывают, как они связаны.

  • Rosenfeld et al. (2020): Ошибка=n−α+m−β+C\text{Ошибка} = n^{-\alpha} + m^{-\beta} + C.
  • Kaplan et al. (2020): Ошибка=[m−α/β+n−1]β\text{Ошибка} = \left[m^{-\alpha/\beta} + n^{-1}\right]^{\beta}.

[Здесь nn — объём данных, mm — размер модели.] Удивительно хорошо описывают совместную ошибку.

Совместное масштабирование данных и модели точно (41)

Заголовок раздела «Совместное масштабирование данных и модели точно (41)»

[Rosenfeld et al.: показатели подгоняют на малых данных и малых моделях (зелёные точки сетки), остальное (красные) предсказывают; на ImageNet и WikiText-103 предсказания ложатся на диагональ с ошибкой около 4,5% и 0,5%.]

Баланс размера данных и модели: оптимизируйте n−α+m−β+Cn^{-\alpha} + m^{-\beta} + C с учётом ваших затрат.

В: а другие ресурсы? Вычисления против качества? При фиксированном бюджете вычислений… большая недоученная модель или маленькая хорошо обученная? [Графики Kaplan et al. и Brown et al. (GPT-3): кривые обучения моделей разного размера и их нижняя огибающая — степенной закон по вычислениям.] Законы масштабирования помогают пройти этот компромисс.

Осторожно — «оптимальные» законы получить трудно (43)

Заголовок раздела «Осторожно — «оптимальные» законы получить трудно (43)»

И Rosenfeld, и Kaplan предсказывают связь данных, модели и качества. Авторы Chinchilla [Hoffmann et al., 2022] утверждают, что эти подгонки сильно ошибаются. [График оптимального числа параметров от FLOPs: три подхода Chinchilla дают близкие прямые, прямая Kaplan идёт круче; отмечены Chinchilla (70B), Gopher (280B), GPT-3 (175B), Megatron-Turing NLG (530B) — большие модели того времени оказались слишком большими для своего бюджета.]

Главное различие — учёт расписания learning rate (44)

Заголовок раздела «Главное различие — учёт расписания learning rate (44)»

[Графики Chinchilla: косинусные расписания разной длины. Если косинус рассчитан на большее число шагов, чем реально пройдено, промежуточные потери хуже; поэтому промежуточные точки длинного запуска нельзя использовать как «модель, обученную на меньшем числе токенов».]

Авторы Chinchilla предлагают три способа подгонки законов масштабирования — разберём каждый. В основном (кроме метода 3) они дают похожие константы.

ПодходКоэфф. aa в Nopt∝CaN_{opt} \propto C^aКоэфф. bb в Dopt∝CbD_{opt} \propto C^b
1. Минимум по кривым обучения0,50 (0,488; 0,502)0,50 (0,501; 0,512)
2. Профили IsoFLOP0,49 (0,462; 0,534)0,51 (0,483; 0,529)
3. Параметрическое моделирование потерь0,46 (0,454; 0,455)0,54 (0,542; 0,543)
Kaplan et al. (2020)0,730,27

Похоже на рисунок с FLOPs у Kaplan: минимум по объединению всех кривых обучения — степенной закон. [Рисунок 2 Chinchilla: запуски моделей от 70 млн до 10 млрд параметров с четырьмя длинами косинуса; по нижней огибающей находят оптимальный размер модели (в центре) и число токенов (справа) для каждого бюджета, с экстраполяцией на бюджет Gopher (5,76⋅10235{,}76 \cdot 10^{23} FLOPs).]

Берём набор бюджетов FLOPs, варьируем число параметров, берём минимум каждой из этих выпуклых кривых. Минимумы образуют степенной закон. [Рисунок 3 Chinchilla: для бюджетов от 6⋅10186 \cdot 10^{18} до 3⋅10213 \cdot 10^{21} FLOPs потери как функция размера модели — «долины»; минимумы долин ложатся на прямые для оптимального размера и числа токенов.]

Обучаем много моделей на сетке «размер–данные» и методом наименьших квадратов подгоняем совместный закон. [Рисунок 4 Chinchilla: подгонка L^(N,D)\hat L(N, D), контуры равных потерь и сечения IsoFLOP; эффективная граница — прямая в логарифмических осях; оптимальный размер для бюджета Gopher — 40 млрд параметров.]

Забавное дополнение — ошибки в методе 3 Chinchilla (49)

Заголовок раздела «Забавное дополнение — ошибки в методе 3 Chinchilla (49)»

Метод 3, вероятно, был ошибочен в исходной статье. Некоторые авторы провели «криминалистику данных», восстановили сырые данные по графикам, заново сделали подгонку и получили результаты, лучше согласующиеся с методами 1 и 2 [Besiroglu et al., 2024]. [Графики: остатки подгонки Hoffmann et al. смещены, у пересчитанной — центрированы; оптимальное число токенов на параметр по новой подгонке ближе к ~20.]

Важное замечание — оптимум для обучения может быть не тем, что нужно (50)

Заголовок раздела «Важное замечание — оптимум для обучения может быть не тем, что нужно (50)»

Chinchilla говорит, какая модель лучше при фиксированных вычислениях на обучение… Но в реальном использовании большинство вычислений уходит на инференс. Поэтому нужно учить «сверх оптимума»:

  • GPT-3 — 2 токена на параметр;
  • Chinchilla — 20 токенов на параметр;
  • LLaMA 65B — 22 токена на параметр;
  • Llama 2 70B — 29 токенов на параметр;
  • Mistral 7B — 110 токенов на параметр;
  • Llama 3 70B — 215 токенов на параметр.

Чем больше ожидаемое использование, тем выгоднее заплатить больше заранее.

Недавний пример для других (диффузионных) моделей (51)

Заголовок раздела «Недавний пример для других (диффузионных) моделей (51)»

Методы вроде IsoFLOP довольно легко выполнить; наша группа воспроизвела эти результаты. [Gulrajani et al. (2023): профили IsoFLOP для авторегрессионных и диффузионных языковых моделей — те же «долины», у диффузионных выше.]

Законы масштабирования для моделей и вычислений (52)

Заголовок раздела «Законы масштабирования для моделей и вычислений (52)»

Логарифмическая линейность распространяется на параметры модели и вычисления!

Это позволяет по маленьким моделям:

  • выбрать оптимизатор;
  • выбрать архитектуру и размеры моделей.

А также разумно распределять ресурсы: большие модели или больше данных?

Итоги: законы масштабирования — удивительны и полезны! (53)

Заголовок раздела «Итоги: законы масштабирования — удивительны и полезны! (53)»
  • Масштабирование по данным: понять, как данные влияют на модели; чистая теория.
  • Масштабирование моделей: резко снизить стоимость обучения.
  • Масштабирование как предсказание: понять, какие задачи можно «взять грубой силой».

Лекция 11. Масштабирование — разбор случаев и детали

Заголовок раздела «Лекция 11. Масштабирование — разбор случаев и детали»

Каковы лучшие практики масштабирования и подбора гиперпараметров LM?

  • Действительно ли подход Chinchilla к масштабированию работает?
  • Можно ли сэкономить вычисления при обучении и подгонке?
  • Стоит ли выбирать определённые архитектуры/параметризации, чтобы они хорошо масштабировались?

Самая новая модель с деталями масштабирования, о которой мы говорили, — 2022 года (Chinchilla). А в последнее время? [Обложки статей: Cerebras-GPT (2023), DeepSeek LLM (2024), MiniCPM (2024), «The Llama 3 Herd of Models» (2024), Hunyuan-Large (2024), MiniMax-01 (2025).]

Параметризация максимального обновления — подробно (4)

Заголовок раздела «Параметризация максимального обновления — подробно (4)»

Вспомним: параметризация максимального обновления (μP) обещает заманчивое. [Тот же рисунок Yang et al.: оптимальный learning rate не сдвигается с шириной.] Настройка гиперпараметров, не зависящая от масштаба, была бы очень кстати. Как она работает и работает ли на практике?

Недавние модели с подробными открытыми рецептами масштабирования (5)

Заголовок раздела «Недавние модели с подробными открытыми рецептами масштабирования (5)»
  1. Cerebras-GPT.
  2. MiniCPM.
  3. DeepSeek.

Cerebras-GPT — модели от 0,1 до 13 млрд, обученные по рецепту Chinchilla. [График потерь на Pile от FLOPs: Cerebras-GPT со стандартной параметризацией и с μP, для сравнения Pythia, GPT-J 6B, GPT-NeoX 20B.] Главный вывод: параметризация μP делает масштабирование стабильнее.

Стратегия масштабирования гиперпараметров (7)

Заголовок раздела «Стратегия масштабирования гиперпараметров (7)»

Авторы Cerebras-GPT находят, что с μP масштабирование предсказуемее. [Рисунок 5: отклонение потерь от закона масштабирования — у стандартной параметризации точки заметно скачут выше и ниже линии, у μP лежат почти на ней.]

В приложении статьи — очень ясный список отличий параметризации модели для масштабирования. [Таблица: стандартная параметризация против μP — множитель выхода эмбеддинга, learning rate и дисперсия инициализации каждого слоя делятся на mwidth=dmodel/dmodel,basem_{width} = d_{model}/d_{model,base}, масштаб внимания 1/dhead1/d_{head} вместо 1/dhead1/\sqrt{d_{head}}, логиты на выходе делятся на mwidthm_{width}.]

μP сочетается с агрессивным масштабированием для оптимизации гиперпараметров. [Цитата: гиперпараметры μP настроены на прокси-модели с 40 млн параметров (dmodel=256d_{model} = 256, 32 слоя, dhead=128d_{head} = 128) случайным поиском из 200 проб на 600 млн токенов; найдено ηbase=6⋅10−3\eta_{base} = 6 \cdot 10^{-3}, σbase=0,08\sigma_{base} = 0{,}08, memb=10m_{emb} = 10, затем перенесено на все размеры.] В целом гиперпараметры стабильны.

MiniCPM (2024) — новая маленькая высококачественная LM от группы из Университета Цинхуа. Тщательные, обширные расчёты масштабирования + μP, чтобы стабилизировать и упростить масштабирование.

Высококачественные модели на 1–2,5 млрд параметров. Эти модели обходят большинство моделей на 2 млрд и не уступают многим современным моделям на 7 млрд. [Таблица: MiniCPM-2.4B — MMLU 53,46, HumanEval 50,00, GSM8K 53,83, MATH 10,24; для сравнения Mistral-7B — 62,69, 27,44, 33,13, 5,00; Llama2-7B — 44,32, 12,20, 13,57, 1,80.]

Приём 1: μP для стабильного масштабирования (12)

Заголовок раздела «Приём 1: μP для стабильного масштабирования (12)»

[Таблица 7 MiniCPM: масштаб выхода эмбеддинга — умножить выход эмбеддинга на scale_emb; масштаб остаточных связей — умножить приращение в каждом слое на scale_depth/num_layers\text{scale\_depth} / \sqrt{\text{num\_layers}}; инициализация — стандартное отклонение двумерных тензоров init_std/dm/dbase\text{init\_std} / \sqrt{d_m / d_{base}}, остальные параметры — 0,1; learning rate двумерных тензоров — в 1/(dm/dbase)1/(d_m/d_{base}) раз; выход LM-головы — делить на dm/dbased_m/d_{base}.]

Scale_emb = 12, scale_depth = 1,4, init_std = 0,1, lr = 0,01. Ср. Cerebras-GPT: scale_emb = 10, lr = 6e-3, init_base = 0,08.

Используем μP для инициализации, фиксируем пропорции, увеличиваем общий размер модели.

ИмяN (млрд)dmd_mdffd_{ff}dhd_hnhn_hL
9M0,0093208006458
30M0,036512128064812
70M0,0666401600641014
0.1B0,1097681920641216
0.17B0,1668962240641418
0.2B0,24110242560641620
0.5B0,49913443360642124

Заметьте: разрыв между самой большой моделью здесь и реально обученной — примерно в 5 раз. Оптимальные батч, learning rate и соотношение токенов к размеру подгоняются прямо анализом масштабирования.

Три размера модели (9M, 30M, 170M): объём данных (ось y), батч (ось x) и потери (цвет). Вертикальные столбцы точек — это одна кривая обучения (фиксированный батч, больше точек). Красная линия пытается найти точки минимальных потерь для каждого значения y — это «оптимальный батч» для данного сочетания размера модели и объёма данных.

Дальше можно повторить анализ Kaplan (2020) и построить оптимальный батч против итоговых потерь. Довольно чистый тренд — полиномиально увеличивать батч по мере снижения потерь. [Подгонка: log⁡(BS)=−6,24⋅log⁡(L)+20,91\log(BS) = -6{,}24 \cdot \log(L) + 20{,}91.]

Согласно μP оптимальный learning rate должен быть (примерно) стабилен. Так ли это? [Рисунок 3 MiniCPM: потери от learning rate для моделей 0,04B–2,1B — минимумы почти в одной точке, около 0,01: «после применения Tensor Program сдвиг learning rate становится минимальным».]

Что осталось — баланс размера модели и данных (17)

Заголовок раздела «Что осталось — баланс размера модели и данных (17)»

По Chinchilla, чтобы подогнать закон, нужно обучать с нуля, а не просто останавливаться раньше. Это превращает стоимость подгонки из nn в n2n^2… Можно ли этого избежать? [Те же графики косинусов разной длины из Chinchilla.]

Вместо косинуса делим learning rate на фазы разогрева (warmup), плато (stable) и спада (decay). Для анализа в стиле Chinchilla можно перезапускать запуск с конца фазы плато. [Рисунок 15: косинус против WSD; несколько WSD-расписаний с разными точками окончания делят одну общую фазу плато.]

Во время плато потери снижаются медленнее, а в фазе спада — резко. Спад занимает около 10%. [Кривые WSD(40N, 2N), WSD(40N, 4N), WSD(80N, 8N) и т. д. против Cosine(80N): каждый спад опускает кривую ниже косинуса.]

Отступление — другие способы оценки кривых Chinchilla (20)

Заголовок раздела «Отступление — другие способы оценки кривых Chinchilla (20)»

Gadre et al. предлагают другие способы на основе подгонки кривых. Главная идея: «штраф» за обучение сверх оптимума остаётся стабильным. [Формулы: L(N,D)=E+AN−α+BD−βL(N, D) = E + AN^{-\alpha} + BD^{-\beta} переписывается через вычисления и коэффициент перекармливания M=D/NM = D/N: L(C,M)=E+(aMαC+bM−αC)C−αCL(C, M) = E + (aM^{\alpha_C} + bM^{-\alpha_C}) C^{-\alpha_C}.]

Вооружившись WSD, можно искать оптимальное соотношение данных и размера модели. [Цитата: потери подгоняются как L(N,D)=CNN−α+CDD−β+L0L(N, D) = C_N N^{-\alpha} + C_D D^{-\beta} + L_0 через scipy.curve_fit; оптимальное соотношение при фиксированных вычислениях C=6NDC = 6ND: NoptDopt=K2(C6)η\frac{N_{opt}}{D_{opt}} = K^2 \left(\frac{C}{6}\right)^\eta.] Авторы MiniCPM выбирают метод 1 (нижняя огибающая) и метод 3 (совместная подгонка).

Довольно ясные (хотя, может, и не линейные?) тренды. [Графики потерь от вычислений на коде, английской и китайской Википедии.] Разные цвета — разные модели. Их запуски говорят об относительно слабой убывающей отдаче от данных.

Их основной подход — совместная подгонка; они находят очень большие соотношения данных к модели. [Контурный график для UltraText: 7,54⋅10−1N0,30+2,92⋅10−1D0,30+0,25\frac{7{,}54 \cdot 10^{-1}}{N^{0{,}30}} + \frac{2{,}92 \cdot 10^{-1}}{D^{0{,}30}} + 0{,}25, K2=0,01K^2 = 0{,}01, η=−0,00\eta = -0{,}00, Dopt/NoptD_{opt}/N_{opt} при C=1021C = 10^{21} ≈ 95,60.]

Маленькие модели с большим количеством данных (24)

Заголовок раздела «Маленькие модели с большим количеством данных (24)»

Общее соотношение данных к модели очень высокое (192), хотя авторы считают, что архитектуры LLaMA должны иметь ещё более высокое соотношение. [Цитата: «данных должно быть в 192 раза больше, чем параметров, в среднем, против 20 раз у Hoffmann et al.».]

Заметим, что у недавних моделей вроде LLaMA 3 соотношение данных к модели значительно выше. Это говорит о том, что при более тщательной оптимизации, возможно, можно уйти далеко за эмпирическое правило «20 × размер модели».

Подгонка кривых масштабирования (в целом) хорошая (25)

Заголовок раздела «Подгонка кривых масштабирования (в целом) хорошая (25)»

В целом подгонки и предсказания для моделей в широком диапазоне размеров довольно хороши. [Графики «реальное» против «подогнанного» для моделей 0,036B–2,4B на коде и английском тексте.] По оси X — число токенов в миллиардах.

DeepSeek (2024) — ещё одна LM с тщательным анализом масштабирования. Модели на 7 и 67 млрд параметров — в целом высокое качество по сравнению с другими открытыми LM.

Качество примерно сравнимо с моделями LLaMA 2 того же размера. [Таблица бенчмарков на английском и китайском: DeepSeek 67B — MMLU 71,3, GSM8K 63,4, HumanEval 42,7, C-Eval 66,1, CMMLU 70,8; LLaMA 2 70B — 69,0, 58,4, 28,7, 51,4, 53,1.]

Стратегия: никакого μP, напрямую оцениваем оптимальные батч и learning rate. [Цитата: сетка размеров батча и learning rate на маленьких экспериментах с бюджетом 101710^{17} FLOPs (модель 177 млн FLOPs на токен) и 102010^{20} FLOPs (2,94 млрд FLOPs на токен); ошибка обобщения стабильна в широкой области — «почти оптимальное» качество достигается в довольно широком пространстве параметров.]

Маленькие запуски + отбираем «почти оптимальные» модели (в пределах 0,25% от минимума).

ηopt=0,3118⋅C−0,1250,Bopt=0,2920⋅C0,3271.\eta_{opt} = 0{,}3118 \cdot C^{-0{,}1250}, \qquad B_{opt} = 0{,}2920 \cdot C^{0{,}3271}.

[Графики: оптимальный батч растёт с бюджетом, оптимальный learning rate медленно падает; отмечены точки для 7B и 67B.] Подгонка learning rate выглядит немного сомнительно…

DeepSeek использует learning rate в стиле WSD — быстрый разогрев и две ступени спада по 10%. [Цитата: после 2000 шагов разогрева learning rate держится на максимуме, после 80% токенов падает до 31,6% от максимума, после 90% — до 10%. Графики: многоступенчатое расписание даёт те же итоговые потери, что косинус; пропорции ступеней 80/10/10, 70/15/15, 60/20/20 почти не различаются.] В целом, похоже, не уступает косинусному learning rate.

Анализ баланса данных и размера: метод Chinchilla 2 (31)

Заголовок раздела «Анализ баланса данных и размера: метод Chinchilla 2 (31)»

Простой анализ IsoFLOP для выбора размера модели. [Графики DeepSeek: кривые IsoFLOP для бюджетов 101710^{17}–3⋅10203 \cdot 10^{20} (по оси x — не размер модели в параметрах, а «FLOPs на токен без эмбеддингов» MM); прямые оптимального MM и числа токенов DD от бюджета, экстраполяция на DeepSeek LLM 67B.]

Масштабирование предсказывает итоговые потери (32)

Заголовок раздела «Масштабирование предсказывает итоговые потери (32)»

Подогнанные модели масштабирования (в целом) точно предсказывают итоговые потери. [Рисунок 5 DeepSeek: биты на байт на валидации от FLOPs; DeepSeek LLM 7B и 67B (звёздочки) лежат на кривой, построенной по маленьким моделям.]

  • Масштабирование в стиле IsoFLOP (соотношение 39 к 1). [Кривые IsoFLOP для бюджетов от 6⋅10186 \cdot 10^{18} до 102210^{22} FLOPs.]
  • Масштабирование «вычисления → прикладные задачи». [Двухшаговый прогноз: вычисления → нормированный NLL правильного ответа (прямая) → точность (сигмоида); предсказание для Llama 3 405B совпало с фактом.]

Ещё раз IsoFLOP-масштабирование (но теперь для числа параметров MoE). [Квадратичные подгонки потерь от числа активных параметров для бюджетов 5⋅10195 \cdot 10^{19}–9,5⋅10199{,}5 \cdot 10^{19}; прямая оптимума.] Оптимальное соотношение — 96 к 1 (данные к активным параметрам).

Законы масштабирования для архитектур + метод Chinchilla 1. [Рисунок 6: кривые обучения моделей от 70 млн до 7 млрд для трёх архитектур — softmax-внимание, Lightning Attention (линейное) и гибрид; по нижним огибающим выводят оптимальный размер модели и число токенов для бюджета.]

Недавние рецепты законов масштабирования (36)

Заголовок раздела «Недавние рецепты законов масштабирования (36)»

Cerebras-GPT

  • μP, чтобы гиперпараметры не зависели от масштаба.
  • Прямо использовать формулу масштабирования Chinchilla.

Рецепт DeepSeek

  • Считать большинство гиперпараметров трансформера не зависящими от масштаба.
  • Анализ масштабирования для батча и learning rate, чтобы найти их оптимальный рост.
  • Анализ IsoFLOP, чтобы выбрать размер модели.
    • Кусочно-постоянное расписание, чтобы сделать масштабирование Chinchilla дешёвым.

Рецепт MiniCPM

  • μP, чтобы трансформер и learning rate не зависели от масштаба.
  • Кусочно-линейное расписание, чтобы получить выборку для метода Chinchilla 3 (подгонка кривых).

Недавние (конец 2024+), но с меньшими деталями

  • LLaMA 3 / Hunyuan — просто IsoFLOP (без других деталей масштабирования).
  • MiniMax — масштабирование для выбора архитектуры и решений.

Настройка гиперпараметров, «не зависящая от масштаба», была бы очень полезна. Cerebras-GPT и MiniCPM тоже используют μP — действительно ли он полезен? [Препринт Lucas Dax Lingle «A Large-Scale Exploration of μ-Transfer».]

[Статья Greg Yang, James B. Simon, Jeremy Bernstein «A Spectral Condition for Feature Learning» — очень доступная статья, «μP для малышей».]

μP основан на следующем утверждении. Как функция ширины сети nln_l:

  • A1: активации при инициализации должны оставаться Θ(1)\Theta(1).
  • A2: после одного шага градиента изменение активаций должно быть Θ(1)\Theta(1).

Замечание: если отдельные активации Θ(1)\Theta(1), то норма вектора должна быть Θ(nl)\Theta(\sqrt{n_l}).

Пусть у нас простая глубокая линейная сеть (hl=Wlhl−1h_l = W_l h_{l-1}), и мы инициализируем Wl∼N(0,σInl×nl−1)W_l \sim N(0, \sigma I_{n_l \times n_{l-1}}). Тогда по базовой концентрации случайных матриц ∥Wl∥∗→σ(nl−1+nl)\|W_l\|_* \to \sigma(\sqrt{n_{l-1}} + \sqrt{n_l}) и

∥hl∥2≈∥Wl∥∗ ∥hl−1∥2.\|h_l\|_2 \approx \|W_l\|_* \, \|h_{l-1}\|_2.

Теперь выберем

σ=nlnl−1(nl+nl−1)−1=Θ(1nl−1min⁡(1,nlnl−1)).\sigma = \frac{\sqrt{n_l}}{\sqrt{n_{l-1}}}\left(\sqrt{n_l} + \sqrt{n_{l-1}}\right)^{-1} = \Theta\left(\frac{1}{\sqrt{n_{l-1}}}\min\left(1, \sqrt{\frac{n_l}{n_{l-1}}}\right)\right).

Что происходит?

  • Предположение индукции: ∥hl−1∥2=Θ(nl−1)\|h_{l-1}\|_2 = \Theta(\sqrt{n_{l-1}}).
  • Шаг индукции: ∥Wl∥∗→σ(nl−1+nl)=nlnl−1\|W_l\|_* \to \sigma(\sqrt{n_{l-1}} + \sqrt{n_l}) = \frac{\sqrt{n_l}}{\sqrt{n_{l-1}}}, откуда ∥hl∥2=nl+o(nl)\|h_l\|_2 = \sqrt{n_l} + o(\sqrt{n_l}).

[Комментарий: «≈» здесь немного «на пальцах» — минимальное сингулярное число гауссовой матрицы nl−nl−1−1\sqrt{n_l} - \sqrt{n_{l-1}} - 1, и растяжение неоднородно, как в лемме Джонсона–Линденштраусса.]

Теперь разберёмся с обновлениями. Пусть веса получили обновление ΔWl\Delta W_l. Для SGD на линейном слое это внешнее произведение ранга 1 «градиент потерь × активация»:

ΔWl=−ηl∇hlℓ  hl−1⊤.\Delta W_l = -\eta_l \nabla_{h_l}\ell \; h_{l-1}^\top.

Поэтому ∥ΔWlhl−1∥2=∥ΔWl∥∗∥hl−1∥2\|\Delta W_l h_{l-1}\|_2 = \|\Delta W_l\|_* \|h_{l-1}\|_2. Заметим, что обновление активаций равно

Δhl=WlΔhl−1+ΔWl(hl−1+Δhl−1).\Delta h_l = W_l \Delta h_{l-1} + \Delta W_l (h_{l-1} + \Delta h_{l-1}).

Если главные члены не сокращаются, то:

  • WlΔhl−1=Θ(nl)W_l \Delta h_{l-1} = \Theta(\sqrt{n_l}) — из предположения индукции и рассуждения для A1;
  • ΔWlhl−1=∥ΔWl∥∗nl−1\Delta W_l h_{l-1} = \|\Delta W_l\|_* \sqrt{n_{l-1}} — из сказанного выше, поэтому ∥ΔWl∥∗=Θ(nlnl−1)\|\Delta W_l\|_* = \Theta\left(\frac{\sqrt{n_l}}{\sqrt{n_{l-1}}}\right);
  • ΔWlΔhl−1=O(∥ΔWl∥∗nl−1)\Delta W_l \Delta h_{l-1} = O(\|\Delta W_l\|_* \sqrt{n_{l-1}}).

Напомним: мы хотим, чтобы все 3 члена Δhl=WlΔhl−1+ΔWl(hl−1+Δhl−1)\Delta h_l = W_l \Delta h_{l-1} + \Delta W_l (h_{l-1} + \Delta h_{l-1}) были Θ(nl)\Theta(\sqrt{n_l}). Ключ — выбрать learning rate так, чтобы ∥ΔWl∥∗nl−1=Θ(nl)\|\Delta W_l\|_* \sqrt{n_{l-1}} = \Theta(\sqrt{n_l}). Как это сделать?

Предположим, что изменение потерь тоже масштабируется как O(1)O(1). Тогда можно записать

Δℓ=Θ(⟨ΔWl,∇Wlℓ⟩)=Θ(∥ΔWl∥F∥∇Wlℓ∥F)=Θ(∥ΔWl∥∗∥∇Wlℓ∥∗),\Delta\ell = \Theta\left(\langle \Delta W_l, \nabla_{W_l}\ell \rangle\right) = \Theta\left(\|\Delta W_l\|_F \|\nabla_{W_l}\ell\|_F\right) = \Theta\left(\|\Delta W_l\|_* \|\nabla_{W_l}\ell\|_*\right),

где мы использовали то, что в стандартном SGD ΔWl=−η∇Wlℓ\Delta W_l = -\eta \nabla_{W_l}\ell.

Подставим Δℓ=O(1)\Delta\ell = O(1) и ∥ΔWl∥∗=Θ(nlnl−1)\|\Delta W_l\|_* = \Theta\left(\frac{\sqrt{n_l}}{\sqrt{n_{l-1}}}\right) и получим ∥∇Wlℓ∥∗=Θ(nl−1nl)\|\nabla_{W_l}\ell\|_* = \Theta\left(\frac{\sqrt{n_{l-1}}}{\sqrt{n_l}}\right).

Наконец, с прошлого слайда ΔWl=−ηl∇hlℓ hl−1⊤\Delta W_l = -\eta_l \nabla_{h_l}\ell \, h_{l-1}^\top, а значит

ηl=Θ(nlnl−1)\eta_l = \Theta\left(\frac{n_l}{n_{l-1}}\right)

[для Adam: ∥ΔWl∥∗nl−1=Θ(1)\|\Delta W_l\|_* \sqrt{n_{l-1}} = \Theta(1)].

Так о чём (упрощённый) μP? Об управлении активациями (и их изменениями) через WW и ΔW\Delta W.

  • Инициализация: Θ(1nl−1min⁡(1,nlnl−1))\Theta\left(\frac{1}{\sqrt{n_{l-1}}}\min\left(1, \sqrt{\frac{n_l}{n_{l-1}}}\right)\right).
  • Learning rate: nlnl−1\frac{n_l}{n_{l-1}} (для Adam 1nl−1\frac{1}{n_{l-1}}).

Для сравнения «стандартные» параметризации задают:

  • инициализацию: 1nl−1\frac{1}{\sqrt{n_{l-1}}};
  • learning rate: Θ(1)\Theta(1).

Различия: learning rate для Adam меняется, а инициализация отличается, когда выход слоя nln_l меньше входа (fan-out меньше fan-in).

Теперь у нас есть фон, чтобы понять Cerebras-GPT. [Та же таблица стандартной параметризации и μP.]

Напомним: μP — процедура масштабирования гиперпараметров (как функции ширины). [Таблица 2 из Lingle: правила μP для трансформера по группам параметров. Эмбеддинг WEW^E: дисперсия инициализации 1, learning rate Adam 1. Параметры внимания WAQ,WAK,WAVW^{AQ}, W^{AK}, W^{AV}: дисперсия 1/M1/M, learning rate 1/M1/M; WAOW^{AO}: дисперсия 1/(HD)1/(HD). Входная и выходная матрицы MLP WFI,WFOW^{FI}, W^{FO}: 1/M1/M и 1/F1/F. Линейный слой перед softmax WUW^U: дисперсия 1/M21/M^2, learning rate 1/M1/M. Кроме того, μP использует масштаб внимания 1/D1/D вместо обычного 1/D1/\sqrt D.]

Архитектура в основном похожа на ту, что в курсе. [Цитата: глубина фиксирована, L=24L = 24; ширины модели M∈{128,512,2048}M \in \{128, 512, 2048\} — от 4,7 млн до 1,2 млрд параметров без эмбеддингов; размер головы D=128D = 128, число голов H=M/DH = M/D, скрытый слой MLP F=4MF = 4M; RMSNorm без обучаемых коэффициентов, линейные слои без смещений, RoPE на запросах и ключах, нелинейность ReLU.] Важное ограничение работы: масштабируется только ширина.

В1: работает ли μP, как заявлено? Остаётся ли оптимальный learning rate постоянным при росте ширины?

АбляцияШирина2−102^{-10}2−82^{-8}2−62^{-6}2−42^{-4}2−22^{-2}Перенос
Базовый μP1283,8463,7433,6953,8844,143✓
5123,1142,9932,9533,2213,506
20482,7112,5532,5112,5633,244
Смещения в проекциях1283,8383,7353,7053,9114,269✓
5123,1082,9862,9472,9703,557
20482,7102,5522,5292,6723,418

(Столбцы — базовый learning rate, в ячейках — потери на валидации.) Как показано в таблице 1, learning rate надёжно переносится между размерами модели при μP: хотя каждая модель вчетверо шире (и в 16 раз больше) предыдущей, оптимальный базовый learning rate самой маленькой модели прямо предсказывает оптимум для больших.

У современных LM много компонентов, расходящихся с теорией μP:

  • активации — SwiGLU и squared ReLU;
  • размеры батча — большие и маленькие;
  • варианты инициализации — нулевое внимание и т. д.;
  • коэффициенты RMSNorm;
  • экзотические оптимизаторы (Lion);
  • регуляризаторы.

Что из этого (если что-то) ломает μP?

SwiGLU и squared ReLU имеют тот же оптимальный learning rate (и обе дают небольшой выигрыш). [Таблица: оптимум у всех трёх вариантов на 2−62^{-6}, перенос ✓.]

Батчи в 4 раза больше и в 4 раза меньше. Исходный вывод не учитывает размер батча. [Таблица: оптимум переносится в обоих случаях ✓.]

Иногда используют новые инициализации:

  • SP Unembedding — это линейный слой перед softmax: 1/M1/M (стандартная параметризация) против 1/M21/M^2 (μP);
  • Zero Query — матрица запросов инициализируется нулём (так что все элементы получают равномерное внимание).

[Таблица: в обоих случаях оптимум на 2−62^{-6}, перенос ✓.]

К чему μP не устойчив? Коэффициенты RMSNorm (51)

Заголовок раздела «К чему μP не устойчив? Коэффициенты RMSNorm (51)»

В нашей архитектуре у RMSNorm обучаемые коэффициенты. Оказывается, это ломает μP. [Таблица: с векторными и скалярными коэффициентами RMSNorm оптимум сдвигается с 2−62^{-6} на 2−42^{-4}, перенос ✗.] Но эти коэффициенты можно убрать почти без потери качества…

К чему μP не устойчив? Экзотические оптимизаторы (52)

Заголовок раздела «К чему μP не устойчив? Экзотические оптимизаторы (52)»

Есть другие, экзотические оптимизаторы, основанные только на знаках градиента. Переносятся ли они? [Алгоритмы AdamW и Lion рядом; таблица для Lion: оптимум сдвигается с 2−82^{-8} на 2−102^{-10}, перенос ✗.]

А сильный (0,1) weight decay? Это, пожалуй, единственный существенный провал μP. [Таблица для развязанного weight decay (как в AdamW): оптимум «плывёт», перенос ✗.]

В целом μP, похоже, полезен — хотя бы потому, что стандартная параметризация заметно нестабильнее. [Таблица 3: у стандартной параметризации при ширине 2048 оптимум на 2−102^{-10}, а при больших learning rate потери взлетают до 7,2–7,5. Таблица 4: большой эксперимент μP от 2 млн до 10 млрд параметров — оптимальный базовый learning rate 2−62^{-6} сохраняется до самой большой модели.] Имеющиеся данные говорят, что параметризацию и инициализацию μP, возможно, легче настраивать.

Итоги: масштабирование в реальном мире (55)

Заголовок раздела «Итоги: масштабирование в реальном мире (55)»

Каковы трудности масштабирования «на практике»?

  1. Задать архитектурные гиперпараметры (ширину и т. д.).
  2. Задать гиперпараметры оптимизатора (learning rate, батч).
  3. Вычисления, нужные для большого перебора в стиле Chinchilla.

Некоторые решения?

  1. Предположить устойчивость (или использовать μP).
  2. Искать оптимальные learning rate и батч на малом масштабе, затем либо фиксировать, либо предсказывать их рост.
  3. Использовать альтернативные расписания (вроде WSD).

  1. Оценка среднего. Сгенерируйте выборки N(0,1)N(0, 1) размера n=10,100,…,106n = 10, 100, \dots, 10^6, посчитайте квадрат ошибки выборочного среднего (усредните по 100 повторам) и постройте график в логарифмических осях. Наклон должен быть −1-1. Затем повторите «непараметрический» пример слайда 19 в размерности d=1,2,4d = 1, 2, 4 и сравните наклоны.
  2. Мини-IsoFLOP. Возьмите модель из урока 5.6.2 и 3 бюджета (например, 3⋅10153 \cdot 10^{15}, 101610^{16}, 3⋅10163 \cdot 10^{16} FLOPs). Для каждого обучите 4–5 моделей разной ширины, давая им D=C/(6N)D = C/(6N) токенов, и найдите минимум параболы. Вычисления на 4 × RTX 4080 займут от десятков минут до нескольких часов — начинайте с самого маленького бюджета.
  3. WSD против косинуса. Обучите одну модель с WSD (плато + 10% спада) и с косинусом той же длины; затем от середины плато сделайте короткий спад и сравните с косинусом на половинной длине.
  4. Перенос learning rate. Для двух ширин (d=128d = 128 и d=512d = 512) переберите learning rate {2−10,2−8,2−6,2−4}\{2^{-10}, 2^{-8}, 2^{-6}, 2^{-4}\} в стандартной параметризации и с правилом μP «learning rate скрытых матриц делим на d/dbased/d_{base}». Сдвинулся ли оптимум?
ENRU
scaling law, power lawзакон масштабирования, степенной закон
sample complexityвыборочная сложность
irreducible errorнеустранимая ошибка
intrinsic dimensionalityвнутренняя размерность данных
data repetition, effective dataповторение данных, эффективный объём данных
distribution shiftсдвиг распределения
aspect ratioпропорции модели (ширина к глубине)
critical batch size, noise scaleкритический размер батча, шумовой масштаб
compute-optimal, Chinchilla scalingвычислительно-оптимальное обучение, масштабирование по Chinchilla
IsoFLOP profileпрофиль IsoFLOP (кривая при фиксированном бюджете FLOPs)
joint (parametric) fitсовместная (параметрическая) подгонка
overtraining, tokens per parameterобучение сверх оптимума, токенов на параметр
warmup-stable-decay (WSD) scheduleрасписание WSD (разогрев — плато — спад)
maximal update parametrization (μP), μTransferпараметризация максимального обновления, перенос гиперпараметров
standard parametrization (SP)стандартная параметризация
fan-in / fan-outчисло входов / выходов слоя
spectral normспектральная норма
bits per byteбиты на байт