Начало работы с генеративным ИИ: 4 способа настройки ваших моделей

Автор: Азин Асгарян

Генеративные модели ИИ, такие как GPT-4, Bard и LLaMA, становятся все более популярными благодаря их замечательным возможностям в различных задачах, включая генерацию текста, суммирование и категоризацию. В то время как у крупных технологических компаний есть ресурсы для обучения и поддержки этих мощных моделей, малым предприятиям и организациям может потребоваться изучить экономичные способы адаптации и настройки существующих моделей для удовлетворения их конкретных требований.

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

В этом сообщении блога мы представляем наши идеи, полученные в результате работы с компаниями-разработчиками программного обеспечения на стадии роста и экспериментов с генеративными моделями и технологиями искусственного интеллекта. В частности, мы обсудим и сравним различные типы генеративных моделей ИИ и наметим четыре метода адаптации этих моделей к уникальным потребностям организации. Это руководство направлено на то, чтобы изложить некоторые соображения для определения наиболее подходящего подхода к адаптации моделей GenAI к конкретным случаям использования, от тонкой настройки до быстрой разработки, быстрой оптимизации и обучения с подкреплением на основе обратной связи с человеком (RLHF).

Что такое Генеративный ИИ?

Генеративный ИИ покорил мир благодаря таким моделям, как GPT-4, ChatGPT и Stable Diffusion, преобразующим взаимодействие человека и машины. Эти модели позволяют пользователям создавать творческий визуальный и текстовый контент, участвовать в реалистичных беседах и т. д. [1]

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

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

Какие существуют типы моделей генеративного ИИ?

В настоящее время существует четыре основных типа генеративных моделей ИИ:

  1. Генеративно-состязательные сети (GAN): представленные в 2014 году, GAN состоят из двух нейронных сетей: генератора, который создает новые примеры, и дискриминатора, который различает реальный и сгенерированный контент. По мере того, как генератор улучшает качество контента, дискриминатор лучше идентифицирует сгенерированный контент, что приводит к непрерывному циклу улучшения. Сети GAN известны тем, что быстро производят высококачественные выборки, но им часто не хватает разнообразия выборок, что делает их более подходящими для генерации данных, специфичных для предметной области.
  2. Вариационные автоэнкодеры (ВАЭ). ВАЭ состоят из двух нейронных сетей: кодировщика и декодера. Кодер сжимает входные данные в плотное представление, а декодер восстанавливает исходные входные данные. Этот процесс позволяет генерировать новые данные путем выборки новых скрытых представлений, которые отображаются через декодер. Хотя VAE генерируют результаты быстрее, чем диффузионные модели, им часто не хватает детализации по сравнению с ними.
  3. Модели диффузии.Модели диффузии, также известные как вероятностные модели диффузии с шумоподавлением (DDPM), стали новым передовым достижением в создании изображений, превосходящим предыдущие подходы, такие как GAN. Эти модели включают двухэтапный процесс: прямое распространение, которое добавляет случайный шум к обучающим данным, и обратное распространение, которое восстанавливает выборки данных, обращая шум. Запуская процесс обратного шумоподавления из случайного шума, можно генерировать новые данные. Хотя диффузионные модели считаются базовыми моделями из-за их высококачественных выходных данных и гибкости, их процесс обратной выборки может быть медленным и трудоемким.

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

Подробный обзор литературы по моделям диффузии см. в данном обзорном документе.

4. Модели на основе трансформеров. Трансформеры, которые были представлены в новаторской статье 2017 года «Внимание — это все, что вам нужно,» — это класс моделей глубокого обучения, которые изменили обработку естественного языка.

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

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

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

Подробный, но простой обзор этих моделей можно найти в этой обзорной статье.

Для оценки и сравнения LLM доступны тесты, такие как HELM Стэнфордского университета (36 моделей, 57 метрик и 42 сценария).

И обзорные статьи, такие как эта статья из Университета Китая:

Четыре способа настройки предварительно обученных моделей

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

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

Чтобы решить эту проблему, мы представляем четыре альтернативных метода настройки предварительно обученных моделей, которые могут помочь стартапам добиться дифференциации и предоставить своим клиентам персонализированный опыт без бремени обучения массивных моделей с нуля [1, 2 , 3, 4]:

  1. Точная настройка

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

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

Существует несколько общих стратегий тонкой настройки, в том числе:

а. Обновление слоя (слоев) встраивания: эта стратегия направлена ​​на уточнение слоев, отвечающих за преобразование входных данных в осмысленные представления. Для T5-large эта стратегия включает обновление примерно 32 миллионов параметров.

б. Обновление заголовка языкового моделирования: этот подход нацелен на компоненты модели, отвечающие за создание выходных прогнозов. В случае T5-large эта стратегия предполагает обновление примерно 32 миллионов параметров.

в. Обновление всех параметров модели. Эта комплексная стратегия включает обновление всей модели, включая как вышеупомянутые компоненты, так и другие слои. Для T5-large эта стратегия означает уточнение примерно 770 миллионов параметров.

2. Оперативная разработка

Быстрая разработка предлагает альтернативу тонкой настройке больших языковых моделей для конкретных задач. Этот подход появился с GPT-3, который убедительно продемонстрировал, что замороженную модель можно настроить для выполнения различных задач посредством контекстного обучения.

При оперативном инжиниринге пользователи настраивают модель для конкретной задачи, вручную создавая текстовое приглашение, которое включает описание (нулевой вариант) или примеры задачи (несколько вариантов). Например, чтобы запустить модель для анализа настроений, можно использовать подсказку: Является ли следующий обзор фильма положительным или отрицательным? за которой следует входная последовательность: Этот фильм был потрясающим! Исследователи обнаружили, что определенные методы оперативной инженерии, такие как подсказка несколькими выстрелами или подсказка по цепочке мыслей, могут значительно повысить качество вывода без необходимости тонкой настройки.

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

Однако, исходя из этих исследований и исследовательских работ, могут быть некоторые недостатки. Текстовые подсказки требуют ручных усилий для разработки, и их производительность часто ниже по сравнению с точно настроенными моделями. «Например, замороженная модель GPT-3 со 175 миллиардами параметров в бенчмарке SuperGLUE набирает на 5 баллов меньше, чем настроенная модель T5 с в 800 раз меньшим количеством параметров.

3. Оперативная настройка или оптимизация

Исследовательское сообщество вскоре осознало, что, выйдя за рамки разработки подсказок (создаваемых вручную подсказок) и рассматривая подсказки как настраиваемые параметры, они могут оптимизировать производительность LLM для конкретных задач.

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

Например, в случае T5-large оперативная настройка включает настройку примерно 50 000 параметров, в отличие от 32–770 миллионов параметров, которые будут обновлены во время тонкой настройки [1].

В частности, автоматически создаваемые подсказки можно дополнительно разделить на две группы: 1) дискретные или жесткие подсказки, где подсказка представляет собой фактическую текстовую строку, и 2) непрерывные или программные подсказки, где вместо этого подсказка описывается непосредственно в пространстве внедрения. базового LLM [1].

Мы кратко объясним как жесткие, так и мягкие подсказки ниже:

Дискретные или жесткие подсказки

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

Для дискретных подсказок [1] были предложены различные методы, в том числе:

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

Постоянные или мягкие подсказки

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

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

«В недавней статье исследователи Google продемонстрировали, что можно создать программную подсказку для конкретной задачи, изначально настроив подсказку как последовательность векторов фиксированной длины (например, 20 токенов). Эти векторы добавляются к началу каждого встроенного ввода, а объединенная последовательность затем передается в модель. Прогноз модели сравнивается с целевым значением для расчета потерь, а ошибка передается обратно для вычисления градиентов. Однако обновляются только обучаемые векторы, а основная модель остается неизменной.

С момента этого открытия было разработано множество методов оптимизации мягких подсказок, в том числе:

а. Настройка префикса: добавляет к входным данным последовательность непрерывных векторов, специфичных для конкретной задачи, сохраняя при этом параметры языковой модели замороженными. Этот метод более чувствителен к различной инициализации в настройках с низким объемом данных, чем дискретные подсказки.
b. Настройка, инициализированная с помощью дискретных подсказок:инициализирует поиск непрерывной подсказки с использованием подсказки, созданной или обнаруженной с помощью методов поиска дискретной подсказки. Такой подход может стать лучшей отправной точкой для процесса поиска.
c. Гибридная настройка жестко-мягкой подсказки: вставляет настраиваемые встраивания в шаблон жесткой подсказки, сочетая обучаемые и фиксированные элементы. Одним из примеров является P-настройка, которая представляет встраивание подсказок в виде выходных данных BiLSTM и вводит маркеры привязки, связанные с задачей, в шаблон. Другим примером является подсказка по настройке с помощью правил (PTR), которая использует созданные вручную подшаблоны и логические правила для создания полного шаблона, вставляя виртуальные токены с настраиваемыми встраиваниями для расширения возможностей представления.

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

4. Обучение с подкреплением на основе отзывов людей (RLHF)

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

Процесс состоит из трех основных шагов:

а. Предварительное обучение языковой модели (LM): на этом этапе в качестве отправной точки используется существующая языковая модель. Эта предварительно обученная модель уже прошла обучение на большом массиве текстовых данных и может генерировать текст на основе заданных подсказок. Примеры включают уменьшенные версии GPT-3 или Gopher от DeepMind. Выбор исходной модели зависит от конкретного применения и еще не стандартизирован.

б. Сбор данных и обучение модели вознаграждения (RM): на этом этапе собираются отзывы людей для создания набора данных, который присваивает скалярное вознаграждение тексту на основе предпочтений человека. Подсказки передаются через исходную языковую модель для создания нового текста, который затем ранжируется комментаторами-людьми. Различные методы ранжирования могут использоваться для преобразования этих человеческих рейтингов в скалярный сигнал вознаграждения для обучения. Модель вознаграждения предназначена для числового представления человеческих предпочтений и используется для тонкой настройки языковой модели на следующем этапе.

в. Тонкая настройка языковой модели с помощью обучения с подкреплением (RL): последний шаг включает оптимизацию исходной языковой модели с помощью обучения с подкреплением. Цель состоит в том, чтобы обновить параметры модели, чтобы максимизировать показатели вознаграждения, полученные из модели вознаграждения. Процесс тонкой настройки включает в себя формулировку задачи как проблемы обучения с подкреплением (RL), определение политики, области действия, области наблюдения и функции вознаграждения, а затем использование алгоритма RL (например, Proximal Policy Optimization (PPO) или Advantage Actor- Критик (A2C)) для оптимизации модели на основе этих компонентов.

В целом, RLHF — это захватывающая и сложная область исследований, целью которой является улучшение языковых моделей путем их прямой оптимизации с использованием обратной связи с человеком. Этот метод был успешно реализован в таких моделях, как GPT-4 и ChatGPT, но требует дальнейшего изучения для оптимизации пространства проектирования и понимания его полного потенциала. Для получения более подробной технической информации, пожалуйста, ознакомьтесь с этими сообщениями в блоге (1 и 2) от Hugging Face.

Сравнение четырех методов

Здесь мы кратко опишем различия между этими четырьмя методами.

Мы делаем это, изучая четыре различных параметра и изучая, как каждый метод ранжируется по каждому параметру:

  1. Объем данных. Когда дело доходит до объема данных, по нашему мнению, оперативная разработка выделяется как наиболее эффективный метод.
    Быстрая разработка может выполняться только с описанием задачи (ноль примеров) или описание задачи, сопровождаемое таким количеством примеров, которое позволяет модель. Из-за ограничений размера ввода модели большинство моделей могут вместить менее 100 примеров. Если примеров больше, чем могут обработать входные данные модели, следует рассмотреть методы оперативной оптимизации, а программные подсказки можно использовать для повышения производительности, если объяснимость не вызывает беспокойства. Методы быстрой оптимизации требуют значительно меньше данных по сравнению с тонкой настройкой, поскольку они обновляют гораздо меньше параметров. В зависимости от размера вашей модели вам может понадобиться от нескольких тысяч до нескольких сотен тысяч примеров для тонкой настройки или RLHF. Выбор между тонкой настройкой или RLHF будет зависеть от характера цели. На наш взгляд, было бы эффективно выбрать тонкую настройку, если цель легко поддается количественной оценке, например, повышение производительности для конкретной задачи, или выбрать RLHF, если цель нелегко поддается количественной оценке, например, сделать помощника в чате более этичным и безвредным. .
  2. Затраты на обучение. Обучение разработке подсказок не требуется, и затраты остаются низкими, если вы хотите поэкспериментировать с различными подсказками и примерами для оптимизации производительности. Методы быстрой оптимизации также имеют относительно низкую стоимость, поскольку требуют настройки небольшого количества параметров. Для сравнения, точная настройка может повлечь за собой более высокие затраты, поскольку она включает в себя обновление некоторых или всех параметров модели.
    RLHF имеет относительно высокие затраты, поскольку требует не только настройки некоторых или всех параметров модели, но и также требует оплаты людей-аннотаторов для создания высококачественных данных. Важно отметить, что качество данных имеет жизненно важное значение для достижения исключительной производительности и не должно подвергаться риску.
  3. Технические сложности. По нашему мнению, из четырех подходов оперативная разработка и тонкая настройка являются наиболее простыми для реализации, поскольку многочисленные платформы и инструменты поддерживают выполнение с помощью всего нескольких строк кода. Напротив, оперативные методы оптимизации появились позже, и для помощи пользователю не хватает инструментов или платформ. То же самое относится и к RLHF. Несмотря на значительные достижения, такие как появление платформ, которые упрощают сбор отзывов людей (например, Surge.AI) и поддержку со стороны ключевых игроков, таких как Hugging Face (пример кода), мы считаем, что эта область все еще относительно несовершенна. новым и требует времени для созревания.
  4. Повышение производительности. Хотя оперативные инженерные методы могут повысить производительность, особенно при предоставлении модели нескольких примеров, они все же могут отставать от других подходов.
    Методы быстрой оптимизации оказались более эффективными, чем методы быстрого проектирования, но они достигают паритета с тонкой настройкой только для моделей с 10 миллиардами и более параметров [1]. Как для точной настройки, так и для RLHF требуется значительный объем данных, но они могут привести к наиболее значительному повышению производительности. Выбор между тонкой настройкой и RLHF в конечном итоге зависит от конкретной цели и от того, поддается ли она количественному определению.

Выводы

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