Inteligencia Artificial
Cómo entrenar y utilizar los modelos de video LoRA de Hunyuan

Este artículo le mostrará cómo instalar y utilizar software basado en Windows que puede entrenar Modelos de vídeo LoRA de Hunyuan, lo que permite al usuario generar personalidades personalizadas en el modelo de base de Hunyuan Video:
Dele "click" para jugar. Ejemplos de la reciente explosión de LoRA de Hunyuan de celebridades de la comunidad civit.ai.
En este momento, las dos formas más populares de generar modelos Hunyuan LoRA localmente son:
1) La Marco basado en Docker de difusión de tuberías, que se basa en Subsistema de Windows para Linux (WSL) para manejar algunos de los procesos.
2) Afinador Musubi, una nueva incorporación al popular Koya ss Arquitectura de entrenamiento de difusión. Musubi Tuner no requiere Docker y no depende de WSL ni de otros servidores proxy basados en Linux, pero puede resultar difícil ejecutarlo en Windows.
Por lo tanto, este recorrido se centrará en Musubi Tuner y en proporcionar una solución completamente local para el entrenamiento y la generación de LoRA de Hunyuan, sin el uso de sitios web controlados por API o procesos comerciales de alquiler de GPU como Runpod.
Dele "click" para jugar. Muestras del entrenamiento de LoRA en Musubi Tuner para este artículo. Todos los permisos otorgados por la persona retratada, con el propósito de ilustrar este artículo.
REQUISITOS
La instalación requerirá como mínimo una PC con Windows 10 con una tarjeta NVIDIA serie 30+/40+ que tenga al menos 12 GB de VRAM (aunque se recomiendan 16 GB). La instalación utilizada para este artículo se probó en una máquina con 64 GB de VRAM. te RAM y una tarjeta gráfica NVIDIA 3090 con 24 GB de VRAM. Se probó en un sistema de prueba dedicado utilizando una nueva instalación de Windows 10 Professional, en una partición con más de 600 GB de espacio libre en disco.
ADVERTENCIA
La instalación de Musubi Tuner y sus requisitos previos también implica la instalación de software y paquetes enfocados al desarrollador directamente en la instalación principal de Windows de una PC. Teniendo en cuenta la instalación de ComfyUI, para las etapas finales, este proyecto requerirá alrededor de 400 a 500 gigabytes de espacio en disco. Aunque he probado el procedimiento sin incidentes varias veces en entornos de prueba de Windows 10 recién instalados, ni yo ni unite.ai somos responsables de ningún daño a los sistemas por seguir estas instrucciones. Le recomiendo que haga una copia de seguridad de todos los datos importantes antes de intentar este tipo de procedimiento de instalación.
Consideraciones
¿Es aún válido este método?
La escena de la IA generativa está avanzando muy rápido y podemos esperar métodos mejores y más optimizados de los marcos Hunyuan Video LoRA este año.
…o incluso esta semana! Mientras escribía este artículo, el desarrollador de Kohya/Musubi produjo Interfaz gráfica de usuario del sintonizador Musubi, Una sofisticada interfaz gráfica de usuario de Gradio para Musubi Tuner:

Obviamente, una interfaz gráfica de usuario fácil de usar es preferible a los archivos BAT que utilizo en esta función, una vez que musubi-tuner-gui esté funcionando. Mientras escribo, se puso en línea hace apenas cinco días y no puedo encontrar ningún relato de alguien que lo haya utilizado con éxito.
Según las publicaciones en el repositorio, la nueva GUI está destinada a implementarse directamente en el proyecto Musubi Tuner lo antes posible, lo que pondrá fin a su existencia actual como un repositorio independiente de GitHub.
Según las instrucciones de instalación actuales, la nueva interfaz gráfica de usuario se clona directamente en el entorno virtual de Musubi existente y, a pesar de muchos esfuerzos, no puedo lograr que se asocie con la instalación de Musubi existente. Esto significa que, cuando se ejecute, descubrirá que no tiene motor.
Una vez que la GUI esté integrada en Musubi Tuner, seguramente se resolverán problemas de este tipo. Aunque el autor reconoce que el nuevo proyecto es "realmente duro"Se muestra optimista respecto a su desarrollo e integración directa en Musubi Tuner.
Dados estos problemas (también relacionados con las rutas predeterminadas en el momento de la instalación y el uso de Paquete UV Python, lo que complica ciertos procedimientos en la nueva versión), probablemente tendremos que esperar un poco para que la experiencia de entrenamiento de Hunyuan Video LoRA sea más fluida. Dicho esto, ¡parece muy prometedor!
Pero si no puedes esperar y estás dispuesto a arremangarte un poco, puedes comenzar a entrenar localmente en video LoRA de Hunyuan ahora mismo.
Empecemos.
Por qué instalar Cualquier cosa ¿en Bare Metal?
(Omite este párrafo si no eres un usuario avanzado)
Los usuarios avanzados se preguntarán por qué he decidido instalar gran parte del software en la instalación básica de Windows 10 en lugar de en un entorno virtual. La razón es que el puerto esencial de Windows del sistema operativo basado en Linux Paquete Tritón Es mucho más difícil conseguir que funcione en un entorno virtual. Todas las demás instalaciones de hardware del tutorial no se pudieron instalar en un entorno virtual, ya que deben interactuar directamente con el hardware local.
Instalación de paquetes y programas necesarios
Para los programas y paquetes que deben instalarse inicialmente, el orden de instalación es importante. Comencemos.
1: Descargar Microsoft Redistributable
Descargue e instale el paquete redistribuible de Microsoft desde https://aka.ms/vs/17/release/vc_redist.x64.exe.
Esta es una instalación sencilla y rápida.

2: Instalar Visual Studio 2022
Descargue la edición comunitaria de Microsoft Visual Studio 2022 desde https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-install-visual-studio-page-cta
Inicie el instalador descargado:

No necesitamos todos los paquetes disponibles, lo que supondría una instalación pesada y prolongada. Al principio Workloads página que se abre, marca Desarrollo de escritorio con C++ (ver imagen a continuación).

Ahora haga clic en el Componentes individuales pestaña en la parte superior izquierda de la interfaz y use el cuadro de búsqueda para encontrar 'Windows SDK'.

Por defecto, sólo el SDK de Windows 11 Si está en Windows 10 (no he probado este procedimiento de instalación en Windows 11), marque la última versión de Windows 10, indicada en la imagen de arriba.
Busque 'C++ CMake' y compruebe que Herramientas C++ CMake para Windows está chequeado.

Esta instalación ocupará al menos 13 GB de espacio.

Una vez instalado Visual Studio, intentará ejecutarse en su equipo. Deje que se abra por completo. Cuando la interfaz de pantalla completa de Visual Studio esté visible, cierre el programa.
3: Instalar Visual Studio 2019
Algunos de los paquetes posteriores para Musubi esperan una versión anterior de Microsoft Visual Studio, mientras que otros necesitan una más reciente.
Por lo tanto, descargue también la edición comunitaria gratuita de Visual Studio 19 desde Microsoft (https://visualstudio.microsoft.com/vs/older-downloads/ – se requiere cuenta) o Techspot (https://www.techspot.com/downloads/7241-visual-studio-2019.html).
Instálelo con las mismas opciones que para Visual Studio 2022 (consulte el procedimiento anterior, excepto que Windows SDK ya está marcado en el instalador de Visual Studio 2019).
Verá que el instalador de Visual Studio 2019 ya tiene en cuenta la versión más nueva mientras se instala:

Cuando se complete la instalación y haya abierto y cerrado la aplicación Visual Studio 2019 instalada, abra un símbolo del sistema de Windows (escriba CMD en Iniciar búsqueda) y escriba e ingrese:
where cl
El resultado debería ser las ubicaciones conocidas de las dos ediciones de Visual Studio instaladas.

Si en cambio obtienes INFO: Could not find files for the given pattern(s), Ver el Comprobar ruta sección de este artículo a continuación y use esas instrucciones para agregar las rutas de Visual Studio relevantes al entorno de Windows.
Guarde los cambios realizados según las Comprobar rutas sección a continuación y luego intente el comando where cl nuevamente.
4: Instalar los kits de herramientas CUDA 11 + 12
Los distintos paquetes instalados en Musubi necesitan diferentes versiones de NVIDIA CUDA, que acelera y optimiza el entrenamiento en las tarjetas gráficas NVIDIA.
La razón por la que instalamos las versiones de Visual Studio first es que los instaladores de NVIDIA CUDA buscan y se integran con cualquier instalación existente de Visual Studio.
Descargue un paquete de instalación CUDA de la serie 11+ desde:
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local (descargar 'exe (local') )
Descargue un paquete de instalación del kit de herramientas CUDA serie 12+ desde:
https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64
El proceso de instalación es idéntico para ambos instaladores. Ignore las advertencias sobre la existencia o no de rutas de instalación en las variables de entorno de Windows; nos ocuparemos de esto manualmente más adelante.
Instalar NVIDIA CUDA Toolkit V11+
Inicie el instalador del kit de herramientas CUDA de la serie 11+.


At Opciones de instalación, escoger Modificado avanzado) y proceda.

Desmarque la opción NVIDIA GeForce Experience y haga clic en Siguiente.

Abandonar Seleccionar ubicación de instalación en valores predeterminados (esto es importante):

Haga clic en Siguiente y dejar que la instalación concluya.

Ignore cualquier advertencia o nota que le dé el instalador sobre Estudio visual de Nsight integración, que no es necesaria para nuestro caso de uso.
Instalar NVIDIA CUDA Toolkit V12+
Repita todo el proceso para el instalador independiente de NVIDIA Toolkit 12+ que descargó:

El proceso de instalación para esta versión es idéntico al mencionado anteriormente (la versión 11+), excepto por una advertencia sobre las rutas de entorno, que puede ignorar:

Cuando se complete la instalación de la versión 12+ CUDA, abra un símbolo del sistema en Windows y escriba e ingrese:
nvcc --version
Esto debería confirmar la información sobre la versión del controlador instalado:

Para comprobar que su tarjeta es reconocida, escriba e ingrese:
nvidia-smi

5: Instalar GIT
GIT se encargará de la instalación del repositorio Musubi en su máquina local. Descargue el instalador de GIT en:
https://git-scm.com/downloads/win ('Configuración de Git de 64 bits para Windows')

Ejecute el instalador:

Utilice la configuración predeterminada para Seleccionar componentes:

Deje el editor predeterminado en Empuje:

Deje que GIT decida los nombres de las ramas:

Utilice la configuración recomendada para el Path Medioambiente:

Utilice la configuración recomendada para SSH:

Utilice la configuración recomendada para Backend de transporte HTTPS:

Utilice la configuración recomendada para las conversiones de final de línea:

Elija la consola predeterminada de Windows como emulador de terminal:

Utilice la configuración predeterminada (Avanzar rápidamente o fusionar) para Git Pull:

Utilice Git-Credential Manager (la configuración predeterminada) para Credential Helper:

In Configurar opciones adicionales, licencia Habilitar el almacenamiento en caché del sistema de archivos marcado, y Habilitar enlaces simbólicos sin marcar (a menos que sea un usuario avanzado que utiliza enlaces duros para un repositorio de modelos centralizado).

Concluya la instalación y pruebe que Git esté instalado correctamente abriendo una ventana de CMD y escribiendo e ingresando:
git --version

Iniciar sesión en GitHub
Más adelante, cuando intentes clonar repositorios de GitHub, es posible que se te pida que proporciones tus credenciales de GitHub. Para evitarlo, inicia sesión en tu cuenta de GitHub (crea una, si es necesario) en cualquier navegador instalado en tu sistema Windows. De esta manera, el método de autenticación 0Auth (una ventana emergente) debería llevar el menor tiempo posible.
Después de ese desafío inicial, deberías permanecer autenticado automáticamente.
6: Instalar CMake
Se requiere CMake 3.21 o una versión más reciente para algunas partes del proceso de instalación de Musubi. CMake es una arquitectura de desarrollo multiplataforma capaz de orquestar diversos compiladores y de compilar software a partir del código fuente.
Descárgalo en:
https://cmake.org/download/ ('Instalador de Windows x64')
Inicie el instalador:

Asegúrese de que Agregue Cmake a la variable de entorno PATH está chequeado.

Prensa Siguiente.

Escriba e ingrese este comando en el símbolo del sistema de Windows:
cmake --version
Si CMake se instaló correctamente, mostrará algo como:
cmake version 3.31.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).

7: Instalar Python 3.10
El intérprete de Python es fundamental para este proyecto. Descargue la versión 3.10 (la mejor solución intermedia entre las diferentes exigencias de los paquetes de Musubi) en:
https://www.python.org/downloads/release/python-3100/ ('Instalador de Windows (64 bits)')
Ejecute el instalador descargado y déjelo con la configuración predeterminada:


Al final del proceso de instalación, haga clic en Deshabilitar el límite de longitud de ruta (requiere confirmación del administrador de UAC):

En el símbolo del sistema de Windows, escriba e ingrese:
python --version
Esto debería dar como resultado Python 3.10.0

Comprobar rutas
La clonación e instalación de los frameworks Musubi, así como su funcionamiento normal tras la instalación, requiere que sus componentes conozcan la ruta a varios componentes externos importantes en Windows, particularmente CUDA.
Entonces necesitamos abrir la ruta de entorno y verificar que todos los requisitos estén allí.
Una forma rápida de acceder a los controles del entorno de Windows es escribir Editar las variables de entorno del sistema. en la barra de búsqueda de Windows.

Al hacer clic en esto, se abrirá el Propiedades del sistema panel de control. En la parte inferior derecha de Propiedades del sistema, haga clic en el Variables de entorno botón y una ventana llamada Variables de entorno se abre. En el Variables del sistema panel en la mitad inferior de esta ventana, desplácese hacia abajo hasta Path y haga doble clic en él. Esto abre una ventana llamada Editar variables de entornoArrastre el ancho de esta ventana para que pueda ver la ruta completa de las variables:

Aquí las entradas importantes son:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
C:\Program Files\Git\cmd
C:\Program Files\CMake\bin
En la mayoría de los casos, las variables de ruta correctas ya deberían estar presentes.
Agregue cualquier ruta que falte haciendo clic New a la izquierda del Editar variables de entorno ventana y pegar en la ruta correcta:

NO copie y pegue simplemente las rutas enumeradas anteriormente; verifique que cada ruta equivalente exista en su propia instalación de Windows.
Si hay variaciones de ruta menores (en particular con instalaciones de Visual Studio), use las rutas enumeradas anteriormente para encontrar las carpetas de destino correctas (es decir, x64 in Host64 en tu propia instalación. Luego pega aquellos caminos hacia el Editar variables de entorno ventana.
Luego de esto, reinicie el ordenador.
Instalación de Musubi
Actualizar PIP
El uso de la última versión del instalador PIP puede facilitar algunas de las etapas de instalación. En un símbolo del sistema de Windows con privilegios de administrador (consulte Elevation, abajo), escriba e ingrese:
pip install --upgrade pip
Elevation
Algunos comandos pueden requerir privilegios elevados (es decir, ejecutarse como administrador). Si recibe mensajes de error sobre permisos en las siguientes etapas, cierre la ventana del símbolo del sistema y vuelva a abrirla en modo administrador escribiendo CMD En el cuadro de búsqueda de Windows, haga clic derecho en Símbolo del sistema y seleccionando Ejecutar como administrador:

Para las siguientes etapas, vamos a utilizar Windows PowerShell en lugar del símbolo del sistema de Windows. Puedes encontrarlo ingresando Powershell en el cuadro de búsqueda de Windows y (según sea necesario) hacer clic derecho sobre él para Ejecutar como administrador:

Instalar Torch
En Powershell, escriba e ingrese:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Tenga paciencia mientras se instalan los numerosos paquetes.
Cuando haya terminado, puede verificar una instalación de PyTorch habilitada para GPU escribiendo e ingresando:
python -c "import torch; print(torch.cuda.is_available())"
Esto debería dar como resultado:
C:\WINDOWS\system32>python -c "import torch;
print(torch.cuda.is_available())"
True
Instalar Triton para Windows
A continuación se procede a la instalación del Triton para Windows componente. En Powershell con privilegios elevados, ingrese (en una sola línea):
pip install https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post8/triton-3.1.0-cp310-cp310-win_amd64.whl
(El instalador triton-3.1.0-cp310-cp310-win_amd64.whl Funciona tanto para CPU Intel como AMD siempre que la arquitectura sea de 64 bits y el entorno coincida con la versión de Python)
Después de ejecutarlo, esto debería dar como resultado:
Successfully installed triton-3.1.0
Podemos comprobar si Triton está funcionando importándolo en Python. Introducimos este comando:
python -c "import triton; print('Triton is working')"
Esto debería generar:
Triton is working
Para comprobar que Triton está habilitado para GPU, ingrese:
python -c "import torch; print(torch.cuda.is_available())"
Esto debería dar como resultado True:

Crea el entorno virtual para Musubi
A partir de ahora, instalaremos cualquier software adicional en un Entorno virtual de Python (o venv). Esto significa que todo lo que necesitará hacer para desinstalar todo el software siguiente es arrastrar la carpeta de instalación de venv a la papelera.
Vamos a crear esa carpeta de instalación: crea una carpeta llamada Musubi en su escritorio. Los siguientes ejemplos suponen que esta carpeta existe: C:\Users\[Your Profile Name]\Desktop\Musubi\.
En Powershell, navegue a esa carpeta ingresando:
cd C:\Users\[Your Profile Name]\Desktop\Musubi
Queremos que el entorno virtual tenga acceso a lo que ya tenemos instalado (especialmente Triton), por lo que utilizaremos el --system-site-packages bandera. Introduce esto:
python -m venv --system-site-packages musubi
Espere a que se cree el entorno y luego actívelo ingresando:
.\musubi\Scripts\activate
A partir de este momento, podrás saber que estás en el entorno virtual activado por el hecho de que (musubi) aparece al principio de todos tus mensajes.

Clonar el repositorio
Navegar hasta el recién creado musubi carpeta (que está dentro de la Musubi carpeta en su escritorio):
cd musubi
Ahora que estamos en el lugar correcto, ingrese el siguiente comando:
git clone https://github.com/kohya-ss/musubi-tuner.git
Espere a que se complete la clonación (no tardará mucho).

Requisitos de instalación
Vaya a la carpeta de instalación:
cd musubi-tuner
Enter:
pip install -r requirements.txt
Espere a que finalicen las distintas instalaciones (esto tardará más tiempo).

Automatización del acceso a Hunyuan Video Venv
Para activar y acceder fácilmente al nuevo venv para futuras sesiones, pegue lo siguiente en el Bloc de notas y guárdelo con el nombre activar.bat, guardándolo con Todos los archivos Opción (ver imagen abajo).
@echo off
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate
cd C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner
cmd
(Reemplazar [Your Profile Name]con el nombre real de su perfil de usuario de Windows)

No importa en qué ubicación guarde este archivo.
A partir de ahora puedes hacer doble clic activar.bat y empezar a trabajar inmediatamente.

Uso del sintonizador Musubi
Descargando los modelos
El proceso de entrenamiento de Hunyuan Video LoRA requiere la descarga de al menos siete modelos para admitir todas las opciones de optimización posibles para el almacenamiento en caché previo y el entrenamiento de un Hunyuan Video LoRA. En conjunto, estos modelos pesan más de 60 GB.
Las instrucciones actuales para descargarlas se pueden encontrar en https://github.com/kohya-ss/musubi-tuner?tab=readme-ov-file#model-download
Sin embargo, estas son las instrucciones de descarga al momento de escribir esto:
clip_l.safetensors y
llava_llama3_fp16.safetensors
llava_llama3_fp8_scaled.safetensors
se puede descargar en:
https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/tree/main/split_files/text_encoders
mp_rank_00_model_states.pt y
mp_rank_00_model_states_fp8.pt
mp_rank_00_model_states_fp8_map.pt
se puede descargar en:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/transformers
pytorch_model.pt
se puede descargar en:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/vae
Aunque puedes colocarlos en cualquier directorio que elijas, para mantener la coherencia con los scripts posteriores, los colocaremos en:
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\
Esto es coherente con la organización de directorios anterior. Cualquier comando o instrucción posterior asumirá que aquí es donde se encuentran los modelos; no olvide reemplazar [Su nombre de perfil] con el nombre real de la carpeta de su perfil de Windows.
Preparación del conjunto de datos
Dejando de lado la controversia de la comunidad al respecto, es justo decir que necesitará entre 10 y 100 fotos para un conjunto de datos de entrenamiento para su Hunyuan LoRA. Se pueden obtener muy buenos resultados incluso con 15 imágenes, siempre que estas estén bien equilibradas y sean de buena calidad.
Un Hunyuan LoRA se puede entrenar tanto con imágenes como con videoclips muy cortos y de baja resolución, o incluso con una mezcla de ambos, aunque usar videoclips como datos de entrenamiento es un desafío, incluso para una tarjeta de 24 GB.
Sin embargo, los videoclips sólo son realmente útiles si tu personaje... Se mueve de una manera tan inusual que la modelo de la fundación Hunyuan Video podría no saberlo, o poder adivinar.
Los ejemplos incluirían a Roger Rabbit, un xenomorfo, La Máscara, Spider-Man u otras personalidades que poseen único movimiento característico.
Dado que Hunyuan Video ya conoce cómo se mueven las personas comunes y corrientes, no se necesitan videoclips para crear un personaje humano convincente en Hunyuan Video LoRA. Por lo tanto, usaremos imágenes estáticas.
Preparación de la imagen
Ahora o nunca
La versión TLDR:
Lo mejor es utilizar imágenes que tengan todas el mismo tamaño para su conjunto de datos o utilizar una división 50/50 entre dos tamaños diferentes, es decir, 10 imágenes de 512 x 768 px y 10 de 768 x 512 px.
El entrenamiento puede ir bien incluso si no haces esto: los LoRA de video de Hunyuan pueden ser sorprendentemente indulgentes.
La versión más larga
Al igual que con los LoRA Kohya-ss para sistemas generativos estáticos como Stable Diffusion, agrupamiento se utiliza para distribuir la carga de trabajo entre imágenes de diferentes tamaños, lo que permite utilizar imágenes más grandes sin causar errores de falta de memoria en el momento del entrenamiento (es decir, la clasificación "corta" las imágenes en fragmentos que la GPU puede manejar, mientras mantiene la integridad semántica de toda la imagen).
Para cada tamaño de imagen que incluya en su conjunto de datos de entrenamiento (es decir, 512x768px), se creará un contenedor o subtarea para ese tamaño. Por lo tanto, si tiene la siguiente distribución de imágenes, así es como la atención del contenedor se desequilibra y corre el riesgo de que algunas fotos reciban mayor consideración que otras en el entrenamiento:
2 imágenes de 512 x 768 píxeles
7 imágenes de 768 x 512 píxeles
1 imagen de 1000 x 600 píxeles
3 imágenes de 400 x 800 píxeles
Podemos ver que la atención del cubo se divide de manera desigual entre estas imágenes:

Por lo tanto, es mejor mantener un tamaño de formato único o intentar mantener la distribución de los diferentes tamaños relativamente igual.
En cualquier caso, evite imágenes muy grandes, ya que es probable que esto ralentice el entrenamiento, con un beneficio insignificante.
Para simplificar, he utilizado 512x768px para todas las fotos de mi conjunto de datos.
Descargo de responsabilidad: El modelo (persona) utilizado en el conjunto de datos me dio permiso total para usar estas imágenes para este propósito y ejerció la aprobación de todos los resultados basados en IA que representan su imagen presentada en este artículo.

Mi conjunto de datos consta de 40 imágenes en formato PNG (aunque también se puede utilizar JPG). Mis imágenes se almacenaron en C:\Users\Martin\Desktop\DATASETS_HUNYUAN\examplewoman
Debes crear un cache Carpeta dentro de la carpeta de imágenes de entrenamiento:

Ahora vamos a crear un archivo especial que configurará el entrenamiento.
Archivos TOML
Los procesos de entrenamiento y prealmacenamiento en caché de Hunyuan Video LoRA obtienen las rutas de archivo de un archivo de texto plano con la .toml extensión.
Para mi prueba, el TOML se encuentra en C:\Users\Martin\Desktop\DATASETS_HUNYUAN\training.toml
El contenido de mi entrenamiento TOML se ve así:
[general]
resolution = [512, 768]
caption_extension = ".txt"
batch_size = 1
enable_bucket = true
bucket_no_upscale = false
[[datasets]]
image_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman"
cache_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman\\cache"
num_repeats = 1
(Las barras invertidas dobles para los directorios de imágenes y caché no siempre son necesarias, pero pueden ayudar a evitar errores en los casos en que hay un espacio en la ruta. He entrenado modelos con archivos .toml que usaban barras simples hacia adelante y hacia atrás)
Podemos ver en el resolution En esta sección se considerarán dos resoluciones: 512 px y 768 px. También puede dejarlo en 512 y obtener buenos resultados.
Leyendas
Hunyuan Video es una texto+Modelo de base de visión, por lo que necesitamos títulos descriptivos para estas imágenes, que se tendrán en cuenta durante el entrenamiento. El proceso de entrenamiento fallará sin títulos.
Hay un multitud Hay muchos sistemas de subtítulos de código abierto que podríamos usar para esta tarea, pero mantengámoslo simple y usemos el etiqueta gui sistema. Aunque está almacenado en GitHub y descarga algunos modelos de aprendizaje profundo muy pesados en la primera ejecución, viene en forma de un simple ejecutable de Windows que carga bibliotecas de Python y una interfaz gráfica de usuario sencilla.
Después de iniciar Taggui, utilice Archivo > Cargar directorio para navegar a su conjunto de datos de imágenes y, opcionalmente, colocar un identificador de token (en este caso, mujer ejemplo) que se añadirán a todos los subtítulos:

(Asegúrese de apagar Cargar en 4 bits Cuando Taggui se abre por primera vez, arrojará errores durante los subtítulos si esta opción se deja activada)
Seleccione una imagen en la columna de vista previa de la izquierda y presione CTRL+A para seleccionar todas las imágenes. Luego presione el botón Iniciar subtítulos automáticos a la derecha:

Verá que Taggui descarga modelos en la pequeña CLI de la columna de la derecha, pero solo si es la primera vez que ejecuta el subtitulador. De lo contrario, verá una vista previa de los subtítulos.

Ahora, cada foto tiene un título .txt correspondiente con una descripción del contenido de la imagen:

uede volver a hacer clic en Opciones Avanzadas en Taggui para aumentar la longitud y el estilo de los subtítulos, pero eso está más allá del alcance de este recorrido.
Dejemos Taggui y sigamos adelante…
Prealmacenamiento en caché latente
Para evitar una carga excesiva de la GPU en el momento del entrenamiento, es necesario crear dos tipos de archivos prealmacenados en caché: uno para representar la imagen latente derivada de las imágenes mismas y otro para evaluar una codificación de texto relacionada con el contenido de los subtítulos.
Para simplificar los tres procesos (2x caché + entrenamiento), puedes usar archivos .BAT interactivos que te harán preguntas y realizarán los procesos cuando hayas proporcionado la información necesaria.
Para el almacenamiento en caché previo latente, copie el siguiente texto en el Bloc de notas y guárdelo como un archivo .BAT (es decir, nómbrelo algo como precache latente.bat), como antes, asegurándose de que el tipo de archivo en el menú desplegable Guardar como El diálogo es Todos Los Archivos (ver imagen abajo):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with latent pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the latent pre-caching script
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %TOML_PATH% --vae C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\pytorch_model.pt --vae_chunk_size 32 --vae_tiling
) else (
echo Operation canceled.
)
REM Keep the window open
pause
(Asegúrese de reemplazar [Tu nombre de perfil] con el nombre de la carpeta de su perfil real de Windows)

Ahora puede ejecutar el archivo .BAT para el almacenamiento en caché latente automático:

Cuando las distintas preguntas del archivo BAT se lo soliciten, pegue o escriba la ruta a su conjunto de datos, carpetas de caché y archivo TOML.
Prealmacenamiento en caché de texto
Crearemos un segundo archivo BAT, esta vez para el prealmacenamiento en caché de texto.
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with text encoder output pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Use the python executable from the virtual environment
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %TOML_PATH% --text_encoder1 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\clip_l.safetensors --batch_size 16
) else (
echo Operation canceled.
)
REM Keep the window open
pause
Reemplace su nombre de perfil de Windows y guárdelo como caché de texto.bat (o cualquier otro nombre que desee), en cualquier ubicación conveniente, según el procedimiento del archivo BAT anterior.
Ejecute este nuevo archivo BAT, siga las instrucciones y los archivos codificados de texto necesarios aparecerán en el cache carpeta:

Entrenamiento del Hunyuan Video Lora
El entrenamiento del LoRA real llevará considerablemente más tiempo que estos dos procesos preparatorios.
Aunque también hay múltiples variables de las que podríamos preocuparnos (como el tamaño del lote, las repeticiones, las épocas y si utilizar modelos completos o cuantificados, entre otras), dejaremos estas consideraciones para otro día y analizaremos más profundamente las complejidades de la creación de LoRA.
Por ahora, minimicemos un poco las opciones y entrenemos un LoRA en configuraciones "medianas".
Crearemos un tercer archivo BAT, esta vez para iniciar el entrenamiento. Péguelo en el Bloc de notas y guárdelo como archivo BAT, como antes, como entrenamiento.bat (o cualquier nombre que prefieras):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p DATASET_CONFIG=Enter the path to the dataset configuration file:
set /p EPOCHS=Enter the number of epochs to train:
set /p OUTPUT_NAME=Enter the output model name (e.g., example0001):
set /p LEARNING_RATE=Choose learning rate (1 for 1e-3, 2 for 5e-3, default 1e-3):
if "%LEARNING_RATE%"=="1" set LR=1e-3
if "%LEARNING_RATE%"=="2" set LR=5e-3
if "%LEARNING_RATE%"=="" set LR=1e-3
set /p SAVE_STEPS=How often (in steps) to save preview images:
set /p SAMPLE_PROMPTS=What is the location of the text-prompt file for training previews?
echo You entered:
echo Dataset configuration file: %DATASET_CONFIG%
echo Number of epochs: %EPOCHS%
echo Output name: %OUTPUT_NAME%
echo Learning rate: %LR%
echo Save preview images every %SAVE_STEPS% steps.
echo Text-prompt file: %SAMPLE_PROMPTS%
REM Prepare the command
set CMD=accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 ^
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^
--dit C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\mp_rank_00_model_states.pt ^
--dataset_config %DATASET_CONFIG% ^
--sdpa ^
--mixed_precision bf16 ^
--fp8_base ^
--optimizer_type adamw8bit ^
--learning_rate %LR% ^
--gradient_checkpointing ^
--max_data_loader_n_workers 2 ^
--persistent_data_loader_workers ^
--network_module=networks.lora ^
--network_dim=32 ^
--timestep_sampling sigmoid ^
--discrete_flow_shift 1.0 ^
--max_train_epochs %EPOCHS% ^
--save_every_n_epochs=1 ^
--seed 42 ^
--output_dir "C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models" ^
--output_name %OUTPUT_NAME% ^
--vae C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^
--vae_chunk_size 32 ^
--vae_spatial_tile_sample_min_size 128 ^
--text_encoder1 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^
--text_encoder2 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/clip_l.safetensors ^
--sample_prompts %SAMPLE_PROMPTS% ^
--sample_every_n_steps %SAVE_STEPS% ^
--sample_at_first
echo The following command will be executed:
echo %CMD%
set /p CONFIRM=Do you want to proceed with training (y/n)?
if /i "%CONFIRM%"=="y" (
%CMD%
) else (
echo Operation canceled.
)
REM Keep the window open
cmd /k
Como de costumbre, asegúrese de reemplazar todas las instancias def [Tu nombre de perfil] con su nombre de perfil de Windows correcto.
Asegúrese de que el directorio C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\ existe y, si no es así, créelo en esa ubicación.
Avance de la formación
Hay una función de vista previa de entrenamiento muy básica habilitada recientemente para el entrenador Musubi, que le permite forzar al modelo de entrenamiento a pausar y generar imágenes según las indicaciones que haya guardado. Estas se guardan en una carpeta creada automáticamente llamada Muestra, en el mismo directorio donde se guardan los modelos entrenados.

Para habilitar esto, deberá guardar al menos un mensaje en un archivo de texto. El BAT de entrenamiento que creamos le solicitará que ingrese la ubicación de este archivo; por lo tanto, puede nombrar el archivo de mensajes como desee y guardarlo en cualquier lugar.
A continuación se muestran algunos ejemplos de un archivo que generará tres imágenes diferentes cuando lo solicite la rutina de entrenamiento:

Como puedes ver en el ejemplo anterior, puedes colocar indicadores al final del mensaje que afectarán a las imágenes:
–w es anchura (el valor predeterminado es 256 px si no se configura, según los docs)
-su altura (predeterminado a 256 px si no está configurado)
–f es el número de fotogramasSi se establece en 1, se produce una imagen; si se establece en más de uno, se produce un vídeo.
–d es la semilla. Si no se configura, es aleatoria, pero debe configurarse para ver cómo evoluciona un mensaje.
–s es el número de pasos en la generación, el valor predeterminado es 20.
See la documentación oficial para banderas adicionales.
Si bien las vistas previas del entrenamiento pueden revelar rápidamente algunos problemas que podrían hacer que canceles el entrenamiento y reconsideres los datos o la configuración, ahorrando así tiempo, recuerda que cada aviso adicional ralentiza un poco más el entrenamiento.
Además, cuanto mayor sea el ancho y la altura de la imagen de vista previa de entrenamiento (como se establece en las banderas enumeradas anteriormente), más lento será el entrenamiento.
Ejecute su archivo BAT de entrenamiento.
Pregunta #1 es 'Ingrese la ruta a la configuración del conjunto de datos. Pegue o escriba la ruta correcta a su archivo TOML.
Pregunta #2 Es "Ingrese el número de épocas a entrenar". Esta variable se basa en la prueba y el error, ya que se ve afectada por la cantidad y la calidad de las imágenes, así como por los subtítulos y otros factores. En general, es mejor establecerla demasiado alta que demasiado baja, ya que siempre puede detener el entrenamiento con Ctrl+C en la ventana de entrenamiento si considera que el modelo ha avanzado lo suficiente. Establézcala en 100 al principio y observe cómo funciona.
Pregunta #3 Es 'Ingrese el nombre del modelo de salida'. ¡Asigne un nombre a su modelo! Lo mejor es que el nombre sea breve y sencillo.
Pregunta #4 Es "Elegir ritmo de aprendizaje", que por defecto es 1e-3 (opción 1). Es un buen punto de partida, a la espera de adquirir más experiencia.
Pregunta #5 es 'Con qué frecuencia (en pasos) se deben guardar las imágenes de vista previa. Si lo configura demasiado bajo, verá poco progreso entre los guardados de las imágenes de vista previa y esto ralentizará el entrenamiento.
Pregunta #6 ¿Dónde se encuentra el archivo de texto de indicaciones para las vistas previas de entrenamiento? Pegue o escriba la ruta del archivo de texto de indicaciones.
Luego, BAT le muestra el comando que enviará al modelo Hunyuan y le pregunta si desea continuar, s/n.
Sigue adelante y comienza a entrenar:

Durante este tiempo, si revisa la sección GPU de la pestaña Rendimiento del Administrador de tareas de Windows, verá que el proceso ocupa alrededor de 16 GB de VRAM.

Puede que no sea una cifra arbitraria, ya que es la cantidad de VRAM disponible en bastantes tarjetas gráficas NVIDIA, y es posible que el código fuente haya sido optimizado para ajustar las tareas a 16 GB para el beneficio de aquellos que poseen dichas tarjetas.
Dicho esto, es muy fácil aumentar este uso, enviando banderas más exorbitantes al comando de entrenamiento.
Durante el entrenamiento, verá en la parte inferior derecha de la ventana de CMD una cifra que indica cuánto tiempo ha transcurrido desde que comenzó el entrenamiento y una estimación del tiempo total de entrenamiento (que variará considerablemente dependiendo de los indicadores establecidos, la cantidad de imágenes de entrenamiento, la cantidad de imágenes de vista previa del entrenamiento y varios otros factores).

Un tiempo de entrenamiento típico es de alrededor de 3 a 4 horas en configuraciones medianas, dependiendo del hardware disponible, la cantidad de imágenes, la configuración de las banderas y otros factores.
Vídeo sobre cómo utilizar los modelos LoRA entrenados en Hunyuan
Elección de puntos de control
Al finalizar el entrenamiento tendrás un punto de control modelo para cada época del entrenamiento.

Esta frecuencia de ahorro puede ser modificada por el usuario para ahorrar con mayor o menor frecuencia, según lo desee, modificando la --save_every_n_epochs [N] Número en el archivo BAT de entrenamiento. Si agregó una cifra baja para los guardados por paso al configurar el entrenamiento con el BAT, habrá una gran cantidad de archivos de puntos de control guardados.
¿Qué punto de control elegir?
Como se mencionó anteriormente, los primeros modelos entrenados serán los más flexibles, mientras que los puntos de control posteriores pueden ofrecer la mayor cantidad de detalles. La única forma de probar estos factores es ejecutar algunos de los LoRA y generar algunos videos. De esta manera, puede saber qué puntos de control son más productivos y representan el mejor equilibrio entre flexibilidad y fidelidad.
Interfaz de usuario cómoda
El entorno más popular (aunque no el único) para usar Hunyuan Video LoRAs, en este momento, es Interfaz de usuario cómoda, un editor basado en nodos con una elaborada interfaz Gradio que se ejecuta en su navegador web.

Fuente: https://github.com/comfyanonymous/ComfyUI
Las instrucciones de instalación son sencillas y Disponible en el repositorio oficial de GitHub (se tendrán que descargar modelos adicionales).
Conversión de modelos para ComfyUI
Tus modelos entrenados se guardan en un formato (difusores) incompatible con la mayoría de las implementaciones de ComfyUI. Musubi puede convertir un modelo a un formato compatible con ComfyUI. Configuremos un archivo BAT para implementarlo.
Antes de ejecutar este BAT, cree el C:\Users\[Your Profile Name]\Desktop\Musubi\CONVERTED\ carpeta que el script está esperando.
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
:START
REM Get user input
set /p INPUT_PATH=Enter the path to the input Musubi safetensors file (or type "exit" to quit):
REM Exit if the user types "exit"
if /i "%INPUT_PATH%"=="exit" goto END
REM Extract the file name from the input path and append 'converted' to it
for %%F in ("%INPUT_PATH%") do set FILENAME=%%~nF
set OUTPUT_PATH=C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\CONVERTED\%FILENAME%_converted.safetensors
set TARGET=other
echo You entered:
echo Input file: %INPUT_PATH%
echo Output file: %OUTPUT_PATH%
echo Target format: %TARGET%
set /p CONFIRM=Do you want to proceed with the conversion (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the conversion script with correctly quoted paths
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\convert_lora.py --input "%INPUT_PATH%" --output "%OUTPUT_PATH%" --target %TARGET%
echo Conversion complete.
) else (
echo Operation canceled.
)
REM Return to start for another file
goto START
:END
REM Keep the window open
echo Exiting the script.
pause
Al igual que con los archivos BAT anteriores, guarde el script como 'Todos los archivos' desde el Bloc de notas y asígnele el nombre convertir.bat (o lo que gustes).
Una vez guardado, haga doble clic en el nuevo archivo BAT, que le pedirá la ubicación de un archivo para convertir.

Pegue o escriba la ruta al archivo entrenado que desea convertir, haga clic yy presione enter.

Después de guardar el LoRA convertido en el CONVERTIDO carpeta, el script le preguntará si desea convertir otro archivo. Si desea probar varios puntos de control en ComfyUI, convierta una selección de los modelos.
Cuando haya convertido suficientes puntos de control, cierre la ventana de comando BAT.
Ahora puedes copiar tus modelos convertidos en la carpeta models\loras en tu instalación de ComfyUI.
Normalmente la ubicación correcta es algo como:
C:\Users\[Your Profile Name]\Desktop\ComfyUI\models\loras\
Creación de LoRA de vídeo de Hunyuan en ComfyUI
Aunque los flujos de trabajo basados en nodos de ComfyUI parecen complejos al principio, la configuración de otros usuarios más expertos se puede cargar arrastrando una imagen (creada con el ComfyUI del otro usuario) directamente a la ventana de ComfyUI. Los flujos de trabajo también se pueden exportar como archivos JSON, que se pueden importar manualmente o arrastrar a una ventana de ComfyUI.
Algunos flujos de trabajo importados tendrán dependencias que pueden no existir en su instalación. Por lo tanto, instale Administrador ComfyUI, que puede recuperar automáticamente los módulos faltantes.

Fuente: https://github.com/ltdrdata/ComfyUI-Manager
Para cargar uno de los flujos de trabajo utilizados para generar videos a partir de los modelos de este tutorial, descargue Este archivo JSON y arrástrelo a su ventana ComfyUI (aunque hay ejemplos de flujo de trabajo mucho mejores disponibles en las distintas comunidades de Reddit y Discord que han adoptado Hunyuan Video, y el mío está adaptado de una de estas).
Este no es el lugar para un tutorial extenso sobre el uso de ComfyUI, pero vale la pena mencionar algunos de los parámetros cruciales que afectarán su resultado si descarga y usa el diseño JSON al que hice referencia anteriormente.

1) Ancho y alto
Cuanto más grande sea la imagen, más tiempo tardará la generación y mayor será el riesgo de que se produzca un error de falta de memoria (OOM).
2) longitud
Este es el valor numérico de la cantidad de fotogramas. La cantidad de segundos que suma depende de la velocidad de fotogramas (establecida en 30 fps en este diseño). Puede convertir segundos a fotogramas en función de los fps. en Omnicalculator.
3) Tamaño del lote
Cuanto mayor sea el tamaño del lote, más rápido se obtendrá el resultado, pero mayor será la carga de la VRAM. Si lo estableces demasiado alto, es posible que se produzca un error de memoria.
4) Control después de generar
Esto controla la semilla aleatoria. Las opciones para este subnodo son: fijas, incremento, decremento y aleatorizar. Si lo dejas así fijas y no cambie el texto de la solicitud, obtendrá la misma imagen cada vez. Si modifica el texto de la solicitud, la imagen cambiará hasta cierto punto. incremento y decremento Los ajustes le permiten explorar valores de semillas cercanos, mientras que aleatorizar te da una interpretación totalmente nueva del mensaje.
5) Nombre de Lora
Necesitará seleccionar su propio modelo instalado aquí, antes de intentar generarlo.
6) Ficha
Si ha entrenado su modelo para activar el concepto con un token (como 'persona-ejemplo'), coloque esa palabra clave en su mensaje.
7) Pasos
Esto representa la cantidad de pasos que aplicará el sistema al proceso de difusión. Es posible que con pasos más altos se obtengan mejores detalles, pero existe un límite a la eficacia de este enfoque, y ese umbral puede ser difícil de encontrar. El rango común de pasos es de alrededor de 20 a 30.
8) Tamaño del mosaico
Esto define la cantidad de información que se maneja simultáneamente durante la generación. Su valor predeterminado es 256. Aumentarlo puede acelerar la generación, pero aumentarlo demasiado puede provocar una experiencia de OOM particularmente frustrante, ya que se produce al final de un proceso largo.
9) Superposición temporal
La generación de vídeos de personas en Hunyuan puede provocar imágenes fantasma o movimientos poco convincentes si se configura demasiado bajo. En general, se recomienda configurarlo en un valor superior al número de fotogramas para lograr un mejor movimiento.
Conclusión
Aunque una mayor exploración del uso de ComfyUI está más allá del alcance de este artículo, la experiencia de la comunidad en Reddit y Discords puede facilitar la curva de aprendizaje, y hay varias guias en linea que introducen los conceptos básicos.
Publicado por primera vez el jueves 23 de enero de 2025












