💻 ПРОГРАММИРОВАНИЕ

Как ChatGPT угадывает следующее слово

ChatGPT не «понимает» вопрос и не лезет в базу знаний за ответом. Он делает кое-что куда более странное: снова и снова угадывает, какое слово идёт следующим. Разбираемся, как из этой простой игры рождается то, что кажется разумом — и почему оно иногда так уверенно врёт.

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

Гигантский T9, который дочитывает за тебя

В основе ChatGPT лежит штука под названием языковая модель. Её единственная работа — посмотреть на весь текст, который уже есть, и предсказать, что идёт дальше. Не «понять смысл», не «найти ответ в базе», а именно угадать продолжение. Как T9 в телефоне, только вместо одного слова он может дописать хоть целое сочинение.

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

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

Что такое токен и почему не «слово»

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

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

Откуда модель знает вероятности

Тут начинается самое интересное. Никто не сидел и не прописывал руками правило «после "Столица Франции" пиши "Париж"». Модель научилась этому сама — на гигантском количестве текста: книгах, статьях, форумах, коде. Терабайты букв.

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

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

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

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

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

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

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

# Грубая иллюстрация идеи
candidates = {"Париж": 0.92, "город": 0.05, "пицца": 0.001}

# температура ~0     -> почти всегда "Париж"
# температура высокая -> иногда выскочит "город", а то и что похуже

Почему модель уверенно врёт

А вот и расплата за всю эту магию — галлюцинации. Так называют моменты, когда модель выдаёт чушь с абсолютно серьёзным лицом: придумывает несуществующую книгу, ссылку, дату или цитату — и подаёт это так уверенно, будто зачитывает из энциклопедии.

Причина прямо вытекает из устройства. Модель не хранит факты в виде аккуратной базы данных и вообще не проверяет, правда ли то, что она говорит. Её задача — выдать правдоподобное продолжение. А правдоподобное и правдивое — это, увы, не одно и то же. Если на вопрос «как называлась статья профессора такого-то» в прочитанных текстах не было чёткого ответа, модель всё равно сочинит что-то похожее на название статьи — просто потому, что такой токен «логично смотрится» дальше.

Она не врёт нарочно и не «знает», что ошибается. У неё вообще нет внутреннего ощущения «вот тут я уверена, а тут — нет», как у человека. Поэтому правило простое: всё важное перепроверяй в другом источнике — особенно числа, даты, имена и ссылки.

Что с этим делать

Теперь ты знаешь секрет: ChatGPT — не оракул и не поисковик, а гениальный предсказатель следующего токена, натренированный на горах текста. Из этого следуют вполне практичные выводы:

  • он отлично сочиняет, переписывает, объясняет и придумывает идеи — это его родная стихия;
  • факты и цифры от него стоит перепроверять: ошибаться уверенно он умеет мастерски;
  • хочешь больше креатива — крути температуру вверх; нужна точность — вниз.

И главное: за «разумом» машины часто прячется на удивление простая идея. Иногда, чтобы получилось что-то поразительное, достаточно очень-очень хорошо делать одну маленькую вещь — например, угадывать следующее слово.

#ChatGPT#ИИ#нейросети#токены