Как работает нейросеть ChatGPT: простое объяснение

В этой статье

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

Сначала запрос превращается в токены

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

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

Что делают веса модели

После токенизации последовательность поступает в обученную GPT-модель. Внутри неё находятся параметры, или веса. Их очень много, и вместе они задают выученные закономерности: какие фрагменты текста часто встречаются рядом, как связаны слова и части фразы, как обычно оформляют объяснение, список или диалоговый ответ.

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

Как из запроса получается ответ

Упрощённая последовательность выглядит так:

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

Представим условный запрос: «Объясни, почему листья желтеют, простыми словами». Модель учитывает тему листьев, просьбу объяснить и требование говорить просто. Среди вероятных продолжений могут оказаться фразы о хлорофилле, смене сезона и недостатке света. Затем токены добавляются один за другим, и ответ постепенно приобретает связный вид. Это иллюстрация общей механики, а не просмотр скрытых вычислений конкретного закрытого запуска ChatGPT.

Контекст меняет вероятные продолжения. «Объясни, почему листья желтеют, простыми словами для ребёнка, в пяти предложениях» задаёт другую аудиторию, объём и формат. Модель постарается им следовать, потому что получила больше ориентиров. Но подробный запрос сам по себе не превращает ответ в гарантированно правильный: он только лучше задаёт направление.

Как модель обучают

Обучение — это не один момент, когда нейросети показывают несколько примеров. В общих чертах процесс включает подготовку данных, предварительное обучение (pre-training) и последующую настройку (post-training). OpenAI описывает эти этапы и несколько типов источников данных, но точная последовательность и полный состав конвейера каждой современной модели не раскрываются полностью.

На этапе подготовки данные отбирают, приводят к подходящему виду и обрабатывают. Источники могут относиться к разным категориям, а качество и состав данных влияют на то, какие закономерности модель сможет выучить. Затем во время pre-training модель получает большие объёмы текста и решает задачу продолжения: по уже видимым токенам предсказать следующий. Если предсказание отличается от примера, параметры немного изменяются. После большого числа повторений модель становится лучше в продолжении текстов и работе с языковыми структурами.

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

Зачем нужно дообучение после pre-training

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

Один из документированных подходов включает человеческие демонстрации хороших ответов, сравнение нескольких вариантов и обучение модели вознаграждения, которое помогает ориентироваться на предпочтения людей. Затем применяются методы reinforcement learning, то есть обучения с подкреплением. Исторически ChatGPT описывался как модель, оптимизированная для диалога с помощью RLHF — обучения с подкреплением на основе обратной связи от людей. Это объясняет общую идею настройки поведения, но не даёт оснований утверждать, что именно такой полный pipeline без изменений используется для каждой современной модели. Подробнее об описанном подходе можно прочитать в материалах What is ChatGPT? и Aligning language models to follow instructions.

Иными словами, pre-training помогает модели освоить закономерности языка, а post-training делает взаимодействие более пригодным для человека: учит отвечать на инструкции, поддерживать диалог и соблюдать заданные ограничения. Между этими этапами нет строгой границы для пользователя — в окне чата он видит уже работающий продукт.

Почему ChatGPT иногда ошибается

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

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

GPT и ChatGPT — не одно и то же

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

Поэтому фраза «нейросеть ChatGPT» удобна в быту, но технически немного смешивает два уровня. Модель — это механизм обработки и генерации текста. ChatGPT — место, где человек взаимодействует с этим механизмом через готовый продукт. Конкретное поведение, доступные функции и выбранная модель могут меняться, поэтому текущий интерфейс нельзя считать неизменным описанием всех версий GPT.

Если после этого объяснения вам нужен платный доступ к ChatGPT, условия лучше смотреть отдельно от устройства модели: доступ может менять лимиты и возможности использования, но не превращает вероятностную систему в безошибочный справочник. В каталоге Amber Market можно подобрать доступ к зарубежным сервисам и проверить наличие, условия и итоговую стоимость на карточке услуги.

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

Источники

Есть следующая задача?Ещё по теме «Первые шаги» →