Новый модуль для диффузионных LLM
В репозиторий проекта SGLang (sgl-project/sglang) был добавлен pull-запрос, описывающий интеграцию модуля GFusion. Этот инструмент разработан командой GigaChat для решения специфической задачи — обучения и инференса диффузионных языковых моделей (Diffusion LLMs). В отличие от традиционных авторегрессионных моделей, DLLM используют принципы диффузионных процессов, что требует специализированных вычислительных графов.
Технические детали и оптимизации
В рамках реализации были внесены критические изменения в ядро SGLang:
- Fix: CUDA graph capture for MLA: Исправлена логика захвата CUDA-графов для механизма Multi-Head Latent Attention (MLA), что необходимо для стабильной работы с новыми типами моделей.
- Fix: eb-sampling logic: Внедрен и отлажен алгоритм EBSampling (likely "Energy-Based Sampling" или специфичный для GigaChat метод сэмплирования), который, судя по названию PR, оптимизирует процесс выбора токенов в диффузионном контексте.
Результаты тестирования
Авторы PR (пользователь perkyfever) указали в чек-листе необходимость предоставления результатов бенчмарков. Хотя полные цифры скорости и точности в превью PR не вынесены, структура запроса подразумевает сравнение с базовыми реализациями SGLang. Фокус сделан на совместимости с существующим стеком GigaChat и ускорении инференса за счет оптимизации CUDA-операций.
| Компонент | Статус/Изменение | Значение |
|---|---|---|
| GFusion | Добавлен (feat) | Поддержка архитектуры DLLM |
| EBSampling | Добавлен (feat) | Новый метод сэмплирования |
| CUDA Graphs (MLA) | Исправлен (fix) | Устранение ошибок захвата графов |
| Репозиторий | sgl-project/sglang | Star: 29.9k, Fork: 6.9k |
Почему это важно
Интеграция GFusion в SGLang открывает путь для использования более эффективных архитектур генерации текста, которые могут превосходить классические трансформеры в скорости инференса при сохранении качества. Для разработчиков, использующих SGLang, это означает возможность экспериментировать с DLLM без необходимости написания кастомных бэкендов с нуля.
Источник: Github ↗
