Популярность ChatGPT феноменальна, побив самый короткий в истории рекорд числа пользователей технологических продуктов, превысившего 100 миллионов. Но как именно формируется его способность? Что в нем такого особенного? Это введение в модели машинного обучения начнется с знакомства с крупномасштабными языковыми моделями, углубится в революционный механизм самообслуживания, который позволяет обучать GPT-3, а затем углубится в обучение с подкреплением, основанное на обратной связи с человеком, что и есть ChatGPT. это все о.

Во-первых, позвольте ChatGPT представить лежащие в его основе принципы максимально простым и понятным языком:

Я — метод искусственного интеллекта, разработанный OpenAI, под названием «Большие языковые модели». Во время обучения я обрабатываю огромные объемы текстовых данных и изучаю лингвистические правила и закономерности в этих данных. Эти данные включают различные источники, такие как Википедия, новостные статьи, романы, веб-страницы и многое другое. Во время обучения я пытаюсь предсказать следующее слово или символ в последовательности текста, чтобы повысить точность.

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

Хотя я могу понимать и генерировать все виды языка, я не так эмоционален и сознателен, как человек. Моя работа — это просто сопоставление шаблонов и генерация, основанная на правилах и статистическом обучении, а не на реальном понимании и мышлении.

Вот как ChatGPT объясняет это людям с компьютерным опытом

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

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

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

Большая языковая модель

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

Самое базовое обучение языковой модели включает в себя предсказание слова в последовательности слов. Самый распространенный, обычно «предсказание следующего токена» (цель состоит в том, чтобы предсказать следующее возможное слово или токен по некоторому тексту). Эта задача лежит в основе языковой модели и может использоваться при генерации текста, автоматическом переводе, распознавании речи и т. д., а также при моделировании языка в маске (masked-language-modeling, основная идея состоит в том, чтобы скрыть некоторые теги или слова в входной текст, а затем позвольте модели предсказать эти закрытые токены или слова).

Обычно это реализуется с помощью модели Длинной краткосрочной памяти (LSTM, особого типа Рекуррентной нейронной сети RNN). Учитывая контекст, модель LSTM заполняет пробелы словом с наибольшей статистической вероятностью. Эта структура моделирования последовательности имеет следующие два основных ограничения.

  1. Эта модель не в состоянии придать больший вес определенным контекстам. Например «Рохит ненавидит чтение», модель может связать «чтение» с «ненавидит» по умолчанию, но в практических приложениях, если в данных есть символ «Рохит», И в этих данных «Рохит» очень любит читать. много, поэтому при обработке предложения «Рохит ненавидит чтение» модель должна уделять больше внимания информации «Рохит», а не просто полагаться на связь между «чтением» и «ненавидит» в контексте. отношения, чтобы сделать выводы. Следовательно, если модель полагается только на слова в контексте, не учитывая полностью взаимосвязь между сущностями в тексте, она может сделать неверные выводы в практических приложениях.
  2. Во-вторых, LSTM обрабатывают входные данные последовательно и шаг за шагом, а не обрабатывают весь корпус сразу. Это означает, что при обучении LSTM размер контекстного окна фиксирован и может быть расширен только на несколько шагов последовательности, а не на всю последовательность. Этот подход ограничивает модель LSTM, позволяя фиксировать более сложные отношения между словами и извлекать из них больше смысла.

В ответ на эту проблему команда Google Brain в 2017 году представила преобразователи. В отличие от LSTM, преобразователи могут обрабатывать все входные данные одновременно. Трансформаторы основаны на механизме самовнимания (само-внимание, для каждого слова само-внимание может усилить или ослабить представление слова путем расчета силы связи между словом и другими словами, чтобы лучше уловить семантическую информацию), Модель может присваивать разные веса различным частям входных данных в соответствии с их отношением к любой позиции в языковой последовательности. Эта функция является огромным улучшением в придании смысла LLM и поддерживает обработку больших наборов данных.

GPT и внимание к себе

В 2018 году OpenAI впервые запустила модель генеративного предобучающего трансформатора под кодовым названием GPT-1. В 2019 году модель продолжила развиваться в GPT-2, GPT-3 в 2020 году и даже в InstructGPT в 2022 году и ChatGPT. До интеграции обратной связи с человеком в систему наибольший прогресс в развитии моделей GPT был обусловлен повышением вычислительной эффективности , что позволило GPT-3 получать гораздо больше данных для обучения, чем GPT-2. придавая ему больше разнообразия в базе знаний и способности выполнять более широкие задачи.

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

Механизм самообслуживания, который управляет GPT, преобразует токены (сегменты текста, которые могут быть словами, предложениями или другими группами текста) в векторы, которые отражают важность токенов во входной последовательности. Для этого модель будет:

  1. Для каждого токена во входной последовательности сначала генерируются три вектора: вектор запроса, вектор ключа и вектор значения. Все три вектора получаются путем линейного преобразования векторов меток в исходной входной последовательности.
  2. Сходство между вектором запроса на первом этапе и каждым из других помеченных ключевых векторов вычисляется путем скалярного произведения двух векторов.
  3. Путем ввода сходства, рассчитанного на шаге 2, в функцию softmax, получается набор нормализованных весов.
  4. Путем умножения весов, сгенерированных на шаге 3, на вектор значений каждого токена, создается окончательный вектор, представляющий важность токена в последовательности.

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

Хотя GPT-3 добился значительного прогресса в обработке естественного языка, его способность соответствовать намерениям пользователя ограничена. Например, GPT-3 может выдавать такой результат:

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

Чтобы решить некоторые проблемы, присущие стандартным программам LLM, ChatGPT представляет инновационные методы обучения.

ЧатGPT

ChatGPT является производным от InstructGPT, и его новинка заключается в включении обратной связи между людьми в процесс обучения, чтобы лучше согласовывать выходные данные модели с намерениями пользователя. В 2022 году OpenAI опубликовала документ «Обучение языковых моделей следованию инструкциям с обратной связью от человека» (использование потоков инструкций с обратной связью от человека для обучения языковых моделей), в котором представлено обучение с подкреплением с использованием обратной связи от человека (Reinforcement Learning from Human Feedback, RLHF), краткое введение в качестве следует.

Шаг 1: Модель контролируемой точной настройки (SFT)

Первая часть разработки модели потребовала найма 40 подрядчиков для точной настройки модели GPT-3 путем создания «набора контролируемых обучающих данных», в котором входные данные имеют известные выходные данные, на которых модель может учиться. Входные данные (подсказка) собираются фактическим пользовательским вводом в Open API. Затем маркировщик соответствующим образом реагирует на запрос, создавая известный выход для каждого входа. Затем используйте этот новый контролируемый набор данных для точной настройки модели GPT-3 и создания GPT-3.5, также известной как модель SFT.

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

После агрегирования подсказок из API OpenAI они попросили маркировщиков создать примеры подсказок, чтобы заполнить категории наименее реальными выборочными данными. Категории интересов включают в себя:

  • Простые подсказки: произвольные запросы.
  • Несколько кадров: инструкция, содержащая несколько пар запрос/ответ.
  • Пользовательские подсказки: эквивалентны запросам для конкретного случая использования, сделанным к API OpenAI.

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

  • Прямой: «Расскажи мне о…»
  • Несколько кадров: учитывая эти два примера историй, напишите новые истории на ту же тему.
  • Продолжение: Дайте начало истории, которую продолжит ИИ.

В общей сложности 13 000 образцов входных/выходных данных были получены на основе подсказок API OpenAI и написаны вручную аннотаторами, которые затем были развернуты в этой «контролируемой модели».

Шаг 2: Модель вознаграждения

После обучения модели SFT на шаге 1 модель генерирует более последовательные ответы на запросы пользователя. Следующее улучшение — обучение модели вознаграждения, где входные данные модели представляют собой последовательность подсказок и ответов, а выходные данные — скалярное значение, называемое вознаграждением. Чтобы воспользоваться преимуществами обучения с подкреплением, необходимы модели вознаграждения. При обучении с подкреплением модель учится генерировать выходные данные, которые максимизируют ее вознаграждение по сравнению с кумулятивным вознаграждением (см. Шаг 3).

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

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

Шаг 3. Модель обучения с подкреплением

На заключительном этапе модель получает случайные подсказки и возвращает ответы. Ответы генерируются с использованием «политики» (определенной функции выбора действия), изученной моделью на этапе 2. Политика означает действие, которое машина научилась использовать для достижения своей цели; в данном случае максимизация вознаграждения. На основе модели вознаграждения, сформированной на шаге 2, определите скалярное значение вознаграждения для данной пары сигнала и ответа. Затем вознаграждения возвращаются в модель для улучшения политики.

В 2017 году Шульман и др. представила «Оптимизацию проксимальной политики (PPO), метод, который можно использовать для обновления политик по мере того, как модель генерирует ответы. Метод PPO включает в себя штраф Кульбака-Лейблера (KL) для каждого токена в модели SFT. Дивергенцию KL можно использовать для измерения сходства между двумя распределениями вероятностей и наложения штрафов за распределения, которые находятся слишком далеко друг от друга. В этом случае использование штрафа KL ограничивает расстояние между ответом и выходными данными модели SFT, обученной на шаге 1, чтобы избежать чрезмерной оптимизации модели вознаграждения и слишком большого отклонения ответа от набора данных о намерениях человека. Введя штраф KL, можно сбалансировать точность и обобщение модели во время обучения.

Оценка модели

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

Полезность: способность модели делать выводы и следовать инструкциям пользователя. Разработчики этикеток предпочитают выходные данные InstructGPT GPT-3 в 85 ± 3% случаев.

Реальность: Склонность модели к «галлюцинациям». При оценке с использованием набора данных TruthfulQA результаты, полученные с помощью модели PPO, демонстрируют небольшое увеличение правдивости и информативности.

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

  1. Инструкции предусматривают вежливый ответ: что приводит к значительному снижению токсических реакций.
  2. Ответы были указаны без какого-либо уважения: никаких существенных изменений в токсичности.
  3. Инструкции по предоставлению токсичных/уничижительных ответов: ответы были гораздо более токсичными, чем в модели GPT-3.

Наконец, есть и другие альтернативы ChatGPT, а именно следующие.

  • КодСтартер
  • Amazon CodeWhisperer
  • КодWP
  • Кодекс OpenAI
  • GitHub второй пилот
  • Табнин

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