Я уже давно хотела написать про законы масштабирования, которые возникают при обучении LLM.

Меня всегда завораживает факт, что какие-то большие масштабные процессы могут быть описаны простыми изящными формулами.

А тот факт, что в сознании большинства людей, возможности современных LLM / AI больше связаны с магией, "так получилось" (см. мем про рисование лошади) или "не возможно предсказать", пушит меня к написанию этого поста (или серии) еще больше.

Кстати, с того момента, как я впервые собралась_ писать свой пост, некоторые "законы" приказали долго жить (про emerging abilities).

Но сегодня мы будем говорить не о них. Начнем с базовых - и, пока что, вечных (в нашем локальном отрезке реальности, лол). Они были первыми, и дальше - только уточнялись.

Погнали.

С чего всё началось

Долгое время прогресс в машинном обучении выглядел как ремесло. Кто-то придумал удачную архитектуру, кто-то - хитрый трюк с обучением, и модель стала чуть лучше. Насколько именно лучше, предсказать заранее было нельзя.

Фоном к смене этого взгляда стоит эссе Ричарда Саттона The Bitter Lesson (2019). Его мысль: за 70 лет истории ИИ раз за разом побеждали не хитроумные, вручную закодированные методы, а простые общие подходы, умеющие пожирать всё больше вычислений и данных.

Если это правда, напрашивается вопрос: а можно ли выигрыш от масштаба измерить и предсказать заранее?

Первые эмпирические намёки появились ещё раньше.

В 2017-м команда Baidu (Hestness et al.) показала на переводе, речи и языковых моделях, что ошибка падает с ростом данных не как попало, а по степенному закону - прямой линией в логарифмических координатах.

Но каноническая точка отсчёта для LLM - это январь 2020 года и работа OpenAI (Kaplan et al., Scaling Laws for Neural Language Models). Именно она превратила разрозненные наблюдения в стройную теорию и, что важнее, - в инструмент планирования.

Зачем вообще этим задались?

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

Полученные законы масштабирования превратили ставку на масштаб из «обучим что-нибудь гигантское и понадеемся» в «мы можем спрогнозировать результат до запуска».

Первые законы: что говорил Kaplan

Работа OpenAI сформулировала простую и красивую вещь: loss падает по степенному закону от трёх ресурсов — числа параметров $N$, объёма данных в токенах $D$ и вычислений $C$.

$$ L(N)=\left(\frac{N_c}{N}\right)^{\alpha_N},\qquad L(D)=\left(\frac{D_c}{D}\right)^{\alpha_D},\qquad L(C)=\left(\frac{C_c}{C}\right)^{\alpha_C} $$

Здесь $L$ — это loss, кросс-энтропия на токен: насколько хорошо модель угадывает следующее слово (ниже — лучше). Показатели маленькие: $\alpha_N \approx 0.076$, $\alpha_D \approx 0.095$, $\alpha_C \approx 0.050$.