Перейти к содержанию
Innovialabs

Что такое токены в LLM и почему от них зависят цена и качество

Основы3 мин

Коротко

Токен — это кусочек текста, которым оперирует модель; за токены вы платите в API, и ими же измеряются лимиты, поэтому один и тот же текст на русском или узбекском обычно стоит дороже, чем на английском.

Что такое токен

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

Модель не видит текст напрямую. Сначала токенизатор превращает строку в последовательность чисел — идентификаторов токенов из словаря модели. Модель читает эти числа и генерирует ответ тоже по одному токену за раз.

Например, английская фраза «Hello, world» может разбиться на три-четыре токена: Hello, ,, world. Длинное или редкое слово распадётся на несколько частей.

Почему русский и узбекский «дороже» английского

Словари токенизаторов строятся на больших массивах текста, где английского больше всего. Поэтому:

  • частые английские слова часто становятся одним токеном;
  • русские слова с окончаниями и приставками дробятся на несколько кусков;
  • узбекский текст, особенно с символами вроде ‘ и ’, нередко дробится ещё сильнее, потому что в обучающих данных его меньше.

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

Как токены влияют на цену

API большинства моделей тарифицируются за токены, причём отдельно:

  • входные токены — ваш промпт, системная инструкция, история диалога, вложенные документы;
  • выходные токены — то, что сгенерировала модель (обычно дороже входных).

Что из этого следует на практике:

  • длинная системная инструкция оплачивается в каждом запросе;
  • история чата растёт с каждым сообщением, и каждый новый ответ стоит дороже предыдущего;
  • просьба «ответь подробно» напрямую увеличивает счёт.

Как токены влияют на лимиты и качество

У каждой модели есть контекстное окно — максимум токенов, которые она обрабатывает за раз (вход и выход вместе). Кроме того, есть отдельный лимит на длину ответа.

Чем больше токенов уходит на «служебное», тем меньше места остаётся для полезного:

  • длинный документ на узбекском может не поместиться туда, куда помещается тот же документ на английском;
  • если ответ упирается в лимит, он обрывается на полуслове;
  • перегруженный контекст ухудшает внимание модели к деталям.

Как экономить токены без потери качества

  1. Сократите системный промпт. Уберите повторы и вежливые обороты, оставьте правила и примеры.
  2. Не тащите всю историю. Храните последние сообщения, а старые заменяйте кратким резюме.
  3. Ограничивайте длину ответа — и в инструкции, и параметром максимального числа токенов.
  4. Передавайте только нужное. Вместо целого документа — релевантные фрагменты (для этого используют RAG).
  5. Используйте кэширование промптов, если провайдер его поддерживает: повторяющаяся часть запроса обходится дешевле.
  6. Подбирайте модель под задачу. Для классификации или извлечения полей часто хватает небольшой и дешёвой модели.

Как посчитать токены заранее

У крупных провайдеров есть токенизаторы или эндпоинты для подсчёта токенов. Для моделей OpenAI можно использовать библиотеку tiktoken:

import tiktoken

enc = tiktoken.get_encoding("cl100k_base")
text = "Сколько токенов в этой фразе?"
print(len(enc.encode(text)))

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

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

Нет. Короткое частое слово может быть одним токеном, а длинное или редкое — несколькими. Пробелы и знаки препинания тоже входят в токены.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.