Журнал · Rit.work

Duet ускоряет блоковые диффузионные LLM без дообучения

Duet сокращает повторные вычисления по длинному контексту и текущему блоку, ускоряя генерацию блоковых диффузионных моделей без дообучения.

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

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

Блоковые диффузионные языковые модели научились ускорять без дообучения и с сопоставимым качеством ответов. В препринте команды Nanjing University, который пока не рецензирован и содержит замеры самих авторов, Duet ускорил полную генерацию на SDAR-8B-Chat-b32 в 2,41 раза при контексте на 32 тысячи токенов. Метод можно добавить на этапе инференса, не меняя веса модели.

Duet убирает лишнюю работу по двум направлениям

Блоковая диффузионная модель генерирует не следующий токен, а сразу блок позиций. Сначала позиции скрыты, затем модель за несколько проходов уточняет их, пока не заполнит весь блок. Готовый блок добавляется к историческому префиксу, после чего начинается следующий.

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

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

При переходе к следующему блоку Duet снова просматривает полный префикс и формирует новый набор. Поэтому метод сокращает объём данных, к которым модель обращается при вычислении внимания, но не уменьшает полный исторический кэш в памяти.

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

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

Разреживание лучше работает на длинном контексте

На LLaDA2.1-mini полная генерация ускорилась в 1,34 раза при самом длинном проверенном контексте. SDAR выиграла больше, потому что в её конфигурации Duet раньше отсекает позиции и сокращает более крупную часть вычислений. Время отдельного шага уменьшилось сильнее, чем полное время ответа: первый проход каждого блока остаётся плотным.

Основание для разреживания префикса оказалось устойчивым. Набор из 256 исторических позиций сохранял около 85% массы внимания на протяжении декодирования блока, а её изменение укладывалось примерно в 2,5 процентного пункта. Значит, дорогой поиск подходящего контекста не приходится повторять после каждого уточнения.

Качество проверяли на LongBench, GSM8K, MMLU, MATH-500 и HumanEval. На SDAR средняя оценка F1 в LongBench отстала от плотного инференса на 0,44 пункта. На коротких задачах оценки как росли, так и снижались, поэтому Duet нельзя считать нейтральным к качеству для любого типа запросов.

Работа меняет планы только для команд с блоковыми моделями

Duet проверили на LLaDA2.1-mini и SDAR-8B-Chat-b32, а сравнивали с обычным плотным инференсом, FOCUS и LoSA. Первый конкурент сокращает вычисления по позициям текущего блока, второй разреживает исторический префикс. Duet объединяет оба направления и тем самым лучше переводит ускорение отдельного шага в сокращение полного времени генерации.

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

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

Если узкое место связано с объёмом памяти под полный KV-кэш, Duet его не устраняет: исторические состояния всё равно хранятся для выбора при переходе к новому блоку. Метод нацелен прежде всего на задержку вычислений, которая растёт вместе с контекстом.

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

Источники

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

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

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

Rit.work

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

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

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