Veda Sparse Attention llega a ComfyUI: MiniMax H3 más rápido
Veda publica un nodo oficial de ComfyUI que sustituye la atención de MiniMax H3 por un predictor disperso, omite el 90% de los bloques y acelera el video hasta 3 veces.
De la página del proyecto Veda: Waver-T2V-12B a 720p, 241 fotogramas. Atención completa a la izquierda, la ruta de omisión de bloques de Veda a la derecha.
Qué hace Veda
En lugar de comprimir o reentrenar el modelo, Veda aprende qué partes del mapa de atención importan. Un predictor ligero destilado puntúa los bloques de atención y conserva aproximadamente el 10% superior, y un kernel de omisión de bloques recupera solo los bloques K/V seleccionados. Como cambia la forma en que se calcula la atención y no los pesos en sí, se mantiene compatible con cualquier LoRA y con checkpoints de MiniMax H3 ajustados o cuantizados.
La página del proyecto describe el método en tres etapas: la atención completa con max-pooling proporciona una distribución docente a nivel de bloque, un estimador de Triplet Pooling con proyecciones Q/K por cabeza reconstruye esa distribución, y una selección top-k consciente de las cabezas emite la máscara de bloques que sigue el kernel. La geometría de bloques por capa y por cabeza se elige para encajar cabezas espaciales y temporales heterogéneas dentro de un presupuesto de hardware fijo.
En MiniMax H3, el predictor publicado se entrena con el Turbo LoRA de 8 pasos. El repositorio señala que el checkpoint es agnóstico a la modalidad y al número de pasos: se aplica a T2VA, FL2VA y R2VA, con cualquier número de pasos de muestreo, y se ha anunciado un ajuste fino específico para R2VA en una futura versión.
El nodo de ComfyUI
El nodo es deliberadamente pequeño: MODEL de entrada, MODEL de salida. Se instala como una anulación de atención, por lo que va en el cable MODEL después del modelo y de cualquier cargador de LoRA, y justo antes del guía o del muestreador. Omitirlo con Ctrl+B renderiza la misma semilla con atención completa para una comparación directa.
| Entrada | Predeterminado | Descripción |
|---|---|---|
generated_sparsity | 90% | Dispersión de la atención del video generado. Un número entero como 24 conserva exactamente esa cantidad de bloques clave de 128 tokens. |
reference_sparsity | 90% | Lo mismo para los tokens de referencia: primeros y últimos fotogramas, fotogramas guía, imágenes y videos de referencia. 0% les da atención completa. |
full_attention_layers | vacío | Bloques DiT (con base 0) que mantienen atención completa, por ejemplo 0, 1, 47-49. |
full_attention_steps | vacío | Pasos de muestreo (con base 0) que mantienen atención completa. |
verbose | desactivado | Reporta el tiempo de atención por fase, el número de llamadas y los detalles del predictor después de cada ejecución. |
Tras una ejecución, el nodo imprime lo que realmente hizo:
Veda done · Triton INT8 (SM120)
Video: 1344x768 · 5.2 s
Attention computed: 10.9% of full attention (89.1% skipped)Si un kernel no puede ejecutarse en la GPU actual, el nodo lo indica y el modelo recurre a su propia atención para esa ejecución en lugar de producir un render defectuoso.
Rendimiento
T2VA a 1344x768, 124 fotogramas (5.2 s), Turbo LoRA de 8 pasos y 90% de dispersión, medido en una RTX 5070 de 12 GB con Windows 11:
| Ruta de atención | Por paso | 8 pasos | Atención por paso |
|---|---|---|---|
| ComfyUI predeterminado | 40.7 s | 342 s | 31.1 s |
ComfyUI --use-sage-attention | 24.8 s | 231 s | 15.2 s |
| Veda dispersa INT8 | 14.0 s | 130 s | 4.41 s |
Eso supone aproximadamente 2.9x de extremo a extremo y 7.1x solo en la atención, y la diferencia se amplía con la duración del clip. Una sola capa de atención con 104k tokens y 90% de dispersión tarda 528 ms frente a 11.8 s con atención completa.
Veda con 95% de dispersión. El proyecto Veda reporta una aceleración de extremo a extremo de 5.1x en Waver-T2V-12B a 720p y 241 fotogramas, de 19.4 minutos a 3.8 minutos.
El repositorio del predictor añade aceleraciones de extremo a extremo sobre su propia línea base de atención completa, todas con 10% de atención conservada y el Turbo LoRA:
| GPU | Clip | Aceleración de atención | Aceleración de extremo a extremo |
|---|---|---|---|
| RTX PRO 6000 Blackwell | 16:9 · 14.4 s | 6.79x | 3.12x |
| RTX 4090 | 16:9 · 5.17 s | 4.75x | 1.77x |
| RTX 4090 | 16:9 · 10.1 s | 6.22x | 2.42x |
| RTX 4090 | 16:9 · 14.4 s | 6.31x | 2.82x |
Atención completa a la izquierda y Veda a la derecha, con el mismo prompt, la misma semilla y el mismo Turbo LoRA, generados en una sola RTX PRO 6000 Blackwell.
Soporte de hardware
Un único kernel Triton cubre todas las GPU NVIDIA desde SM80 en adelante en Windows y Linux, y Apple silicon se ejecuta mediante MLX. A las tarjetas sin un kernel compatible se les indica esto, y el modelo conserva su propia atención.
| Hardware | Estado |
|---|---|
| RTX 30 / A100 / RTX 40 / L40 (sm80-89) | ruta de código lista, aún no verificada por los autores |
| H100 / H200 (sm90) | ruta de código lista, aún no verificada por los autores |
| B200 / B300 (sm100 / sm103) | ruta de código lista, aún no verificada por los autores |
| RTX 50, RTX PRO 6000 Blackwell (sm120) | verificada: RTX 5070, Windows 11 |
| DGX Spark / GB10 (sm121) | ruta de código lista, aún no verificada por los autores |
| Apple silicon (serie M) | verificada: M3 Pro, macOS 15 |
Primeros Pasos
Veda requiere ComfyUI 0.38.0 o superior. Instala el nodo desde el Administrador de ComfyUI buscando "Veda", o desde la CLI:
comfy node install veda-sparse-attentionLuego coloca el predictor de 275 MB en ComfyUI/models/veda/:
hf download Veda-Sparse/Minimax-H3-T2VA-Veda-8NFE-600Step-Preview \
minimax_h3_t2va_veda_8nfe_600step_preview_fp8.safetensors \
--local-dir ComfyUI/models/vedaEl nodo no descarga nada por sí mismo. La ruta más sencilla es abrir Flujo de trabajo -> Explorar plantillas -> Veda-on-ComfyUI y elegir una plantilla, que ofrece el predictor en el diálogo de modelos faltantes de ComfyUI. El repositorio incluye dos flujos de trabajo de ejemplo:
Disponibilidad
El nodo está en el Comfy Registry como veda-sparse-attention con el código fuente en veda-sparse/Veda-on-ComfyUI. El checkpoint del predictor se encuentra en Veda-Sparse/Minimax-H3-T2VA-Veda-8NFE-600Step-Preview, y el código de entrenamiento está en veda-sparse/Miowtion. El predictor publicado está etiquetado como vista previa, entrenado para 1344x768, 768x1344, 768x768 y 1024x768 a 5, 10 y 14 segundos con el Turbo LoRA de 8 pasos; otros tamaños recurren al plan de bloques entrenado más cercano y deben compararse con la atención completa.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.