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

Введение

ChatGPT был притчей во языцех с момента его выпуска в ноябре. Импульс только набирает обороты с выпуском мультимодальной GPT-4 и конкурирующих моделей Google LaMDA и Meta AI LLaMA. Корпоративное внедрение генеративных моделей также усиливается за счет их интеграции с офисным программным обеспечением, например, Microsoft 365 Copilot и Google Docs.

GPT (Generative Pre-training Transformers) принадлежат к классу базовых моделей (действуют как декодер), которые необходимо точно настроить для выполнения задач НЛП, таких как:

  • Вопросы-ответы (QA)/чат-боты
  • Извлечение текста
  • Подведение итогов
  • Автокоррекция
  • Перевод
  • Классификация

Таким образом, ChatGPT [1] является приложением Chatbot для GPT-3 LLM. Он основан на InstructGPT, выпущенном OpenAI в январе 2022 года.

Модели больших языков (LLM), лежащие в основе ChatGPT, обучаются на общедоступных наборах данных, например, Википедии. Учитывая спорные вопросы авторского права, связанные с обучением на общедоступных наборах данных, GPT-4 даже не объявляет базовые наборы данных, на которых он обучается. Мы также начали видеть доменные LLM, например, BioGPT от Microsoft Research, который точно настроен для создания и анализа биомедицинских текстов.

Чтобы реализовать весь потенциал генеративного ИИ для предприятий, LLM должны быть контекстуализированы с корпоративными знаниями, собранными с точки зрения документов, вики, бизнес-процессов и т. д.

В основном существует три подхода к достижению этой контекстуализации предприятия: (1) оперативное проектирование, (2) точная настройка и обучение с подкреплением на основе отзывов людей (RLHF). Далее мы обсудим плюсы, минусы и осуществимость трех подходов.

Быстрый инжиниринг

Любой чат-бот [2] на очень высоком уровне состоит из следующих шагов:

  1. Понимание естественного языка (NLU): Учитывая пользовательский запрос, сначала поймите намерение пользователя;
  2. Получить соответствующий контент из базовой базы знаний (KB);
  3. Генерация естественного языка (NLG): синтезируйте ответ и ответьте пользователю;
  4. Сохраняйте контекст беседы, чтобы отвечать/персонализировать любые последующие беседы.

Быстрая разработка относится к адаптации пользовательского запроса (на естественном языке), предоставлению правильного корпоративного контекста и указаний для механизмов NLU и NLG, чтобы максимизировать шансы на получение «правильного» ответа.

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

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

Однако это может быть единственно возможным подходом для добавления корпоративного контекста/знаний для закрытых систем, таких как ChatGPT; где единственный способ получить доступ к базовому LLM — через веб-интерфейс или API.

Подсказки могут быть относительно длинными, поэтому в них можно включить некоторый корпоративный контекст. Например, это текущий рекомендуемый подход для предоставления корпоративного контекста/знаний ChatGPT в Azure (ссылка). Ссылаясь на приведенную ниже архитектуру решения, рекомендуется в основном предоставлять результаты Когнитивного поиска как часть приглашения к ChatGPT.

Тонкая настройка

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

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

Учитывая это, для тонкой настройки необходим доступ к весам базовой модели, что невозможно для закрытых моделей, например, ChatGPT.

Здесь на помощь приходят LLM с открытым исходным кодом. Спасибо компании Meta AI, которая недавно открыла исходный код своего LLM — LLaMA, по крайней мере, для исследовательских целей [4] (текущая лицензия не разрешает коммерческое использование модели).

Стэнфордский проект Альпака показал, что можно доработать LLaMA за 600 долларов — до производительности модели, сравнимой с ChatGPT. Таким образом, тонкая настройка LLM не обязательно должна быть очень сложной или дорогостоящей.

Это, конечно, предполагает, что у предприятия есть необходимые аннотированные данные, которые можно использовать для тонкой настройки/переобучения. Рецепт дрессировки альпаки доступен здесь (ссылка). Команда использовала нечто очень интересное под названием self-instruct [5] для создания набора данных для точной настройки. На рисунке ниже показан процесс генерации обучающих данных.

Начиная со 175 пар инструкций и вывода, написанных человеком, модели text-davinci-003 (OpenAI GPT 3.5) было предложено генерировать больше инструкций. В результате процесса генерации данных было получено 52 000 уникальных инструкций и соответствующих выходных данных, которые использовались контролируемым образом для точной настройки базовой модели LLaMA. Генеративные модели ранее использовались для генерации синтетических данных [6].

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

К сожалению, процесс не полностью автоматизирован, и ручное вмешательство по-прежнему необходимо. Машины не берут верх, просто еще нет :-)

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

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

В основе этого подхода [7] лежит модель оценки, которая обучена оценивать кортежи запросов-ответов чат-бота на основе отзывов пользователей (вручную). Оценки, предсказанные этой моделью, используются в качестве вознаграждения для агента RL. Проксимальная оптимизация политики затем используется в качестве последнего шага для дальнейшей настройки ChatGPT.

Короче говоря, переобучение или добавление новой информации в LLM не полностью автоматизировано. Обучение на основе RL остается сложной задачей, и для его целенаправленного выполнения и защиты от предвзятости/манипулирования по-прежнему требуется ручное вмешательство.

Связанные статьи из серии ChatGPT:

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

  1. Д. Бисвас. ChatGPT и его значение для корпоративного ИИ. В Data Driven Investor (ссылка).
  2. Д. Бисвас. Чат-боты и поиск на естественном языке. в направлении науки о данных (ссылка)
  3. П. Кастро. Произведите революцию в корпоративных данных с помощью ChatGPT: приложения нового поколения с Azure OpenAI и когнитивным поиском. Блог Azure AI (ссылка)
  4. Хьюго Туврон и др. др. LLaMA: открытые и эффективные модели базовых языков. Препринт arXiv arXiv:2302.13971 (ссылка)
  5. Ю. Ван и др. др. Самообучение: согласование языковой модели с самогенерируемыми инструкциями. Препринт arXiv arXiv:2212.10560 (ссылка)
  6. Технический блог Nvidia. Создание синтетических данных с помощью Transformers: решение проблем корпоративных данных. ("связь")
  7. Э. Ричарделли, Д. Бисвас. Самосовершенствующиеся чат-боты на основе обучения с подкреплением. в: 4-я междисциплинарная конференция по обучению с подкреплением и принятию решений, 2019 г. (ссылка)

Подпишитесь на DDIntel Здесь.

Посетите наш сайт здесь: https://www.datadriveninvestor.com

Присоединяйтесь к нашей сети здесь: https://datadriveninvestor.com/collaborate