Compilador de Difusión Acelera Krea 2 Turbo en GPUs de Consumo
Un compilador C++20 de código abierto para modelos de difusión ejecuta Krea 2 Turbo de prompt a PNG más de 2x más rápido que ComfyUI en una RTX 3090 Ti, con MiniMax H3 en progreso.
Krea 2 Turbo, el primer objetivo de modelo de imagen del compilador. Fuente: pesos abiertos de Krea 2
Qué Es
El Compilador de Difusión toma un checkpoint de modelo a través de un frontend específico del modelo hacia una representación intermedia verificada (DiffIR). El compilador luego planea la ejecución, y un entorno nativo compartido de C++ reduce ese plan al backend de hardware instalado. El backend de NVIDIA utiliza la API CUDA Driver, NVRTC, cuBLASLt, cuDNN y kernels personalizados; los ejecutables compilados no vinculan libtorch ni llaman a un trabajador de Python.
El proyecto se posiciona contra la pila de inferencia habitual de manera estricta: cada admisión de modelo requiere puertas numéricas (similitud coseno, L2 relativa, comprobaciones de no finito) e inspección del artefacto decodificado, no solo una construcción exitosa. El denoiser de Krea 2 Turbo permaneció idéntico a nivel de bits a la trayectoria del Creador, y la Decodificación VAE pasó con coseno 0.99999339.
Benchmark de Krea 2 Turbo
El benchmark congelado utiliza el checkpoint oficial de Krea 2 Turbo y la receta del Creador en una RTX 3090 Ti: salida de 1024x1024, matemáticas BF16, 8 pasos Euler, CFG deshabilitado, y checkpoint, prompt, semilla y schedule idénticos en ambas ejecuciones.
| Medición | Compilado nativo | ComfyUI/PyTorch BF16 |
|---|---|---|
| Primer paso de denoise en frío | 3.57 s | 28.29 s |
| Mediana del paso de denoise en caliente | 2.25 s | 2.00 s |
| Denoise completo de 8 pasos | 19.36 s | 42.32 s |
| Tokenizador + codificador de texto | 2.28 s | 9.05 s |
| Decodificación VAE + PNG | 3.43 s | 8.31 s |
| De prompt a PNG, total | 26.58 s | 59.14 s |
Esto es 2.054x más rápido para toda la cadena, y 2.184x más rápido solo en el bucle de denoise. El detalle interesante es de dónde no proviene la aceleración: el tiempo por paso en caliente es en realidad ligeramente más lento que PyTorch calentado (2.25 s frente a 2.00 s). Las ganancias provienen de eliminar la sobrecarga de warmup, etapas más rápidas de codificador de texto y VAE, y eliminar Python del bucle por completo. El comparador es la ejecución estándar de ComfyUI eager, no torch.compile, lo cual el README nota sería un benchmark coincidente separado.
El framework también soporta andamiaje de entrenamiento LoRA a través del mismo DiffIR y runtime, incluyendo autodiff de modo inverso, acumulación de gradientes, AdamW, y checkpoint/reanudar.
MiniMax H3 En Progreso
El primer frontend de prueba a escala de producción fue en realidad vídeo MiniMax H3, no Krea 2. El checkpoint actual de desarrollo de H3 utiliza una caché de proyección ConvRot INT8 nativa con atención exacta de cuDNN y funciona 1.717x más rápido por evaluación de denoiser que BF16 en flujo en la misma tarjeta. Un candidato de atención aproximada cruzó la barra de tiempo de 2x pero falló la puerta de trayectoria sin cambios y fue rechazado. Las ejecuciones de aceptación completas de de prompt a vídeo aún están abiertas, por lo que no se afirma ninguna aceleración de extremo a extremo de H3 todavía.
Según la discusión del resumen diario, el soporte H3 ConvRot INT8 es el siguiente objetivo de runtime, y se planean ganchos de integración de ComfyUI.
Disponibilidad
El código es público en github.com/CodeAlexx/diffusion-compiler. Se construye con CMake 3.24+, un compilador C++20, y el CUDA Toolkit más cuDNN para el backend de NVIDIA. Los checkpoints de modelo y artefactos generados no se distribuyen en el repositorio; el compilador funciona contra pesos descargados localmente. El runtime actual cubre Krea 2 Turbo y la ruta de desarrollo de MiniMax H3.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.