Diffusion LLMs
Генерируй всё предложение сразу, а не по одному токену
Проблема: Твоему продукту нужна LLM, которая выдаёт ответ из 400 токенов менее чем за 200мс для живого голосового агента. Лучшая авторегрессионная модель точна, но генерирует по одному токену за проход — 400 последовательных шагов — и ты никак не укладываешься в бюджет задержки, как ни батчируй. Генерация принципиально последовательна. Есть ли способ сгенерировать весь ответ параллельно?
Решение: Diffusion LLMs — параллельный denoising всей последовательности
Почти каждая LLM, которой ты пользовался — GPT, Claude, Llama — это авторегрессионная (AR) модель: она генерирует по одному токену за раз, слева направо, каждый — на основе всех предыдущих. Это по своей природе последовательно: ответ из 200 токенов требует ~200 проходов, которые нельзя распараллелить. Диффузионные языковые модели идут другим путём, заимствованным у диффузии изображений. Они стартуют с полностью замаскированной или зашумлённой последовательности и выполняют несколько шагов denoising. На каждом шаге модель предсказывает все позиции сразу (параллельное декодирование), оставляет токены, в которых уверена, и заново маскирует неуверенные для следующего прохода. Поскольку каждый токен видит обе стороны, у диффузии двунаправленный контекст, а не каузальный «только слева» контекст AR. Число шагов denoising — это регулятор: больше шагов — чище текст, но выше задержка; меньше шагов — быстрее, но грубее. В 2026 году это вышло в мейнстрим с Mercury (Inception Labs) и Gemini Diffusion, которые заявляют кратно более высокую пропускную способность, чем сопоставимые AR-модели.
Представьте это как скульптора против писателя. Авторегрессионная модель — это писатель, выводящий текст слово за словом, слева направо, без возврата. Диффузионная модель — это скульптор: она стартует с грубой мраморной глыбы (полностью замаскированной, зашумлённой последовательности) и за несколько проходов высекает весь текст — проявляя всю статую сразу и дорабатывая части, которые ещё грубы:
- 1. Старт с замаскированной / зашумлённой последовательности: Вместо продолжения пустого промпта модель начинает с последовательности нужной длины из mask-токенов («шум»). Ничего ещё не решено — каждая позиция это пробел, который нужно заполнить
- 2. Предсказать все токены одновременно: За один проход модель предсказывает распределение для каждой замаскированной позиции сразу — параллельное декодирование. Поскольку внимание двунаправленное, каждое предсказание опирается на всю последовательность, а не только на токены слева
- 3. Оставить уверенные токены, остальное заново замаскировать: Модель фиксирует предсказания с наибольшей уверенностью и заново маскирует позиции, в которых не уверена. Это встроенная ревизия: неуверенные токены получают ещё один шанс, когда вокруг них уже закреплено больше контекста
- 4. Повторить K шагов denoising: Шаги 2-3 повторяются заданное малое число раз K (часто 4-30), пока текст не стабилизируется. K — это регулятор скорость/качество: меньше шагов завершают быстрее, но оставляют более грубый текст; больше шагов его шлифуют. Общая задержка зависит от K, а не от длины вывода
Diffusion LLMs на практике
- Инференс с низкой задержкой: Агентам реального времени, автодополнению и голосовым ассистентам нужны ответы за десятки миллисекунд. Поскольку diffusion LLM сходится за небольшое фиксированное число шагов denoising, а не за один шаг на токен, модели вроде Mercury и Gemini Diffusion выдают в несколько раз больше tokens-per-second, чем сопоставимые авторегрессионные модели
- Генерация кода целыми функциями: Генерация целой функции или блока за один проход хорошо ложится на диффузию: каждый токен видит и сигнатуру выше, и return ниже, поэтому модель планирует структуру целостно, а не фиксирует ранние токены, о которых потом «жалеет». Это удачно подходит для автодополнения кода и рефакторинга
- Редактирование и заполнение текста: Заполнение пропуска в середине документа неудобно для модели «слева направо», но естественно для диффузии: двунаправленный контекст означает, что вставляемый фрагмент обусловлен и текстом до, и текстом после, давая правки, которые встают бесшовно
- Частая ошибка: Не путай текстовую диффузию с диффузионными моделями изображений (DALL-E, Stable Diffusion). Общая идея — итеративный denoising, но текстовая диффузия работает с дискретными токенами (обычно mask-and-unmask), а не с непрерывными пикселями. Также меньшее число шагов denoising не бесплатно — слишком агрессивное сокращение даёт более грубый и менее связный текст
Интересный факт: Mercury (Inception Labs, 2026) заявила генерацию более 1000 токенов в секунду на серверных GPU (железо класса H100) — примерно в 5-10 раз быстрее, чем у авторегрессионных моделей похожего размера. Ускорение почти целиком берётся из замены ~N последовательных шагов по токенам на горстку параллельных проходов denoising.
Попробуйте сами!
Исследуй интерактивную визуализацию ниже: посмотри, как замаскированная последовательность проходит denoising шаг за шагом, подвигай число шагов denoising, чтобы почувствовать компромисс скорость/качество, и устрой гонку авторегрессионной модели против диффузионной на одном и том же выводе.
Посмотри, как полностью замаскированная последовательность превращается в текст. Каждый шаг denoising предсказывает все позиции сразу и оставляет уверенные.
Частые вопросы
Что такое diffusion LLM и чем он отличается от авторегрессионной модели?
Diffusion LLM — это модель генерации текста, которая выдаёт всю последовательность сразу через итеративное удаление шума (denoising), а не предсказывает токены строго слева направо. Авторегрессионная (AR) модель генерирует по одному токену за раз, каждый — на основе всех предыдущих, что делает процесс последовательным. Диффузионная модель стартует с полностью замаскированной или зашумлённой последовательности и за несколько шагов denoising предсказывает все позиции параллельно, оставляя уверенные токены и заново маскируя неуверенные. Это делает генерацию параллелизуемой и даёт каждому токену двунаправленный контекст.
Почему diffusion LLM может иметь меньшую задержку, чем авторегрессионный?
Авторегрессионной модели нужен один проход на каждый выходной токен, поэтому ответ из 200 токенов требует ~200 последовательных шагов. Diffusion LLM предсказывает все позиции сразу на каждом шаге и сходится за фиксированное, обычно небольшое число шагов denoising (часто 4-30) независимо от длины вывода. Поскольку работа на каждом шаге параллельна по всей последовательности, общая задержка зависит от числа шагов, а не от числа токенов — поэтому модели 2026 года вроде Mercury (Inception Labs) и Gemini Diffusion заявляют кратно более высокий tokens-per-second.
Какой компромисс возникает при уменьшении числа шагов denoising?
Шаги denoising — главный регулятор качества и скорости. Больше шагов позволяют модели чаще пересматривать неуверенные токены, давая более чистый и связный текст, но дольше. Меньше шагов — быстрее, но грубее: возможны грамматические сбои или несвязность, потому что токены зафиксированы до того, как контекст полностью стабилизировался. Искусство в том, чтобы выбрать минимальное число шагов, всё ещё удовлетворяющее планке качества для задачи — так же, как диффузия изображений меняет число шагов сэмплера на детализацию.
Попробуй сам
Интерактивное демо этой техники
Выдать длинный ответ (~400 токенов) для голосового агента реального времени с бюджетом задержки 200мс
AR-модель делает один проход на каждый из ~400 токенов — это ~400 последовательных шагов, которые нельзя распараллелить. Даже при быстром железе суммарная задержка составляет ~1900мс, что почти в 10 раз превышает бюджет 200мс. Качество текста высокое, но для живого голосового агента это неприемлемо: пользователь слышит долгую паузу. Батчинг не помогает — он повышает пропускную способность, но не уменьшает задержку одного длинного ответа.
Diffusion LLM денойзит всю последовательность за 8 параллельных шагов вместо ~400 последовательных. Поскольку задержка зависит от числа шагов, а не от длины вывода, тот же ответ из ~400 токенов формируется за ~170мс — внутри бюджета 200мс. Двунаправленный контекст и re-masking держат связность близко к AR при небольшом числе шагов. Для голосового агента реального времени это решающее преимущество: длинный ответ выдаётся без заметной паузы.
Заменяя ~N последовательных проходов по токенам на горстку параллельных шагов denoising, diffusion LLM делает задержку зависимой от числа шагов, а не от длины вывода — чем длиннее ответ, тем больше выигрыш.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения