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/. Cet adaptateur ComfyUI couvre désormais uniquement MiniMax-H3, et les poids H3 utilisent l'élagage par blocs plutôt que TLR. Le nœud est Load H3 LightVAE, et le point important est qu'il charge les blocs conservés dans le VAE vidéo H3 natif de ComfyUI : le VAE vidéo d'origine se connecte à son base_vae et les composants Lite se choisissent ici, pas dans le nœud Load VAE standard :
- Conservez le nœud Load VAE d'origine et connectez-le au
base_vaede LightVAE. - Sélectionnez le décodeur H3 Lite et laissez
encoder = none, sauf si vous voulez aussi l'encodage Lite. - Connectez la sortie
VAEde LightVAE aux nœuds d'encodage et de décodage du flux de travail.
Pour H3, l'encodeur Lite optionnel remplace à la fois le chemin d'encodage de référence et le décodage, de sorte qu'un encodeur et un décodeur LightVAE couvrent tout le VAE. Régler les deux sélections sur none restaure exactement le VAE d'origine.
Le référentiel fournit trois flux de travail plats H3 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 |
|---|---|---|
h3_fl2v_lightvae.json | H3 première et dernière image vers vidéo, 1344x768 | décodeur H3 Lite uniquement, le VAE d'origine encode les images clés |
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 trois 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.