Проблема параллельного черновика
Спекулятивное декодирование (Speculative Decoding) уже стало стандартом для ускорения инференса больших языковых моделей (LLM). Идея проста: легковесная модель-черновик (drafter) предсказывает несколько токенов, а тяжелая целевая модель (verifier) проверяет их параллельно. Однако современные диффузионные черновики, такие как DFlash, генерируют токены в параллельном режиме, что лишает их доступа к реальным значениям предыдущих токенов внутри блока. Это разрывает внутриблочную зависимость (intra-block dependencies), снижая точность предсказаний по сравнению с авторегрессионной генерацией.
Решение: DCOCO
Авторы предлагают метод DCOCO (DFlash Contextual Corrector). Вместо того чтобы слепо принимать лучший токен для каждой позиции, DCOCO сохраняет несколько кандидатов и оценивает их контекстную совместимость с соседними позициями параллельно. Это позволяет выбрать наиболее вероятную последовательность токенов, восстанавливая логическую связь, которую терял обычный параллельный черновик, при этом добавляя минимальные вычислительные накладные расходы.
Результаты бенчмарков
Эксперименты проводились на четырех верификаторах и десяти бенчмарках. DCOCO показал наивысшую среднюю пропускную способность (throughput) во всех конфигурациях, включая жадное (greedy) и стохастическое декодирование, а также режимы с расширенным рассуждением (extended reasoning). Ключевые метрики эффективности представлены ниже:
| Метрика / Условие | Результат DCOCO | Сравнение / Примечание |
|---|---|---|
| Ускорение (Speedup) | До 6.6x | По сравнению с ванильным (базовым) декодированием |
| Конкурентная нагрузка (4-32 запроса) | Превосходство на 6-23% | Над сильнейшим конкурентом; другие корректоры падали ниже уровня DFlash без коррекции |
| Стабильность | Высокая | Преимущество сохраняется во всех режимах декодирования и нагрузок |
Почему это важно
DCOCO демонстрирует, что восстановление контекстной информации внутри блока черновика возможно без отказа от параллелизма. Это критически важно для продакшн-систем: при высокой конкурентной нагрузке (concurrent serving) метод не только не теряет скорость, но и обходит конкурентов, которые в таких условиях деградируют. Технология позволяет получить максимальную скорость инференса, не жертвуя качеством генерации текста.
Источник: arXiv cs.CL ↗
