Nemotron-Labs-Diffusion: A Tri-Mode Language Model Unifying Autoregressive, Diffusion, and Self-Speculation Decoding [веса есть на HF] NVIDIA выпустили большой техрепорт про диффузионные языковые модели. Это не работа про объединённое мультимодальное понимание и генерацию в стиле BAGEL / LLaDA2.0-Uni: здесь нет генерации изображений. Но для линии диффузионных языковых моделей статья важная, потому что авторы не пытаются заменить авторегрессию диффузией (как это дедалось ранее), а объединяют авторегрессию, диффузию и самоспекуляцию в одном языковом бэкбоне. Главная идея: авторегрессионный и диффузионный лоссы не обязательно конкурируют. Авторегрессия даёт сильный лингвистический prior слева направо, а диффузия учит модель параллельно предсказывать несколько токенов. Можно попробовать получить обе плюшки обучая сразу на: • авторегрессионный лосс для предсказания следующего токена; • блочную дискретную диффузию на демаскирование токенов; • делать общий бэкбон, но разные маски внимания на инференсе. Получается три режима: 1. Авторегрессия — обычный режим слева направо, полезен для сценария с высокой параллелизуемостью запросов. 2. Диффузионная генерация — полезен когда мало параллельных запросов. Тогда блок токенов восстанавливается параллельно. 3. Самоспекулятивная генерация — диффузионная ветка предлагает несколько токенов, а ветка авторегрессионной генерации той же модели их проверяет. Отдельная “черновая” модель или дополнительная голова многотокенного предсказания не нужны. Технические детали • двухстадийное обучение: сначала 1T токенов только авторегрессии, потом 300B токенов с совместным авторегрессионно-диффузионным лоссом; • вес диффузи чуть меньше (α=0.3); • глобальное усреднение лоссов, такое чтобы случайное число замаскированных токенов не давало нестабильные градиенты; • LoRA-адаптер для диффузионной ветки: только на o_proj, около 36M обучаемых параметров; • отдельный лёгкий семплер для диффузионного режима, который учится решать, какие замаскированные позиции можно безопасно принять. Результаты сильные. Nemotron-Labs-Diffusion-8B Instruct: • авторегрессионный режим: средняя точность по набору бенчей, чуть выше Qwen3-8B; • диффузионный режим: средняя точность почти такая же при 2.57 токена за один проход; • самоспек дек: снова почти то же самое, но уже при 5.99 токена за проход; • квадратичная самоспекуляция: 6.38 токена за проход, но на практике хуже из-за менее оптимизированных ядер. Самая интересная часть для меня — анализ теоретического предела скорости. Авторы оценивают, сколько параллелизма диффузионный режим мог бы дать при оптимальном семплере. На SPEED-Bench для длины блока 32 получается 7.60x принятых токенов за шаг, а текущая линейная самоспекуляция даёт 6.82x, но из-за двух проходов реальный выигрыш ниже. То есть текущие семплеры ещё сильно недоиспользуют параллелизм диффузии. Есть и VLM версия: к тому же языковому бэкбону добавляют визуальный энкодер и MLP-проектор. На VLM бенчах Nemotron-Diffusion-VLM-8B примерно на уровне или выше LLaDA-V-8B по точности, но выигрывает по скорости, особенно на длинных ответах: линейная самоспекуляция даёт до 7.45 токена за проход для ответов длиннее 200 токенов. Важный для меня сигнал: эта работа не доказывает, что диффузионные языковые модели уже лучше авторегрессионных во всём, а то что можно совмещать генеративные парадигмы и переключаться между ними в зависимости от сценария использования LM’ки. Главное ограничение тоже понятное: хороший диффузионный семплер всё ещё открытая задача.