Dharma-AI урезала словарь Qwen3-4B и снизила стоимость инференса на 77%
Команда Dharma-AI пересобрала словарь Qwen3-4B для проверяющей сочинения модели на португальском. Базовая модель, данные и рецепт дообучения остались прежними. Новый токенизатор называется VocabX. Главный механизм в том, что токены выбирают по цене, а не по частоте. Сгенерированный токен в этом кейсе стоит в 7,4 раза дороже прочитанного. Ответ сжался с 350 до 101 токена, стоимость инференса упала на 77,0%, а бенчмарк-скор вырос с 0,703 до 0,810. • Выходной слой уменьшился с ~152 тыс. до ~65 тыс. строк • Тесты шли на RTX 5090 и vLLM, 500 запросов • Полная статья с методом выйдет позже
AI-обработка оригинала Hugging Face Blog; редакция Hamidun News
Бразильская команда Dharma-AI показала, сколько можно сэкономить, если тронуть то, что обычно считают неизменной частью модели, а именно токенизатор. В продакшен-системе, которая проверяет сочинения на португальском на базе Qwen3-4B, новый словарь сократил средний ответ с 350 до 101 токена. Измеренная стоимость инференса упала на 77,0%, а бенчмарк-скор вырос с 0,703 до 0,810. Базовая модель, данные и рецепт обучения остались теми же. Метод назвали VocabX. Полная статья ещё не опубликована, и цифры взяты из текущей версии препринта, которая проходит рецензирование.
Где проверяющая модель переплачивала
Грейдер получает сочинение, тему и вспомогательные тексты, а возвращает JSON с оценкой и комментарием по каждой компетенции. Токенизатор при этом остался исходным от Qwen3-4B, то есть рассчитанным на много языков и типов текста. Он разбивал на десятки кусков именно то, что модель пишет в каждом ответе: одну и ту же JSON-обёртку, названия компетенций, типовые формулировки оценок. Кроме того, на каждом шаге генерации модель считала вероятности для 151 669 записей словаря, большинство которых в этой задаче почти не встречается.
Цена здесь асимметрична. На prefill модель обрабатывает весь вход за один проход, и упирается он в вычисления. На decode каждый токен требует полного прохода, GPU в основном ждёт данные из памяти, а к весам добавляется чтение KV-кэша. В измеренном кейсе сгенерированный токен стоит в 7,4 раза дороже прочитанного. Это отношение зависит от железа, батча и длины контекста и может быть выше. Матрица LM head в модели размера Qwen3-4B занимает почти 10% параметров, и её читают целиком на каждом сгенерированном токене. Лишняя строка словаря стоит столько же, сколько частая.
Токены по цене, а не по частоте
Существующие методы, такие как fast vocabulary transfer (FVT), multi-word tokenization (MWT) и in-place BPE от Liquid AI, выбирают кандидатов по частоте и работают на одном уровне. VocabX меняет критерий: каждый сэкономленный токен умножается на цену поля, где он встречается (системный промпт, сообщение пользователя или ответ модели). Токен, сэкономленный в ответе, в этом кейсе весит в 7,4 раза больше, чем во входе. Работа идёт сразу на двух слоях: суб-словном и мультисловном, где повторяющиеся фрагменты превращаются в один макро-токен. Для поиска таких фрагментов используют пять майнеров:
- длинные слова;
- целые строки;
- выражения;
- полные предложения;
- структуры с пунктуацией вроде JSON и тегов.
Последний майнер вклада дал больше всех: в среднем по восьми корпусам, а на коде в одиночку принёс 17,5 пункта. Без всех пяти сокращение токенов на грейдере упало бы на 55,6 пункта.
Отдельная проблема в оценке выгоды по выборке документов. Выражение, которое встречается 37 раз в 50 000 документов, попадает в выборку из 400 документов лишь в 26% случаев. В корпусе контрактов в такую выборку попадают только 16,6% кандидатов, остальным достаётся нулевая выгода. Команда считает точно ту часть выигрыша, которую можно посчитать по всему корпусу, а непокрытую часть оценивает статистически. На контрактах это подняло сокращение токенов с 44,7% до 52,8% при той же выборке и том же бюджете.
Макрос, который съел решение модели
Для замера обучили семь версий грейдера на одной базе, данных, рецепте и seed. Отличался только токенизатор. Все прогнали по 500 одинаковых запросов на RTX 5090 с vLLM, стоимость считали по измеренному времени. Первая версия слила оценку каждой компетенции с окружающим JSON в один макро-токен. Она была самой компактной (минус 73,3% стоимости), но качество просело до 0,689 при 0,703 у продакшен-версии. Оценка внутри макро превращала каждую комбинацию оценки и структуры в отдельный вариант токена, и модель выбирала всё одним шагом. Отдельный токен под оценку стоил двух лишних токенов на ответ, зато поднял скор до 0,810, а снижение стоимости достигло 77,0%.
Проверка на широком материале дала следующую картину: пять доменов (контракты, медицинские статьи, научные статьи, новости, код на Python) и три семейства моделей (Qwen3, Llama-3.1, Gemma-3). VocabX сжимал сильнее лучшего референса во всех 15 комбинациях, на 1,2–9,3 пункта. По оценке стоимости инференса урезанная версия тоже выигрывала везде: в среднем на 10,2 пункта на Qwen3, 7,5 на Llama-3.1 и 13,6 на Gemma-3. На контрактах она дала 62,6% сокращения при 113 426 записях словаря, а лучший вариант in-place BPE получил 61,8% при 207 803.
Когда стоит лезть в токенизатор
Подход подходит узким продакшен-моделям с повторяющейся структурой ответа: оценщикам, экстракторам, генераторам JSON, юридическим и кодовым ассистентам. Чем больше в ответе шаблона и чем сильнее decode упирается в память, тем заметнее эффект. Выигрыш складывается из трёх частей: короче ответ, меньше матрица LM head и меньше чтений на каждом шаге.
Есть и предостережение. Если сжимаемый фрагмент содержит решение, ради которого модель существует (в данном случае оценку), его нельзя прятать в макро-токен. Задача в том, чтобы получить самый дешёвый словарь, который сохраняет значимые токены. Без этого можно сэкономить стоимость и потерять качество.
Вопросы и ответы по материалу
Что известно по теме: где проверяющая модель переплачивала?
Грейдер получает сочинение, тему и вспомогательные тексты, а возвращает JSON с оценкой и комментарием по каждой компетенции. Токенизатор при этом остался исходным от Qwen3-4B, то есть рассчитанным на много языков и типов текста. Он разбивал на десятки кусков именно то, что модель пишет в каждом ответе: одну и ту же JSON-обёртку, названия компетенций, типовые формулировки оценок. Кроме того, на каждом шаге генерации модель считала вероятности для 151 669 записей словаря, большинство которых в этой задаче почти не встречается. Цена здесь асимметрична. На prefill модель обраба
Что известно по теме: токены по цене, а не по частоте?
Существующие методы, такие как fast vocabulary transfer (FVT), multi-word tokenization (MWT) и in-place BPE от Liquid AI, выбирают кандидатов по частоте и работают на одном уровне. VocabX меняет критерий: каждый сэкономленный токен умножается на цену поля, где он встречается (системный промпт, сообщение пользователя или ответ модели). Токен, сэкономленный в ответе, в этом кейсе весит в 7,4 раза больше, чем во входе. Работа идёт сразу на двух слоях: суб-словном и мультисловном, где повторяющиеся фрагменты превращаются в один макро-токен. Для поиска таких фрагментов использую
Что известно по теме: макрос, который съел решение модели?
Для замера обучили семь версий грейдера на одной базе, данных, рецепте и seed. Отличался только токенизатор. Все прогнали по 500 одинаковых запросов на RTX 5090 с vLLM, стоимость считали по измеренному времени. Первая версия слила оценку каждой компетенции с окружающим JSON в один макро-токен. Она была самой компактной (минус 73,3% стоимости), но качество просело до 0,689 при 0,703 у продакшен-версии. Оценка внутри макро превращала каждую комбинацию оценки и структуры в отдельный вариант токена, и модель выбирала всё одним шагом. Отдельный токен под оценку стоил двух лишних
Внедряйте ИИ быстрее рынка вместе с инженерами и фаундерами
Внутри Vibe Club (hamidun.com/club): еженедельные живые мастермайнды и разборы архитектуры с Жемалом Хамидуном, закрытый Tech Radar, LMS и обновляемая база из 370+ боевых скиллов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.