раздел 01
Базовая наука: как модель выбирает слова
Без матана, на пальцах. Всё поведение модели вытекает из одного простого механизма.
Предсказание следующего токена
Модель умеет ровно одну вещь: по уже имеющемуся тексту предсказать, какой токен (кусочек слова) идёт следующим. И так раз за разом, по одному токену.
1
Берёт весь контекст
Системный промпт + история + ваш запрос - всё, что в окне.
2
Считает вероятности
Выдаёт распределение вероятностей по всему словарю: какой токен вероятен следующим.
3
Выбирает токен
Сэмплер берёт токен из этого распределения (или самый вероятный - greedy).
4
Повторяет
Добавляет токен к тексту и снова считает следующий - пока не закончит.
Модель не «думает» и не «ищет в базе». Она статистически продолжает текст самым правдоподобным образом. Это и есть весь фокус, повторённый миллиарды раз.
Откуда у неё знания
На обучении (pretraining) модель прочитала колоссальный объём текста и научилась предсказывать следующее слово. Чтобы делать это хорошо, ей пришлось «впитать» факты, стиль, логику языка - неявно, в виде настроенных чисел (весов). Поэтому знания у неё есть, но они размазаны в весах, а не лежат в базе, к которой она обращается.
Почему это объясняет всё остальное
- Недетерминированность. Выбор токена - случайный по распределению, поэтому один и тот же запрос даёт разные ответы.
- Галлюцинации. Цель - правдоподобное продолжение, а не истина. Если точного факта в весах нет, модель подставит самый вероятный (правдоподобный, но, возможно, ложный).
- Чувствительность к формулировке. Меняете контекст - меняется распределение - меняется ответ.
- Крутилки (температура и др.) - это настройки того, как именно выбирать токен из распределения. Про них в разделе 04.