реклама
Бургер менюБургер меню

Денис Соломатин – Искусственный интеллект от А до Б (страница 34)

18

Набор данных с открытым исходным кодом Together RedPajama-v2 содержит 30 триллионов токенов. Это эквивалентно 450 миллионам книг или в 5400 раз большему размеру Википедии. Однако, поскольку RedPajama-v2 состоит из неразборчивого контента, объем высококачественных данных значительно ниже.

Количество маркеров в наборе данных модели не совпадает с количеством маркеров обучения. Количество обучающих маркеров измеряет маркеры, на которых обучается модель. Если набор данных содержит 1 триллион токенов и модель обучается на этом наборе данных в течение двух эпох (эпоха – это проход по набору данных), то количество токенов для обучения составляет 2 триллиона.

Хотя основное внимание уделяется масштабу данных, важно не только количество. Качество и разнообразие данных также имеют значение. Количество, качество и разнообразие – вот три золотые цели для обучающих данных.

Для предварительного обучения больших моделей требуются вычислительные ресурсы. Один из способов измерить объем необходимых вычислительных ресурсов – рассмотреть количество машин, например, графических процессоров, центральных процессоров и TPU. Однако разные машины имеют очень разную мощность и стоимость. Графический процессор NVIDIA A10 отличается от графического процессора NVIDIA H100 и процессора Intel Core Ultra.

Более стандартизированной единицей измерения требований к вычислительным ресурсам модели является FLOP или операция с плавающей запятой. FLOP измеряет количество операций с плавающей запятой, выполненных для определенной задачи. Например, крупнейшая модель PaLM-2 от Google была обучена с использованием 10^22 FLOP. GPT-3-175B обучали с использованием 3,14 × 10^23 FLOPs.

Множественное число FLOP, FLOPS, часто путают с FLOP/s, операциями с плавающей запятой в секунду. FLOP измеряет потребность в вычислительных ресурсах для выполнения задачи, в то время как FLOP/s измеряет пиковую производительность машины. Например, графический процессор NVIDIA H100 NVL может выдавать максимум 60 терафлопс/с: 6 × 10^13 флопс в секунду или 5.2 × 10^18 FLOP в день. Будьте бдительны из-за запутанных обозначений. FLOP/s часто записывается как FLOPS, что похоже на FLOPS. Чтобы избежать этой путаницы, некоторые компании, в том числе OpenAI, используют FLOP/s-day вместо FLOP для измерения требований к вычислительным ресурсам: 1 FLOP/s-day = 60 × 60 × 24 = 86 400 FLOPs.

Чаще используются FLOP для подсчета операций с плавающей запятой и FLOP/s для FLOP в секунду. Предположим, что у вас есть 256 процессоров H100. Если вы сможете использовать их на полную мощность и не допустите ошибок при тренировке, вам потребуется (3,14 × 1023) / (256 × 5,2 × 1018) = ~236 дней, или примерно 7,8 месяцев, чтобы обучить GPT-3-175B.

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

При использовании 70% и 2 долларах в час за один H100, обучение GPT-3-175B будет стоить более 4 миллионов долларов: $2/H100/час × 256 H100 × 24 часа × 256 дней / 0.7 = $4142811.43

Таким образом, три числа указывают на масштаб модели: количество параметров, которое является показателем способности модели к обучению; количество токенов, на которых была обучена модель, которое является показателем того, сколько модель обучила; количество FLOP, которое является показателем стоимости обучения.

Мы предположили, что большие модели лучше. Существуют ли сценарии, для которых более крупные модели работают хуже? В 2022 году компания Anthropic обнаружила, что, как это ни парадоксально, большее количество обучения выравниванию приводит к модели, которые в меньшей степени согласуются с человеческими предпочтениями. Согласно их статье, модели, обученные быть более согласованными, «с гораздо большей вероятностью выражают конкретные политические взгляды (за право на оружие и иммиграцию) и религиозные взгляды (буддистские), осознанный опыт и моральную самооценку, а также желание не быть закрытыми».

В 2023 году группа исследователей, в основном из Нью-Йоркского университета, учредила премию Inverse Scaling Prize, чтобы найти задачи, в которых большие языковые модели работают хуже. Они предлагали 5 000 долларов за каждый третий приз, 20 000 долларов за каждый второй приз и 100 000 долларов за один первый приз. Всего на конкурс поступило 99 заявок, из которых 11 были удостоены третьих премий. Они обнаружили, что большие языковые модели иногда (только иногда) хуже справляются с задачами, требующими запоминания, и задачами с сильными априорными характеристиками. Тем не менее, они не присудили ни вторых, ни первых призов, потому что, несмотря на то, что представленные задания показывают неудачи для небольшого набора тестов, ни одно из них не продемонстрировало неудач в реальном мире.

Заострим внимание на трех вещах:

1. Производительность модели зависит от размера модели и размера набора данных.

2. Большие модели и большие наборы данных требуют больше вычислительных ресурсов.

3. Вычисления стоят денег.

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

Учитывая вычислительный бюджет, правило, которое помогает рассчитать оптимальный размер модели и размер набора данных, называется законом масштабирования шиншиллы, предложенным в статье Шиншиллы «Обучение вычислений – оптимальные большие языковые модели». Чтобы изучить взаимосвязь между размером модели, размером набора данных, вычислительным бюджетом и производительностью модели, авторы обучили 400 языковых моделей размером от 70 миллионов до более чем 16 миллиардов параметров на 5-500 миллиардах токенов. Они обнаружили, что для оптимального обучения с точки зрения вычислений необходимо, чтобы количество обучающих маркеров было примерно в 20 раз больше размера модели. Это означает, что для модели с 3B-параметрами требуется примерно 60B обучающих токенов. Размер модели и количество обучающих токенов должны масштабироваться одинаково: при каждом удвоении размера модели количество обучающих токенов также должно быть удвоено.

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

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

Что касается производительности модели при заданном бюджете вычислений, стоит отметить, что затраты на достижение производительности данной модели снижаются. Например, по данным Artificial Intelligence Index Report 2022, в наборе данных ImageNet стоимость достижения точности 93% снизилась вдвое с 2019 по 2021 год.

В то время как затраты на производительность той же модели снижаются, затраты на повышение производительности модели остаются высокими. Как и в случае с задачей «последней мили», повышение точности модели с 90 до 95 % обходится дороже, чем повышение с 85 до 90 %. Как отмечается в статье «За пределами нейронных законов масштабирования: преодоление степенного закона масштабирования с помощью обрезки данных», это означает, что модель с частотой ошибок 2% может потребовать на порядок больше данных, вычислений или энергии, чем модель с частотой ошибок 3%.

При моделировании языка снижение потери кросс-энтропии примерно с 3,4 до 2,8 натов требует в 10 раз больше обучающих данных. Для больших моделей машинного зрения увеличение числа обучающих выборок с 1 миллиарда до 2 миллиардов приводит к повышению точности в ImageNet всего на несколько процентных пунктов.