Diffusion 编译器加速消费级 GPU 上的 Krea 2 Turbo:比 ComfyUI 快 2 倍
开源 C++20 编译器用于 diffusion 模型,在 RTX 3090 Ti 上将 Krea 2 Turbo 提示词转 PNG 的速度比 ComfyUI 快 2 倍以上,MiniMax H3 进行中。
Krea 2 Turbo,该编译器的首个图像模型目标。来源:Krea 2 开源权重
项目介绍
Diffusion Compiler 将 model checkpoint 通过特定于模型的界面转换为经过验证的中间表示(DiffIR)。编译器随后规划执行,共享的原生 C++ 运行时将该计划降低至已安装的硬件后端。NVIDIA 后端使用 CUDA Driver API、NVRTC、cuBLASLt、cuDNN 和自定义内核;编译后的可执行文件不链接 libtorch 或调用 Python 工作进程。
该项目以严格的方式定位自己与通常的推理栈相对立:每个模型准入都需要数值门控(余弦相似度、相对 L2、非有限检查)和解码伪影的检查,而不仅仅是构建成功。Krea 2 Turbo 去噪器与创建者轨迹保持位相同,且 VAE 解码通过了余弦 0.99999339 的检查。
Krea 2 Turbo 基准测试
冻结的基准测试使用官方 Krea 2 Turbo checkpoint 和创建者配方,在 RTX 3090 Ti 上:1024x1024 输出,BF16 数学运算,8 步 Euler,CFG 禁用,以及两次运行之间相同的 checkpoint、提示词、种子和调度。
| Measurement | Native compiled | ComfyUI/PyTorch BF16 |
|---|---|---|
| Cold first denoise step | 3.57 s | 28.29 s |
| Hot denoise step median | 2.25 s | 2.00 s |
| Complete 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 倍。有趣的细节在于加速并非来自何处:每步热时间实际上比预热后的 PyTorch 稍慢(2.25 秒对比 2.00 秒)。增益来自于消除预热开销、更快的文本编码器和 VAE 阶段,以及完全从循环中移除 Python。比较对象是标准 ComfyUI 急切执行,而非 torch.compile,README 指出那将是单独的匹配基准测试。
该框架还支持通过相同的 DiffIR 和运行时进行 LoRA 训练脚手架,包括反向模式自动微分、梯度累积、AdamW 和 checkpoint/恢复。
MiniMax H3 进行中
首个生产规模验证前端实际上是 MiniMax H3 视频,而非 Krea 2。当前 H3 开发 checkpoint 使用原生 ConvRot INT8 投影缓存,带有精确的 cuDNN 注意力,并在同一张卡片上比流式传输 BF16 每去噪器评估快 1.717 倍。一个近似注意力候选者超过了 2 倍时间门槛,但未能通过不变轨迹门控并被拒绝。完整的提示词到视频接受运行仍然开放,因此尚未声称端到端 H3 加速。
根据每日总结讨论,H3 ConvRot INT8 支持是下一个运行时目标,并计划了 ComfyUI 集成约束。
可用性
代码公开在 github.com/CodeAlexx/diffusion-compiler。它使用 CMake 3.24+、C++20 编译器和 CUDA Toolkit 加上 cuDNN 用于 NVIDIA 后端进行构建。模型 checkpoint 和已生成产物不在仓库中分发;编译器针对本地下载的权重工作。当前运行时覆盖 Krea 2 Turbo 和 MiniMax H3 开发路径。
评论
使用 GitHub 登录后即可参与讨论。