Токенизация
Токенизация — процесс разбиения текста на минимальные единицы (токены), которые языковая модель принимает как входные данные. Токен соответствует примерно 3–4 символам латиницы или 1–2 символам кириллицы, что делает обработку русскоязычных текстов дороже при тех же объёмах.
Токенизация — обязательный первый шаг обработки текста в языковых моделях: входная строка разбивается на токены, служащие атомарными единицами для всех последующих вычислений. Токен — это не всегда слово; современные токенизаторы (BPE — Byte Pair Encoding, WordPiece, SentencePiece) делят текст на субсловные части. Например, слово «неожиданность» может быть разбито на несколько токенов в зависимости от словаря конкретной модели.
Алгоритм BPE, применяемый в GPT-серии и большинстве других LLM, строит словарь путём итеративного объединения наиболее частых пар символов в корпусе обучения. Размер словаря варьируется: у GPT-4 и Claude он составляет около 100 000 токенов (токенизатор cl100k_base), у ранних моделей LLaMA — 32 000, у LLaMA 3 — 128 000. Один токен покрывает в среднем 3–4 символа латиницы; для кириллицы, иероглифов и арабского письма соотношение хуже (1–2 символа на токен), что делает работу с этими языками дороже при одинаковом объёме текста.
Токенизация напрямую влияет на стоимость и скорость инференса: API-провайдеры (OpenAI, Anthropic, Google) биллингуют именно по количеству токенов, а не слов или символов. Разные токенизаторы дают разное количество токенов для одного и того же текста, что важно при сравнении стоимости между провайдерами и оценке вместимости контекстного окна.
К 2026 году неэффективность токенизации кириллицы остаётся заметной статьёй операционных расходов для русскоязычных сервисов. Это стимулирует разработку специализированных токенизаторов с расширенными словарями — в частности, модели Qwen, Mistral NeMo и YandexGPT используют словари с лучшим покрытием незападных языков, снижая количество токенов на символ кириллицы.