ArtificialGuyBR

Home / Blog / AI video

HunyuanVideo: FP8 vs BF16, ComfyUI y LoRA

Elige el archivo de modelo HunyuanVideo adecuado para tu GPU, configura ComfyUI y entrena un LoRA de vídeo.

5 sources cited AI video

HunyuanVideo: FP8 vs BF16, ComfyUI y LoRA

TL;DR

  • Usa el UNET FP8 (pruned) si tienes ≤24 GB de VRAM; el UNET BF16 fuerza block-swapping incluso en una 4090.
  • En ComfyUI nativo, carga hunyuan_video_t2v_720p_bf16.safetensors como modelo de difusión, clip_l.safetensors + llava_llama3_fp8_scaled.safetensors como codificadores de texto, y hunyuan_video_vae_bf16.safetensors como VAE.
  • No actives --highvram — fija el CLIP en la GPU y anula la descarga a CPU.
  • El entrenamiento de LoRA funciona en Linux vía diffusion-pipe (config.toml); DeepSpeed en Windows está roto — entrena en WSL2 o en una VM.

¿Qué archivo de modelo de HunyuanVideo debo descargar para mi VRAM?

UNET FP8 para ≤24 GB de VRAM; UNET BF16 para tarjetas con mucha VRAM. La tarjeta oficial del modelo de Tencent indica 60 GB de VRAM mínimos para generación a 720p con el modelo base. La variante BF16 supera eso, así que ComfyUI hará block-swap a la RAM del sistema — la guía de Civitai afirma explícitamente que "Incluso los usuarios de 4090 acabarán haciendo block swapping a la CPU si se usa el modelo BF16".

ComponenteArchivo recomendado (≤24 GB)Alternativa (48 GB+)
UNETFP8 pruned (Civitai 1356617)BF16 full (Civitai 1360886)
CLIP-LFP32 pruned (Zer0Int Improved Text)FP32 full vision (Base ViT)
Codificador de textollava_llama3_fp8_scaled.safetensorsFP32 uncensored
VAEBF16 pruned (Civitai 1489354)FP32 full (Civitai 1356987)

[1] https://huggingface.co/tencent/HunyuanVideo [2] https://civitai.com/articles/13522

Catálogo completo de archivos de modelo con IDs de Civitai

ModeloID de CivitaiPrecisiónEtiqueta de tamañoURL de descarga
UNET FP8 (pruned)1356617FP8prunedhttps://civitai.com/api/download/models/1356617?type=Model&format=SafeTensor&size=pruned&fp=fp8
UNET BF16 (full)1360886BF16fullhttps://civitai.com/api/download/models/1360886?type=Model&format=SafeTensor&size=full&fp=bf16
VAE FP8 (full)1356700FP8fullhttps://civitai.com/api/download/models/1356700?type=Model&format=SafeTensor&size=full&fp=fp8
VAE BF16 (pruned)1489354BF16prunedhttps://civitai.com/api/download/models/1489354?type=Model&format=SafeTensor&size=pruned&fp=bf16
VAE FP32 (full)1356987FP32fullhttps://civitai.com/api/download/models/1356987?type=Model&format=SafeTensor&size=full&fp=fp32
CLIP-L pruned FP32 (Zer0Int Improved Text)1172273FP32prunedhttps://civitai.com/api/download/models/1172273?type=Model&format=SafeTensor&size=pruned&fp=fp32
CLIP-L full FP32 (Base ViT)N/AFP32fullhttps://huggingface.co/openai/clip-vit-large-patch14/blob/main/model.safetensors
CLIP-L FP32 (Zer0Int Gated-Balanced)N/AFP32fullhttps://huggingface.co/zer0int/CLIP-Registers-Gated_MLP-ViT-L-14/blob/main/ViT-L-14-REG-GATED-balanced-ckpt12.safetensors
CLIP-L FP32 (AbstractPhil Sim4+ViT)1377716FP32fullhttps://civitai.com/api/download/models/1377716?type=Model&format=SafeTensor&size=full&fp=fp32
Codificador de texto FP32 uncensored (pruned)1648387FP32prunedhttps://civitai.com/api/download/models/1648387?type=Model&format=SafeTensor&size=pruned&fp=fp32
Codificador de texto BF16 uncensored (pruned)1648546BF16prunedhttps://civitai.com/api/download/models/1648546?type=Model&format=SafeTensor&size=pruned&fp=bf16

Fuente: https://civitai.com/articles/13522


¿Por qué el UNET BF16 hace block-swap en una 4090?

Los pesos del UNET BF16 son el modelo a tamaño completo. Con el VAE, dos codificadores de texto y las activaciones, la memoria de GPU pico supera la VRAM disponible. ComfyUI entonces descarga bloques del transformer a la CPU (block-swapping), lo que añade latencia por paso. El UNET FP8 es la versión cuantizada, así que toda la pila del modelo cabe en 24 GB con espacio para las activaciones — sin necesidad de descarga.

Mecanismo: El repositorio oficial de HunyuanVideo indica 60 GB de VRAM mínimos para el modelo base a 720p. Una 4090 tiene 24 GB de VRAM, así que el modelo BF16 completo no cabe. El block-swapping de ComfyUI mueve capas del transformer entre CPU y GPU en cada pasada forward, añadiendo ~2-3× de latencia por paso. El UNET FP8 pruned reduce la memoria de pesos en ~50%, dejando la pila total por debajo de 24 GB.


¿Qué archivos de modelo van en cada carpeta de ComfyUI?

El flujo de trabajo nativo de ComfyUI (anunciado el 20 de diciembre de 2024) espera cuatro archivos en carpetas específicas:

CarpetaNombre de archivoFunción
models/diffusion_modelshunyuan_video_t2v_720p_bf16.safetensorsUNET (transformer de difusión)
models/text_encodersclip_l.safetensorsCodificador de imagen CLIP-L
models/text_encodersllava_llama3_fp8_scaled.safetensorsCodificador de texto MLLM (FP8)
models/vaehunyuan_video_vae_bf16.safetensorsDecodificador VAE 3D

Fuente: https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui


¿Debo usar el flag --highvram?

No. El flag --highvram indica al lanzador que mantenga todos los modelos en la memoria de GPU. Para usuarios con ≤24 GB de VRAM esto fuerza el CLIP y el codificador de texto a la GPU, sin dejar espacio para las activaciones del UNET. La guía de Civitai es explícita: "NO USES EL FLAG HIGHVRAM; si lo activas forzarás el CLIP a la GPU. Usuarios normales, NO USEN ESTE FLAG".

Mecanismo: --highvram desactiva el comportamiento predeterminado de descarga a CPU. El CLIP es pequeño (~1 GB) pero al fijarlo en la GPU reduce el presupuesto de activaciones del UNET de 13 B de parámetros. Sin --highvram, ComfyUI descarga el CLIP y el codificador de texto a la CPU automáticamente, manteniendo en la GPU solo los bloques activos del UNET.


¿Qué hacen --fp32-text-enc y --fp32-vae?

Anulan el dtype FP16 predeterminado de carga para el codificador de texto y el VAE, respectivamente. Sin ellos, ComfyUI convierte los pesos FP32 a FP16 al cargar. Los flags se pasan al lanzar:

python main.py --fp32-text-enc --fp32-vae --use-sage-attention

Mecanismo: En la CPU, la aritmética FP16 se emula (convirtiendo a FP32), así que los pesos FP32 no sufren penalización de velocidad y pueden ser más rápidos que el FP16 emulado. Los flags fijan el dtype en el momento de cargar el modelo; el dispositivo de descarga (CPU) luego computa a esa precisión. El tiempo de carga aumenta ligeramente por los tensores de pesos más grandes.


¿Cómo entreno un LoRA de HunyuanVideo?

El entrenamiento usa diffusion-pipe con un config.toml que apunta a los archivos del modelo:

[model]
type = 'hunyuan-video'
transformer_path = '/path/to/hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors'
vae_path = '/path/to/hunyuan_video_vae_bf16.safetensors'
llm_path = '/path/to/llm'
clip_path = '/path/to/clip'

Un usuario reportó ~20 GB de VRAM a resolución de 768 px en Linux. DeepSpeed en Windows no funciona — "no puedo descargar deepspeed en windows 10" y "deepspeed en windows parece un agujero sin fondo" según comentarios de la comunidad. Entrena en WSL2 o en una VM Linux.

Ejemplo práctico: config.toml de entrenamiento para 768 px en Linux

[model]
type = 'hunyuan-video'
transformer_path = '/mnt/data/models/hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors'
vae_path = '/mnt/data/models/hunyuan_video_vae_bf16.safetensors'
llm_path = '/mnt/data/models/llava_llama3_fp8_scaled'
clip_path = '/mnt/data/models/clip_l'

[train]
resolution = 768
batch_size = 1
learning_rate = 1e-4
max_steps = 2000
mixed_precision = 'fp16'
gradient_accumulation_steps = 4

Notas de reportes de la comunidad:

  • Las rutas usan el prefijo /mnt/c/ en WSL2 para referenciar la unidad C: de Windows (p. ej., /mnt/c/Users/name/models/...)
  • La resolución de 768 px consumió ~20 GB de VRAM en una máquina Linux (dato único)
  • El nombre de archivo hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors aparece en el ejemplo de configuración de entrenamiento, pero no se verificó de forma independiente en HuggingFace

Fuente: https://civitai.com/articles/9798/training-a-lora-for-hunyuan-video-on-windows (comentarios de ymz0023432, jhnprst2150)


¿Cómo uso un LoRA entrenado en ComfyUI?

Añade un nodo Load LoRA entre los nodos Load Diffusion Model y Sampler / CLIP / Schedule. Los pesos del LoRA se aplican al modelo de difusión antes del muestreo. Un usuario confirmó: "solo añade el nodo Load Lora entre el LoadDiffusionModel y los nodos Sampler/Clip/Schedule. Al menos parece funcionar y entrega un vídeo diferente".

Punto de inserción del LoRA en el flujo nativo

Load Diffusion Model → Load LoRA → Sampler / CLIP / Schedule → VAE Decode

Fuente: https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentario de la comunidad de jhnprst2150)


Errores comunes y soluciones

SíntomaCausaSolución
OOM / block-swap en tarjeta de 24 GBUso del UNET BF16Cambia al UNET FP8 (Civitai 1356617)
El CLIP se carga en la GPU en vez de la CPUFlag --highvram activadoElimina --highvram; deja que la descarga funcione
El VAE decodifica en FP16 pese a pesos FP32ComfyUI convierte el VAE FP32 a FP16Lanza con --fp32-vae
El codificador de texto es lento cuando corre descargado en la CPULa CPU emula FP16 convirtiendo a FP32, así que los pesos FP16 no aportan nada ahíAñade --fp32-text-enc; espera un tiempo de carga algo mayor a cambio de un cómputo más rápido en CPU
La instalación de DeepSpeed falla en Windows 10No hay wheels para WindowsEntrena en WSL2 / VM Linux
La decodificación del VAE falla tras una ejecución largaEl flujo predeterminado supera la VRAMBaja a 544p o menos frames; existe un flujo de 8 GB pero los comentaristas advierten "ni te molestes en probarlo con menos de 24 o 40 GB de VRAM"
Flag --bf16-unet no reconocidoEl flag no existe en ComfyUI oficialUsa la elección del archivo de modelo (safetensors FP8 vs BF16) en su lugar
Compatibilidad de Sage Attention desconocida--use-sage-attention sin verificarPrueba con y sin; puede no funcionar con la arquitectura de HunyuanVideo

Referencias: https://civitai.com/articles/13522; https://civitai.com/articles/9798 (comentarios); https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentario de KotatsuAi)


Advertencias prácticas de reportes de la comunidad

  1. El flag --bf16-unet de los scripts de ejemplo no es un flag documentado de ComfyUI. El .bat de ejemplo del artículo de Civitai incluye --bf16-unet --use-sage-attention, pero ninguno de los dos flags aparece en la documentación oficial de ComfyUI o HunyuanVideo. La precisión del modelo se controla con el archivo safetensors que cargas, no con un flag de CLI.
  1. El codificador de texto FP8 escalado requiere 24 GB de VRAM + --highvram. La fuente afirma: "Usar un TE FP8 escalado no se recomienda salvo que tengas 24 GB de VRAM y uses el flag HighVram". El TE estándar (llava_llama3_fp8_scaled.safetensors) es la variante FP8 usada en el flujo nativo de ComfyUI.
  1. El VAE FP8 no se recomienda. La fuente dice explícitamente "no recomiendo el VAE FP8" sin explicar por qué. El VAE BF16 pruned (Civitai 1489354) es la elección recomendada para la mayoría de usuarios.
  1. El entrenamiento de LoRA en Windows no es viable. DeepSpeed carece de soporte en Windows. El artículo 9798 de Civitai se titulaba "Training a LoRA for Hunyuan video on Windows" pero quedó marcado como "Reinstating soon" — los comentaristas confirmaron que el entrenamiento real se hizo en Linux.
  1. El JSON del flujo de 8 GB existe pero es impráctico. Adjunto al artículo 13522 de Civitai. Un comentarista del blog de ComfyUI advierte: "ni te molestes en probarlo con menos de 24 o 40 GB de VRAM". Espera generación muy lenta y OOM frecuentes.
  1. La identidad de la herramienta diffusion-pipe es incierta. La configuración de entrenamiento referencia diffusion-pipe con type = 'hunyuan-video'. El repositorio kohya-ss/diffusion-pipe devuelve 404 en GitHub; el repositorio principal de entrenamiento de Kohya es kohya-ss/sd-scripts. Si es un proyecto aparte, un fork o una referencia mal escrita no está verificado.
  1. Los requisitos de VRAM para entrenamiento no están bien establecidos. Un usuario reportó ~20 GB a 768 px (dato único). No existen benchmarks sistemáticos de VRAM para entrenamiento.

FAQ

¿Cuál es la VRAM mínima para HunyuanVideo?

45 GB para 544p (544×960×129 frames) según la tarjeta oficial del modelo. Con cuantización FP8 y descarga a CPU, los usuarios reportan que funciona en tarjetas de 24 GB a resolución reducida.

Fuente: https://huggingface.co/tencent/HunyuanVideo

¿Puedo ejecutar HunyuanVideo en una GPU de 8 GB?

Solo con el JSON del flujo comunitario de 8 GB (adjunto al artículo 13522 de Civitai) y descarga agresiva. Espera generación muy lenta y OOM frecuentes. Los comentaristas del blog de ComfyUI lo desaconsejan.

Fuente: https://civitai.com/articles/13522; https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentario de KotatsuAi)

¿Cuál es la diferencia entre los modos de reescritura de prompt Normal y Master?

El modo Normal mejora el seguimiento de instrucciones. El modo Master mejora la composición, la iluminación y el movimiento de cámara, pero puede perder detalles semánticos. Ambos forman parte del modelo separado Prompt Rewrite (Hunyuan-Large), no del modelo principal de difusión.

¿HunyuanVideo soporta image-to-video?

Sí — existe un modelo I2V separado en github.com/Tencent/HunyuanVideo-I2V con sus propios checkpoints. El modelo text-to-video descrito aquí es solo T2V.

Fuente: https://github.com/Tencent/HunyuanVideo

¿Dónde consigo los safetensors del UNET FP8?

Modelo 1356617 de Civitai (FP8 pruned) o el repositorio oficial de Tencent en HuggingFace (hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states_fp8.pt — convierte a safetensors).

Fuente: https://civitai.com/articles/13522; https://huggingface.co/tencent/HunyuanVideo

¿Qué flags de lanzamiento debo usar con una tarjeta de 24 GB?

python main.py --fp32-text-enc --fp32-vae --use-sage-attention

Sin --highvram, sin --bf16-unet. Carga el UNET FP8 (Civitai 1356617) y el VAE BF16 pruned (Civitai 1489354).

Fuente: https://civitai.com/articles/13522; https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui



Image placeholders