Нейросети

Как работает ChatGPT и языковые модели: на пальцах

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

Чёрно-белая макросъёмка платы Apple с плотной россыпью микросхем — образ вычислений, стоящих за языковой моделью ChatGPT
За гладкими ответами ChatGPT — миллиарды чисел и одна простая идея: предсказать следующий токен. Фото: Pexels

ChatGPT в одном предложении

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

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

Коротко

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

Токены: чем модель режет текст

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

Грубое правило: один токен ≈ 0,75 английского слова. Зачем так? Токены — компромисс между буквами (их мало, но текст из них слишком длинный) и словами (их миллионы, и постоянно появляются новые). Кусочки-токены позволяют собрать любое слово, даже незнакомое, из ограниченного «словаря» в десятки тысяч штук. Каждый токен модель превращает в длинный список чисел (вектор) — вот в таком виде она и работает с языком.

Главный фокус: предсказание следующего токена

А теперь сердце всего. ChatGPT снова и снова задаёт себе один вопрос: «Учитывая весь текст до этого момента, какой токен вероятнее всего идёт следующим?» Модель не выдаёт один ответ — она выдаёт вероятности для всех токенов сразу. Например, после «Небо сегодня совершенно…» варианты «ясное», «чистое», «голубое» получат высокую вероятность, а «селёдка» — почти нулевую.

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

1

Читает контекст

Модель берёт весь текст диалога до текущего момента — ваш вопрос плюс уже написанную часть ответа.

2

Считает вероятности

Прогоняет контекст через сеть и получает вероятность для каждого возможного следующего токена — весь «словарь» разом.

3

Выбирает токен

Отбирает один вариант — как правило, из самых вероятных (насколько смело — регулирует температура, см. ниже).

4

Повторяет

Дописывает токен и возвращается к шагу 1. Цикл крутится, пока ответ не завершён.

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

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

Трансформер и «внимание»

Что за устройство внутри так ловко предсказывает токены? Это трансформер (transformer) — тип нейросети, придуманный в 2017 году. Буква «T» в названии GPT — как раз «Transformer» (полностью — Generative Pre-trained Transformer, «генеративный предобученный трансформер»).

Главная идея трансформера — механизм внимания (attention). Он позволяет модели при обработке каждого слова «оглядываться» на все остальные слова в тексте и решать, какие из них сейчас важны. В фразе «Кот сидел на коврике, потому что он был тёплый» механизм внимания помогает связать «он» с «ковриком», а не с «котом». Именно внимание даёт модели чувство контекста на длинных дистанциях — то, чего катастрофически не хватало старым подходам, читавшим текст строго по одному слову.

Плотная россыпь чипов и разъёмов на платах Raspberry Pi — метафора множества связей внутри трансформера
Механизм внимания связывает каждое слово со всеми остальными — как густая сеть соединений на плате. Фото: Pexels

Как модель обучали: два больших этапа

Готовый ChatGPT — результат двух очень разных стадий обучения. Понимать их полезно, потому что они объясняют и силу, и странности модели.

Этап 1. Предобучение (pre-training). Модели скармливают колоссальный объём текста — книги, статьи, сайты, форумы — и заставляют миллиарды раз угадывать следующий токен. На этом этапе она впитывает язык, факты и стиль, но ведёт себя как «умное автодополнение»: продолжает текст, не понимая, что от неё хотят диалога. Спросите такую сырую модель «Столица Франции?» — и она может продолжить списком похожих вопросов вместо ответа.

Этап 2. Дообучение и RLHF. Чтобы превратить «автодополнение» в полезного ассистента, применяют RLHF — обучение с подкреплением на основе обратной связи от людей (Reinforcement Learning from Human Feedback). Работает это так: люди-оценщики смотрят на разные ответы модели и отмечают, какой лучше, какой хуже, какой вредный или опасный. На этих оценках обучают отдельную «модель награды», которая затем как строгий редактор подстраивает поведение ChatGPT — делает ответы полезнее, честнее и безопаснее. Именно RLHF научил модель следовать инструкциям, признавать незнание и отказываться от вредных запросов.

2017год изобретения трансформера
≈0,75слова в одном токене
1токен за шаг генерации

Почему это важно понимать

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

Температура: ручка случайности

Помните шаг «выбрать один токен из вероятных»? Насколько смело модель выбирает, регулирует параметр температура. Это, по сути, ручка «предсказуемость ↔ креатив».

  • Низкая температура (около 0). Модель почти всегда берёт самый вероятный токен. Ответы точные, стабильные, но однообразные — хорошо для фактов, кода, инструкций.
  • Высокая температура. Модель охотнее выбирает менее очевидные варианты. Текст становится живее и разнообразнее — полезно для мозговых штурмов и творчества, но растёт риск, что она «занесёт» в бессвязность или выдумку.

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

Галлюцинации и границы модели

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

Отсюда практические выводы, которые стоит держать в голове:

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

ИИ помог с текстом или картинкой?

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

Открыть конвертеры

Теперь «магия» ChatGPT разложена на понятные детали: токены, предсказание следующего кусочка, внимание в трансформере, два этапа обучения и ручка температуры. А если хочется увидеть, как похожая идея рождает не текст, а изображения, — читайте про генеративный ИИ.

Нет, не в человеческом смысле. Модель не осознаёт смысл слов — она вычисляет, какой токен статистически вероятнее всего идёт следующим, исходя из миллиардов текстов, на которых училась. Получается связно и осмысленно, потому что в языке много закономерностей, но за словами нет понимания, намерений или сознания.
Токен — это кусочек текста, которым оперирует модель: чаще часть слова, чем целое слово. В среднем один токен — примерно 0,75 английского слова, то есть длинные и редкие слова режутся на несколько частей. Модель не видит буквы и слова как мы — она работает с последовательностью токенов и предсказывает следующий.
Это называют галлюцинациями. Модель обучена выдавать правдоподобное продолжение текста, а не проверять факты. Если в её «памяти» нет точного ответа, она всё равно сгенерирует гладко звучащий текст — иногда с выдуманными именами, датами или ссылками. Поэтому важные факты из ответов ИИ нужно перепроверять.
Температура — это настройка случайности ответа. При температуре около нуля модель почти всегда выбирает самый вероятный следующий токен: ответы предсказуемые и однообразные. При высокой температуре она чаще выбирает менее очевидные варианты: текст становится разнообразнее и креативнее, но и рискует стать бессвязным.
RLHF — обучение с подкреплением на основе обратной связи от людей. После того как модель прочитала массу текста, люди оценивают её ответы: какой лучше, какой хуже, какой вредный. На этих оценках обучается «модель награды», которая затем подстраивает поведение ChatGPT — делает его полезнее, вежливее и безопаснее.