Мы изучаем эмпирические законы масштабирования качества языковых моделей по кросс-энтропийной функции потерь.
В этой главе нужно объяснить одну вещь, без понимания которой остальная история не имеет смысла. А именно: почему, начиная примерно с 2020 года, технологические компании по всему миру начали с восторгом и без особых сомнений вкладывать миллиарды, потом десятки миллиардов, а потом и сотни миллиардов долларов в обучение всё более крупных нейронных сетей.
Если попытаться объяснить это решение проще всего, можно сказать: они инвестировали, потому что у них появились основания думать, что вложения работают. Что если потратить определённую сумму, получишь определённого качества модель. Что неудачи быть не может, потому что зависимость качества от вложений известна, измерена и предсказуема.
Это утверждение, при всей его простоте, было совершенно нетривиальным. До 2020 года ни в каком разумном смысле такого знания не было. Обучение большой модели стоимостью в десятки миллионов долларов было, по сути, гигантским экспериментом с непредсказуемым результатом. Возможно, получилось бы что-то впечатляющее. Возможно — ничего особенного. Возможно — модель вообще не сошлась бы и деньги были бы потрачены зря.
Что превратило этот эксперимент в инженерный расчёт, это работа группы из десяти исследователей, опубликованная на arXiv 23 января 2020 года. Статья называлась Scaling Laws for Neural Language Models. Её первым автором был тот самый физик, чьим именем мы озаглавили эту главу. Джаред Каплан.
Джаред Каплан, Anthropic
Джаред Каплан в 2019 году преподавал теоретическую физику в Университете Джонса Хопкинса в Балтиморе. Ему было сорок лет. Он защитил PhD по теории струн в Гарварде у Нимы Аркани-Хамеда, занимался квантовой гравитацией, потом перешёл к более прикладной квантовой теории поля. Его публикации были рассеяны по физическим журналам: Phys. Rev. D, JHEP, Annalen der Physik. Ни одна из них не имела никакого отношения к нейронным сетям.
К нейронным сетям его привело сначала любопытство, а потом дружба. Каплан, как и многие учёные его поколения, в свободное время начал в 2017–2018 годах читать про прорывы в машинном обучении. Сначала ради интеллектуального интереса; потом всё с большей серьёзностью. Особенно его заинтересовало то, как нейросетевые системы вели себя при увеличении размера. У него как у физика была отличная интуиция в том, что касается степенных законов. В физике степенные законы вездесущи: фазовые переходы, критические явления, ренормгруппа, всё это языковая среда теоретического физика. Каплан смотрел на графики из ML-публикаций и думал: эти кривые подозрительно похожи на то, что я видел в моих собственных задачах.
В 2018 году Каплан познакомился с Дарио Амодеем. Они стали друзьями, обнаружив общий интерес к вопросу о том, насколько хорошо будут работать большие нейронные сети. Амодей с конца 2018 года предлагал Каплану присоединиться к OpenAI в качестве консультанта. Каплан соглашался не сразу: у него была собственная исследовательская программа в физике, и переключаться на машинное обучение целиком он не хотел.
В 2019 году они нашли компромисс. Каплан остался профессором в Хопкинсе, но взял годовой контракт с OpenAI как внешний исследователь. Его задача была сформулирована довольно широко: использовать инструменты теоретической физики, чтобы понять, как именно нейронные сети ведут себя при изменении масштаба. Если получится найти что-нибудь похожее на универсальные законы, тем лучше.
К Каплану в команду присоединились несколько человек из OpenAI: Сэм МакКэндлиш (получивший докторскую по теоретической физике в Стэнфорде, тоже бывший физик), Том Хенигэн, Том Браун, Бен Чесс, Рион Чайлд, Скотт Грей, Джефф Ву, Алек Радфорд, Дарио Амодей. Большинство из них имели физическое или физическо-математическое образование. Это была команда, привыкшая искать в эмпирических данных степенные закономерности.
Они начали серию экспериментов, длившуюся почти весь 2019 год. План был такой: обучить несколько десятков языковых моделей разного размера — от совсем маленьких в сотню тысяч параметров до больших на миллиард — на разных объёмах данных, с разным временем обучения, измеряя в каждом случае конечное качество модели. Потом нанести все эти измерения на графики и посмотреть, есть ли в них структура.
Под «качеством» в этом эксперименте понимался не балл на какой-нибудь конкретной задаче, а более фундаментальная величина: средняя кросс-энтропийная ошибка модели на тестовом тексте. Грубо говоря, это среднее количество битов, которое модель тратит, чтобы предсказать следующий токен, когда она уже видела все предыдущие. Чем меньше — тем лучше модель угадывает следующее слово. Эта мера непрерывна и определена для моделей любого размера, что делает её удобной для построения графиков.
Команда систематически варьировала три параметра:
Размер модели — обозначим его N, число параметров. От нескольких десятков тысяч до миллиарда с лишним. Шесть порядков величины.
Объём данных — обозначим его D, число токенов в обучающих данных. От нескольких миллионов до десятков миллиардов.
Вычислительная стоимость — обозначим её C, количество операций с плавающей точкой, затраченных на обучение. От минут на одной видеокарте до недель на сотнях видеокарт.
Команда обучила десятки моделей в разных точках этого трёхмерного пространства, замерила в каждой точке итоговую кросс-энтропию, и нанесла всё на графики. То, что получилось, превзошло их ожидания.
Закон Каплана: качество модели как функция масштаба
На графиках, где по горизонтальной оси отложили размер модели (логарифмически), а по вертикальной — кросс-энтропию (тоже логарифмически), точки выстроились в почти идеально прямую линию. Длинная, длинная прямая линия, протянувшаяся от моделей в тысячи параметров до моделей в миллиард. Размер менялся в миллионы раз, а линия оставалась прямой. Без отклонений, без скачков, без особенностей.
На графиках, где варьировали объём данных, картина была такая же: прямая линия в логарифмических осях.
На графиках, где варьировали вычислительные затраты, тоже прямая линия.
В физике такие зависимости называются степенными: y = A·x в степени k, где k — постоянное число. Степенные законы возникают там, где нет внутреннего масштаба, где система ведёт себя самоподобно при любом увеличении или уменьшении. В статистической физике они вездесущи: в критических точках фазовых переходов, в распределении землетрясений, в фрактальной геометрии береговых линий.
Здесь, в обучении нейронных сетей, они тоже оказались. Каплан и его команда обнаружили, что качество языковой модели подчиняется простой степенной зависимости от каждого из трёх параметров (размер, данные, вычисления), причём показатели степеней оказались скромными отрицательными числами в районе минус ноль ноль семидесяти. Это означало: если увеличить размер модели в десять раз, кросс-энтропия уменьшится примерно на шестнадцать процентов. Если увеличить ещё в десять раз — ещё на шестнадцать процентов. Каждое десятикратное увеличение даёт примерно одинаковую относительную прибавку качества.
Это, казалось бы, скромный эффект. Но это, во-первых, было универсально (одна и та же зависимость для моделей в тысячи параметров и в миллиарды). И во-вторых, и главное, это было предсказуемо.
Чтобы оценить, насколько это меняло индустриальный ландшафт, нужно осознать одно. До статьи Каплана план обучения большой модели выглядел примерно так. Команда садилась, обсуждала, спорила, выбирала размер интуитивно, исходя из имеющихся ресурсов и веры в подход; начинала обучение; через несколько недель смотрела, что вышло. Если результат не радовал, нужно было что-то менять и пробовать снова. Каждая такая «попытка» обходилась в миллионы долларов и месяцы времени.
После статьи Каплана план обучения большой модели выглядел иначе. Команда садилась, открывала графики со степенными зависимостями, и говорила: хотим качество X. По формулам, это требует модели размера N, объёма данных D, вычислительной стоимости C. Стоимость C переведём в доллары: получится столько-то. Если у нас есть эти деньги, мы знаем, что получим качество X. Если нет, мы знаем, на сколько именно недотянем.
Вот что сделал Каплан со своей командой: превратил обучение нейросетей из эксперимента в инженерный расчёт.
В статье 2020 года была также выведена другая важная зависимость: оптимальное распределение бюджета. Если у вас есть фиксированный бюджет на вычисления (скажем, миллиард FLOP-операций), как лучше его потратить: на большую модель с маленьким количеством данных, или на маленькую модель с большим? Каплан с командой математически вывели, что при их измерениях оптимум сдвинут в сторону больших моделей. Грубо говоря, лучше иметь модель в сто миллиардов параметров, обученную на скромном объёме данных, чем модель в десять миллиардов, обученную на массиве в десять раз большем.
Этот конкретный вывод позднее, в 2022 году, будет подвергнут пересмотру. Команда DeepMind с моделью Chinchilla покажет, что в формулах Каплана была определённая систематическая ошибка, связанная с тем, как варьировался learning rate в его экспериментах; что на самом деле оптимум сдвинут в обратную сторону, к большему количеству данных. Но это уточнение, при всей его технической важности, не меняло главного: что зависимость есть, что она степенная, и что она применима в широком диапазоне.
Статья Каплана и его команды появилась на arXiv в январе 2020 года. До этого момента команда уже несколько месяцев показывала свои предварительные результаты внутри OpenAI и в избранных кругах. К началу 2020 года все ведущие исследовательские лаборатории мира знали о законах масштабирования.
Влияние на индустрию было немедленным. Microsoft, который уже вложил в OpenAI миллиард в июле 2019 года, увидев предварительные результаты, начал планировать вторую и третью инвестиционные волны. Google, до этого относившийся к большим языковым моделям с прохладным интересом, объявил о собственной программе по обучению моделей размером в сотни миллиардов параметров (PaLM, 2022). DeepMind ускорил собственные работы в этом направлении.
В китайском Baidu, разочарованном результатом аукциона 2012 года, выделили бюджет на собственную программу больших языковых моделей. В Facebook AI Research началась работа над LLaMA. В Anthropic, который ещё только формировался (в 2021 году братья и сестра Амодей покинут OpenAI и заберут с собой большую часть авторов законов масштабирования), уже формулировалась стратегия: лаборатория сосредоточится на масштабировании, потому что закон Каплана даёт уверенность в результате.
Это и есть прямой ответ на вопрос, который, возможно, мучил читателя с первых страниц этой книги. На каком основании OpenAI, Microsoft, Google, Anthropic и прочие технологические гиганты стали с уверенностью тратить десятки миллиардов долларов на обучение моделей, не имея на руках ни одного готового продукта? Они стали тратить, потому что Каплан и его команда показали: качество предсказуемо растёт с вложениями. Не вера, не интуиция, не игра в догадки. Эмпирически установленная зависимость, проверенная в огромном диапазоне размеров, от моделей в тысячи параметров до моделей в миллиарды.
Это и есть, собственно, момент превращения нейронных сетей из научной дисциплины в инженерную индустрию. После Каплана большие языковые модели — это не открытие новой физики. Это инженерия. Это калькуляции. Это бизнес-планы и сметы. Деньги в эту дисциплину начали течь не потому, что в неё поверили, а потому, что в неё стало рационально вкладываться.
У законов масштабирования была одна особенность, которую участники команды Каплана сами признавали странной. Эти законы не объясняли почему происходит то, что происходит. Они только описывали, что происходит.
В физике, если ты находишь степенной закон в природе, ты обычно сначала ищешь физическую теорию, которая его объясняет. Степенные распределения землетрясений объясняются механикой разлома; степенные хвосты в финансовых рядах — теорией кризисов; критические показатели фазовых переходов — ренормгруппой и универсальностью.
В случае нейронных сетей такой теории не было. Каплан и МакКэндлиш в своей статье 2020 года несколько раз честно отметили, что они не знают, почему графики ведут себя так, как они себя ведут. У них есть формулы; у них нет объяснения. Это, в общем-то, не помешало индустрии воспользоваться формулами. Но в академическом сообществе осталось ощущение, что под законами Каплана должна быть более глубокая теория, и эту теорию ещё предстоит открыть. К моменту, когда вы читаете эту книгу, эта теория всё ещё не открыта.
Ещё одна странность была в природе того, что измерял Каплан. Кросс-энтропия — это, в конечном счёте, не что иное, как качество предсказания следующего токена. Та самая задача, которую в 1948 году ставил перед собой Шеннон в Bell Labs, когда брал книги с полки и складывал из них псевдо-английский. Те самые n-граммные модели, которые работали в IBM в семидесятые. Та самая задача, которую решал ваш T9 в нулевые.
То есть Каплан показал: если просто и упорно делать модели больше, более длинно их обучать на большем количестве данных, они становятся в шенноновом смысле лучшими предсказателями следующего токена. По степенному закону. Бесконечно.
И вот тут возникает почти философский вопрос. Если модель становится произвольно хорошим предсказателем следующего слова — что это означает для её способностей в целом? Только ли это статистическая угадывалка, способная отлично продолжать тексты, но и только? Или предсказание следующего слова, если довести его до настоящего совершенства, в каком-то смысле эквивалентно пониманию языка, рассуждениям, решению задач?
В 2020 году эту дискуссию вели в OpenAI и Anthropic с большим жаром. Илья Суцкевер в своих публичных выступлениях того времени высказывал точку зрения, которая многим тогда казалась смелой: предсказание следующего токена при достаточно высоком качестве является сжатием знаний о мире, и обладание таким сжатием неотличимо от понимания. Иными словами: если модель достаточно хорошо угадывает следующее слово в любом тексте, она знает то же самое, что и автор этого текста.
Большинство специалистов в начале 2020 года эту точку зрения считало преувеличенной. Через полгода, увидев работу GPT-3, они задумаются. Через два с половиной года, увидев ChatGPT, многие из них пересмотрят свои взгляды.
В январе 2020 года вышла статья. В мае 2020 года вышла модель GPT-3, обучение которой было спланировано по этим самым законам масштабирования и которая в общих чертах подтвердила их предсказания. К концу 2020 года Каплан принял решение, к которому он шёл несколько месяцев. Он покидает OpenAI и переходит в Anthropic, новую лабораторию, которую создают братья и сестра Амодей вместе с большой группой бывших коллег по OpenAI. В Anthropic Каплан становится Chief Science Officer, главным научным сотрудником.
Это будет одно из самых громких перетеканий специалистов в истории индустрии. Из десяти авторов статьи о законах масштабирования девять окажутся через пару лет в Anthropic. Из основной команды OpenAI, отвечавшей в 2019–2020 годах за научное направление, уйдут больше половины.
Причины были разные. Кто-то ушёл из-за разногласий с Альтманом по вопросам безопасности. Кто-то — потому что Дарио Амодей предлагал, по их мнению, более правильное видение. Кто-то — потому что в новой лаборатории обещали больше акций и больше свободы. Истинная смесь мотиваций, как обычно в таких историях, не сводилась к одной причине.
Но факт остаётся: лаборатория, придумавшая закон Каплана, потеряла большую часть команды, его придумавшей. И когда эта команда обустроилась на новом месте, она начала применять тот же закон у себя. Anthropic, формально младший конкурент OpenAI, очень быстро стал производить языковые модели сопоставимого качества. К 2023 году Anthropic'овский Claude войдёт в число пяти-семи моделей, определяющих передний край отрасли. К 2026-му его будут использовать миллионы людей и почти все технологические компании.
А Каплан сохранит свою профессуру в Хопкинсе и продолжит публиковать статьи на стыке физики и машинного обучения. Журналисты будут изредка приходить к нему с вопросами; он будет отвечать кратко и точно. Он не будет говорить о масштабировании как о пиар-инструменте; он будет говорить о нём как о научной находке. Можно сказать, что Каплан — один из немногих, для кого вся эта индустрия с самого начала была физикой, а не бизнесом. И отчасти поэтому он, наверное, единственный из главных героев нашей книги, у кого после всего, что произошло, нет ни одной публичной ссоры с бывшими коллегами.
Январь 2020 года. Препринт Каплана. Февраль — внутреннее обсуждение в OpenAI. Март — Алек Радфорд начинает работу над GPT-3 на основе тех самых уравнений. Какой размер сделать? По формулам выходит сто семьдесят пять миллиардов параметров — в сто раз больше, чем у GPT-2.
Сколько это будет стоить? По другим формулам — около пяти миллионов долларов компьютерного времени.
Какое качество ожидается? Тут уже сложнее, потому что кросс-энтропия — это абстрактный показатель, и непонятно, как он переведётся в реальные способности модели. Но если экстраполировать кривые Каплана за пределы тех точек, в которых они уже измерены — а это и есть самая интересная и самая страшная часть истории, — модель такого размера должна писать тексты, в которых её угадывание следующего слова почти неотличимо от человеческого.
Команда OpenAI знала, что они ничего такого ещё не видели. Знали, что эксперимент может пойти неожиданным образом. Знали, что миллион долларов вычислений на сторонних серверах Microsoft Azure, в принципе, можно потратить даже если оно не сработает. Кроме того, сами законы масштабирования давали довольно высокую уверенность.
В апреле 2020 года в одном из дата-центров Microsoft, в облачном регионе Восток США 2, началось обучение модели в сто семьдесят пять миллиардов параметров. Оно длилось чуть больше месяца. К началу мая модель была готова.
В мае 2020 года, когда GPT-3 была готова, никто из тех, кто видел её результаты, ещё не знал, во что эта модель превратится через два с половиной года. Не знал, что продукт на её основе наберёт миллион пользователей за пять дней и сто миллионов за два месяца. Не знал, что станет самым быстро распространившимся приложением в истории. Знай они это, занервничали бы. Но, не зная, спокойно опубликовали статью.