раздел 01

Базовая наука: как модель выбирает слова

Без матана, на пальцах. Всё поведение модели вытекает из одного простого механизма.

Предсказание следующего токена

Модель умеет ровно одну вещь: по уже имеющемуся тексту предсказать, какой токен (кусочек слова) идёт следующим. И так раз за разом, по одному токену.

1
Берёт весь контекст
Системный промпт + история + ваш запрос - всё, что в окне.
2
Считает вероятности
Выдаёт распределение вероятностей по всему словарю: какой токен вероятен следующим.
3
Выбирает токен
Сэмплер берёт токен из этого распределения (или самый вероятный - greedy).
4
Повторяет
Добавляет токен к тексту и снова считает следующий - пока не закончит.

Модель не «думает» и не «ищет в базе». Она статистически продолжает текст самым правдоподобным образом. Это и есть весь фокус, повторённый миллиарды раз.

Откуда у неё знания

На обучении (pretraining) модель прочитала колоссальный объём текста и научилась предсказывать следующее слово. Чтобы делать это хорошо, ей пришлось «впитать» факты, стиль, логику языка - неявно, в виде настроенных чисел (весов). Поэтому знания у неё есть, но они размазаны в весах, а не лежат в базе, к которой она обращается.

Почему это объясняет всё остальное

  • Недетерминированность. Выбор токена - случайный по распределению, поэтому один и тот же запрос даёт разные ответы.
  • Галлюцинации. Цель - правдоподобное продолжение, а не истина. Если точного факта в весах нет, модель подставит самый вероятный (правдоподобный, но, возможно, ложный).
  • Чувствительность к формулировке. Меняете контекст - меняется распределение - меняется ответ.
  • Крутилки (температура и др.) - это настройки того, как именно выбирать токен из распределения. Про них в разделе 04.