Почему предсказание слова даёт осмысленный текст

Если модель умеет всего одно — угадывать следующее слово, откуда берутся целые осмысленные абзацы? Разбираемся, как из крошечного шага складывается связный текст.

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

Зачем это нужно: фокус, который кажется магией

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

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

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

Языковая модель — это модель, которая предсказывает следующее слово в тексте и так умеет генерировать осмысленные ответы.

Метафора: как сложить рассказ из одного движения

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

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

  • посмотреть на весь текст, который есть сейчас;
  • предсказать самое подходящее следующее слово;
  • дописать это слово в конец;
  • повторить, пока текст не закончится.

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

Вернёмся к сквозному примеру «Кошка пьёт ...»

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

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

ШагЧто модель видитЧто предсказывает
1Кошка пьётмолоко
2Кошка пьёт молокоиз
3Кошка пьёт молоко измиски
4Кошка пьёт молоко из миски. (точка, конец)

Обрати внимание: на каждом шаге модель опирается на весь текст слева, а не только на последнее слово. Именно поэтому «из» подходит после «молоко», а не, скажем, после «кошка».

Роль контекста: почему одно и то же слово ведёт себя по-разному

Если бы модель смотрела только на последнее слово, текст быстро бы рассыпался. Связность держится на контексте — на всём, что уже написано. Контекст — это память о начале фразы, которая подсказывает, что уместно дальше.

Посмотри, как меняется предсказание в зависимости от начала:

Начало фразы (контекст)Вероятное продолжение
Кошка пьёт ...молоко / воду
Спортсмен после тренировки пьёт ...воду / изотоник
Машина не заводится, надо залить ...бензин / антифриз

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

Это и есть секрет осмысленности. Текст кажется связным, потому что каждое новое слово согласовано со всеми предыдущими. Модель как бы постоянно держит в голове: «о чём вообще идёт речь?» — и не даёт себе свернуть в сторону.

Не всегда берётся самое вероятное слово

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

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

Почему текст кажется осмысленным, хотя модель не думает

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

Сравни два процесса:

Как делает человекКак делает модель
Сначала придумывает мысль, потом подбирает словаСразу подбирает следующее слово, мысли «впереди» нет
Знает, чем закончит фразуНе знает конца, пока до него не дойдёт
Понимает, о чём говоритСчитает, какое слово статистически уместно дальше

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

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

Запомни: осмысленность текста — это отражённый свет. Он идёт не от «разума» модели, а от миллионов осмысленных текстов, которые написали люди и на которых модель училась.

Разберём механику пошагово

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

Пример 1. Один шаг крупным планом

Модель получила контекст «Кошка пьёт». Она прикидывает вероятности следующего слова — грубо так:

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

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

Пример 2. Как один шаг тянет за собой следующий

Теперь контекст стал «Кошка пьёт молоко». Само слово «молоко», которое модель только что дописала, меняет картину следующего шага. После «молоко» в текстах часто идёт «из», «и», «.» (конец). Модель выбирает «из» и идёт дальше: «Кошка пьёт молоко из» → «миски».

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

Пример 3. Почему длинный контекст помогает

Сравни два запроса. В первом мы пишем просто «Он открыл ...» — продолжений миллион: дверь, книгу, глаза, счёт в банке. Контекста мало, модель почти гадает.

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

Частые ошибки и подводные камни

На этой теме новички спотыкаются примерно одинаково. Разберём, чтобы у тебя сложилась честная картинка.

1. Думать, что модель пишет ответ целиком и заранее

Кажется, будто ChatGPT сначала придумал весь ответ, а потом напечатал. На самом деле он рождает текст по одному слову слева направо и в начале фразы ещё «не знает», чем закончит. Поэтому он и печатает ответ постепенно, словом за словом, — это не анимация для красоты, а буквально то, как он работает.

2. Считать, что осмысленность = понимание

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

3. Верить, что раз звучит уверенно — значит, правда

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

4. Думать, что модель «помнит» бесконечно много

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

5. Ждать одинаковый ответ на одинаковый вопрос

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

Мини-практика: побудь языковой моделью сам

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

  1. Запиши начало: «Кошка пьёт». Теперь дописывай ровно по одному слову за раз, каждый раз перечитывая всё, что уже написал. Дойди до точки. Засеки, на сколько слов хватило одного начала.
  2. Сыграй в «нечестный кубик». На каждом шаге придумывай два возможных следующих слова и выбирай не всегда первое. Сделай два разных продолжения из одного начала — увидишь, как лёгкая случайность раздваивает текст.
  3. Проверь силу контекста. Возьми слово «открыл» и придумай два разных длинных начала, после которых это слово ведёт к совершенно разным продолжениям (например, про дверь и про банковский счёт). Запиши оба.
  4. Поймай галлюцинацию. Попроси настоящего чат-бота рассказать про выдуманную книгу с придуманным названием. Посмотри, начнёт ли он уверенно сочинять несуществующее, — и сверь с пунктом про галлюцинации выше.

Когда сам несколько раз пройдёшь цикл «посмотрел на весь текст → дописал одно слово → повторил», идея перестанет казаться магией. Ты буквально проделаешь то же, что делает модель, только медленнее.

Итоги

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

  • Модель не пишет ответ целиком. Она повторяет один шаг: посмотреть на весь текст → предсказать следующее слово → дописать → повторить.
  • Связность держится на контексте: каждое новое слово выбирается с оглядкой на всё, что уже написано. Длинный контекст сужает выбор и не даёт нести чушь.
  • Модель берёт не всегда самое вероятное слово, а часто — просто достаточно вероятное. Эта капля случайности делает речь живой и объясняет, почему ответы каждый раз чуть разные.
  • Текст кажется осмысленным, потому что осмысленность взята из миллионов человеческих текстов, а не из «разума» модели. Это очень хорошая угадайка, а не понимание.
  • Отсюда и ограничения: гладко не значит правдиво (галлюцинации), память о начале разговора не бесконечна, а ответ на один и тот же вопрос каждый раз немного свой.

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

Проверьте себя
1. Как языковая модель создаёт длинный связный текст?
AСразу придумывает весь ответ целиком, а потом печатает его
BПовторяет один шаг: смотрит на весь уже написанный текст и предсказывает одно следующее слово
CКопирует готовый ответ из интернета
DСлучайно выбирает слова из словаря без всякого порядка
2. Почему слово «пьёт» в разных фразах продолжается по-разному (молоко / воду / бензин)?
AМодель выбирает продолжение случайно, без всякой логики
BМодель всегда берёт самое частое слово в языке
CПродолжение зависит от контекста — от всего, что написано до этого слова
DСлово «пьёт» каждый раз означает что-то своё
3. Почему текст модели выглядит осмысленным, хотя она не понимает его как человек?
AМодель на самом деле понимает смысл не хуже человека
BОсмысленность взята из миллионов человеческих текстов, закономерности которых модель воспроизводит
CВнутри модели сидит редактор-человек, который проверяет каждое слово
DТекст только кажется осмысленным, а на деле всегда бессвязен
4. Почему ChatGPT может дать чуть разные ответы на один и тот же вопрос?
AЭто поломка, которую скоро починят
BМодель забывает предыдущий ответ
CПри выборе слова добавлена капля случайности, чтобы речь была живой, а не заезженной
DКаждый раз отвечает другая модель
5. Что такое галлюцинация языковой модели?
AКартинка, которую рисует ИИ
BУверенно звучащий, но выдуманный или неверный ответ
CСбой, при котором модель перестаёт отвечать
DСпособность модели видеть сны
6. Почему в очень длинном разговоре модель иногда забывает, о чём вы договаривались в начале?
AМодели становится скучно
BОкно контекста ограничено, и самое старое начало может выпасть за его пределы
CМодель специально игнорирует старые сообщения
DИнтернет теряет часть сообщений по дороге