L'optimisation du VAE vidéo MiniMax H3 arrive dans ComfyUI 0.36.0
ComfyUI 0.36.0 accélère le VAE vidéo MiniMax H3 grâce aux kernels comfy-kitchen, et le référentiel officiel Comfy-Org héberge désormais le VAE int8 convrot compact.
Ce qui a changé dans le chemin du VAE
Toutes les modifications se trouvent dans comfy/ldm/minimax/vae.py et comfy/ops.py. Les kernels proviennent de comfy-kitchen #167, fusionnée le 13 septembre.
- Passes d'encodeur fusionnées.
group_norm_silu_pad3dexécute le GroupNorm par frame, le SiLU et le padding reflect/causal en une seule passe et produit du NDHWC afin que cuDNN s'exécute sans conversions de layout. La PR décrit cette étape comme sans perte et toujours active. - Accumulation fp16.
ck.fp16_conv3detck.fp16_linearutilisent des kernels CUTLASS à accumulation fp16, avec le biais et le résidu repliés dans l'épilogue. Ils s'activent sous--fasten accumulation fp16, et les lancements trop petits pour remplir le GPU sont renvoyés à cuBLAS. - Décodeur int8. Les décodeurs quantifiés en int8 passent par
ck.int8_attentionet un GEMM int8 dont l'épilogue porte le résidu, avecrms_norm/swiglurepliés dans le quantificateur d'activation et une garde de quantification de vague entre les tuiles 128x256 et 128x128. - Décodage par tuiles en lots.
tiled_decodedécode désormais jusqu'à quatre tuiles à la fois, plafonné par la mémoire libre, de sorte que les exécutions par tuiles ne se sérialisent plus frame par frame. - Compatible avec la VRAM dynamique. Les poids et les paramètres de normalisation arrivent via
cast_bias_weight, donc tout ce qui précède continue de fonctionner avec le chargement dynamique de la VRAM de ComfyUI.
Si comfy-kitchen ou un kernel spécifique est manquant, le code revient à la séquence eager précédente, donc les installations antérieures ne sont pas affectées.
Effet mesuré
La PR des kernels rapporte des appels comfy.sd.VAE de bout en bout en 1344x768 sur 362 frames, mesurés sur une 5090 :
| Chemin | Avant | Après |
|---|---|---|
| Encodage (fp16) | 46,6 s | 32,0 s |
Encodage (--fast, accumulation fp16) | 47,2 s | 21,2 s |
| Décodage (fp16) | 34,6 s | 31,1 s |
Décodage (--fast) | 27,7 s | 23,2 s |
| Décodage (int8) | 18,7 s | 12,9 s |
La qualité a été mesurée par rapport au chemin exact : 68 dB pour l'encodage à accumulation fp16 et 67,7 dB pour le décodage int8, alors que le plancher de reconstruction du VAE lui-même se situe autour de 38 dB. Un commit de suivi dans le cœur (PR #16332) réduit encore un peu l'utilisation de la mémoire du VAE MiniMax.
Le VAE int8 convrot rejoint le référentiel officiel
Le fichier à utiliser est vae/minimax_h3_video_vae_int8_convrot.safetensors dans Comfy-Org/MiniMax-H3, téléversé le 15 septembre pour 2,81 GB. Interrogé dans le fil Reddit sur ce qui le distingue du VAE int8 expérimental antérieur (3,17 GB) qui circulait pour H3, Kijai a répondu que l'encodeur est désormais stocké en fp16 au lieu de fp32 : il tournait de toute façon en fp16 par défaut, donc les deux décodent à l'identique et c'est le fichier le plus petit qu'il faut conserver.
Une génération référence-vers-vidéo MiniMax H3 avec trois images de référence à la résolution maximale permise par la carte de l'auteur, publiée en complément du rapport Reddit sur le VAE mis à jour (u/Chiduck99).
Ce que les utilisateurs constatent sur les cartes plus modestes
Le changement a été révélé par un rapport Reddit d'un utilisateur d'RTX 3060 12 GB dont le plafond précédent avec H3 était de 0,8 MP à 10 secondes. Avec le VAE mis à jour sur la même carte, il rapporte 1 MP à 10 secondes et 0,7 MP à 15 secondes, sans perte de qualité visible. La réponse de Kijai dans ce fil relie le téléversement au travail sur les kernels : les kernels personnalisés optimisés de comfy-kitchen accélèrent aussi bien le VAE int8 que le VAE fp16 d'origine, et ils sont toujours actifs tant que ComfyUI et comfy-kitchen sont à jour.
Disponibilité
Les deux parties font partie de ComfyUI 0.36.0 (15 septembre). Le chemin du VAE arrive via la PR #16187 et comfy-kitchen 0.2.34 est épinglé dans le requirements.txt de ce tag (0.2.35 sur le master actuel), donc une installation mise à jour ne nécessite rien de plus. Le VAE vidéo, le VAE audio et le décodeur sont tous récupérés automatiquement par les flux de travail MiniMax H3 existants.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.