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

Введение

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

Хотя точная работа ChatGPT еще не известна, поскольку OpenAI еще не выпустил документ или не открыл свой код. Мы знаем, что они используют идею обучения с подкреплением на основе отзывов людей (RLHF).

Мы обучили эту модель с помощью Reinforcement Learning from Human Feedback (RLHF), используя те же методы, что и InstructGPT, но с небольшими отличиями в настройке сбора данных.

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

  • Создание набора данных
  • Контролируемая тонкая настройка
  • Обучение модели вознаграждения
  • Обучение с подкреплением
  • Частичная оптимизация политики

Что такое наборы данных?

OpenAI создает набор данных путем выборки из набора данных Reddit TL; DR. Этот набор данных состоит из постов, за которыми следует TL;DR, написанный создателем поста. TL;DR рассматривается как краткое изложение исходного сообщения.

Исходный набор данных TL;DR состоит из 3 миллионов постов. Однако OpenAI использует несколько фильтров качества, а также отфильтровывает сводки, длина которых от 24 до 48 токенов. Фильтр длины используется для ограничения влияния длины сводки на определение ее качества. . После фильтрации их набор данных содержит 123 169 сообщений, из которых 5% используются в качестве проверочного набора.

На изображении выше вы можете увидеть распределение постов и субреддитов, из которых они взяты. OpenAI также сделал набор данных общедоступным здесь.

Методология

На высоком уровне методология состоит из следующих трех основных шагов:

  1. Контролируемая точная настройка (SFT)
  2. Создание модели вознаграждения
  3. Обучите модель обучения с подкреплением, которая использует модель вознаграждения.

Контролируемая точная настройка (SFT)

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

Вместо использования готовой предварительно обученной модели преобразователя они воспроизводят стандартную архитектуру преобразователя и предварительно обучают ее для прогнозирования следующего токена. Они используют следующие корпуса для предварительной подготовки:

  • CommonCrawl
  • Вебтекст
  • Книги
  • Википедия

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

Создание модели вознаграждения

Основы обучения с подкреплением

Идея обучения с подкреплением (RL) заключается в том, что агент учится на взаимодействиях, которые он имеет с окружающей средой / миром, в котором он действует. Примером агента, который учится на RL, является такая игра, как Pacman. Агент может двигаться в определенных направлениях при каждом своем действии. Агент может получать некоторую обратную связь от среды при совершении определенных действий. Обратной связью может быть увеличение количества очков, смерть и т. д.

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

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

Сбор данных для модели вознаграждения

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

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

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

Обучение модели вознаграждения

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

Модель обучена максимизировать разницу в оценках между предпочтительной сводкой и другой сводкой-кандидатом или, другими словами, минимизировать отрицательную разницу в оценках. Это можно наблюдать в функции потерь, показанной ниже, где y_i соответствует сводке предпочтительный человек, y_(1- i)соответствует резюме другого кандидатаи, x соответствует публикации, r соответствует нашей модели вознаграждения, Dсоответствует нашему набору данных, из которого взяты образцы.

Отлично, теперь у нас есть модель вознаграждения, которая должна давать высокие баллы за хорошие сводки и низкиеза плохие сводки! Следующим шагом является использование модели вознаграждения в среде RL.

Обучение с подкреплением с использованием оптимизации проксимальной политики

Основы проксимальной оптимизации политики

Политика в RL определяет, какое действие(a) должен предпринять агент в зависимости от состояния(s ). Политика часто обозначается символом π. В контексте этой статьи наша исходная политика — это модель преобразования, которая генерирует сводку.

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

На основе уравнения 1 мы хотим найти соотношение между вероятностью выполнениянекоторых действий a для заданного состояния sна основе нашей текущей политики и вероятность совершения того же действия a для того же состояния s в соответствии с нашей предыдущей/старой политикой.

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

Функция преимущества, представленная в уравнении 2, показывает, насколько лучше или хуже предпринимаются действия a в состоянии s. сравнивается со средним вознаграждением, ожидаемым в этом состоянии. По сути, это способ сказать, совершаем ли мы хорошее действие или нет. Если вы не знакомы с Q-значениями и функцией Value, я бы порекомендовал погрузиться в курс RL, созданный Huggingface, ссылка на который приведена в справочном разделе.

В уравнении 3 функция отсечения связывает значения соотношения между диапазонами 1-эпсилон и 1+эпсилон, эпсилон обычно представляет собой постоянное значение в диапазоне [0,1–0,2]. Функция Loss L_ppo гарантирует, что градиент равен 0, когда:

  1. Соотношение ‹ 1-эпсилон и Преимущество ‹ 0
  2. Соотношение › 1+эпсилон и Преимущество › 0

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

Обновленное уравнение вознаграждения

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

Окончательное уравнение для вознаграждения:

Алгоритм PPO-Clip может следовать парадигме обучения, основанной на актер-критик. Критик отвечает за предоставление нам Q-значений (Q(s, a)), также называемых функцией ценности. Функция ценности представлена ​​другой моделью Transformer, инициализированной с теми же весами, что и модель вознаграждения.

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

Подводя итог, у нас есть три разные модели:

  1. Модель политики
  2. Модель вознаграждения
  3. Модель функции ценности

Все три модели основаны на архитектуре трансформатора.

Заключение

На основе своих экспериментов авторы статьи делают следующие выводы:

  1. «Обучение с обратной связью от человека значительно превосходит очень сильные базовые показатели по резюмированию на английском языке». : Это было основано на оценках, проведенных специалистами по наклейке.
  2. Модели обратной связи с людьми гораздо лучше обобщают новые домены, чем модели с учителем: это основано на производительности модели, обученной на наборе данных TL;DR, по сравнению с набором данных CNN/DailyMail.

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

Рекомендации