Основы
Что такое токены в ИИ?
Токены — это единицы, которые языковая модель на самом деле читает и пишет, а не слова или символы. Как устроена токенизация, как считаются входные и выходные токены и почему точное число даёт только собственный токенизатор модели.
Все разборы · Последняя проверка:
Токен — это не слово и не символ
Токенизатор разбивает текст на куски из фиксированного словаря, выученного при обучении. Короткое частое слово часто равно ровно одному токену; более длинное или редкое слово может разбиться на два-три; один необычный символ сам может занять больше одного токена. Пунктуация, пробелы и переносы строк тоже токены и не достаются бесплатно.
Поэтому число токенов, число слов и число символов меняются независимо друг от друга. Два предложения с одинаковым числом слов могут потребовать разного числа токенов, а переписывание предложения более короткими и частыми словами может сократить число токенов, не сделав текст короче.
Токенизация различается по языку и по модели
Каждая модель поставляется с собственным токенизатором и собственным фиксированным словарём, построенным по тексту, на котором она обучалась. Формулировки, частые в этом обучающем тексте, сжимаются в менее многочисленные и более длинные токены; редкие формулировки, наоборот, дробятся на более многочисленные и короткие куски.
Отсюда два прямых следствия. Во-первых, одно и то же предложение может стоить заметно разное число токенов в зависимости от языка, потому что ни один словарь не представляет два языка одинаково хорошо. Во-вторых, одно и то же предложение может стоить разное число токенов на двух разных моделях, потому что у каждой свой словарь — подсчёт токенизатором одной модели не является надёжной оценкой для другой.
Запрос тратит входные токены и выходные токены
У каждого запроса два пула токенов, которые считаются и обычно тарифицируются отдельно. Входные токены — это всё, что отправляется модели: инструкции, видимая переписка, приложенные документы и результаты инструментов. Выходные токены — это всё, что модель генерирует в ответ.
Входные токены не являются разовой стоимостью в многоходовом разговоре. Поскольку каждый новый запрос пересылает разговор целиком заново, прежние сообщения и любые приложенные материалы снова считаются как вход на каждом ходе, а не только на том ходе, когда были впервые добавлены.
Токены — единица, в которой измеряется контекстное окно
Контекстное окно — это бюджет, выраженный в токенах и общий для входа и выхода одного запроса. В статье «Что такое контекстное окно?» описано, как этот бюджет ведёт себя на практике; здесь важна только единица измерения — окно измеряется не словами, символами или сообщениями, а токенами, и вход с выходом расходуют один и тот же общий объём.
Оценка стоимости без фиксированного числа
Стоимость на основе токенов — это умножение: использованные токены на тариф, заданный для каждой модели. Поставщики устанавливают и меняют эти тарифы по собственному графику, и более способная модель обычно стоит дороже за токен, чем меньшая, причём выходные токены обычно тарифицируются дороже входных. Ничто из этого не делает осмысленной публикацию конкретной цифры здесь — тариф, напечатанный на этой странице, устареет за считаные месяцы.
Что остаётся верным независимо от текущего прайс-листа — это форма затрат: более короткие и сфокусированные запросы и более короткие и сфокусированные ответы используют меньше токенов, а повторная пересылка крупных вложений на каждом ходе долгого разговора — один из самых частых способов, которым расход токенов растёт без чьего-либо решения.
Точное число требует собственного токенизатора модели
Эмпирическое правило о токенах на слово — приближение для одного языка, обработанного одним токенизатором, и оно не переносится на другой язык, другую письменность или другую модель. Форматирование тоже меняет число: код, JSON и сильно пунктуированный текст обычно токенизируются менее эффективно, чем та же информация в виде простой прозы.
Если точное число важно — потому что запрос близок к пределу контекста или потому что стоимость нужно предсказать точно, — единственный надёжный способ: пропустить настоящий текст через собственный токенизатор конкретной модели или через сервис подсчёта перед отправкой. Оценка по словам или символам — это догадка, выданная за число.
Частые вопросы
- Токен — это то же самое, что слово?
- Нет. Короткое частое слово часто равно одному токену, но более длинное или редкое слово может разбиться на несколько, а пунктуация, пробелы и переносы строк сами считаются токенами. Число токенов и число слов соотносятся лишь приблизительно.
- Почему одно и то же предложение даёт разное число токенов в разных инструментах?
- Каждый инструмент обычно показывает подсчёт токенизатора конкретной модели, а у каждой модели свой словарь, построенный по своему обучающему тексту. Подсчёт, точный для токенизатора одной модели, для другой — лишь оценка.
- Форматирование вроде кода или JSON расходует больше токенов, чем обычный текст?
- Часто да. Отступы, пунктуация и повторяющиеся символы сами являются токенами, поэтому сильно структурированный формат может расходовать заметно больше токенов, чем та же информация в простых предложениях.
- Как узнать точное число токенов запроса до его отправки?
- Пропустите точный текст через собственный токенизатор конкретной модели или через предоставляемый ею сервис подсчёта. Любая оценка по числу слов или символов приблизительна, и погрешность растёт с различиями в языке, письменности и форматировании.
Лучше попробовать, чем читать
ClawAI подсчитывает входные и выходные токены, реально потраченные запросом, после того как ответ сгенерирован, и показывает стоимость и списанный с баланса объём за этот ответ, а не оценку, сделанную заранее.