Журнал · Rit.work

DLite избавляет черновую модель ИИ-агента от растущей истории

DLite использует представления основной модели вместо отдельного исторического KV-кэша и ускоряет генерацию на задачах с длинным растущим контекстом.

Rit.work
Студия разработки
19 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Небольшую черновую модель научили предлагать токены для ИИ-агента без собственной копии всей истории. Хотя препринт Shanghai Jiao Tong University, Tsinghua University и партнёров не рецензирован и все числа получили сами авторы, на агентных задачах DLite увеличил среднее число принятых токенов относительно DSpark до 70%. Для систем с длинным растущим контекстом это предлагает другой путь оптимизации: не расширять исторический KV-кэш черновика, а убрать его.

Почему история мешает черновой модели

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

Ключевая метрика здесь — среднее число токенов, принятых за одну проверку. Чем длиннее принятая последовательность и чем меньше времени тратит черновик, тем выше итоговое ускорение.

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

На агентных задачах прежние методы теряли более 80% длины принятия. Обновление и хранение KV-кэша черновой модели занимало 10–20% полной задержки. Обе проблемы возникали из-за одной архитектурной обязанности: маленькая модель пыталась самостоятельно представить историю, которую основная модель уже обработала.

Как DLite делает предсказание локальным

DLite получает скрытые представления основной модели — компактные признаки уже обработанного контекста. Вместе с ними черновик видит текущий токен и позиции, для которых нужно подготовить кандидатов. В каждом раунде он строит прогноз заново и не переносит собственный исторический KV-кэш между вызовами.

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

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

Обучить такую конструкцию напрямую оказалось трудно: основная модель предсказывает последовательно по полной истории, а DLite работает параллельно по сжатым признакам. Поэтому обучение разделили на два этапа. Сначала DLite повторяет распределение промежуточной модели с такой же структурой, но доступом к истории; затем промежуточную модель убирают и выравнивают черновик с основной.

Когда результат меняет планы по инфраструктуре

На SWE-bench связка с Qwen3-4B работала в 2,68 раза быстрее обычного декодирования; DSpark в тех же условиях дал ускорение в 1,64 раза. На длинном контексте DLite также опередил DSpark по скорости и длине принятия, а преимущество сохранилось при росте числа одновременных запросов.

Проверка охватила Qwen3-4B и Qwen3-8B, общие задачи, длинный контекст и четыре набора агентных задач. DLite сравнивали с EAGLE-3, DFlash, DFlow и DSpark, а серверные замеры проводили на NVIDIA H800. Это задаёт практическую границу результата: работа показывает устойчивую закономерность на двух близких моделях и одной аппаратной платформе, а не готовый коэффициент ускорения для любого стека.

Для команды, которая уже использует спекулятивное декодирование в агенте, работа меняет направление эксперимента. Если длина принятия падает по мере роста контекста или обслуживание KV-кэша черновика заметно в профиле задержки, стоит проверять передачу скрытых представлений основной модели вместо дальнейшей настройки размера исторического окна.

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

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

Источники

Иллюстрация: рисунок из статьи «DLite: History-free Speculative Decoding for Agentic AI», Jiaming Xu, Hanzhen Wang, Tianlang Zhao и др., CC BY 4.0

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу