LightVAE : décodage VAE vidéo plus rapide pour Wan et H3
ModelTC publie LightVAE, des décodeurs VAE vidéo compressés pour Wan2.1, Wan2.2 et MiniMax-H3 qui conservent l'interface latente d'origine, jusqu'à 2,94x plus rapides dans ComfyUI.
Extrait du référentiel du projet : le VAE Wan2.1 aux côtés de Turbo-VAED, Flash-VAED et LightVAE.
Ce que fait LightVAE
Le décodage VAE vidéo représente une part importante du coût d'une génération vidéo : un clip latent doit être reconverti en centaines d'images à chaque fois. LightVAE garde la tâche du décodeur identique et réduit la taille du réseau qui l'exécute :
- LightVAE-Pro utilise des convolutions temporelles de rang faible à la profondeur d'origine du décodeur, la fidélité de reconstruction reste donc proche de l'original.
- LightVAE-Lite ajoute un élagage par blocs, échangeant un peu de fidélité contre davantage de vitesse.
- Interface latente d'origine. Les modèles Wan conservent leur propre encodeur non compressé, un flux de travail existant ne remplace donc que le côté décodage. MiniMax-H3 reçoit à la fois un décodeur élagué et un encodeur Lite distinct.
Tableau 1 de l'article : débit du décodeur en fonction du PSNR de reconstruction.
Vitesse de décodage
Mesurée par les auteurs dans ComfyUI sur un H200 en 768 x 1344, taille de lot 1, avec 125 images pour Wan et 124 pour H3, un échauffement et la médiane de trois exécutions :
| Backbone | VAE d'origine | LightVAE-Pro | LightVAE-Lite |
|---|---|---|---|
| Wan2.1 | 6,844 s / 18,26 FPS | 3,754 s / 33,30 FPS (1,82x) | 2,330 s / 53,64 FPS (2,94x) |
| Wan2.2 | 6,886 s / 18,15 FPS | 4,420 s / 28,28 FPS (1,56x) | 2,999 s / 41,68 FPS (2,30x) |
| MiniMax-H3 | 6,303 s / 19,67 FPS | non fourni | 3,574 s / 34,69 FPS (1,76x) |
La mesure ne couvre que VAE.decode synchronisé sur GPU : il s'agit donc d'une accélération du décodage, et non d'une accélération de la génération complète. LightVAE ne réduit pas le coût en mémoire du modèle de diffusion ni celui de l'encodeur de texte.
Choisir un checkpoint
| Modèle de génération | Décodeur LightVAE | Encodeur |
|---|---|---|
| Wan2.1 / Wan2.2 14B | lightvae-{pro,lite}-wan21-decoder-comfy.safetensors | VAE Wan2.1 d'origine |
| Wan2.2 5B TI2V | lightvae-{pro,lite}-wan22-decoder-comfy.safetensors | VAE Wan2.2 d'origine |
| MiniMax-H3 | lightvae-lite-h3-decoder-comfy.safetensors | lightvae-lite-h3-encoder-comfy.safetensors ou le VAE vidéo H3 d'origine |
Wan2.2 14B utilise le VAE Wan2.1 (16 canaux latents) tandis que le modèle 5B utilise le VAE Wan2.2 (48 canaux) : le choix n'est donc pas libre. Les encodeurs Wan et le VAE audio H3 restent inchangés dans toutes les configurations.
Utilisation dans ComfyUI
python comfyui/install.py --comfy-root /path/to/ComfyUI copie l'adaptateur vers ComfyUI/custom_nodes/ComfyUI-LightVAE/, et les poids *-comfy.safetensors vont dans ComfyUI/models/vae/LightVAE/. Le nœud est Load LightVAE (TLR), et le point important est que les exports packagés remplacent un Load VAE normal, et non le chemin standard du VAELoader :
- Conservez le nœud Load VAE d'origine et connectez-le au
base_vaede LightVAE. - Sélectionnez le décodeur Pro ou Lite correspondant à votre backbone et laissez
encoder = none(Wan), ou sélectionnez les deux fichiers H3 Lite. - Connectez la sortie
VAEde LightVAE aux nœuds d'encodage et de décodage du flux de travail.
Pour Wan, seul le côté décodage change, et le conditionnement de référence continue d'utiliser l'encodeur d'origine. Pour H3, l'encodeur Lite optionnel remplace à la fois le chemin d'encodage de référence et le décodage, et aucun VAE vidéo d'origine n'est nécessaire dans cette configuration. Régler les deux sélections sur none restaure exactement le VAE d'origine.
Le référentiel fournit six flux de travail plats pour ce nœud, et ceux-ci ne nécessitent rien de plus que le cœur de ComfyUI :
| Flux de travail | Tâche | Composants LightVAE |
|---|---|---|
wan21_t2v_lightvae.json | Wan2.1 1.3B texte vers vidéo, 832x480, 81 images | décodeur wan21 Pro / Lite |
wan22_5b_t2v_lightvae.json | Wan2.2 5B texte vers vidéo, 1280x704, 121 images | décodeur wan22 Pro / Lite |
wan22_5b_i2v_lightvae.json | Wan2.2 5B image vers vidéo | décodeur wan22 Pro / Lite |
wan22_14b_i2v_lightvae.json | Wan2.2 14B image vers vidéo, deux experts | décodeur wan21 Pro / Lite |
h3_ref_image_lightvae.json | H3 image de référence vers vidéo et audio, 1344x768 | encodeur + décodeur H3 Lite |
h3_ref_video_lightvae.json | H3 vidéo de référence plus bande son vers vidéo et audio | encodeur + décodeur H3 Lite |
Les six se trouvent également dans le répertoire des flux de travail.
Prise en charge matérielle
LightVAE ne se limite pas à Hopper. Sur NVIDIA BF16 avec Triton, il utilise des noyaux fusionnés ; sans compilateur Triton fonctionnel, ou sur d'autres appareils PyTorch, les convolutions TLR restent factorisées et passent par un repli PyTorch, et il existe un chemin CPU FP32 pour le débogage. Le chemin H3 utilise des convolutions et de l'attention PyTorch plutôt que les noyaux Triton de Wan, et les auteurs précisent que la vitesse n'est pas garantie sur les familles de GPU non testées. Le nœud a été validé avec ComfyUI e8665ca sous Python 3.11, avec une génération H3 complète vérifiée en 1344x768, 362 images, 24 FPS.
Disponibilité
Poids : lightx2v/LightVAE sur Hugging Face. Code, benchmarks et flux de travail : ModelTC/LightVAE sur GitHub.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.