Перейти к основному содержимому

Основы

Что такое токены в ИИ?

Токены — это единицы, которые языковая модель на самом деле читает и пишет, а не слова или символы. Как устроена токенизация, как считаются входные и выходные токены и почему точное число даёт только собственный токенизатор модели.

Все разборы · Последняя проверка:

Токен — это не слово и не символ

Токенизатор разбивает текст на куски из фиксированного словаря, выученного при обучении. Короткое частое слово часто равно ровно одному токену; более длинное или редкое слово может разбиться на два-три; один необычный символ сам может занять больше одного токена. Пунктуация, пробелы и переносы строк тоже токены и не достаются бесплатно.

Поэтому число токенов, число слов и число символов меняются независимо друг от друга. Два предложения с одинаковым числом слов могут потребовать разного числа токенов, а переписывание предложения более короткими и частыми словами может сократить число токенов, не сделав текст короче.

Токенизация различается по языку и по модели

Каждая модель поставляется с собственным токенизатором и собственным фиксированным словарём, построенным по тексту, на котором она обучалась. Формулировки, частые в этом обучающем тексте, сжимаются в менее многочисленные и более длинные токены; редкие формулировки, наоборот, дробятся на более многочисленные и короткие куски.

Отсюда два прямых следствия. Во-первых, одно и то же предложение может стоить заметно разное число токенов в зависимости от языка, потому что ни один словарь не представляет два языка одинаково хорошо. Во-вторых, одно и то же предложение может стоить разное число токенов на двух разных моделях, потому что у каждой свой словарь — подсчёт токенизатором одной модели не является надёжной оценкой для другой.

Запрос тратит входные токены и выходные токены

У каждого запроса два пула токенов, которые считаются и обычно тарифицируются отдельно. Входные токены — это всё, что отправляется модели: инструкции, видимая переписка, приложенные документы и результаты инструментов. Выходные токены — это всё, что модель генерирует в ответ.

Входные токены не являются разовой стоимостью в многоходовом разговоре. Поскольку каждый новый запрос пересылает разговор целиком заново, прежние сообщения и любые приложенные материалы снова считаются как вход на каждом ходе, а не только на том ходе, когда были впервые добавлены.

Токены — единица, в которой измеряется контекстное окно

Контекстное окно — это бюджет, выраженный в токенах и общий для входа и выхода одного запроса. В статье «Что такое контекстное окно?» описано, как этот бюджет ведёт себя на практике; здесь важна только единица измерения — окно измеряется не словами, символами или сообщениями, а токенами, и вход с выходом расходуют один и тот же общий объём.

Оценка стоимости без фиксированного числа

Стоимость на основе токенов — это умножение: использованные токены на тариф, заданный для каждой модели. Поставщики устанавливают и меняют эти тарифы по собственному графику, и более способная модель обычно стоит дороже за токен, чем меньшая, причём выходные токены обычно тарифицируются дороже входных. Ничто из этого не делает осмысленной публикацию конкретной цифры здесь — тариф, напечатанный на этой странице, устареет за считаные месяцы.

Что остаётся верным независимо от текущего прайс-листа — это форма затрат: более короткие и сфокусированные запросы и более короткие и сфокусированные ответы используют меньше токенов, а повторная пересылка крупных вложений на каждом ходе долгого разговора — один из самых частых способов, которым расход токенов растёт без чьего-либо решения.

Точное число требует собственного токенизатора модели

Эмпирическое правило о токенах на слово — приближение для одного языка, обработанного одним токенизатором, и оно не переносится на другой язык, другую письменность или другую модель. Форматирование тоже меняет число: код, JSON и сильно пунктуированный текст обычно токенизируются менее эффективно, чем та же информация в виде простой прозы.

Если точное число важно — потому что запрос близок к пределу контекста или потому что стоимость нужно предсказать точно, — единственный надёжный способ: пропустить настоящий текст через собственный токенизатор конкретной модели или через сервис подсчёта перед отправкой. Оценка по словам или символам — это догадка, выданная за число.

Частые вопросы

Токен — это то же самое, что слово?
Нет. Короткое частое слово часто равно одному токену, но более длинное или редкое слово может разбиться на несколько, а пунктуация, пробелы и переносы строк сами считаются токенами. Число токенов и число слов соотносятся лишь приблизительно.
Почему одно и то же предложение даёт разное число токенов в разных инструментах?
Каждый инструмент обычно показывает подсчёт токенизатора конкретной модели, а у каждой модели свой словарь, построенный по своему обучающему тексту. Подсчёт, точный для токенизатора одной модели, для другой — лишь оценка.
Форматирование вроде кода или JSON расходует больше токенов, чем обычный текст?
Часто да. Отступы, пунктуация и повторяющиеся символы сами являются токенами, поэтому сильно структурированный формат может расходовать заметно больше токенов, чем та же информация в простых предложениях.
Как узнать точное число токенов запроса до его отправки?
Пропустите точный текст через собственный токенизатор конкретной модели или через предоставляемый ею сервис подсчёта. Любая оценка по числу слов или символов приблизительна, и погрешность растёт с различиями в языке, письменности и форматировании.

Лучше попробовать, чем читать

ClawAI подсчитывает входные и выходные токены, реально потраченные запросом, после того как ответ сгенерирован, и показывает стоимость и списанный с баланса объём за этот ответ, а не оценку, сделанную заранее.