Команда GigaChat представила GFusion — диффузионную языковую модель, ускоряющую генерацию текста за счет параллельного восстановления блоков токенов.
💵 GFusion: как мы обучали диффузионную LLM в GigaChat
«А что, если LLM будет генерировать не строго по одному токену слева направо, а сразу блок текста?»
Именно эту идею мы проверяли в проекте GFusion — диффузионной языковой модели на базе GigaChat3-10B-A1.8B-base.
Отдельно хочется отметить, что этот проект начал и довёл до релиза стажер команды GigaChat Pretrain. Он прошёл весь путь от идеи и первых экспериментов до обучения модели, оптимизаций, поддержки в inference runtime и публикации в open source.
Почему это интересно?
Классические LLM генерируют текст авторегрессионно: каждый следующий токен зависит от всех предыдущих. Это устоявшийся подход, но шаги генерации модели выполняются строго последовательно.
В то же время диффузионная LLM берёт частично замаскированный блок и постепенно восстанавливает токены внутри него. За один forward pass модель может финализировать не один, а сразу несколько токенов.
Так и появляется ускорение. Чем больше токенов модель уверенно восстанавливает за один проход, тем меньше шагов ей нужно для генерации ответа.
Вместо дорогостоящего обучения с нуля мы взяли сильную авторегрессионную LLM и перевели её в диффузионный режим генерации.
Цикл обучения включал:
🔘адаптацию AR-модели к диффузионной генерации;
🔘постепенное увеличение размера блока;
🔘сравнение полностью диффузионного обучения и гибридного подхода AR+dLLM;
🔘SFT с complementary masking и стадией confidence tuning для дополнительного ускорения генерации.
Результаты:
🔘GFusion в режиме одного пользователя генерирует в среднем на 70% быстрее GigaChat3-10B-A1.8B.
🔘Даже по сравнению с GigaChat3-10B-A1.8B + MTP-головой ускорение составило около 39%.
🔘Просадка качества относительно авторегрессионной модели осталась в пределах 2–4 п.п., а сам трейд-офф между скоростью и качеством можно контролировать параметрами диффузионной генерации.
🔘Добавлена
поддержка GFusion в SGLang и реализован entropy-bounded sampling — алгоритм семплирования, который ускоряет генерацию не только GFusion, но и других диффузионных LLM.
🔘Для обучения написана и выложена в open-source своя
реализация attention на TileLang под структуру диффузионной маски и получено до +77% end-to-end ускорения относительно Flex-Attention на длинном контексте.
💡 Главный вывод GFusion состоит в том, что ускорение LLM может требовать переосмысления самого подхода к генерации. Однако, чтобы это заработало на практике, важно довести до рабочего состояния весь стек от обучения и SFT до декодинга, attention-ядер и поддержки в inference runtime.
➡️Подробности — в статье на
Habr.
➡️HF:
GFusion-10B-A1.8B-base GFusion-10B-A1.8B
➡️
GitVerse
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖