La optimización del VAE de vídeo MiniMax H3 llega a ComfyUI 0.36.0

ComfyUI Wikinews

ComfyUI 0.36.0 acelera el VAE de vídeo MiniMax H3 con los kernels de comfy-kitchen, y el repositorio oficial de Comfy-Org ahora aloja el compacto VAE int8 convrot.

El VAE de vídeo MiniMax H3 se reescribió en torno a los nuevos kernels de comfy-kitchen en el núcleo de ComfyUI (PR #16187, fusionado el 15 de septiembre), y el repositorio oficial Comfy-Org/MiniMax-H3 ahora incluye un compacto VAE de vídeo int8 convrot. Ambas partes se incluyen en ComfyUI 0.36.0, sin nodos que instalar y sin flujos de trabajo que recablear.

Qué cambió en la ruta del VAE

Todos los cambios están en comfy/ldm/minimax/vae.py y comfy/ops.py. Los kernels provienen de comfy-kitchen #167, fusionado el 13 de septiembre.

  • Pasadas del codificador fusionadas. group_norm_silu_pad3d ejecuta GroupNorm por fotograma, SiLU y padding reflect/causal en una sola pasada y produce NDHWC para que cuDNN se ejecute sin conversiones de diseño. El PR describe este paso como sin pérdidas y siempre activado.
  • Acumulación en fp16. ck.fp16_conv3d y ck.fp16_linear usan kernels de acumulación fp16 de CUTLASS con el bias y el residual integrados en el epílogo. Se activan con --fast usando acumulación fp16, y los lanzamientos demasiado pequeños para llenar la GPU se devuelven a cuBLAS.
  • Decodificador int8. Los decodificadores cuantizados a int8 pasan por ck.int8_attention y una GEMM int8 cuyo epílogo lleva el residual, con rms_norm/swiglu integrados en el cuantizador de activaciones y una protección de cuantización de onda entre los mosaicos de 128x256 y 128x128.
  • Decodificación por mosaicos agrupada en lotes. tiled_decode ahora decodifica hasta cuatro mosaicos a la vez, limitada por la memoria libre, de modo que las ejecuciones por mosaicos ya no se serializan fotograma a fotograma.
  • Compatible con VRAM dinámica. Los pesos y los parámetros de normalización llegan a través de cast_bias_weight, así que todo lo anterior sigue funcionando con la carga dinámica de VRAM de ComfyUI.

Si falta comfy-kitchen o un kernel específico, el código recurre a la secuencia eager anterior, por lo que las instalaciones anteriores no se ven afectadas.

Efecto medido

El PR de los kernels reporta llamadas de extremo a extremo a comfy.sd.VAE a 1344x768 en 362 fotogramas, medidas en una 5090:

RutaAntesDespués
Encode (fp16)46,6 s32,0 s
Encode (--fast, acumulación fp16)47,2 s21,2 s
Decode (fp16)34,6 s31,1 s
Decode (--fast)27,7 s23,2 s
Decode (int8)18,7 s12,9 s

La calidad se midió contra la ruta exacta: 68 dB para la codificación con acumulación fp16 y 67,7 dB para la decodificación int8, mientras que el propio suelo de reconstrucción del VAE está en torno a 38 dB. Un commit posterior del núcleo (PR #16332) reduce un poco más el uso de memoria del VAE de MiniMax.

El VAE int8 convrot se traslada al repositorio oficial

El archivo que hay que usar es vae/minimax_h3_video_vae_int8_convrot.safetensors en Comfy-Org/MiniMax-H3, subido el 15 de septiembre con 2,81 GB. Cuando se le preguntó en el hilo de Reddit en qué se diferencia del anterior VAE int8 experimental (3,17 GB) que circuló para H3, Kijai respondió que ahora el codificador se almacena en fp16 en lugar de fp32: de todos modos ya se ejecutaba en fp16 por defecto, así que ambos decodifican de forma idéntica y el archivo más pequeño es el que conviene conservar.

Salida Ref2VA de MiniMax H3 del hilo que reportó la mejora

Una ejecución de referencia a vídeo de MiniMax H3 con tres imágenes de referencia a la resolución máxima que permite la tarjeta del autor, publicada junto al reporte de Reddit sobre el VAE actualizado (u/Chiduck99).

Lo que están viendo los usuarios en tarjetas más pequeñas

El cambio salió a la luz a través de un reporte de Reddit de un usuario de una RTX 3060 de 12 GB cuyo techo anterior con H3 era de 0,8 MP a 10 segundos. Con el VAE actualizado en la misma tarjeta, reporta 1 MP a 10 segundos y 0,7 MP a 15 segundos, sin pérdida de calidad visible. La respuesta de Kijai en ese hilo vincula la subida al trabajo de los kernels: los kernels personalizados optimizados de comfy-kitchen aceleran tanto el VAE int8 como el VAE fp16 original, y están siempre activos mientras ComfyUI y comfy-kitchen estén actualizados.

Disponibilidad

Ambas partes forman parte de ComfyUI 0.36.0 (15 de septiembre). La ruta del VAE llega a través del PR #16187 y comfy-kitchen 0.2.34 está fijado en el requirements.txt de esa etiqueta (0.2.35 en el master actual), así que una instalación actualizada no necesita nada extra. El VAE de vídeo, el VAE de audio y el decodificador se detectan automáticamente en los flujos de trabajo existentes de MiniMax H3.

Comentarios

Inicia sesión con GitHub para unirte a la conversación.

Cargando comentarios…
La optimización del VAE de vídeo MiniMax H3 llega a ComfyUI 0.36.0 | ComfyUI Wiki