Авторегрессионные модели: предсказание следующего токена
🔒 Sign in to use this
Авторегрессионные модели: прогнозирование следующего токена
ℹ️Токен — минимальная единица текста, которую обрабатывает LLM. Токен – это не буква и не слово, это нечто среднее. Слово невероятно разбивается алгоритмом BPE на три токена: `un` + `believ` + `able`. Современные LLM имеют словари объемом 32 000–128 000 токенов. Эмпирическое правило: 1 токен ≈ 4 символа, 100 токенов ≈ 75 английских слов.
Правило цепочки: по одному условию за раз
Языковая модель учится вычислять P(следующий токен | все предыдущие токены). Это следует непосредственно из правила умножения вероятностей — вероятность последовательности равна произведению условных вероятностей каждой лексемы с учетом всего, что было до нее. Модели, построенные на этом принципе, называются авторегрессионными, поскольку каждый выходной сигнал используется в качестве входных данных для следующего шага.
Формально:
P(t1,t2,…,tn)=i=1∏nP(ti∣t1,…,ti−1)
Каждый шаг генерации представляет собой один вывод условной вероятности. Чтобы сгенерировать ответ из 200 токенов, модель выполняет этот прямой проход 200 раз.
Один шаг поколения: полный конвейер
Нажмите каждый шаг, чтобы проследить, что происходит внутри модели, когда она выбирает следующий токен:
Нажмите на каждый шаг — один шаг = сгенерирован один токен ▶
📝
Контекст
Все токены на данный момент
→
🔢
Встраивание
Токены → плотные векторы
→
🧠
Трансформатор
Внимание к себе + FFN
→
📊
Логиты
Одно число на токен словаря
→
📈
Софтмакс
Логиты → вероятности
→
🎲
Выборка
Выберите следующий жетон
ℹ️Логиты — необработанные числа, выводимые последним слоем модели, по одному на каждый токен словаря. Логиты — это не вероятности: они могут быть любым действительным числом, их сумма не равна 1, они могут быть отрицательными. Чем больше логит, тем больше модель «предпочитает» этот токен. Функция softmax преобразует логиты в правильное распределение вероятностей.
От логитов к вероятностям: softmax
Софтмакс:σ(xi)=∑jexjexi. Каждый выходной сигнал положителен, сумма всех выходных данных равна 1. Перетащите логиты ниже — обратите внимание, как небольшое изменение одного логита смещает вероятность от всех остальных. Параметр температуры T делит все логиты до softmax: низкий T увеличивает резкость распределения, высокий T выравнивает его.
Перетащите логиты или измените температуру — наблюдайте за изменением вероятностей
Каждая полоса показывает вероятность, которую модель назначила этому токену-кандидату в этой позиции. Зеленая полоса — это та, которая была выбрана и добавлена в контекст.
Нажмите «Следующий токен» — наблюдайте, как растет контекст и меняется распределение ▶
Theкотсиделна|
ℹ️Контекстное окно — максимальное количество токенов, которые модель может «видеть» за один прямой проход. GPT-2: 1 024 токена. GPT-4 Turbo: 128 000. Клод 3: до 200 000. Все, что за окном, модели незаметно. Расширение контекста обходится дорого — сложность преобразования внимания составляет O(n²) по длине последовательности.
Ключевые выводы
Авторегрессионная языковая модель генерирует текст путем многократного прогнозирования единственного наиболее вероятного следующего токена с учетом всех предыдущих токенов. Каждый шаг генерации представляет собой один полный проход вперед по модели — короткого пути нет.