bannerbanner
Искусственный интеллект от А до Б
Искусственный интеллект от А до Б

Полная версия

Искусственный интеллект от А до Б

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
13 из 15

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

Большая часть прогресса в области искусственного интеллекта в последние годы может быть связана с увеличением размера модели. Сложно говорить о моделях фундаментов, не сказав о количестве их параметров. Количество параметров обычно добавляется в конце названия модели. Например, Llama-13B относится к версии Llama, модельного семейства, разработанного компанией Meta, с 13 миллиардами параметров.

В целом, увеличение параметров модели увеличивает ее способность к обучению, что приводит к улучшению моделей. При наличии двух моделей одного и того же семейства моделей, модель с 13 миллиардами параметров, скорее всего, будет работать намного лучше, чем модель с 7 миллиардами параметров. По мере того, как сообщество лучше понимает, как обучать большие модели, модели нового поколения, как правило, превосходят модели старого поколения того же размера. Например, Llama 3-8B (2024) превосходит даже Llama 2-70B (2023) в бенчмарке MMLU.

Количество параметров помогает нам оценить вычислительные ресурсы, необходимые для обучения и запуска этой модели. Например, если модель имеет 7 миллиардов параметров, и каждый параметр хранится с использованием 2 байт (16 бит), то мы можем вычислить, что память графического процессора, необходимая для вывода с использованием этой модели, будет составлять не менее 14 миллиардов байт (14 ГБ). Количество параметров может ввести в заблуждение, если модель разрежена. Разреженная модель имеет большой процент нулевых параметров. Модель с 7B-параметрами, которая на 90% разрежена, имеет только 700 миллионов ненулевых параметров. Разреженность позволяет более эффективно хранить данные и выполнять вычисления. Это означает, что для большой разреженной модели может потребоваться меньше вычислительных ресурсов, чем для небольшой модели с высокой плотностью.

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

Например, Mixtral 8x7B – это смесь из восьми экспертов, каждый из которых обладает семью миллиардами параметров. Если нет двух экспертов с общим параметром, то он должен иметь 8 × 7 миллиардов = 56 миллиардов. Однако из-за того, что некоторые параметры являются общими, у него всего 46,7 миллиарда.

На каждом слое, для каждого токена, активны только два эксперта. Это означает, что для каждого токена активны только 12,9 млрд параметров. Хотя эта модель имеет 46,7 миллиарда параметров, ее стоимость и скорость такие же, как у модели с 12,9 миллиардами параметров.

Большая модель также может уступать по производительности меньшей модели, если она не обучена на достаточном количестве данных. Представьте себе модель 13B-параметров, обученную на наборе данных, состоящем из одного предложения: «Мне нравятся ананасы». Эта модель будет работать намного хуже, чем модель гораздо меньшего размера, обученная на большем количестве данных.

При обсуждении размера модели важно учитывать размер данных, на которых она была обучена. Для большинства моделей размеры наборов данных измеряются количеством обучающих выборок. Например, Flamingo от Google был обучен с использованием четырех наборов данных, один из которых имеет 1,8 миллиарда пар (изображение, текст), а другой – 312 миллионов пар (изображение, текст).

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

Количество токенов также не является идеальным измерением, так как разные модели могут иметь разные процессы токенизации, в результате чего один и тот же набор данных имеет разное количество токенов для разных моделей. Почему бы просто не использовать количество слов или количество букв? Поскольку маркер – это единица, с которой работает модель, знание количества маркеров в наборе данных помогает нам измерить, сколько модель потенциально может извлечь уроков из этих данных.

LLM обучаются с использованием наборов данных в размере триллионов токенов. Meta использовала все более крупные наборы данных для обучения своих моделей лам: 1,4 триллиона токенов для Llama 1; 2 триллиона токенов для Llama 2; 15 триллионов токенов для Llama 3.

Набор данных с открытым исходным кодом 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 всего на несколько процентных пунктов.

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

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

Это означает, что для многих моделей у вас может быть только один шанс получить правильный набор гиперпараметров. В результате, масштабная экстраполяция (также называемая переносом гиперпараметров) превратилась в исследовательскую подобласть, которая пытается предсказать для больших моделей, какие гиперпараметры обеспечат наилучшую производительность. Текущий подход заключается в изучении влияния гиперпараметров на модели различных размеров, обычно намного меньших, чем размер целевой модели, а затем экстраполируется, как эти гиперпараметры будут работать на размер целевой модели. В документе Microsoft и OpenAI за 2022 год показано, что удалось перенести гиперпараметры из модели 40M в модель 6.7B.

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

До сих пор каждый порядок увеличения размера модели приводил к увеличению производительности модели. GPT-2 имеет на порядок больше параметров, чем GPT-1 (1,5 млрд против 117 млн). У GPT-3 на два порядка больше, чем у GPT-2 (175 млрд против 1,5 млрд). Это означает увеличение размеров моделей на три порядка в период с 2018 по 2021 год. На сколько еще порядков могут вырасти размеры моделей? Будет ли момент, когда производительность модели выйдет на плато независимо от ее размера? Хотя ответить на эти вопросы сложно, уже есть два видимых узких места для масштабирования: обучающие данные и электричество.

Базовые модели используют так много данных, что есть реальная опасность, что в ближайшие несколько лет у нас закончатся интернет-данные. Скорость роста размера обучающего набора данных намного выше, чем скорость генерации новых данных (Villalobos с соавторами, 2022). Если вы когда-либо размещали что-либо в Интернете, вы должны предположить, что это уже включено или будет включено в обучающие данные для некоторых языковых моделей, независимо от вашего согласия или нет. Это похоже на то, как если вы публикуете что-то в Интернете, вы должны ожидать, что это будет проиндексировано Google.

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

Кроме того, Интернет быстро заполняется данными, генерируемыми моделями искусственного интеллекта. Если компании продолжат использовать интернет-данные для обучения будущих моделей, эти новые модели будут частично обучены на данных, сгенерированных искусственным интеллектом. В декабре 2023 года Grok, модель, обученная X, была поймана на отказе в запросе, заявив, что это противоречит политике OpenAI в отношении вариантов использования. Это заставило некоторых людей предположить, что Grok обучался с использованием выходных данных ChatGPT. Игорь Бабушкин, основной разработчик Grok, ответил, что это связано с тем, что Grok был обучен на веб-данных, а «веб полон выходных данных ChatGPT».

Некоторые исследователи опасаются, что рекурсивное обучение новых моделей ИИ на данных, созданных ИИ, приводит к тому, что новые модели постепенно забывают исходные шаблоны данных, что со временем ухудшает их производительность. Как только общедоступные данные исчерпаны, наиболее реальными путями для большего количества обучающих данных, созданных человеком, являются собственные данные. Уникальные проприетарные данные – книги, защищенные авторским правом, переводы, контракты, медицинские записи, последовательности генома и так далее – станут конкурентным преимуществом в гонке ИИ. Именно по этой причине OpenAI заключила сделки с издателями и СМИ, включая Axel Springer и Associated Press.

Неудивительно, что в свете ChatGPT многие компании, включая Reddit и Stack Overflow, изменили условия использования данных, чтобы другие компании не могли собирать их данные для своих моделей. В период с 2023 по 2024 год быстрое нарастание ограничений данных из веб-источников привело к тому, что более 28% наиболее важных источников в популярном общедоступном наборе данных C4 были полностью ограничены в использовании. Из-за изменений в Условиях предоставления услуг и ограничений на сканирование теперь ограничены 45% C4.

Другим узким местом, менее очевидным, но более насущным, является электричество. Для работы машин требуется электричество. Центры обработки данных, по разным оценкам, потребляют 1-2% мировой электроэнергии. К 2030 году это число может достигнуть от 4% до 20%. До тех пор, пока мы не найдем способ производить больше энергии, центры обработки данных могут вырасти не более чем в 50 раз, что составляет менее двух порядков. Это вызывает опасения по поводу дефицита электроэнергии в ближайшем будущем, что приведет к росту стоимости электроэнергии.

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

Пост-обучение начинается с предварительно обученной модели. Допустим, вы предварительно обучили модель фундамента с помощью самоконтроля. Из-за того, как сегодня работает предварительное обучение, предварительно обученная модель обычно имеет две проблемы. Во-первых, самоконтроль оптимизирует модель для завершения текста, а не для разговоров. Во-вторых, если модель предварительно обучена на данных, собранных без разбора из Интернета, ее результаты могут быть расистскими, сексистскими, грубыми или просто неправильными. Цель посттренинга состоит в том, чтобы решить обе эти проблемы. Пост-обучение каждой модели отличается. Однако, в целом, пост-тренинг состоит из двух этапов:

1. Контролируемая тонкая настройка (SFT): тонкая настройка предварительно обученной модели на основе высококачественных данных инструкций, чтобы оптимизировать модели для разговоров, а не для завершения.

2. Тонкая настройка предпочтений: дальнейшая тонкая настройка модели для вывода ответов, соответствующих предпочтениям человека. Тонкая настройка предпочтений обычно выполняется с помощью обучения с подкреплением (RL). Методы тонкой настройки предпочтений включают обучение с подкреплением на основе обратной связи с человеком (RLHF) (используется в GPT-3.5 и Llama 2), DPO (оптимизация прямых предпочтений) (используется Llama 3) и обучение с подкреплением на основе обратной связи AI (RLAIF) (потенциально используется Клодом).

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

Остерегайтесь двусмысленности терминологии. Некоторые люди используют термин «тонкая настройка инструкций» для обозначения контролируемой тонкой настройки, в то время как другие используют этот термин для обозначения как контролируемой тонкой настройки, так и тонкой настройки предпочтений. Так как посттренинг потребляет небольшую часть ресурсов по сравнению с предтренингом (InstructGPT использовал только 2% вычислительных ресурсов для пост-тренинга и 98% для предтренинга), пост-обучение можно рассматривать как раскрытие возможностей, которые уже есть в предварительно обученной модели, но к которым пользователям трудно получить доступ только с помощью запросов.

Самоконтролируемое предварительное обучение приводит к созданию мошеннической модели, которую можно считать неукротимым монстром, потому что она использует беспорядочные данные из Интернета. Затем этот монстр контролируется и настраивается на основе данных более высокого качества – Stack Overflow, Quora или человеческих аннотаций, – что делает его более социально приемлемым. Эта тонко настроенная модель дополнительно полируется с помощью тонкой настройки предпочтений, чтобы сделать ее подходящей для клиента, что похоже на смайлик. Обратите внимание, что комбинация предварительного обучения, SFT и тонкой настройки предпочтений является популярным решением для построения моделей фундаментов на сегодняшний день, но это не единственное решение. Вы можете пропустить любой из шагов, как вы вскоре увидите.

На страницу:
13 из 15