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

Но какие технологии машинного обучения обеспечивают возможности ChatGPT? И для инженеров машинного обучения, и для энтузиастов искусственного интеллекта понимание внутренней работы этих моделей является ключом к раскрытию их полного потенциала!

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

Эволюция моделей GPT

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

От ГПТ-1 к ГПТ-4

Со времени первой модели было выпущено множество GPT-подобных моделей, поэтому попробуем сосредоточиться на тех, которые привнесли наиболее существенные нововведения.

  • GPT-1 представил идею предварительного обучения декодера Transformer самоконтролируемым способом, а затем тонкой настройки на конкретных Задачи ML. Оригинальный Transformer уже обладал высокой точностью машинного перевода, но ему требовались большие объемы размеченных данных.
  • GPT-2 повысил точность за счет увеличения параметров более чем в 10 раз и небольшого изменения слоев нормализации. GPT-2 продемонстрировал возможности нулевого обучения, т. е. создания прогнозов по задачам контроля качества без контролируемой тонкой настройки. Действительно, участие в тестировании качества во время предварительной подготовки под самоконтролем устранило необходимость в обучении по конкретным задачам.
  • GPT-3 дополнительно масштабируется до 175 B параметров и интегрирует слои разреженного внимания для снижения вычислительных затрат. GPT-3 достиг заметных результатов обучения за несколько шагов: в отличие от GPT-2, данные перед обучением не были связаны с оценочными задачами, а простая подсказка из нескольких шагов позволила понять задачу и сгенерировать точные прогнозы.
  • InstructGPT использовала обучение с подкреплением на основе обратной связи с человеком (RLHF) для тонкой настройки, стремясь к получению более ориентированных на человека результатов. Вместо увеличения размера модели основное внимание здесь уделялось уточнению ответов модели, чтобы избежать неправдивых или токсичных ответов.
  • ChatGPT была родственной моделью InstructGPT, но вместо использования пар инструкция-ответ она была доработана с помощью RLHF для человеческих диалогов, что сделало ее отличный собеседник. Его запуск привлек огромное внимание: менее чем за неделю его посетило более 1 миллиона пользователей.
  • GPT-4 был выпущен как усовершенствованный движок ChatGPT. Это был первый мультимодальный GPT, принимающий как текстовые, так и графические запросы. Размер модели также увеличился, и, что впечатляет, GPT-4 вошел в 10 % лучших на экзаменах от продвинутого уровня до медицинского лицензирования.

Большие (языковые) модели — большие скачки!

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

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

Трансформаторная архитектура

Трансформер — это основная архитектура всех современных моделей обработки естественного языка (NLP), включая LLM, такие как модели GPT.

  1. Входные предложения токенизированы, т. е. разделены на слова или части слов.
  2. Каждый токен преобразуется в вектор с использованием изученных вложений слов.
  3. На каждом уровне для каждого токена рассчитываются веса мягкого внимания.
  4. Эти веса, используя скалярное произведение с вложениями, создают для каждого токена новый вектор, который передается последующим слоям.
  5. Несколько голов внимания могут вычислять эти веса, поэтому их выходные данные объединяются перед переходом на следующий уровень.

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

К сожалению, уровням самообслуживания необходимо вычислять оценки внимания между каждой парой токенов, поэтому общее количество операций O(N²)(N — длина входной последовательности) . При длинных входных последовательностях это может стоить очень дорого!

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

Чтобы уменьшить квадратичную стоимость слоев самообслуживания, GPT-3 использовал слои разреженного внимания. Вместо того, чтобы следить за всеми предыдущими токенами, идея состоит в том, что каждый токен обращает внимание только на предыдущие токены √N. Примечательно, что это позволяет снизить вычислительные затраты до O(N√N).

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

Предварительная тренировка под самоконтролем с моделированием причинно-следственной речи

Стратегия обучения GPT использует огромное количество неразмеченных необработанных интернет-текстов для предварительного обучения модели с самоконтролем. Но как мы можем обучить модель без меток? Идея состоит в том, чтобы обучить модель «искусственным задачам», полученным путем манипулирования необработанными текстами. Возможны два подхода.

  • Языковое моделирование в маске (MLM) — случайным образом замаскируйте токен в предложении и обучите модель прогнозировать этот токен. Этот подход используется для дискриминативных двунаправленных моделей с архитектурой кодировщика, например BERT.
  • Моделирование причинного языка (CLM) — случайное сокращение предложения и обучение модели прогнозированию следующего токена. Этот подход используется для генеративных авторегрессионных моделей с архитектурой декодера, например GPT.

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

Нулевой выстрел и мало выстрелов против. Тонкая настройка

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

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

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

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

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

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

  1. Модель политики.По запросу модель GPT настраивается для задачи CLM с использованием продолжения, написанного экспертом-человеком.
  2. Модель вознаграждения. При появлении подсказки модель политики генерирует около 5 завершений. Эксперт-человек ранжирует их от лучшего к худшему, и это используется для обучения другой модели GPT прогнозированию оценки предпочтений для каждого завершения.
  3. Обучение с подкреплением. При наличии подсказки модель политики прогнозирует завершение или «действие». Модель вознаграждения рассчитывает вознаграждение, которое используется для точной настройки и оптимизации модели политики.

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

Выводы — TL;DR

  • Модели GPT показали впечатляющие результаты при генерации текста.
  • Со временем мы увидим прогресс в точности и возможностях.
  • Успех LLM, такого как ChatGPT, отчасти объясняется огромным размером моделей и наборов данных.
  • Но есть и технические инновации, которые позволяют добиться такого успеха, например. недостаточное внимание, обучение CLM и RLHF.

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