Компилятор Diffusion ускоряет Krea 2 Turbo на потребительских GPU
Открытый C++20 компилятор для моделей диффузии запускает Krea 2 Turbo от промпта до PNG в 2 раза быстрее, чем ComfyUI на RTX 3090 Ti. MiniMax H3 в процессе.
Krea 2 Turbo, первая цель модели изображений для компилятора. Источник: открытые веса Krea 2
Что это такое
Компилятор Diffusion принимает чекпойнт модели через специфичный для модели фронтенд в верифицированное промежуточное представление (DiffIR). Затем компилятор планирует выполнение, а общий нативный C++ рантайм реализует этот план на установленном бэкенде оборудования. Бэкенд NVIDIA использует CUDA Driver API, NVRTC, cuBLASLt, cuDNN и пользовательские ядра; скомпилированные исполняемые файлы не связываются с libtorch и не вызывают Python worker.
Проект позиционируется по отношению к обычному стеку вывода строгим образом: каждое принятие модели требует числовых контрольных точек (косинусное сходство, относительная L2, проверки на бесконечность) и проверки декодированного артефакта, а не только успешной сборки. Denoiser Krea 2 Turbo остался битово идентичным траектории создателя, и декодирование VAE прошло с косинусом 0.99999339.
Бенчмарк Krea 2 Turbo
Замороженный бенчмарк использует официальный чекпойнт Krea 2 Turbo и рецепт создателя на RTX 3090 Ti: выход 1024x1024, математика BF16, 8 шагов Euler, CFG отключен, и идентичные чекпойнт, промпт, сем и расписание для обоих запусков.
| Измерение | Нативный скомпилированный | ComfyUI/PyTorch BF16 |
|---|---|---|
| Первый холодный denoise step | 3.57 s | 28.29 s |
| Медиана горячего denoise step | 2.25 s | 2.00 s |
| Полное 8-step denoise | 19.36 s | 42.32 s |
| Tokenizer + text encoder | 2.28 s | 9.05 s |
| Декодирование VAE + PNG | 3.43 s | 8.31 s |
| Промпт до PNG, всего | 26.58 s | 59.14 s |
Это в 2.054 раза быстрее для всей цепочки и в 2.184 раза быстрее только на цикле denoise loop. Интересная деталь заключается в том, откуда не берется ускорение: время на шаг в горячем режиме фактически немного медленнее, чем разогретый PyTorch (2.25 с против 2.00 с). Прирост достигается за счет устранения накладных расходов на прогрев, более быстрых этапов текстового энкодера и VAE, а также полного удаления Python из цикла. Сравнительным эталоном является стандартное ComfyUI выполнение в режиме eager, не torch.compile, что README отмечает как отдельный сопоставимый бенчмарк.
Фреймворк также поддерживает каркас обучения LoRA через тот же DiffIR и рантайм, включая обратный режим автодиффа, накопление градиентов, AdamW и чекпойнт/возобновление.
MiniMax H3 в процессе
Первым фронтом для тестирования в производственном масштабе был на самом деле видео MiniMax H3, а не Krea 2. Текущий чекпойнт разработки H3 использует нативный кэш проекции ConvRot INT8 с точным вниманием cuDNN и работает в 1.717 раза быстрее на оценку каждого denoiser, чем потоковый BF16 на той же карточке. Кандидат с приближенным вниманием пересек порог времени 2x, но не прошел проверку неизменной траектории и был отклонен. Запуски полной приемки от промпта до видео все еще открыты, поэтому пока не заявлено ускорения H3 от начала до конца.
Согласно обсуждению в ежедневном резюме, поддержка H3 ConvRot INT8 является следующей целью рантайма, и запланированы хуки интеграции ComfyUI.
Доступность
Код общедоступен по адресу github.com/CodeAlexx/diffusion-compiler. Он собирается с помощью CMake 3.24+, компилятора C++20 и CUDA Toolkit плюс cuDNN для бэкенда NVIDIA. Чекпойнты моделей и сгенерированные артефакты не распространяются в репозитории; компилятор работает с локально загруженными весами. Текущий рантайм охватывает Krea 2 Turbo и путь разработки MiniMax H3.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.