Перейти к содержанию
Публикация AiManual

VocabX: как специализация словаря SLM снижает стоимость инференса на 77%

VocabX от Dharma-AI пересобирает словарь модели под конкретную задачу и считает стоимость токена, а не его частоту: в кейсе на Qwen3-4B ответ сократился с 350 д

Коротко

Что будет в материале

  1. 01

    Что такое VocabX и почему токенизатор - недооценённый рычаг стоимости

  2. 02

    Кейс: автоматический оценщик португальских эссе на Qwen3-4B

  3. 03

    Как VocabX работает: два уровня сжатия и статистика для редких кандидатов

  4. 04

    Результаты: -77% стоимости инференса и ответ 101 токен вместо 350

VocabX - метод Dharma-AI для специализации словаря небольшой языковой модели под один домен или задачу. Токены в нём отбирают по стоимости: считается, во сколько обходится генерация токена, а не как часто он встречается в корпусе.

В продакшн-системе автоматической проверки португальских эссе на базе Qwen3-4B замена исходного словаря сократила средний ответ с 350 до 101 токена. Измеренная стоимость инференса упала на 77%. Базовая модель, данные и рецепт обучения остались прежними, пересобрали только токенизатор.

Все числа ниже взяты из текущей версии статьи Dharma-AI, она ещё на рецензировании и может измениться до публикации. Собственных замеров здесь нет: разбор опирается на опубликованный кейс.

Что такое VocabX и почему токенизатор - недооценённый рычаг стоимости

Токенизатор обычно наследуют от базовой модели и не трогают: он идёт в комплекте с весами, а обучение начинается поверх готового словаря. Для модели, заточенной под один домен, такая логика обходится дорого. Словарь задаётся до первого шага обучения и дальше влияет на каждый сгенерированный токен. В статье Dharma-AI его называют одним из крупнейших рычагов стоимости для специализированной модели.

VocabX пересобирает словарь под задачу. Критерий отбора - вклад токена в стоимость инференса, а не частота в корпусе. Разница принципиальная: частотный подход спрашивает «что чаще встречается в текстах», стоимостный - «на чём система тратит больше денег». Ответы не совпадают, если генерация дороже чтения.

Две потери от универсального словаря: фрагментация и избыточность

Фрагментация: токенизатор дробит на множество кусков именно то, что домен повторяет чаще всего. В оценщике эссе это JSON-оболочка, названия компетенций и фразы оценки. В контрактах - шаблонные пункты (boilerplate clauses). В коде - идентификаторы.

Избыточность: словарь несёт десятки тысяч записей, которые домен не использует. У Qwen3-4B это 151 669 записей, и на каждом сгенерированном токене модель считает распределение вероятностей по всем ним. Такое распределение и есть логиты: чтобы выбрать следующий токен, нужно посчитать скор для каждой записи словаря. Лишние записи - это вычисления, которые никто не заказывал.

ПотеряЧто происходитПример в оценщике эссе
ФрагментацияПовторяющийся фрагмент режется на несколько токенов, генерация тратится на служебную структуруJSON-оболочка и названия компетенций в каждом ответе
ИзбыточностьСкор считается по 151 669 записям, включая почти не используемые в задачеТокены других языков и форматов, которые в оценке не встречаются

Модель, настроенная на проверку американских школьных экзаменов по биологии, почти никогда не пишет по-китайски, но на каждом шаге считает вероятность каждого китайского токена. Это прямая аналогия из статьи, и она хорошо объясняет вторую потерю.

Кейс: автоматический оценщик португальских эссе на Qwen3-4B

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

Исходный токенизатор Qwen3-4B на 151 669 записей строился для многих языков и типов текста. В оценщике он работал для португальского и одного шаблона вывода. Разрыв между тем, на что рассчитан словарь, и тем, где он применяется, и есть источник потерь.

Кейс типичный, если у задачи есть три признака: узкий домен, стабильный формат вывода и высокая доля генерируемых токенов. Рядом в статье стоят контракты с шаблонными пунктами и код с повторяющимися идентификаторами. Логика одна: домен воспроизводит ограниченный набор конструкций, а универсальный словарь каждую режет на куски.

Почему сгенерированный токен дороже прочитанного в 7,4 раза

Инференс делится на две фазы. Prefill - чтение промпта: токены входа обрабатываются параллельно, модель проходит по контексту один раз. Decode - генерация: токены выходят по одному, каждый требует отдельного прямого прохода по весам и по всему словарю. В этом кейсе сгенерированный токен обходился в 7,4 раза дороже прочитанного.

Отсюда стратегия: давить на выход. Сокращение ответа с 350 до 101 токена уменьшает самую дорогую часть биллинга примерно в 3,5 раза по объёму генерации. Искать тот же эффект на входе пришлось бы через сжатие промптов, а там запас куда меньше.

Как ускоряют противоположную фазу, чтение контекста, видно на другом примере: разбор подхода V4.1 Flash к KV-кэшу на Qwen3 показывает, почему выигрыш в prefill оценивают отдельно от генерации. Стоимость токена не одна на всю систему: она зависит от фазы и от длины контекста.

Как VocabX работает: два уровня сжатия и статистика для редких кандидатов

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

Отдельный механизм - статистическая оценка для редких кандидатов, не попавших в выборку. Смысл в том, чтобы не отбрасывать потенциально выгодный токен из-за низкой частоты: длинный фрагмент, который стабильно повторяется в проде, может окупаться, даже появляясь в корпусе нечасто.

Граница известного: в опубликованном тексте статьи оба уровня описаны тезисно, формулы отбора и точная статистика по редким кандидатам не раскрыты. Оценить применимость метода по заметке можно, воспроизвести - нет, для этого нужна сама статья.

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

Макротокены: как JSON-оболочка превращается в один токен

Каждый ответ оценщика начинается с одной и той же JSON-оболочки, содержит те же названия компетенций и те же фразы оценки. Универсальный токенизатор дробит эту оболочку на несколько токенов, и модель тратит генерацию на воспроизведение служебной структуры.

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

Тип фрагментаГде повторяетсяЧто даёт макротокен
JSON-оболочка ответаОценщик эссе, любой шаблонный выводСлужебная структура перестаёт занимать шаги генерации
Шаблонные пункты договораКонтракты и юридические документыОдинаковые абзацы кодируются компактнее
Идентификаторы и конструкцииКод, логи, конфигиПовторяющиеся имена не дробятся на куски

Результаты: -77% стоимости инференса и ответ 101 токен вместо 350

Итог кейса в трёх строках. Средняя длина ответа сократилась с 350 до 101 токена. Измеренная стоимость инференса упала на 77%. Базовая модель, данные и рецепт обучения не менялись, пересобрали только словарь.

ПараметрДоПосле
Средняя длина ответа350 токенов101 токен
Измеренная стоимость инференсабазовый уровеньминус 77%
Базовая модель, данные, рецепт обученияQwen3-4Bбез изменений

«Измеренная стоимость» здесь означает замер на реальной системе, а не оценку по числу токенов на бумаге. Методику расчёта статья в открытом виде не раскрывает: неясно, какое железо, какой движок инференса и какая цена за токен заложены в расчёт. Поэтому 77% стоит читать как ориентир для похожего сценария, а не как гарантию для вашего стека.

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

Компромиссы: где сжатие формата начинает вредить качеству

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

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

Bench score 0,703 → 0,810: почему отдельный токен для оценки компетенции сработал

Выделение оценки компетенции в отдельный токен подняло bench score с 0,703 до 0,810, и экономия при этом стала чуть больше. Модель перестаёт тратить шаги на дробление служебной строки и реже путается в формате: структура ответа зашита в словарь, а не собирается каждый раз заново.

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

Риски для практика: сужение обобщения за пределами домена, хрупкость при смене формата ответа, дополнительная работа при обновлении базовой модели. Если завтра JSON-схема поменяется, макротокены придётся пересобирать и заново проверять качество.

Сравнение с FVT, MWT и in-place BPE: 15 из 15 в пользу VocabX

Авторы сравнили VocabX с тремя альтернативами: FVT, MWT и in-place BPE. Охват - пять публичных доменов и три семейства моделей: Qwen3, Llama-3.1, Gemma-3. Во всех 15 комбинациях VocabX дал большее сжатие.

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

Набор семейств моделей здесь важнее, чем кажется. Эффект не привязан к одному токенизатору Qwen: у Llama-3.1 и Gemma-3 собственные словари, и в комбинациях с ними VocabX тоже показал большее сжатие.

Кому подходит VocabX и как оценить свою задачу

Признаки, при которых стоит смотреть в сторону специализации словаря:

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

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

Практические шаги, которые не требуют экзотических инструментов:

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

Токеномика не заканчивается на словаре. Tessera-27B-B-CJK экономит thinking-токены за счёт сжатого CJK-шортката в рассуждениях, а Swift-1.5-Qwen3.8-Flash-Next прошёл Aider с 41,1% против 40,2%, потратив около 40% токенов и времени. Три разных рычага, один вопрос: сколько токенов стоит получить нужный ответ.

Что важно знать об источнике и статусе цифр

Статья Dharma-AI опубликована 21 октября 2026 года. Авторы: Bernardo França de Aguiar, Gabriel Pimenta de Freitas Cardoso, Bruno Duarte, Francisco de Almeida Rocha Alves, все из Dharma-AI.

Числа взяты из текущей версии работы, которая ещё на рецензировании и может измениться до публикации. Это касается и 77%, и длины ответа, и сравнения с FVT, MWT и in-place BPE: детали замеров в открытом изложении краткие, поэтому относиться к ним стоит как к предварительным.

Переносимая часть вывода шире конкретных 77%: токенизатор задаётся до обучения, а стоимость токена на выходе обычно выше, чем на входе. Проверять эту идею всё равно придётся на своей задаче, со своим корпусом и своим бенчем качества.

Подписаться на канал