Инвестиции, открытие новых законов... Сотни лет прошло, а ничего не меняется...
Инвестиции, открытие новых законов... Сотни лет прошло, а ничего не меняется...

Эта статья от 23 января 2020 года не так известна, как "Всё, что вам нужно - это внимание". Но, думаю, впоследствии она войдет в новейшую техноисторию как аналог трёх законов Ньютона для LLM (сами авторы статьи сравнивают открытые ими принципы с уравнениями для идеального газа). Возможно, именно благодаря аргументам большой группы специалистов OpenAI, изложенным в этой статье, инвесторы поверили, что GPT-1 имеет будущее, нужно только на порядки больше параметров, оборудования, данных и миллиарды долларов инвестиций. И всё заверте...

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

Jared Kaplan *, Johns Hopkins University, OpenAI
Sam McCandlish *, OpenAI
Tom Henighan, OpenAI
Tom B. Brown, OpenAI
Benjamin Chess, OpenAI
Rewon Child, OpenAI
Scott Gray, OpenAI
Alec Radford, OpenAI,
Jeffrey Wu, OpenAI
Dario Amodei, OpenAI

(* Равный вклад. Авторы: Джаред Каплан (Jared Kaplan) и Сэм Маккэндлиш (Sam McCandlish) возглавляли исследование. Том Хениган (Tom Henighan) участвовал в LTSM-экспериментах. Том Браун (Tom B. Brown), Рон Чайлд (Rewon Child), Скотт Грей (Scott Gray) и Алек Рэдфорд (Alec Radford) разработали оптимизированную реализацию трансформатора. Джефри Ву (Jeffrey Wu), Бенджамин Чесс (Benjamin Chess) и Алек Рэдфорд (Alec Radford) разработали наборы текстовых данных. Дарио Амодей (Dario Amodei) обеспечивал руководство на протяжении всего проекта)

Мы изучаем эмпирические законы масштабирования для оценки производительности языковых моделей на основе кросс-энтропийных потерь. Потери масштабируются по степенному закону в зависимости от размера модели, размера набора данных и объема вычислений, используемых для обучения, причем некоторые тенденции охватывают более семи порядков соответствующих величин. Другие детали архитектуры, такие как ширина или глубина сети, оказывают минимальное влияние в широком диапазоне. Простые уравнения управляют зависимостью переобучения от размера модели/набора данных и зависимостью скорости обучения от размера модели. Эти отношения позволяют нам определить оптимальное распределение выделенного бюджета на вычисления. Более крупные модели значительно более эффективны с точки зрения выборки, так что наиболее эффективное с точки зрения вычислений обучение включает обучение очень больших моделей на относительно скромном объеме данных и остановку значительно раньше сходимости.

Содержание

  • 1 Введение

  • 2 Предыстория и методы

  • 3 Эмпирические результаты и базовые степенные законы 

  • 4 Исследование предела бесконечных данных и переобучения 

  • 5 Законы масштабирования с размером модели и временем обучения 

  • 6 Оптимальное распределение бюджета вычислений 

  • 7 Связанные работы 

  • 8 Обсуждение 

  • A Краткое содержание степенных законов 

  • B Эмпирическая модель эффективной границы вычислений 

  • C Предостережения 

  • D Дополнительные графики

Введение

Язык предоставляет естественную область для изучения искусственного интеллекта, поскольку подавляющее большинство задач рассуждений может быть эффективно выражено и оценено на языке, а тексты, собранные со всего мира дают нам богатые данные для обучения без учителя с помощью генеративного моделирования. Глубокое обучение недавно достигло значительного прогресса в языковом моделировании, причем современные модели [18, 18, 19, 19, 19] приближаются к человеческому уровню производительности на многих конкретных задачах [19], включая составление по запросу связных образцов текста, содержащих несколько абзацев [24].

Еще пять лет назад в научной статье отмечалось, что языковые модели могут делать "составление по запросу связных образцов текста, содержащих несколько абзацев"! - прим.переводчика.

Можно ожидать, что производительность языкового моделирования зависит от архитектуры модели, размера нейронных моделей, вычислительной мощности, используемой для их обучения, и данных, доступных для этого процесса обучения. В этой работе мы эмпирически исследуем зависимость потерь языкового моделирования от всех этих факторов, сосредоточившись на архитектуре Трансформера [17, 18]. Широкие пределы производительности на языковых задачах позволяют нам изучать тенденции на более чем семи порядках масштаба используемых величин.

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

1.1 Краткое содержание

Наши ключевые выводы для языковых моделей на основе Transformer-а следующие:

Производительность сильно зависит от масштаба, и слабо — от формы модели: Производительность модели наиболее сильно зависит от масштаба, представляющего собой совокупность трех факторов: (1) количество параметров модели N (исключая эмбеддинги), (2) размер набора данных D и (3) объем вычислений C, используемых для обучения. В разумных пределах производительность очень слабо зависит от других архитектурных гиперпараметров, таких как глубина и ширина нейросети. (Раздел 3)

Плавные степенные законы: Производительность имеет степенную зависимость от каждого из трех факторов масштаба N, D, C, когда они не ограничены двумя другими, с тенденциями, охватывающими более шести порядков величины (см. Рисунок 1). Мы не наблюдаем признаков отклонения от этих тенденций на верхнем конце графика, хотя производительность должна в конечном итоге "выровняться" перед достижением нулевых потерь. (Раздел 3)

Универсальность переобучения: Производительность улучшается предсказуемо, пока мы масштабируем N и D вместе, но начинает улучшение начинает замедляться, если один фактор - либо N, либо D, фиксирован, а другой увеличивается. Штраф за производительность (performance penalty) предсказуемо зависит от соотношения N0.74 / D, что означает, что каждый раз, когда мы увеличиваем размер модели в 8 раз, нам нужно увеличить данные только примерно в 5 раз, чтобы избежать штрафа. (Раздел 4)

Универсальность обучения: Кривые обучения следуют предсказуемым степенным законам, параметры которых практически не зависят от размера модели. Экстраполируя начальную часть кривой обучения, мы можем примерно предсказать потери, которые будут достигнуты, если обучать намного дольше. (Раздел 5)

Перенос улучшается с тестовой производительностью: Когда мы оцениваем модели на тексте с другим распределением, чем то, на котором они обучались, результаты сильно коррелируют с результатами на обучающем валидационном наборе с примерно постоянным смещением в потерях — другими словами, перенос на другое распределение влечет постоянный штраф, но в остальном улучшается примерно в соответствии с производительностью на обучающем наборе. (Раздел 3.2.2)

Эффективность выборки: Крупные модели более эффективны с точки зрения выборки, достигая того же уровня производительности с меньшим количеством шагов оптимизации (Рисунок 2) и используя меньше точек данных (Рисунок 4).

Сходимость неэффективна: При работе с фиксированным бюджетом вычислений C, но без других ограничений на размер модели N или доступные данные D, мы достигаем оптимальной производительности, обучая очень большие модели и останавливаясь значительно раньше сходимости (см. Рисунок 3). Максимально эффективное с точки зрения вычислений обучение будет, таким образом, намного более эффективным с точки зрения выборки, чем можно было бы ожидать на основе обучения небольших моделей до сходимости, с требованиями к данным, растущими очень медленно, как D ∼ C0.27, с увеличением объема вычислений для обучения. (Раздел 6)

Оптимальный размер батча: Идеальный размер батча для обучения этих моделей примерно пропорционален степенному закону от потерь и продолжает определяться измерением шума градиента [18]; он составляет примерно 1-2 миллиона токенов при сходимости для самых больших моделей, которые мы можем обучить. (Раздел 5.1)

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

Рисунок 1: Производительность языкового моделирования плавно улучшается по мере увеличения размера модели (Parameters), размера набора данных в токенах (Dataset size) и объема вычислений в PF-днях (Compute), используемых для обучения. Для оптимальной производительности все три фактора должны масштабироваться вместе. Эмпирическая производительность имеет степенную зависимость от каждого отдельного фактора, когда он не ограничен двумя другими.
Рисунок 1: Производительность языкового моделирования плавно улучшается по мере увеличения размера модели (Parameters), размера набора данных в токенах (Dataset size) и объема вычислений в PF-днях (Compute), используемых для обучения. Для оптимальной производительности все три фактора должны масштабироваться вместе. Эмпирическая производительность имеет степенную зависимость от каждого отдельного фактора, когда он не ограничен двумя другими.

Здесь и далее объемы вычислений указываются в PF-днях, где один PF-день =10^{15} \times 24 \times 3600 = 8.64 \times 10^{19} операций с плавающей запятой (FLOPS) - прим. переводчика

Здесь мы показываем прогноз при использовании достаточно небольшого размера батча. Смотрите рисунок 13 для сравнения с чисто эмпирическими данными.

Рисунок 2: Мы демонстрируем серию экспериментов по обучению языковых моделей, где размер моделей варьируется от 10³ до 10⁹ параметров (за исключением эмбеддингов).
Рисунок 2: Мы демонстрируем серию экспериментов по обучению языковых моделей, где размер моделей варьируется от 10³ до 10⁹ параметров (за исключением эмбеддингов).
Рисунок 3. По мере увеличения доступных вычислительных ресурсов мы можем выбирать, как их распределить: на обучение более крупных моделей, использование больших размеров батчей и увеличение количества шагов обучения. Мы иллюстрируем это на примере увеличения вычислительных ресурсов в миллиард раз. Для оптимально эффективного с точки зрения вычислений обучения большая часть увеличения ресурсов должна быть направлена на увеличение размера модели. Для предотвращения повторного использования данных требуется относительно небольшое увеличение объема данных. Из увеличения объема данных большая часть может быть использована для повышения параллелизма за счет увеличения размера батчей, при этом требуется лишь очень небольшое увеличение времени последовательного обучения. (Multiplicative Contribution - Мультипликативный вклад)
Рисунок 3. По мере увеличения доступных вычислительных ресурсов мы можем выбирать, как их распределить: на обучение более крупных моделей, использование больших размеров батчей и увеличение количества шагов обучения. Мы иллюстрируем это на примере увеличения вычислительных ресурсов в миллиард раз. Для оптимально эффективного с точки зрения вычислений обучения большая часть увеличения ресурсов должна быть направлена на увеличение размера модели. Для предотвращения повторного использования данных требуется относительно небольшое увеличение объема данных. Из увеличения объема данных большая часть может быть использована для повышения параллелизма за счет увеличения размера батчей, при этом требуется лишь очень небольшое увеличение времени последовательного обучения. (Multiplicative Contribution - Мультипликативный вклад)

1.2 Краткое содержание законов масштабирования

Тестовые потери трансформера, обученного для авторегрессионного моделирования языка, могут быть предсказаны с использованием степенного закона, когда производительность ограничена только одним из следующих факторов: количеством параметров без учета эмбеддингов N, размером набора данных D или оптимально распределенным бюджетом вычислений Cmin (см. Рисунок 1):

1. Для моделей с ограниченным количеством параметров, обученных до сходимости на достаточно больших наборах данных (Nc не включает параметры эмбеддинга):

L(N)=(N_c/N)^{α_N}; \quad  αN∼0.076, \quad  Nc∼8.8×10^{13} \quad \text{(1.1)}

2. Для больших моделей, обученных на ограниченном наборе данных с ранней остановкой:

L(D)=(D_c/D​​)^{α_D}​; \quad α_D​∼0.095, \quad D_c​∼5.4×10^{13} (токенов) \quad \text{(1.2)}

3. При обучении с ограниченным объемом вычислений, достаточно большим набором данных, оптимально подобранным размером модели и достаточно малым размером батча (оптимальное использование вычислений):

L(C_{\min}) = \left(\frac{C_c^{\min}}{C_{\min}}\right)^{\alpha_C^{\min}}; \quad \alpha_C^{\min} \sim 0.050, \quad C_c^{\min} \sim 3.1 \times 10^8 \text{ (PF-days)} \quad \text{(1.3)}

Мы также наблюдаем эмпирическую степенную зависимость с вычислительными ресурсами C, используемыми для обучения (Рисунок 1), при фиксированном размере батча, но для прогнозирования следует использовать зависимость с Cmin⁡​. Они связаны уравнением (5.5).

Эти соотношения сохраняются на протяжении восьми порядков величины для Cmin, шести порядков величины для N и более двух порядков величины для D. Они очень слабо зависят от формы модели и других гиперпараметров трансформера (глубина, ширина, количество голов внимания), с конкретными числовыми значениями, связанными с обучающим набором [19]. Степенные законы \alpha_{N}, \alpha_{D}, \alpha_{C}^{\min} определяют степень улучшения производительности, которую можно ожидать при масштабировании N, D или C_{\min}; например, удвоение количества параметров приводит к уменьшению потерь на коэффициент 2^{-\alpha_{N}} = 0.95. Точные числовые значения N_{c}, C_{c}^{\min} и D_{c} зависят от размера словаря и токенизации и, следовательно, не имеют фундаментального значения.

Критический размер батча, который определяет компромисс между скоростью и эффективностью для параллелизма данных [18], также примерно подчиняется степенному закону от L:

B_{\text{crit}}(L) = \frac{B_{*}}{L^{1/\alpha_{B}}}, \quad B_{*} \sim 2 \cdot 10^{8} \text{ токенов}, \quad \alpha_{B} \sim 0.21 \quad (1.4)

Уравнения (1) и (2) вместе предполагают, что по мере увеличения размера модели мы должны увеличивать размер набора данных сублинейно в соответствии с D \propto N^{\frac{\alpha_{N}}{\alpha_{D}}} \sim N^{0.74}. Фактически, мы обнаруживаем, что существует единое уравнение, объединяющее (1) и (2), которое управляет одновременной зависимостью от N и D и определяет степень переобучения:

L(N, D) = \left[\left(\frac{N_{c}}{N}\right)^{\frac{\alpha_{N}}{\alpha_{D}}} + \frac{D_{c}}{D}\right]^{\alpha_{D}} \quad \quad(1.5)

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

При обучении заданной модели на конечное количество шагов обновления параметров S в пределе бесконечных данных, после начального переходного периода кривые обучения могут быть точно аппроксимированы (см. справа на Рисунке 4):

L(N, S) = \left(\frac{N_{c}}{N}\right)^{\alpha_{N}} + \left(\frac{S_{c}}{S_{\min}(S)}\right)^{\alpha_{S}}    \quad \quad(1.6)

где S_{c} \approx 2.1 \times 10^{3} и \alpha_{S} \approx 0.76, а S_{\min}(S) — минимальное возможное количество шагов оптимизации (обновлений параметров), оцененное с использованием уравнения (5).

Рисунок 4.Слева: Тестовая ошибка при ранней остановке L(N,D) изменяется предсказуемо в зависимости от размера набора данных D и размера модели N согласно уравнению (1.5). Справа: После начального переходного периода кривые обучения для всех размеров моделей N могут быть аппроксимированы уравнением (1.6), которое параметризовано через Smin⁡​ — количество шагов при обучении с большим размером батча (подробности в разделе 5.1).
Рисунок 4.Слева: Тестовая ошибка при ранней остановке L(N,D) изменяется предсказуемо в зависимости от размера набора данных D и размера модели N согласно уравнению (1.5). Справа: После начального переходного периода кривые обучения для всех размеров моделей N могут быть аппроксимированы уравнением (1.6), которое параметризовано через Smin⁡​ — количество шагов при обучении с большим размером батча (подробности в разделе 5.1).

При обучении с фиксированным бюджетом вычислений C, но без других ограничений, уравнение (6) приводит к заключению, что оптимальный размер модели N, оптимальный размер батча B, оптимальное количество шагов S и размер набора данных D должны расти как:

N \propto C^{\alpha_{C}^{\min}/\alpha_{N}}, \quad B \propto C^{\alpha_{C}^{\min}/\alpha_{B}}, \quad S \propto C^{\alpha_{C}^{\min}/\alpha_{S}}, \quad D = B \cdot S  \quad \quad(1.7)

с параметром:

 \alpha_{C}^{\min} = 1 / \left(1/\alpha_{S} + 1/\alpha_{B} + 1/\alpha_{N}\right)    \quad \quad(1.7)

что близко соответствует эмпирически оптимальным результатам N \propto C_{\min}^{0.73} , B \propto C_{\min}^{0.24} и S \propto C_{\min}^{0.03} . По мере увеличения бюджета вычислений C его следует тратить в основном на более крупные модели, без значительного увеличения времени обучения или размера набора данных (см. Рисунок 3). Это также означает, что по мере увеличения размера моделей они становятся все более эффективными с точки зрения выборки. На практике исследователи обычно обучают меньшие модели дольше, чем это было бы оптимально с точки зрения вычислений, из-за ограничений аппаратного обеспечения. Оптимальная производительность зависит от общего объема вычислений как степенной закон (см. уравнение (1.3)).

Мы предоставляем некоторую базовую теоретическую мотивацию для уравнения (1.5), анализ соответствия кривых обучения и их последствий для времени обучения, а также разбивку наших результатов по токенам. Также мы проводим краткие сравнения с LSTM и рекуррентными трансформерами [18].

1.3 Обозначения

Мы используем следующие обозначения:

  • L — кросс-энтропийные потери в натах (nats). Обычно они усредняются по токенам в контексте, но в некоторых случаях мы указываем потери для конкретных токенов в контексте.

  • N — количество параметров модели, исключая все словарные и позиционные встраивания (эмбеддинги)

  • C \approx 6NBS — оценка общего объема вычислений для обучения без учета встраиваний, где B — размер батча, а S — количество шагов обучения (т.е. обновлений параметров). Мы указываем числовые значения в PF-днях, где один PF-день =10^{15} \times 24 \times 3600 = 8.64 \times 10^{19} операций с плавающей запятой.

  • D — размер набора данных в токенах.

  • B_{\text{crit}} — критический размер батча [18], определенный и обсуждаемый в разделе 5.1. Обучение с критическим размером батча примерно обеспечивает оптимальный компромисс между временем и эффективностью вычислений.

  • C_{\min} — оценка минимального объема вычислений без учета эмбеддингов, необходимого для достижения заданного значения потерь. Это объем вычислений, который был бы использован, если бы модель обучалась с размером батча значительно меньше критического.

  • S_{\min} — оценка минимального количества шагов обучения, необходимого для достижения заданного значения потерь. Это также количество шагов обучения, которое было бы использовано, если бы модель обучалась с размером батча значительно больше критического.

  • \alpha_{X} — показатели степенных законов для масштабирования потерь как L(X) \propto 1/X^{\alpha_{X}}, где X может быть любым из N, D, C, S, B, C^{\min} .

2. Предыстория и методы

Мы обучаем языковые модели на WebText2, расширенной версии набора данных WebText [19], токенизированного с использованием байт-парного кодирования (BPE) с размером словаря n_{\text{vocab}} = 50257 . Мы оптимизируем autoregressive log-likelihood, авторегрессионное логарифмическое правдоподобие (т.е. cross-entropy loss , кросс-энтропийные потери), усредненное по контексту из 1024 токенов, что также является нашей основной метрикой производительности. Мы записываем потери на тестовом распределении WebText2 и на выборке других текстовых распределений. В основном мы обучаем декодер-трансформеры [18, 18, 17], хотя также обучаем модели LSTM и универсальные трансформеры [18] для сравнения.

2.1 Масштабирование параметров и вычислений для трансформеров

Мы параметризуем архитектуру трансформеров с использованием гиперпараметров n_{\text{layer}} (количество слоев), d_{\text{model}} (размерность residual stream), d_{\text{ff}} (размерность intermediate feed-forward слоя), d_{\text{attn}} (размерность attention output) и n_{\text{heads}} (количество голов внимания на слой). Мы включаем n_{\text{ctx}} токенов во входной контекст, где n_{\text{ctx}} = 1024 , если не указано иное.

Residual stream (остаточный поток) в трансформерах (прим. переводчика)

Residual stream (остаточный поток) в трансформерах — это концепция, связанная с архитектурой Transformer и использованием остаточных связей (residual connections). Остаточный поток относится к основному пути, по которому данные передаются через слои модели, с добавлением входных данных на каждом этапе.

Residual stream — это "поток данных", который проходит через все слои трансформера, накапливая информацию на каждом шаге. На каждом слое к residual stream добавляются новые преобразования (например, self-attention или feed-forward), но исходные данные (или их промежуточные представления) сохраняются благодаря остаточным связям. Это можно представить как "основной путь", по которому данные передаются через модель, с постепенным обогащением информации. Либо можно сравнить с рекой, которая течёт через всю модель. На каждом слое в неё впадают "притоки" (результаты преобразований), но основное русло (residual stream) сохраняет свою целостность и продолжает нести информацию дальше.

Intermediate feed-forward layer (промежуточный полносвязный слой) в трансформерах (прим. переводчика)

Intermediate feed-forward layer (промежуточный полносвязный слой) в трансформерах расположен между слоями внимания (self-attention).

После того как данные проходят через механизм self-attention, они поступают в промежуточный feed-forward слой. Этот слой обычно состоит из двух линейных преобразований (полносвязных слоёв) с нелинейной функцией активации (например, ReLU) между ними.

Промежуточный feed-forward слой применяет нелинейное преобразование к каждому токену независимо. Это позволяет модели извлекать более сложные и абстрактные признаки из данных. В отличие от механизма self-attention, который работает с глобальными зависимостями между токенами, слой feed-forward фокусируется на локальных преобразованиях.

Attention output (выход механизма внимания) в трансформерах (прим. переводчика)

Attention output (выход механизма внимания) в трансформерах — это результат работы механизма self-attention (самовнимания). Выход представляет собой взвешенную комбинацию всех токенов в последовательности, где веса определяются их важностью относительно друг друга.

Attention output позволяет каждому токену "видеть" контекст всей последовательности, что особенно полезно для задач, где важно учитывать глобальные зависимости (например, машинный перевод или генерация текста). Механизм внимания, в свою очередь, позволяет модели динамически выбирать, на какие части входных данных "смотреть" в зависимости от задачи.

Мы используем N для обозначения размера модели, который мы определяем как количество параметров без учета эмбеддингов:

N \approx 2d_{\text{model}}n_{\text{layer}}\left(2d_{\text{attn}} + d_{\text{ff}}\right) = 12n_{\text{layer}}d_{\text{model}}^{2}    \quad \quad(2.1)\quad \text{при стандартных} \quad d_{\text{attn}} = d_{\text{ff}}/4 = d_{\text{model}}

где мы исключили смещения (biases) и другие второстепенные члены. Наши модели также имеют n_{\text{vocab}}d_{\text{model}} параметров в матрице эмбеддингов и используют n_{\text{ctx}}d_{\text{model}} параметров для позиционных эмбеддингов, но мы не включаем их при обсуждении "размера модели" N; мы увидим, что это дает значительно более четкие законы масштабирования.

Вычисление прямого прохода трансформера включает примерно

C_{\text{forward}} \approx 2N + 2n_{\text{layer}}n_{\text{ctx}}d_{\text{model}}       \quad \quad(2.2)

операций сложения-умножения, где коэффициент 2 возникает из-за операции умножения-накопления, используемой в матричном умножении. Более подробный подсчет параметров и вычислений на операцию приведен в Таблице 1.

Операция

Параметры

FLOPs на токен

Embedding (встраивание)

(n_{vocab}​+n_{ctx}​)d_{model}

4d_{\text{model}}

Attention: QKV (запросы, ключи, значения)

n_{\text{layer}} d_{\text{model}} 3d_{\text{attn}}

2n_{\text{layer}} d_{\text{model}} 3d_{\text{attn}}

Attention: Mask (маска)

\text{—}

2n_{\text{layer}} n_{\text{ctx}} d_{\text{attn}}

Attention: Project (проекция)

n_{\text{layer}} d_{\text{attn}} d_{\text{model}}

2n_{\text{layer}} d_{\text{attn}} d_{\text{embed}}

Feedforward (прямое распространение)

n_{\text{layer}} 2d_{\text{model}} d_{\text{ff}}

2n_{\text{layer}} 2d_{\text{model}} d_{\text{ff}}

De-embed (обратное встраивание)

\text{—}

2d_{\text{model}} n_{\text{vocab}}

Итого (без эмбеддингов)

N =2d_{\text{model}} n_{\text{layer}} (2d_{\text{attn}} + d_{\text{ff}})

Cforward = 2N + 2n_{\text{layer}} n_{\text{ctx}} d_{\text{attn}}

Таблица 1. Количество параметров и оценка вычислительных операций (прямой проход) для модели трасформера. Малозначимые члены, такие как нелинейности, смещения (biases) и нормализация слоёв, опущены.

Для контекстов и моделей с d_{\text{model}} > n_{\text{ctx}}/12 контекстно-зависимые вычислительные затраты на токен составляют относительно небольшую долю от общего объема вычислений. Поскольку мы в основном изучаем модели, где d_{\text{model}} \gg n_{\text{ctx}}/12 , мы не включаем контекстно-зависимые члены в нашу оценку вычислений для обучения. Учитывая обратный проход (примерно вдвое больше вычислений, чем прямой проход), мы определяем оценку вычислений без учета эмбеддингов как C \approx 6N операций с плавающей запятой на токен обучения.

2.2 Процедуры обучения

Если не указано иное, мы обучаем модели с оптимизатором Adam [13] в течение фиксированных 2.5 \times 10^{5} шагов с размером батча 512 последовательностей по 1024 токена. Из-за ограничений памяти наши самые большие модели (более 1 миллиарда параметров) обучались с использованием Adafactor [17]. Мы экспериментировали с различными скоростями обучения и графиками, это показано в Приложении D.6. Мы обнаружили, что результаты на этапе сходимости в значительной степени не зависят от графика скорости обучения. Если не указано иное, все обучающие запуски, включенные в наши данные, использовали график скорости обучения с линейным прогревом (linear warmup) в течение 3000 шагов, за которым следовало косинусное затухание до нуля.

2.3 Наборы данных

Мы обучаем наши модели на расширенной версии набора данных WebText, описанного в [14]. Оригинальный набор данных WebText представлял собой веб-скрапинг внешних ссылок с Reddit до декабря 2017 года, которые получили как минимум 3 кармы. Во второй версии, WebText2, мы добавили внешние ссылки Reddit за период с января по октябрь 2018 года, также с минимальным порогом в 3 кармы. Порог кармы служил эвристикой для определения того, нашел ли кто-то ссылку интересной или полезной. Текст новых ссылок был извлечен с использованием библиотеки Newspaper3k на Python. В целом, набор данных состоит из 20,3 млн. документов, содержащих 96 ГБ текста и 1.62 \times 10^{10} слов (определенных с помощью утилиты `wc`). Затем мы применяем обратимый токенизатор, описанный в [14], который дает 2.29 \times 10^{10} токенов. Мы резервируем 6.6 \times 10^{8} из этих токенов для использования в качестве тестового набора, а также тестируем на аналогично подготовленных выборках из Books Corpus [22], Common Crawl [18], английской Википедии и коллекции публично доступных интернет-книг.

3. Эмпирические результаты и основные степенные законы

Чтобы охарактеризовать масштабирование языковых моделей, мы обучили широкий спектр моделей, варьируя различные факторы, включая:

  • Размер модели (от 768 до 1,5 миллиарда параметров, исключая эмбеддинги)

  • Размер набора данных (от 22 миллионов до 23 миллиардов токенов)

  • Архитектуру (включая глубину, ширину, количество голов внимания и размер промежуточного слоя)

  • Длину контекста (1024 для большинства экспериментов, хотя мы также экспериментировали с более короткими контекстами)

  • Размер батча (219 для большинства экспериментов, но мы также варьировали его для измерения критического размера батча)

В этом разделе мы представим данные вместе с эмпирически обоснованными аппроксимациями, отложив теоретический анализ на последующие разделы.

3.1 Приблизительная независимость от формы трансформера и гиперпараметров

Производительность трансформера очень слабо зависит от параметров формы, таких как количество слоев nlayer, количество голов внимания nheads​ и размер промежуточного слоя dff, при условии, что общее количество параметров N (исключая эмбеддинги) остается фиксированным. Чтобы установить эти результаты, мы обучали модели фиксированного размера, варьируя один гиперпараметр. Это было проще всего сделать для случая с количеством голов внимания nheads. При варьировании количества слоев nlayer​ мы одновременно изменяли размер модели dmodel​, чтобы сохранить N ≈ 12 nlayer dmodel2​ фиксированным. Аналогично, чтобы варьировать dff при фиксированном размере модели, мы также изменяли параметр dmodel​, как того требует подсчет параметров в Таблице 1. Независимость от количества слоев nlayer​ может быть объяснена тем, что глубокие трансформеры ведут себя как ансамбли более мелких моделей, как это было предложено для ResNet [38]. Результаты показаны на Рисунке 5.

Рисунок 5. Производительность очень слабо зависит от формы модели, когда общее количество неэмбеддинговых параметров N остается фиксированным. Ошибка изменяется всего на несколько процентов при широком диапазоне форм. Небольшие различия в количестве параметров компенсируются использованием аппроксимации L(N) в качестве базовой линии. В частности, соотношение сторон может варьироваться в 40 раз, лишь незначительно влияя на производительность; модель с (nlayer,dmodel) = (6; 4288) достигает ошибки, которая отличается менее чем на 3% от модели (48;1600), использованной в [19].
Рисунок 5. Производительность очень слабо зависит от формы модели, когда общее количество неэмбеддинговых параметров N остается фиксированным. Ошибка изменяется всего на несколько процентов при широком диапазоне форм. Небольшие различия в количестве параметров компенсируются использованием аппроксимации L(N) в качестве базовой линии. В частности, соотношение сторон может варьироваться в 40 раз, лишь незначительно влияя на производительность; модель с (nlayer,dmodel) = (6; 4288) достигает ошибки, которая отличается менее чем на 3% от модели (48;1600), использованной в [19].

3.2 Производительность в зависимости от количества параметров NN (исключая эмбеддинги)

На Рисунке 6 мы демонстрируем производительность широкого спектра моделей, начиная с небольших моделей с архитектурой (nlayer,dmodel)=(2;128) и заканчивая моделями с миллиардами параметров, варьирующимися по архитектуре от (6; 4288) до (207; 768). Здесь мы обучали модели до почти полной сходимости на полном наборе данных WebText2 и не наблюдали переобучения (за исключением, возможно, самых больших моделей).

Рисунок 6.Слева: Когда мы включаем параметры эмбеддингов, производительность, по-видимому, сильно зависит от количества слоев в дополнение к количеству параметров.Справа: Когда мы исключаем параметры эмбеддингов, производительность моделей с разной глубиной сходится к единой тенденции. Только модели с менее чем 2 слоями или с экстремальными соотношениями глубины к ширине значительно отклоняются от этой тенденции.
Рисунок 6.Слева: Когда мы включаем параметры эмбеддингов, производительность, по-видимому, сильно зависит от количества слоев в дополнение к количеству параметров.Справа: Когда мы исключаем параметры эмбеддингов, производительность моделей с разной глубиной сходится к единой тенденции. Только модели с менее чем 2 слоями или с экстремальными соотношениями глубины к ширине значительно отклоняются от этой тенденции.

Как показано на Рисунке 1, мы наблюдаем устойчивую тенденцию в зависимости от количества параметров NN, которую можно аппроксимировать первым членом уравнения (1.5):

L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N}     \quad \quad(3.1)

Чтобы наблюдать эти тенденции, крайне важно изучать производительность как функцию N; если вместо этого использовать общее количество параметров (включая параметры эмбеддингов), тенденция несколько затушевывается (см. Рисунок 6). Это говорит о том, что матрицу эмбеддингов можно сделать меньше без ущерба для производительности, как это было показано в недавних работах [19].

Хотя эти модели были обучены на наборе данных WebText2, их тестовая ошибка на различных других наборах данных также подчиняется степенному закону в зависимости от N с почти идентичным показателем степени, как показано на Рисунке 8.

3.2.1 Сравнение с LSTM и универсальными трансформерами

На Рисунке 7 мы сравниваем производительность LSTM и трансформеров в зависимости от количества параметров N (исключая эмбеддинги). LSTM обучались на том же наборе данных и с той же длиной контекста. Мы видим из этих графиков, что LSTM показывают такую же производительность, как и трансформеры, для токенов, появляющихся в начале контекста, но не могут сравниться с производительностью трансформеров для более поздних токенов. Мы представляем степенные зависимости между производительностью и позицией в контексте в Приложении D.5, где все более высокие степени для более крупных моделей предполагают улучшенную способность быстро распознавать паттерны.

Рисунок 7
Рисунок 7

Мы также сравниваем производительность стандартных трансформеров с рекуррентными трансформерами [18] на Рисунке 17 в приложении. Эти модели повторно используют параметры и поэтому показывают немного лучшую производительность в зависимости от NN, но за счет дополнительных вычислений на параметр.

3.2.2 Обобщение на различных распределениях данных

Мы также тестировали наши модели на наборе дополнительных текстовых данных. Тестовая ошибка на этих наборах данных в зависимости от размера модели показана на Рисунке 8; во всех случаях модели обучались только на наборе данных WebText2. Мы видим, что ошибка на других распределениях данных плавно улучшается с увеличением размера модели, параллельно с улучшением на WebText2. Мы обнаруживаем, что обобщение почти исключительно зависит от ошибки на валидационной выборке в рамках распределения обучения и не зависит от продолжительности обучения или близости к сходимости. Мы также не наблюдаем зависимости от глубины модели (см. Приложение D.8).

Рисунок 8.Слева: Производительность обобщения на других распределениях данных плавно улучшается с увеличением размера модели, с небольшим и очень медленно растущим отклонением от распределения обучения WebText2.Справа: Производительность обобщения зависит только от производительности на распределении обучения и не зависит от фазы обучения. Мы сравниваем обобщение сходившихся моделей (точки) с обобщением одной крупной модели (пунктирные кривые) в процессе ее обучения.
Рисунок 8.Слева: Производительность обобщения на других распределениях данных плавно улучшается с увеличением размера модели, с небольшим и очень медленно растущим отклонением от распределения обучения WebText2.Справа: Производительность обобщения зависит только от производительности на распределении обучения и не зависит от фазы обучения. Мы сравниваем обобщение сходившихся моделей (точки) с обобщением одной крупной модели (пунктирные кривые) в процессе ее обучения.

3.3 Производительность в зависимости от размера набора данных и вычислений

Мы демонстрируем эмпирические тенденции для тестовой ошибки в зависимости от размера набора данных DD (в токенах) и объема вычислений CC на Рисунке 1.

Для тенденции с DD мы обучали модель с (nlayer, nembd)=(36; 1280) на фиксированных подмножествах набора данных WebText2. Мы останавливали обучение, как только тестовая ошибка переставала уменьшаться. Мы видим, что результирующие тестовые ошибки можно аппроксимировать простым степенным законом:

L(D) \approx \left(\frac{D_c}{D}\right)^{\alpha_D}              \quad \quad(3.2)

в зависимости от размера набора данных. Данные и аппроксимация представлены на Рисунке 1.

Общий объем вычислений, использованных во время обучения, можно оценить как C=6NBS , где B — размер батча, S — количество шагов обновления параметров, а коэффициент 6 учитывает прямое и обратное прохождение. Таким образом, для заданного значения C мы можем сканировать все модели с различными N, чтобы найти модель с наилучшей производительностью на шаге S=\frac{C}{6BS} ​. Обратите внимание, что в этих результатах размер батча B остается фиксированным для всех моделей, что означает, что эти эмпирические результаты не являются действительно оптимальными. Мы учтем это в последующих разделах, используя скорректированный Cmin⁡​ для получения более четких тенденций.

Результат представлен в виде жирной черной линии на левом графике Рисунка 1. Его можно аппроксимировать следующим образом:

L(C) \approx \left(\frac{C_c}{C}\right)^{\alpha_C}         \quad \quad(3.3)

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

4. Исследование предела бесконечных данных и переобучения

В разделе 3 мы обнаружили несколько базовых степенных законов для производительности языковых моделей. Здесь мы изучим производительность модели размером N, обученной на наборе данных с D токенами, варьируя N и D одновременно. Мы эмпирически продемонстрируем, что при оптимальном обученнии тестовая ошибка соответствует степенному закону, заданному уравнением (1.5). Это дает рекомендации о том, сколько данных нам нужно для обучения моделей увеличивающегося размера, сохраняя переобучение под контролем.

4.1 Предложенное уравнение L (N, D)

Мы выбрали параметризацию (1.5) (повторено здесь для удобства):

L(N, D) = \left[\left(\frac{N_{c}}{N}\right)^{\frac{\alpha_{N}}{\alpha_{D}}} + \frac{D_{c}}{D}\right]^{\alpha_{D}} \quad \quad(4.1)

используя три принципа:

  1. Изменения в размере словаря или токенизации ожидаемо изменяют ошибку на общий множитель. Параметризация L(N,D) (и всех моделей с возможностью расчета ошибки) должна естественно допускать такое масштабирование.

  2. Фиксируя DD и устремляя N → ∞ , общая ошибка должна стремиться к L(D). И наоборот, фиксируя N и устремляя D→∞, ошибка должна стремиться к L(N).

  3. L (N,D) должна быть аналитической при D=∞, то есть иметь разложение в ряд по степеням 1/D с целыми показателями. Теоретическое обоснование этого принципа значительно слабее, чем для первых двух.

Наш выбор L (N,D) удовлетворяет первому требованию, так как мы можем масштабировать Nc​ и Dc​ при изменении словаря. Это также подразумевает, что значения Nc​ и Dc​​ не имеют фундаментального значения.

Поскольку мы останавливаем обучение рано, когда тестовая ошибка перестает улучшаться, и оптимизируем все модели одинаково, мы ожидаем, что более крупные модели всегда будут показывать лучшие результаты, чем меньшие модели. Однако при фиксированном конечном D мы также не ожидаем, что какая-либо модель сможет приблизиться к наилучшей возможной ошибке (то есть к энтропии текста). Аналогично, модель фиксированного размера будет ограничена своей емкостью. Эти соображения мотивируют наш второй принцип. Заметим, что знание L(N) при бесконечном D и L(D) при бесконечном N полностью определяет все параметры в L (N,D).

Третий принцип более спекулятивен. Есть простая и общая причина, по которой можно ожидать, что переобучение будет масштабироваться как ∝1/D при очень больших D. Переобучение должно быть связано с дисперсией или отношением сигнал/шум в наборе данных [17], и это масштабируется как 1/D. Это ожидание должно выполняться для любой гладкой функции потерь, так как мы ожидаем, что можем разложить ошибку в ряд вблизи предела D→∞. Однако этот аргумент предполагает, что поправки 1/D доминируют над другими источниками дисперсии, такими как конечный размер батча и другие ограничения на эффективность оптимизации. Без эмпирического подтверждения мы не были бы уверены в его применимости.

Третий принцип объясняет асимметрию между ролями N и D в уравнении (5). Возможны очень похожие симметричные выражения, но они не будут иметь разложения по 1/D с целыми степенями и потребуют введения дополнительного параметра.

Например, можно было бы использовать:

L(N, D) = \left[\left(\frac{N_c}{N}\right)^{\alpha_N} + \left(\frac{D_c}{D}\right)^{\alpha_D}\right]^{\beta}

но такое выражение не имеет разложения по степеням 1/D.

В любом случае, мы увидим, что наше уравнение для L (N,D) хорошо соответствует данным, что является наиболее важным обоснованием нашего выбора L (N,D).

4.2 Результаты

Рисунок 9. Ранняя остановленная тестовая ошибка L(N,D) предсказуемо зависит от размера набора данных D и размера модели N согласно уравнению (1.5).   Слева: Для больших D производительность следует прямому степенному закону от N. Для меньшего фиксированного D производительность перестает улучшаться с увеличением N, и модель начинает переобучаться. (Обратное также верно, см. Рисунок 4.)    Справа: Степень переобучения преимущественно зависит от соотношения , как предсказано в уравнении (4.3). Линия представляет нашу аппроксимацию этого уравнения.
Рисунок 9. Ранняя остановленная тестовая ошибка L(N,D) предсказуемо зависит от размера набора данных D и размера модели N согласно уравнению (1.5). Слева: Для больших D производительность следует прямому степенному закону от N. Для меньшего фиксированного D производительность перестает улучшаться с увеличением N, и модель начинает переобучаться. (Обратное также верно, см. Рисунок 4.) Справа: Степень переобучения преимущественно зависит от соотношения N^{(α_N/α_D)}/D, как предсказано в уравнении (4.3). Линия представляет нашу аппроксимацию этого уравнения.

Мы регуляризуем все наши модели с помощью 10% dropout и останавливаем обучение, как только тестовая ошибка перестает уменьшаться. Результаты представлены на Рисунке 9, включая аппроксимацию для четырех параметров α_N,α_D,N_c,D_c​ в уравнении (5):

Параметр

α_N

α_D

N_c

D_c

Значение

0.076

0.103

6.4 × 1013

1.8 × 1013

Таблица 2. Значения для L(N, D)

Мы получаем отличное соответствие, за исключением случаев, когда набор данных был уменьшен в 1024 раза, до примерно 2×107 токенов. С таким маленьким набором данных эпоха состоит всего из 40 шагов обновления параметров. Возможно, такой крошечный набор данных представляет собой другой режим для языкового моделирования, так как переобучение происходит очень рано в обучении (см. Рисунок 16). Также обратите внимание, что параметры немного отличаются от полученных в разделе 3, так как здесь мы аппроксимируем полное L(N,D), а не только L(N,∞) или L(∞,D).

Чтобы исследовать границы предела бесконечных данных, мы можем напрямую изучить степень переобучения. Для всех, кроме самых больших моделей, мы не видим признаков переобучения при обучении на полном наборе данных WebText2 с 22 миллиардами токенов, поэтому мы можем считать его представителем D=∞. Таким образом, мы можем сравнить конечное D с пределом бесконечных данных, определив:

\delta L(N, D) \equiv \frac{L(N, D)}{L(N, \infty)} - 1        \quad \quad(4.2)

и изучая его как функцию N и D. Фактически, мы видим эмпирически, что δL зависит только от определенной комбинации N и D, как показано на Рисунке 16. Это следует из степенного закона уравнения (1.5), которое подразумевает:

\delta L \approx \left(1 + \left(\frac{N}{N_c}\right)^{\frac{\alpha_N}{\alpha_D}} \frac{D_c}{D}\right)^{\alpha_D} - 1         \quad \quad(4.3)

Заметим, что при больших D эта формула также имеет разложение в ряд по степеням 1/D.

Мы оцениваем, что вариация ошибки при разных случайных начальных значениях составляет примерно 0.02, что означает, что для избежания переобучения при обучении до этого порога сходимости нам требуется:

D \gtrsim (5 \times 10^3) N^{0.74}     \quad \quad(4.4)

С этим соотношением модели с менее чем 109 параметров могут быть обучены с минимальным переобучением на наборе данных WebText2 с 22 миллиардами токенов, но наши самые большие модели столкнутся с некоторым умеренным переобучением. В общем, это соотношение показывает, что размер набора данных может расти сублинейно с увеличением размера модели, избегая переобучения. Однако это обычно не является максимально эффективным использованием вычислений. Мы также подчеркиваем, что мы не оптимизировали регуляризацию (например, вероятность dropout) при варьировании размера набора данных и модели.

5. Степенные законы масштабирования в зависимости от размера модели и времени обучения

В этом разделе мы продемонстрируем, что простой степенной закон хорошо описывает зависимость ошибки от размера модели N и времени обучения. Сначала мы объясним, как использовать результаты работы [18] для определения универсального шага обучения Smin⁡​, который учитывает тот факт, что большинство наших моделей не обучались с оптимальным размером батча. Затем мы покажем, что зависимость ошибки от размера модели и времени обучения можно аппроксимировать с помощью уравнения (1.6). Позже мы используем эти результаты для прогнозирования оптимального распределения вычислительных ресурсов между размером модели и временем обучения, а затем подтвердим это предсказание.

5.1 Коррекция для обучения при Bcrit(L)

Простая эмпирическая теория для зависимости обучения от размера батча была разработана в работе [18] (см. также [18], [19]). В ней утверждалось, что существует критический размер батча Bcrit для обучения; для B, изменяющимся вплоть до Bcrit​ , размер батча можно увеличивать с минимальным ухудшением вычислительной эффективности, тогда как для B>B_{crit} увеличение B приводит к уменьшению отдачи. Также утверждалось, что шкала шума градиента дает простое предсказание для Bcrit ​, и что она не зависит напрямую от размера модели, за исключением значения ошибки, которое было достигнуто. Эти результаты можно использовать для прогнозирования того, как время обучения и вычисления будут изменяться в зависимости от размера батча. Чтобы максимально эффективно использовать как время обучения, так и вычисления, лучше всего обучать с размером батча B≈B_{crit}​. Обучение при B≫B_{crit} минимизирует количество шагов обучения, тогда как B≪B_{crit​} минимизирует использование вычислений.

Было показано, что для широкого спектра задач нейронных сетей количество шагов обучения S и количество обработанных примеров данных E=BS удовлетворяют простому соотношению:

\left(\frac{S}{S_{\min}} - 1\right)\left(\frac{E}{E_{\min}} - 1\right) = 1    \quad \quad(5.1)

при обучении до любого фиксированного значения ошибки L. Здесь Smin​ — минимальное количество шагов, необходимое для достижения L, а Emin⁡​ — минимальное количество примеров данных, которые должны быть обработаны.

Мы демонстрируем это соотношение для трансформеров на Рисунке 18 в приложении. Это соотношение определяет критический размер батча:

B_{\text{crit}}(L) \equiv \frac{E_{\min}}{S_{\min}}       \quad \quad(5.2)

который является функцией целевого значения ошибки. Обучение с критическим размером батча обеспечивает примерно оптимальный компромисс между временем и вычислительной эффективностью, требуя 2Smin​ шагов обучения и обработки E=2E_{min}​ экземпляров данных.

На Рисунке 10 мы построили график критического размера батча и шкалы шума градиента как функции ошибки обучения для двух разных моделей. Мы видим, что Bcrit(L) не зависит от размера модели и зависит только от ошибки L.

(Хотя критический размер батча примерно соответствует шкале шума градиента, для всех наших последующих анализов мы используем прямые измерения Bcrit​ из Рисунков 18 и 10.)

Рисунок 10. Критический размер батча Bcrit​ следует степенному закону от ошибки по мере улучшения производительности и не зависит напрямую от размера модели. Мы обнаружили, что критический размер батча примерно удваивается при каждом уменьшении ошибки на 13%. Bcrit​ измеряется эмпирически на основе данных, показанных на Рисунке 18, но он также приблизительно предсказывается шкалой шума градиента, как в [18].
Рисунок 10. Критический размер батча Bcrit​ следует степенному закону от ошибки по мере улучшения производительности и не зависит напрямую от размера модели. Мы обнаружили, что критический размер батча примерно удваивается при каждом уменьшении ошибки на 13%. Bcrit​ измеряется эмпирически на основе данных, показанных на Рисунке 18, но он также приблизительно предсказывается шкалой шума градиента, как в [18].

Таким образом, предсказания работы [18] продолжают выполняться для языковых моделей на основе трансформеров. Критический размер батча можно аппроксимировать степенным законом от ошибки:

B_{\text{crit}}(L) \approx \frac{B_*}{L^{1/\alpha_B}}    \quad \quad(5.3)

где B_∗≈2×10^8 и α_B ≈ 0.21.

Мы выбрали эту параметризацию для Bcrit(L), потому что, когда ошибка приближается к своему минимальному значению Lmin⁡​, шкала шума градиента должна расходиться, и мы ожидаем, что Bcrit​ будет следовать этой шкале. Мы не знаем Lmin⁡​, так как не видим признаков того, что наши модели приближаются к ней, но Lmin⁡>0, поскольку энтропия естественного языка не равна нулю. Поскольку, по-видимому, Lmin⁡​ намного меньше значений L, которые мы достигли, мы использовали параметризацию, в которой Bcrit​ расходится при L→0.

Мы будем использовать Bcrit(L) для оценки соотношения между количеством шагов обучения S при обучении с размером батча B=219 токенов и количеством шагов обучения при B≫B_{crit}​. Это просто:

S_{\min}(S) \equiv \frac{S}{1 + B_{\text{crit}}(L)/B} \quad (мин.шагов- при: B≫B_{crit})      \quad \quad(5.4)

для любого заданного целевого значения ошибки L. Это также определяет критическое значение вычислений, необходимых для обучения до L с моделью размера N, если бы мы обучали при B≪B_{crit}(L). Это:

C_{\min}(C) \equiv \frac{C}{1 + B/B_{\text{crit}}(L)}   \quad    (мин.вычислений- при: B≪B_{crit})      \quad \quad(5.5)

где C=6NBS оценивает объем вычислений (исключая эмбеддинги), использованных при размере батча B.

5.2 Результаты для L(N,Smin⁡) и производительность в зависимости от размера модели и объема вычислений

Теперь мы будем использовать Smin⁡​, определенное в уравнении (5.4), чтобы получить простую и универсальную аппроксимацию зависимости ошибки от размера модели и времени обучения в пределе бесконечных данных. Мы будем аппроксимировать стабильные, оптимизированные с помощью Adam кривые обучения с использованием уравнения (1.6), повторенного здесь для удобства:

L(N, S_{\min}) = \left(\frac{N_c}{N}\right)^{\alpha_N} + \left(\frac{S_c}{S_{\min}}\right)^{\alpha_S}      \quad \quad(5.6)

для ошибки. Мы включаем все шаги обучения после периода разогрева графика скорости обучения и находим аппроксимацию данных с параметрами:

Параметр

α_N

α_S

N_c

S_c

Значение

0.077

0.76

6.5 × 1013

2.1 × 103

Таблица 3. Значения для L(N,S)

С этими параметрами мы получаем аппроксимации кривых обучения на Рисунке 4. Хотя аппроксимации не идеальны, мы считаем их довольно убедительными, учитывая простоту уравнения (5.6).

Данные и аппроксимации можно визуализировать иным, более интересным способом, как показано на Рисунке 11. Там мы изучаем тестовую ошибку как функцию размера модели, фиксируя либо общий объем вычислений C, использованных при обучении, либо количество шагов S. Для аппроксимаций мы используем уравнения (5.5) и (5.4) вместе с параметрами выше и уравнением (5.6).

Рисунок 11. Когда мы фиксируем либо общий объем вычислений, либо количество шагов обучения, производительность следует L(N,S) из уравнения (5.6). Каждому значению бюджета вычислений соответствует оптимальный размер модели, который максимизирует производительность. Неудивительно, что аппроксимация на малых S не идеальна, так как степенной закон для кривых обучения нарушается на самых ранних этапах обучения.
Рисунок 11. Когда мы фиксируем либо общий объем вычислений, либо количество шагов обучения, производительность следует L(N,S) из уравнения (5.6). Каждому значению бюджета вычислений соответствует оптимальный размер модели, который максимизирует производительность. Неудивительно, что аппроксимация на малых S не идеальна, так как степенной закон для кривых обучения нарушается на самых ранних этапах обучения.

Степенной закон зависимости ошибки от Smin⁡​ отражает взаимодействие динамики оптимизатора и ландшафта ошибки. Поскольку аппроксимации лучше всего работают на поздних этапах обучения, когда ошибка может быть приблизительно квадратичной, степенной закон должен предоставлять информацию о спектре гессиана ошибки. Его универсальность предполагает, что плотность собственных значений гессиана примерно не зависит от размера модели.

5.3 Нижняя граница для шага ранней остановки

Результаты для L (N,Smin⁡) можно использовать для вывода нижней границы (и грубой оценки) шага, на котором следует остановить обучение, когда обучение ограничено данными. Это мотивировано идеей, что кривые обучения для конечного и бесконечного D для данной модели будут очень похожи, пока мы не достигнем S_{min}⁡≈S_{stop}​. Таким образом, переобучение должно быть пропорционально поправке от простого завершения обучения на Sstop​. Это будет недооценивать Sstop​, потому что на самом деле тестовая ошибка будет уменьшаться медленнее, когда у нас есть конечное D, и поэтому нам потребуется больше шагов обучения для достижения оптимальной тестовой ошибки при конечном D. Эта логика приводит к неравенству:

S_{\text{stop}}(N, D) \gtrsim \frac{S_c}{[L(N, D) - L(N, \infty)]^{1/\alpha_S}}    \quad \quad(5.7)

где L(N,∞) — сходимая ошибка, оцененная с бесконечными доступными данными. Данное неравенство и его сравнение с эмпирическими данными показаны на Рисунке 16 в приложении. На этом рисунке значения Sstop​ и L(N,D) являются эмпирическими (хотя Sstop​ скорректирован для имитации обучения при B≫B_{crit}​), а L(N,∞) вычисляется из аппроксимации L(N,D), оцененной при D=∞.

6. Оптимальное распределение вычислительного бюджета

Мы показали эмпирическую тенденцию изменения производительности в зависимости от объема вычислений, использованных во время обучения, в правом верхнем углу Рисунка 1. Однако этот результат предполагал обучение с фиксированным размером батча B, тогда как мы знаем, что на самом деле можно обучать более эффективно, используя размер батча Bcrit, обсуждаемый в разделе 5.1.

(Можно спросить, почему мы изначально не обучали с Bcrit​. Причина в том, что он зависит не только от модели, но и от целевого значения ошибки, которое мы хотим достичь, и поэтому является постоянно движущейся целью).

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

В этом разделе мы исправим это упущение. Намного важнее то, что мы используем результаты раздела 5, чтобы определить оптимальное распределение вычислений между размером модели N и количеством данных, обработанных во время обучения, а именно 2B_{crit}S_{min}⁡​. Мы определим это распределение как эмпирически, так и теоретически, используя уравнение для L(N,Smin⁡), и покажем, что эти методы согласуются.

6.1 Оптимальная производительность и распределения

Давайте сначала изучим ошибку как функцию оптимально распределенных вычислений из уравнения (5.5). Результат показан на Рисунке 13 вместе с аппроксимацией степенным законом. Мы видим, что по сравнению с графиком вычислений на Рисунке 1, новая аппроксимация с Cmin​ несколько улучшена.

Учитывая L(Cmin⁡), естественно спросить, какой оптимальный размер модели N(Cmin⁡) обеспечивает минимальную ошибку при заданном объеме вычислений. Оптимальный размер модели показан на Рисунке 14. Мы наблюдаем, что N(Cmin⁡) можно очень хорошо аппроксимировать степенным законом:

N(C_{\min}) \propto (C_{\min})^{0.73}       \quad \quad(6.1)

На Рисунке 12 мы показываем эффект обучения моделей субоптимальных размеров (см. Приложение B.4).

Рисунок 12.  Слева: При фиксированном бюджете вычислений оптимален определенный размер модели, хотя модели несколько большего или меньшего размера могут быть обучены с минимальными дополнительными вычислениями.    Справа: Модели, превышающие размер, оптимальный для вычислений, требуют меньше шагов для обучения, что позволяет потенциально ускорить обучение, если доступен достаточный дополнительный параллелизм. Обратите внимание, что это уравнение не следует использовать для очень больших моделей, так как оно справедливо только в степенной области кривой обучения после начальных переходных эффектов.
Рисунок 12. Слева: При фиксированном бюджете вычислений оптимален определенный размер модели, хотя модели несколько большего или меньшего размера могут быть обучены с минимальными дополнительными вычислениями. Справа: Модели, превышающие размер, оптимальный для вычислений, требуют меньше шагов для обучения, что позволяет потенциально ускорить обучение, если доступен достаточный дополнительный параллелизм. Обратите внимание, что это уравнение не следует использовать для очень больших моделей, так как оно справедливо только в степенной области кривой обучения после начальных переходных эффектов.
Рисунок 13. При корректировке производительности для симуляции обучения значительно ниже критического размера батча мы обнаруживаем несколько измененный степенной закон для L(Cmin⁡) по сравнению с полностью эмпирическими результатами. Заметный выступ на уровне 10−5 PF-дней отмечает переход от однослойных к двухслойным сетям; мы исключаем однослойные сети из степенных аппроксимаций. Именно тенденция L(Cmin⁡) , как мы ожидаем, обеспечивает надежную экстраполяцию для больших объемов вычислений.
Рисунок 13. При корректировке производительности для симуляции обучения значительно ниже критического размера батча мы обнаруживаем несколько измененный степенной закон для L(Cmin⁡) по сравнению с полностью эмпирическими результатами. Заметный выступ на уровне 10−5 PF-дней отмечает переход от однослойных к двухслойным сетям; мы исключаем однослойные сети из степенных аппроксимаций. Именно тенденция L(Cmin⁡) , как мы ожидаем, обеспечивает надежную экстраполяцию для больших объемов вычислений.

По определению Cmin⁡≡6NB_{crit}S, и поэтому мы можем использовать N(Cmin⁡) для получения дополнительных результатов. В частности, поскольку предыдущие аппроксимации показывают, что B∝L^{−4.8} и L∝C^{−0.05}_{min}⁡ ​, мы можем заключить, что B_{crit}​∝C^{0.24}_{min} ​. Это приводит нас к выводу, что оптимальное количество шагов будет расти очень медленно с увеличением вычислений, как:

S_{\min} \propto (C_{\min})^{0.03}       \quad \quad(6.2)

что соответствует эмпирическим результатам на Рисунке 14. Фактически измеренный показатель настолько мал, что наши результаты могут быть даже согласованы с показателем, равным нулю.

Рисунок 14. Слева: Каждому значению бюджета вычислений Cmin⁡​ соответствует оптимальный размер модели N. Оптимальный размер модели растет очень быстро с увеличением Cmin⁡, увеличиваясь в 5 раз при каждом 10-кратном увеличении вычислений. Количество обработанных примеров данных составляет оставшуюся часть увеличения, возрастая относительно скромно — всего в 2 раза.       Справа: Количество шагов оптимизации, скорректированное с учетом размера батча, также растет очень медленно или вообще не растет, что означает, что большая часть увеличения обработанных экземпляров данных может быть использована для увеличения размера батча.
Рисунок 14. Слева: Каждому значению бюджета вычислений Cmin⁡​ соответствует оптимальный размер модели N. Оптимальный размер модели растет очень быстро с увеличением Cmin⁡, увеличиваясь в 5 раз при каждом 10-кратном увеличении вычислений. Количество обработанных примеров данных составляет оставшуюся часть увеличения, возрастая относительно скромно — всего в 2 раза. Справа: Количество шагов оптимизации, скорректированное с учетом размера батча, также растет очень медленно или вообще не растет, что означает, что большая часть увеличения обработанных экземпляров данных может быть использована для увеличения размера батча.

Таким образом, мы заключаем, что при масштабировании языкового моделирования с оптимальным распределением вычислений мы должны преимущественно увеличивать размер модели N, одновременно увеличивая размер батча через B∝B_{crit}​ с незначительным увеличением количества последовательных шагов. Поскольку эффективное использование вычислений требует относительно небольшого количества шагов оптимизации, может потребоваться дополнительная работа по ускорению динамики раннего обучения.

6.2 Предсказания, исходя из L(N,Smin⁡)

Результаты для L(Cmin⁡) и распределения могут быть предсказаны из уравнения L(N,Smin⁡), полученного в разделе 5. Учитывая наше уравнение для L(N,Smin⁡), мы можем подставить S_{min}⁡=C_{min}⁡/(6NB)​​ и затем найти минимум ошибки как функции N, фиксируя объем вычислений. Мы подробно выполняем эту процедуру в Приложении B, где также предоставляем некоторые дополнительные предсказания.

Для ошибки как функции объема вычислений мы предсказываем, что:

L(C_{\min}) = \left(\frac{C_c^{\min}}{C_{\min}}\right)^{\alpha_C^{\min}}      \quad \quad(6.3)

где

\alpha_C^{\min} \equiv \frac{1}{1/\alpha_S + 1/\alpha_B + 1/\alpha_N} \approx 0.054      \quad \quad(6.4)

что отлично согласуется с показателем на Рисунке 13. Мы также предсказываем, что:

N(C_{\min}) \propto (C_{\min})^{\alpha_C^{\min}/\alpha_N} \approx (C_{\min})^{0.71}    \quad \quad(6.5)

что также соответствует масштабированию на Рисунке 14 с точностью до нескольких процентов. Наши степенные законы дают прогностическую основу для оценки производительности языкового моделирования.

6.3 Противоречия и гипотеза

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

Действительно, тенденции для эффективного использования вычислений, описанные в этом разделе, уже содержат явное противоречие. На масштабах, на несколько порядков превышающих задокументированные здесь, производительность, предсказанная законом масштабирования L(Cmin⁡), снижается ниже ожидаемой, учитывая медленный рост данных с увеличением вычислений. Это подразумевает, что наши степенные законы должны нарушиться до достижения этого момента, но мы предполагаем, что точка пересечения имеет более глубокий смысл: она дает оценку точки, в которой языковые модели на основе трансформеров достигают максимальной производительности.

Поскольку объем данных, используемых для эффективного использования вычислений, растет медленно с увеличением бюджета вычислений, производительность, предсказанная L(Cmin⁡) , в конечном итоге достигает нижней границы, установленной степенным законом L(D) (см. Рисунок 15). Давайте рассмотрим это более подробно.

Рисунок 15. Далеко за пределами размеров моделей, которые мы изучаем эмпирически, мы обнаруживаем противоречие между нашими уравнениями для L(Cmin⁡) и L(D) из-за медленного роста данных, необходимых для эффективного использования вычислений. Точка пересечения обозначает момент, до которого наши предсказания остаются справедливыми. Расположение этой точки сильно зависит от точных значений показателей степенных законов, полученных в наших аппроксимациях.
Рисунок 15. Далеко за пределами размеров моделей, которые мы изучаем эмпирически, мы обнаруживаем противоречие между нашими уравнениями для L(Cmin⁡) и L(D) из-за медленного роста данных, необходимых для эффективного использования вычислений. Точка пересечения обозначает момент, до которого наши предсказания остаются справедливыми. Расположение этой точки сильно зависит от точных значений показателей степенных законов, полученных в наших аппроксимациях.

Чтобы контролировать переобучение, результаты раздела 4 подразумевают, что мы должны масштабировать размер набора данных как:

D ∝ N^{0.74} ∝ C^{0.54}_{min}         \quad \quad(6.6)

где мы использовали N(Cmin⁡) для эффективного использования вычислительного ресурса из Рисунка 14.

Давайте сравним это с требованиями к данным для эффективного использования вычислительного ресурса. Если мы обучаем с критическим размером батча (то есть C=2C_{min}⁡​) и никогда не повторно используем данные во время обучения, мы обнаруживаем, что использование данных растет с вычислениями как:

D(C_{\min}) = \frac{2C_{\min}}{6N(C_{\min})} \approx \left(4 \times 10^{10} \text{ токенов}\right) (C_{\min}/\text{PF-Day})^{0.26}       \quad \quad(6.7)

Это максимальная скорость, с которой размер набора данных может продуктивно расти с увеличением вычислений, так как это означает, что мы обучаем только на одной эпохе. Но это увеличивает размер набора данных намного медленнее, чем в уравнении (6.6). Это, по-видимому, подразумевает, что эффективное использование вычислений в конечном итоге столкнется с проблемой переобучения, даже если процесс обучения никогда не использует данные повторно!

Согласно Рисунку 1, мы ожидаем, что когда мы ограничены размером набора данных (то есть переобучением), ошибка должна масштабироваться как L(D)∝D^{−0.095}. Это подразумевает, что ошибка будет масштабироваться с вычислениями как L(D(C_{min}⁡))∝C_{min}^{⁡−0.03}​, когда мы ограничены имеющимися данными. Снова мы сталкиваемся с противоречием, так как это в конечном итоге пересекается с нашим предсказанием для L(Cmin⁡) из Рисунка 13, где мы нашли масштабирование L(C_{min}⁡)∝C_{min}^{⁡−0.050} ​.

Точка пересечения L(D(Cmin⁡)) и L(Cmin⁡) находится при:

C^* \sim 10^4 \text{ PF-дней}, \quad N^* \sim 10^{12} \text{ параметров}, \quad D^* \sim 10^{12} \text{ токенов}, \quad L^* \sim 1.7 \text{ нат/токен}       \quad \quad(6.8)

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

Можно также предположить, что эта точка пересечения имеет более глубокий смысл. Если мы не можем увеличить размер модели за пределы N без качественно других требований к данным, возможно, это означает, что, достигнув Cmin⁡​ и N , мы извлекли всю надежную информацию, доступную в данных естественного языка. В этой интерпретации L даст приблизительную оценку энтропии на токен естественного языка. В этом сценарии мы ожидаем, что тенденция ошибки выровняется на уровне или до L.

(Определяя слова с помощью утилиты wc, получим следующее: набор данных WebText2 содержит 1.4 токена на слово и 4.3 символа на токен).

Мы можем предположить функциональную форму L(Cmin⁡) по мере ее выравнивания, рассматривая версию нашего набора данных для обучения с добавленным шумом. Например, мы могли бы добавить случайную строку токенов к каждому контексту, показанному модели, чтобы искусственно увеличить ошибку на постоянный аддитивный фактор. Тогда расстояние от уровня шума L−L_{noise}​ будет более значимой метрикой производительности, и даже небольшое уменьшение этого расстояния может представлять значительное улучшение качественной производительности. Поскольку искусственный шум одинаково влияет на все наши тенденции, критическая точка 6.8 не изменится (за исключением абсолютного значения L) и может быть значимой, даже если она происходит после выравнивания.

7. Связанные работы

Степенные законы появляются из самых разных источников [18]. Степенные зависимости от размера модели и набора данных в задачах оценки плотности [6] и в моделях случайных лесов [12] могут быть связаны с нашими результатами. Эти модели предполагают, что показатели степенных законов могут иметь очень приблизительную интерпретацию как обратное количество релевантных признаков в данных.

Некоторые ранние работы [1], [Good1] обнаружили степенные зависимости между производительностью и размером набора данных. Более поздние работы [17], [19] также исследовали зависимость между размером модели и размером данных; их работа, возможно, наиболее близка к нашей в литературе.

(После завершения этой работы также появилась статья [19], в которой делаются аналогичные предсказания о зависимости ошибки как от размера модели, так и от размера набора данных).

Однако обратите внимание, что [17] обнаружили суперлинейную зависимость размера набора данных от размера модели, тогда как мы находим сублинейную зависимость. Есть некоторые параллели между нашими выводами об оптимальном распределении вычислений и [19], включая степенные кривые обучения. EfficientNets [19] также, по-видимому, подчиняются приблизительному степенному закону между точностью и размером модели. Недавняя работа [19] изучает масштабирование как с размером набора данных, так и с размером модели для различных наборов данных и аппроксимирует функциональную форму, похожую на нашу.

EfficientNet [19] предлагает масштабировать глубину и ширину экспоненциально (с разными коэффициентами) для оптимальной производительности моделей изображений, что приводит к степенной зависимости ширины от глубины. Мы обнаруживаем, что для языковых моделей этот показатель должен быть примерно равен единице при масштабировании (так как соотношение ширины и глубины должно оставаться фиксированным). Но что более важно, мы обнаруживаем, что точные архитектурные гиперпараметры не так важны, как общий масштаб языковой модели. В [16] утверждалось, что глубокие модели могут функционировать как ансамбли более мелких моделей, что потенциально может объяснить этот вывод. Более ранние работы [16] сравнивали ширину и глубину и обнаружили, что широкие ResNet могут превосходить глубокие ResNet в задачах классификации изображений. Некоторые исследования фиксируют вычисления на примере данных, которые, как правило, масштабируются пропорционально количеству параметров модели, тогда как мы исследуем масштабирование как с размером модели, так и с количеством вычислений для обучения.

Различные работы [17, 18] исследовали обобщение в сильно перепараметризованных моделях, обнаруживая "переход к застреванию" [19], когда размер модели достигает размера набора данных (это может потребовать обучения на много порядков больше, чем обычно, и, в частности, не использует раннюю остановку). Мы не наблюдаем такого перехода и обнаруживаем, что необходимый объем данных для обучения масштабируется сублинейно с размером модели. Расширения в размере модели, особенно при большой ширине [18, 19], могут предоставить полезную основу для размышлений о некоторых наших зависимостях масштабирования. Наши результаты по оптимизации, такие как форма кривых обучения, могут быть объяснены с помощью модели шумного квадратичного приближения (noisy quadratic model), которая может давать довольно точные предсказания [19] в реалистичных условиях. Чтобы сделать эту связь количественной, потребуется характеристика спектра гессиана [18, 19, 18].

8. Обсуждение

Мы наблюдали последовательные степенные зависимости ошибки логарифмического правдоподобия (log-likelihood loss) языковой модели от количества параметров N (исключая эмбеддинги), размера набора данных D и объема оптимизированных вычислений Cmin​, как это показано в уравнениях (1.5) и (1.6). В отличии от этих сильных зависимостей, мы обнаружили очень слабую зависимость от многих архитектурных и оптимизационных гиперпараметров. Поскольку зависимости от N, D и Cmin​ являются степенными, с увеличением масштаба наблюдается уменьшение отдачи.

Мы смогли точно смоделировать зависимость ошибки от N и D, а также от N и S, когда эти параметры изменяются одновременно. Мы использовали эти соотношения для вывода масштабирования вычислений, степени переобучения, шага ранней остановки и требований к данным при обучении больших языковых моделей. Таким образом, наши зависимости масштабирования выходят за рамки простого наблюдения и предоставляют прогностическую основу. Можно интерпретировать эти соотношения как аналоги закона идеального газа, который связывает макроскопические свойства газа универсальным образом, независимо от большинства деталей его микроскопических составляющих.

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

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

Наши результаты упорно утверждают, что более крупные модели будут продолжать показывать лучшие результаты, а также будут гораздо более эффективны в использовании данных, чем оценивалось раньше. Большие модели (т.е. размер модели) могут быть важнее больших данных. В этом контексте дальнейшее исследование параллелизма моделей оправдано. Глубокие модели могут обучаться с использованием конвейерной обработки [18], которая разделяет параметры по глубине между устройствами, но в конечном итоге требует увеличения размера батча при использовании большего количества устройств. Широкие сети, с другой стороны, более подходят для параллелизации [18], поскольку большие слои могут быть разделены между несколькими рабочими слоями с меньшей последовательной зависимостью. Разреженность [19, 17] или ветвление (например, [17]) могут позволить еще быстрее обучать большие сети за счет увеличения параллелизма моделей. А использование методов, таких как [17, 19], которые увеличивают сети по мере их обучения, может позволить оставаться на границе эффективного использования вычислений на протяжении всего процесса обучения.

Благодарности

Мы хотели бы поблагодарить Shan Carter, Paul Christiano, Jack Clark, Ajeya Cotra, Ethan Dyer, Jason Eisner, Danny Hernandez, Jacob Hilton, Brice Menard, Chris Olah и Ilya Sutskever за обсуждения и отзывы на черновики этой работы.

Приложения

A. Свод степенных законов

Для удобства мы предоставляем ниже краткое описание ключевых тенденций, описанных в этой работе.

Параметры модели

Данные

Вычисления

Размер батча

Формула

N

∞

∞

Fixed

L(N) = \left(\frac{N_c}{N}\right)^{\alpha_N}

∞

D

Early Stop

Fixed

L(D) = \left(\frac{D_c}{D}\right)^{\alpha_D}

Optimal

∞

C

Fixed

L(C) = \left(\frac{C_c}{C}\right)^{\alpha_C}

(naive)

N_{opt}

Dopt

Cmin

B≪B_{crit}

L(C_{\min}) = \left(\frac{C_c^{\min}}{C_{\min}}\right)^{\alpha_C^{\min}}

N

D

Early Stop

Fixed

L(N, D) = \left[\left(\frac{N_c}{N}\right)^{\frac{\alpha_N}{\alpha_D}} + \frac{D_c}{D}\right]^{\alpha_D}

N

∞

S шагов

B

L(N, S) = \left(\frac{N_c}{N}\right)^{\alpha_N} + \left(\frac{S_c}{S_{\min}(S)}\right)^{\alpha_S}

Таблица 4.

Эмпирически подобранные значения для этих тенденций следующие:

Степенной закон

Масштаб (зависит от токенизации)

\alpha_N = 0.076

\quad N_c = 8.8 \times 10^{13} \text{ параметров (неэмбеддинги)}

\alpha_D = 0.095

\quad D_c = 5.4 \times 10^{13} \text{ токенов}

\alpha_C = 0.057

\quad C_c = 1.6 \times 10^7 \text{ PF-дней}

\alpha_C^{\min} = 0.050

 \quad C_c^{\min} = 3.1 \times 10^8 \text{ PF-дней}

\alpha_B = 0.21

\quad B_* = 2.1 \times 10^8 \text{ токенов}

\alpha_S = 0.76

\quad S_c = 2.1 \times 10^3 \text{ шагов}

Таблица 5.

Оптимальные параметры для эффективного использования вычислений:

Эффективное значение для вычисления

Степенной закон

Масштаб

N_{\text{opt}} = N_e \cdot C_{\min}^{p_N}

p_N = 0.73

N_e = 1.3 \cdot 10^9 \text{ параметров}

B \ll B_{\text{crit}} = \frac{B_*}{L^{1/\alpha_B}} = B_e C_{\min}^{p_B}

p_B = 0.24

B_e = 2.0 \cdot 10^6 \text{ токенов}

S_{\min} = S_e \cdot C_{\min}^{p_S}(нижняя граница)

p_S = 0.03

S_e = 5.4 \cdot 10^3 \text{ шагов}

D_{\text{opt}} = D_e \cdot C_{\min}^{p_D}(1 эпоха)

p_D = 0.27

D_e = 2 \cdot 10^{10} \text{ токенов}

Таблица 6.

(Приложения B, C и D не приводятся, ввиду их размера и более теоретического характера)

Ссылки

[ACDE12] Eduardo G Altmann, Giampaolo Cristadoro, and Mirko Degli Esposti. On the origin of longrange correlations in texts. Proceedings of the National Academy of Sciences, 109(29):11582– 11587, 2012. 25

[AS17] Madhu S. Advani and Andrew M. Saxe. High-dimensional dynamics of generalization error in neural networks. arXiv, 2017, 1710.03667. 11, 18, 22 [BB01] Michele Banko and Eric Brill. Scaling to very very large corpora for natural language disambiguation. In Proceedings of the 39th annual meeting on association for computational linguistics, pages 26–33. Association for Computational Linguistics, 2001. 18

[BHMM18] Mikhail Belkin, Daniel Hsu, Siyuan Ma, and Soumik Mandal. Reconciling modern machine learning and the bias-variance trade-off. arXiv, 2018, 1812.11118. 18 [Bia12] GÊrard Biau. Analysis of a random forests model. Journal of Machine Learning Research, 13(Apr):1063–1095, 2012. 18

[CGRS19] Rewon Child, Scott Gray, Alec Radford, and Ilya Sutskever. Generating long sequences with sparse transformers. CoRR, abs/1904.10509, 2019, 1904.10509. URL http://arxiv.org/ abs/1904.10509. 19

[DCLT18] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding, 2018, arXiv:1810.04805. 2

[DGV+18] Mostafa Dehghani, Stephan Gouws, Oriol Vinyals, Jakob Uszkoreit, and Lukasz Kaiser. Universal transformers. CoRR, abs/1807.03819, 2018, 1807.03819. URL http://arxiv.org/ abs/1807.03819. 6, 9, 23, 24

[EP94] Werner Ebeling and Thorsten Pöschel. Entropy and long-range correlations in literary english. EPL (Europhysics Letters), 26(4):241, 1994. 25

[Fou] The Common Crawl Foundation. Common crawl. URL http://commoncrawl.org. 7

[GARD18] Guy Gur-Ari, Daniel A. Roberts, and Ethan Dyer. Gradient descent happens in a tiny subspace. 2018, arXiv:1812.04754. 18

[GJS+19] Mario Geiger, Arthur Jacot, Stefano Spigler, Franck Gabriel, Levent Sagun, Stéphane d’Ascoli, Giulio Biroli, Clément Hongler, and Matthieu Wyart. Scaling description of generalization with number of parameters in deep learning. arXiv, 2019, 1901.01608. 18

[GKX19] Behrooz Ghorbani, Shankar Krishnan, and Ying Xiao. An investigation into neural net optimization via hessian eigenvalue density. CoRR, abs/1901.10159, 2019, 1901.10159. URL http://arxiv.org/abs/1901.10159. 18

[Goo01] Joshua Goodman. A bit of progress in language modeling. CoRR, cs.CL/0108005, 2001. URL http://arxiv.org/abs/cs.CL/0108005. 18

[GRK17] Scott Gray, Alec Radford, and Diederik P Kingma. Gpu kernels for block-sparse weights. openai.com, 2017. 19

[HAD19] Joel Hestness, Newsha Ardalani, and Gregory Diamos. Beyond human-level accuracy: Computational challenges in deep learning. In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming, PPoPP ’19, pages 1–14, New York, NY, USA, 2019. ACM. doi:10.1145/3293883.3295710. 18

[HCC+18] Yanping Huang, Yonglong Cheng, Dehao Chen, HyoukJoong Lee, Jiquan Ngiam, Quoc V. Le, and Zhifeng Chen. Gpipe: Efficient training of giant neural networks using pipeline parallelism. CoRR, abs/1811.06965, 2018, 1811.06965. URL http://arxiv.org/abs/1811.06965. 19

[HNA+17] Joel Hestness, Sharan Narang, Newsha Ardalani, Gregory Diamos, Heewoo Jun, Hassan Kianinejad, Md. Mostofa Ali Patwary, Yang Yang, and Yanqi Zhou. Deep learning scaling is predictable, empirically, 2017, 1712.00409. 18

[JGH18] Arthur Jacot, Franck Gabriel, and Clément Hongler. Neural tangent kernel: Convergence and generalization in neural networks. In Advances in neural information processing systems, pages 8571–8580, 2018. 18

[KB14] Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization, 2014, 1412.6980. 7

[Kom19] Aran Komatsuzaki. One epoch is all you need, 2019, arXiv:1906.06669. 18

[KSH12] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. Imagenet classification with deep convolutional neural networks. In Proceedings of the 25th International Conference on Neural Information Processing Systems - Volume 1, NIPS’12, pages 1097–1105, USA, 2012. Curran Associates Inc. URL http://dl.acm.org/citation.cfm?id=2999134.2999257. 19

[LCG+19] Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut. Albert: A lite bert for self-supervised learning of language representations, 2019, 1909.11942. 9

[LOG+19] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized BERT pretraining approach. CoRR, abs/1907.11692, 2019, 1907.11692. URL http://arxiv.org/abs/ 1907.11692. 2

[LSP+18] Peter J. Liu, Mohammad Saleh, Etienne Pot, Ben Goodrich, Ryan Sepassi, Lukasz Kaiser, and Noam Shazeer. Generating wikipedia by summarizing long sequences. arXiv:1801.10198 [cs], 2018, 1801.10198. URL http://arxiv.org/abs/1801.10198. 2, 6

[LT16] Henry W Lin and Max Tegmark. Criticality in formal languages and statistical physics. arXiv preprint arXiv:1606.06737, 2016. 25

[LXS+19] Jaehoon Lee, Lechao Xiao, Samuel S. Schoenholz, Yasaman Bahri, Roman Novak, Jascha SohlDickstein, and Jeffrey Pennington. Wide neural networks of any depth evolve as linear models under gradient descent, 2019, arXiv:1902.06720. 18

[MKAT18] Sam McCandlish, Jared Kaplan, Dario Amodei, and OpenAI Dota Team. An empirical model of large-batch training, 2018, arXiv:1812.06162. 3, 5, 6, 12, 13, 21

[Pap18] Vardan Papyan. The full spectrum of deep net hessians at scale: Dynamics with sample size. CoRR, abs/1811.07062, 2018, 1811.07062. URL http://arxiv.org/abs/1811.07062. 18

[RNSS18] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. URL https://s3-us-west-2. amazonaws. com/openaiassets/research-covers/languageunsupervised/language understanding paper. pdf, 2018. 2, 6

[RRBS19a] Jonathan S. Rosenfeld, Amir Rosenfeld, Yonatan Belinkov, and Nir Shavit. A constructive prediction of the generalization error across scales, 2019, 1909.12673. 18

[RRBS19b] Jonathan S. Rosenfeld, Amir Rosenfeld, Yonatan Belinkov, and Nir Shavit. A constructive prediction of the generalization error across scales, 2019, arXiv:1909.12673. 18

[RSR+19] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learning with a unified text-to-text transformer, 2019, arXiv:1910.10683. 2

[RWC+19] Alec Radford, Jeff Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. Language models are unsupervised multitask learners. openai.com, 2019. 2, 5, 6, 7, 8

[SCP+18] Noam Shazeer, Youlong Cheng, Niki Parmar, Dustin Tran, Ashish Vaswani, Penporn Koanantakool, Peter Hawkins, HyoukJoong Lee, Mingsheng Hong, Cliff Young, Ryan Sepassi, and Blake Hechtman. Mesh-tensorflow: Deep learning for supercomputers, 2018, 1811.02084. 19

[SHB15] Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. CoRR, 2015, 1508.07909. 6

[SLA+18] Christopher J. Shallue, Jaehoon Lee, Joe Antognini, Jascha Sohl-Dickstein, Roy Frostig, and George E. Dahl. Measuring the effects of data parallelism on neural network training, 2018, arXiv:1811.03600. 12

[SS18] Noam Shazeer and Mitchell Stern. Adafactor: Adaptive learning rates with sublinear memory cost. CoRR, abs/1804.04235, 2018, 1804.04235. URL http://arxiv.org/abs/1804.04235. 7

[THK18] Stefan Thurner, Rudolf Hanel, and Peter Klimek. Introduction to the theory of complex systems. Oxford University Press, 2018. 18

[TL19] Mingxing Tan and Quoc V. Le. Efficientnet: Rethinking model scaling for convolutional neural networks. CoRR, abs/1905.11946, 2019, 1905.11946. URL http://arxiv.org/abs/1905. 11946. 18

[VSP+17] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Ł ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems 30, pages 5998–6008. Curran Associates, Inc., 2017. URL http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf. 2, 6

[VWB16] Andreas Veit, Michael Wilber, and Serge Belongie. Residual networks behave like ensembles of relatively shallow networks, 2016, arXiv:1605.06431. 8, 18 [Was06] Larry Wasserman. All of nonparametric statistics. Springer Science & Business Media, 2006. 18

[WPN+19] Alex Wang, Yada Pruksachatkun, Nikita Nangia, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. Superglue: A stickier benchmark for general-purpose language understanding systems, 2019, 1905.00537. 2

[WRH17] Yu-Xiong Wang, Deva Ramanan, and Martial Hebert. Growing a brain: Fine-tuning by increasing model capacity. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jul 2017. doi:10.1109/cvpr.2017.323. 19

[WYL19] Wei Wen, Feng Yan, and Hai Li. Autogrow: Automatic layer growing in deep convolutional networks, 2019, 1906.02909. 19

[YDY+19] Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, and Quoc V. Le. Xlnet: Generalized autoregressive pretraining for language understanding, 2019, arXiv:1906.08237. 2

[ZK16] Sergey Zagoruyko and Nikos Komodakis. Wide residual networks. Procedings of the British Machine Vision Conference 2016, 2016. doi:10.5244/c.30.87. 18

[ZKZ+15] Yukun Zhu, Ryan Kiros, Rich Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. 2015 IEEE International Conference on Computer Vision (ICCV), Dec 2015. doi:10.1109/iccv.2015.11. 7

[ZLN+19] Guodong Zhang, Lala Li, Zachary Nado, James Martens, Sushant Sachdeva, George E. Dahl, Christopher J. Shallue, and Roger B. Grosse. Which algorithmic choices matter at which batch sizes? insights from a noisy quadratic model. CoRR, abs/1907.04164, 2019, 1907.04164. URL http://arxiv.org/abs/1907.04164. 12, 18

Комментарии (0)