Журнал · Rit.work

WaveFront Decoding ускоряет циклические LLM без нового обучения

Новый граф декодирования совмещает подготовку и проверку токенов, ускоряя Ouro и Huginn без изменения весов модели.

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

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

Генерацию в циклических языковых моделях ускорили, совместив подготовку следующих токенов с проверкой предыдущих. В препринте Hyeongju Ha и Jae-Joon Kim из Seoul National University, который не прошёл рецензирование, приведены собственные замеры: на Huginn-3.5B скорость выросла в 3,54 раза. Для команд, которые рассматривают циклические LLM ради экономии параметров, задержка декодирования становится менее серьёзным препятствием.

Черновик и проверка проходят через модель одновременно

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

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

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

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

При ошибке планировщик фиксирует исправленный токен, очищает более поздние состояния и заново наращивает волну. Объём отброшенной работы ограничен её шириной, тогда как в Draft-then-Verify он зависит от длины заранее подготовленной группы.

Ускорение возникает не из-за сокращения вычислений для принятого токена. При небольших пакетах декодирование часто ограничивает пропускная способность памяти: один пакетный вызов читает общие веса один раз для нескольких позиций. WaveFront Decoding уменьшает число последовательных вызовов, хотя каждый принятый токен по-прежнему проходит полную глубину.

Ускорение зависит от модели и устройства KV-кэша

Метод проверяли на Ouro-2.6B и Huginn-3.5B во всех категориях Spec-Bench. Сравнивали с обычной авторегрессионной генерацией по одному токену и с Draft-then-Verify. Эксперименты шли на одной NVIDIA RTX A6000, с bfloat16, жадным выбором токена и единичным пользовательским пакетом.

На Ouro-2.6B генерация ускорилась в 2,42 раза, на Huginn-3.5B — в 3,54 раза относительно авторегрессионного режима. По сравнению с Draft-then-Verify обе модели обрабатывали токены в 1,27 раза быстрее. Проверка полным проходом не позволяет черновому предсказанию самостоятельно изменить результат: при несовпадении его заменяет токен полной глубины.

Главное узкое место появляется на длинном контексте. Позиции внутри волны находятся на разной глубине и обращаются к разным областям кэша ключей и значений (KV-кэша). Трафик к памяти растёт вместе с шириной волны и постепенно съедает выигрыш от пакетной обработки.

Совместное использование KV-кэша между повторными проходами подняло ускорение Huginn-3.5B до 4,81 раза. На GSM8K и MATH-500 точность отличалась от авторегрессионного режима с тем же устройством кэша не более чем на 0,70 процентного пункта. Этот вариант уже приближённый: позиции могут видеть кэш на другой стадии обновления.

Командам придётся менять контур вывода, а не обучать модель

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

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

Совместное использование KV-кэша следует считать отдельным архитектурным решением, а не обязательной частью метода. Huginn перенёс его без обучения в проведённых тестах, тогда как для Ouro простое объединение областей кэша не сохранило исходную точность. Базовый WaveFront Decoding работает и без этой оптимизации, но сильнее теряет скорость по мере роста контекста.

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

Источники

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

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

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

Rit.work

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

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

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