раздел 00 · подстраница 1
Зачем понимать токены
Что это за тема
Токены - это «деньги» и «память» языковой модели одновременно. Когда вы пишете модели сообщение, оно превращается в набор токенов. Когда модель отвечает, она тоже выдаёт токены, по одному за раз. Всё, за что вы платите, и всё, что модель способна удержать в разговоре, измеряется в этих единицах.
Понимать токены - значит уметь ответить на три вопроса: за что списали деньги, почему модель что-то «забыла» и почему ответ вдруг оборвался. Все три ответа лежат в токенах.
Зачем это вам
Три типичные ситуации, которые становятся понятными, как только вы думаете в токенах.
Счёт оказался больше, чем ожидали. Вы отправили короткий вопрос, но вместе с ним ушла вся история диалога и системная инструкция. Модель платит не за «последнее сообщение», а за весь контекст, который вы ей передали. Короткий вопрос в длинном чате - это всё равно много токенов.
Модель «забыла» начало разговора. У модели ограниченная память - контекстное окно. Когда диалог становится длиннее окна, самое старое вытесняется. Это не сбой, это устройство.
Ответ оборвался на полуслове. На вывод обычно стоит отдельный лимит - максимальное число токенов в ответе. Уперлись в лимит - текст обрезался.
Как это устроено в общих чертах
Представьте конвейер:
ваш текст -> токенизация -> токены на входе
|
модель думает
|
токены на выходе -> текст ответа
Деньги считаются и за токены на входе, и за токены на выходе - обычно по разным ценам. Память (контекстное окно) считает и то и другое вместе: сколько всего токенов модель видит одновременно.
Пример
Допустим, вы ведёте длинный диалог с ассистентом. К сотому сообщению в контексте уже лежит:
- системная инструкция - примерно 500 токенов,
- история переписки - примерно 8000 токенов,
- ваш новый вопрос - 20 токенов.
Модель на этот «короткий» вопрос обрабатывает примерно 8520 входных токенов, а не 20. Вот почему счёт растёт, хотя вы вроде бы написали одну строчку. Числа здесь - ориентир для интуиции, не точные значения.
Антипаттерны
- Считать, что платите только за последнее сообщение. Платите за весь контекст, который уходит модели каждый раз заново.
- Игнорировать длину истории. Чем длиннее чат, тем дороже каждый следующий ход.
- Путать «модель ошиблась» и «ответ уперся в лимит токенов». Оборванный текст - это часто лимит вывода, а не глупость модели.
Что дальше
Дальше разберём самое начало конвейера - токенизацию. Посмотрим на конкретных примерах, как одно и то же предложение распадается на токены и почему русский текст обычно «дороже» английского.