раздел 00 · подстраница 1

Зачем понимать токены

Что это за тема

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

Понимать токены - значит уметь ответить на три вопроса: за что списали деньги, почему модель что-то «забыла» и почему ответ вдруг оборвался. Все три ответа лежат в токенах.

Зачем это вам

Три типичные ситуации, которые становятся понятными, как только вы думаете в токенах.

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

Модель «забыла» начало разговора. У модели ограниченная память - контекстное окно. Когда диалог становится длиннее окна, самое старое вытесняется. Это не сбой, это устройство.

Ответ оборвался на полуслове. На вывод обычно стоит отдельный лимит - максимальное число токенов в ответе. Уперлись в лимит - текст обрезался.

Как это устроено в общих чертах

Представьте конвейер:

ваш текст  ->  токенизация  ->  токены на входе
                                     |
                                  модель думает
                                     |
                              токены на выходе  ->  текст ответа

Деньги считаются и за токены на входе, и за токены на выходе - обычно по разным ценам. Память (контекстное окно) считает и то и другое вместе: сколько всего токенов модель видит одновременно.

Пример

Допустим, вы ведёте длинный диалог с ассистентом. К сотому сообщению в контексте уже лежит:

  • системная инструкция - примерно 500 токенов,
  • история переписки - примерно 8000 токенов,
  • ваш новый вопрос - 20 токенов.

Модель на этот «короткий» вопрос обрабатывает примерно 8520 входных токенов, а не 20. Вот почему счёт растёт, хотя вы вроде бы написали одну строчку. Числа здесь - ориентир для интуиции, не точные значения.

Антипаттерны

  • Считать, что платите только за последнее сообщение. Платите за весь контекст, который уходит модели каждый раз заново.
  • Игнорировать длину истории. Чем длиннее чат, тем дороже каждый следующий ход.
  • Путать «модель ошиблась» и «ответ уперся в лимит токенов». Оборванный текст - это часто лимит вывода, а не глупость модели.

Что дальше

Дальше разберём самое начало конвейера - токенизацию. Посмотрим на конкретных примерах, как одно и то же предложение распадается на токены и почему русский текст обычно «дороже» английского.