Введение

Базовые модели общего назначения, особенно большие языковые модели (LLM), такие как ChatGPT, продемонстрировали исключительные возможности в выполнении различных задач, которые когда-то были сложными. Однако мы считаем, что одна модель не может управлять ими всеми. Дальнейшая тонкая настройка необходима для повышения производительности в специализированных задачах или областях. Стандартные подходы к тонкой настройке этих моделей включают:

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

Выравнивание, в частности, имеет решающее значение для обеспечения безопасности LLM перед развертыванием в реальном мире. Сегодня мы представляем новый алгоритм выравнивания RAFT [1], который более эффективен, чем традиционные методы, такие как PPO. RAFT смягчает проблему предвзятости, которая может возникнуть в ответах LLM. Использование RAFT для выравнивания LLM дает множество преимуществ, в том числе возможность избавиться от нежелательных предубеждений в языковой продукции LLM при постоянном поддержании уровня беглости.

Ознакомьтесь с документом https://arxiv.org/abs/2304.06767.

Его реализация доступна на https://github.com/OptimalScale/LMFlow.

Выравнивание РАФТ

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

Общий подход к согласованию включает использование обучения с подкреплением с обратной связью с человеком (RLHF), как описано в InstructGPT [2]. В этом подходе данные, помеченные человеком, используются для обучения модели вознаграждения. Алгоритм обучения с подкреплением (например, PPO) затем используется для корректировки поведения модели в соответствии с моделью вознаграждения. Однако PPO и другие алгоритмы обучения с подкреплением в значительной степени полагаются на обратное распространение, что приводит к высоким затратам на обучение и нестабильности.

Для решения этих проблем мы предложили новый алгоритм выравнивания под названием RAFT (Reward Ranked Fine-Tuning), который использует ранжирование выборок для выбора наиболее предпочтительных выборок из больших моделей (или выборок, соответствующих человеческим ценностям/объективным фактам), предназначенных для обучения. Модели ИИ, более удобные для человека.

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

Детали алгоритма

В частности, RAFT состоит из трех основных этапов:

(1) Сбор данных: чтобы собрать образцы-кандидаты перед ранжированием, мы можем просто использовать обучающую генеративную модель в качестве генератора. Кроме того, чтобы улучшить разнообразие генерируемых данных, мы также можем комбинировать выборочные результаты от других предварительно обученных экспертов (например, LLaMA, ChatGPT или даже человека).

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

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

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

Полный алгоритм показан следующим образом:

Мы провели эксперименты по ряду задач, чтобы оценить эффективность RAFT.

Во-первых, мы оценили производительность в заполнении положительных отзывов о фильмах. До тонкой настройки рецензии на фильмы, выдаваемые LLaMA, были случайными и иногда негативными. Однако после тонкой настройки с помощью RAFT он преуспел в создании более позитивных и беглых обзоров фильмов, когда ему давали начальное предложение для обзора. Как показано на рисунке ниже, нескорректированные обзоры фильмов от LLaMA случайным образом выдавали положительные и отрицательные отзывы, в то время как и RAFT, и PPO могли склоняться к положительным отзывам.

Авторы также создали психологического робота-компаньона на основе викуньи. Авторы моделируют разговор между человеком, который чувствует себя подавленным из-за провала на экзамене, и роботом. До использования RAFT для выравнивания (левое изображение) модель утверждала, что не имеет эмоций и чувств, и отказывалась дружить с людьми. Однако после выравнивания RAFT (правое изображение) эмпатические способности модели значительно улучшились, и она неоднократно утешала человека, говоря: «Хотя я и ИИ, я сделаю все возможное, чтобы быть вашим другом».

Помимо оценки эффективности RAFT на языковых моделях, мы также проверили его способность улучшать преобразование текста в изображение в моделях распространения. Как известно, исходная стабильная диффузия плохо работает при разрешении 256*256, и PPO нельзя напрямую применять к моделям стабильной диффузии. Напротив, RAFT обеспечивает естественный способ его улучшения. После тонкой настройки с помощью RAFT стабильная диффузия может дать хорошие результаты. Это, несомненно, преимущество для энтузиастов AIGC с ограниченными вычислительными ресурсами, поскольку время, необходимое для разрешения 256*256, составляет всего 20% от исходной версии. На следующем рисунке показаны результаты до и после тонкой настройки с помощью RAFT. Как видно, до тонкой настройки стабильной диффузии не удавалось генерировать изображения с хорошим разрешением 256*256, но после тонкой настройки модель была значительно улучшена с точки зрения качества генерации изображений.

В дополнение к улучшению способности генерировать изображения 256*256, RAFT также может выравнивать сгенерированные изображения с подсказками, позволяя модели генерировать изображения, которые лучше соответствуют описанию подсказки. Как показано на рисунке ниже, с учетом подсказки «Кот в стиле Моне» исходная стабильная диффузия генерировала изображения, которые в основном не включали кошку, а вместо этого генерировали другие работы в стиле Моне. Это было связано с тем, что кошки редко встречаются в работах Моне, а стабильная диффузия не до конца понимала смысл текста. Однако после тонкой настройки с помощью RAFT стабильная диффузия смогла понять концепцию «кошки», и поэтому кошка присутствует на каждом сгенерированном изображении.

О LMFlow: расширяемый набор инструментов для точной настройки и логического вывода больших базовых моделей

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

⭐️ https://github.com/OptimalScale/LMFlow

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

  • Непрерывная предварительная подготовка, настройка задач, настройка инструкций и настройка выравнивания наборов данных, определенных пользователем.
  • Параметр-эффективная точная настройка с LoRA
  • Новый алгоритм выравнивания RAFT (Reward Ranked Fine Tuning), который оптимизирует конвейер выравнивания для генеративных моделей.
  • Простой и легко адаптируемый API для разработчиков.
  • Упрощенная структура вывода модели.

На основе модели LLaMA с 7 миллиардами параметров для обучения персонализированной модели требуется всего один графический процессор Nvidia 3090 и пять часов. Мы использовали эту структуру для обучения версии LLaMA с 33 миллиардами параметров на одной машине и выпустили веса модели для научных исследований. Веса обученной модели можно сразу же использовать для службы вопросов и ответов на веб-сайте (lmflow.com).

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

Рабочий процесс настройки

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

  1. Расширяемость: LMFlow легко интегрируется с 🤗 Transformers, 🤗 Accelerate и Deepspeed. Его чрезвычайно легко интегрировать с нашим пайплайном, потому что большая часть кода основана на Huggingface’s/transformers.
  2. Легкий вес: с LoRA [3] он чрезвычайно легкий в обучении и им легко поделиться с другими.
  3. Ориентация на задачу: рабочий процесс ориентирован на конкретную последующую задачу.
  4. Открытость: весь конвейер, включая данные, модели, методы настройки и логического вывода, является открытым исходным кодом.

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

LMFlow черпает вдохновение из различных исследований, включая, помимо прочего:

Отказ от ответственности

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

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

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

Ссылка

[1] Hanze, Dong, et al. RAFT: награда FineTuning за выравнивание модели генеративного фонда https://arxiv.org/abs/2304.06767

[2] Оуян, Лонг и др. «Обучение языковых моделей следованию инструкциям с обратной связью от человека». Достижения в области систем обработки нейронной информации 35 (2022): 27730–27744.

[3] Ху, Эдвард Дж. и др. «LoRA: низкоранговая адаптация больших языковых моделей». Международная конференция по обучающим представлениям.