Guías de entrenamiento LoRA con AI Toolkit

Entrenamiento LoRA Wan 2.2 I2V 14B Image-to-Video con Ostris AI Toolkit

Esta guía te acompaña en el entrenamiento de LoRAs Wan 2.2 I2V 14B (imagen a video) usando Ostris AI Toolkit. Explica cómo funcionan los expertos de alto y bajo ruido de Wan, cómo diseñar datasets de clips para motion, estilo y personaje, y cómo configurar Multi-stage, Num Frames, buckets de resolución y cuantización para que el entrenamiento sea fiable en GPUs locales de 24GB o en máquinas H100/H200.

Entrena modelos de difusión con Ostris AI Toolkit

Desplázate horizontalmente para ver el formulario completo

Ostris AI ToolkitOstrisAI-Toolkit

New Training Job

Job

Model

Quantization

Target

Save

Training

Datasets

Dataset 1

Sample

Wan 2.2 I2V 14B entrenamiento LoRA imagen a video transforma una única imagen en clips de 5 segundos con movimiento controlable, movimientos de cámara y consistencia temporal. Al finalizar esta guía, podrás:

  • Diseñar conjuntos de datos para Wan I2V LoRA enfocados en movimiento, estilo y personajes (y saber cuántos clips realmente necesitas).
  • Comprender cómo los expertos duales high-noise / low-noise de Wan, configuraciones de timestep, Num Frames y resolución interactúan durante el entrenamiento.
  • Configurar los paneles de AI Toolkit (JOB, MODEL, QUANTIZATION, MULTISTAGE, TARGET, TRAINING, DATASETS, SAMPLE) para ejecuciones estables en 24GB y configuraciones cloud más grandes con H100/H200.
Este artículo es parte de la serie de entrenamiento LoRA de AI Toolkit. Si eres nuevo en Ostris AI Toolkit, comienza con la guía de inicio de entrenamiento LoRA de AI Toolkit antes de sumergirte en esta guía.

Tabla de contenidos


1. ¿Qué hace especial a Wan 2.2 I2V 14B?

Wan 2.2 I2V 14B ("A14B") es la variante de imagen a video de Wan 2.2. Arquitectónicamente es un transformer dual Mixture-of-Experts (MoE). Hay dos transformers separados de 14B parámetros. El transformer high-noise maneja los timesteps iniciales muy ruidosos y es responsable de la composición global, trayectoria de movimiento y movimiento de cámara. El transformer low-noise maneja los timesteps finales limpios y es responsable del detalle fino, identidad y textura.

En el momento de inferencia, el pipeline divide los timesteps alrededor de un límite en aproximadamente 875/1000 del schedule de ruido y los dirige al transformer high-noise o low-noise. En la práctica, cada experto maneja aproximadamente la mitad del proceso de denoising. Wan 2.2 I2V genera hasta 81 frames a 16 FPS, que son aproximadamente 5 segundos de video.

Para el Wan 2.2 I2V 14B entrenamiento LoRA imagen a video esto tiene tres consecuencias clave. Puedes elegir entrenar una o ambas etapas. Puedes sesgar el entrenamiento hacia composición y movimiento (high noise) o hacia identidad y detalle (low noise). Y debido a que procesas secuencias de frames, la cantidad de frames, resolución, VRAM y configuraciones de cuantización/offloading importan mucho más que para un modelo solo de imagen.

AI Toolkit expone estos controles principalmente a través de los paneles MULTISTAGE, TRAINING, TARGET y DATASETS.


2. Dónde ejecutar WAN 2.2 - Entrenamiento LORA i2v

Puedes ejecutar este flujo de trabajo de entrenamiento LoRA de Wan 2.2 I2V ya sea en la nube con AI Toolkit en RunComfy o en una instalación local de AI Toolkit. La interfaz y los paneles son los mismos; solo cambia el hardware.

2.1 RunComfy Cloud AI Toolkit (recomendado para primeras ejecuciones)

Si no quieres gestionar CUDA, drivers o descargas de modelos grandes, usa el AI Toolkit en la nube de RunComfy:

👉 RunComfy AI Toolkit trainer

En esa página obtienes la UI de AI Toolkit preinstalada en el navegador. Puedes subir conjuntos de datos, configurar trabajos exactamente como en esta guía y ejecutar el entrenamiento en una GPU H100 (80 GB) o H200 (141 GB). Esta es la forma más fácil de reproducir el tutorial de manera confiable sin tocar la configuración local.


2.2 AI Toolkit Local

Si prefieres ejecutar localmente: instala el repositorio de AI Toolkit siguiendo el README (Python + PyTorch para entrenamiento y Node para la UI), luego ejecuta la UI (npm run build_and_start en ui/). Abre http://localhost:8675 y verás los mismos paneles que en las capturas de pantalla y descripciones aquí.


3. Diseño de conjuntos de datos para Wan I2V LoRAs

Wan 2.2 I2V se entrena con pares de clip de video + caption. Cada muestra de entrenamiento es una secuencia de frames más texto. En AI Toolkit no necesitas cortar manualmente cada clip a la misma longitud. En cambio, configuras Num Frames en el panel DATASETS y el cargador de datos muestreará uniformemente esa cantidad de frames de cada video, manejando automáticamente clips de diferentes duraciones.

3.1 Decide qué tipo de LoRA estás entrenando

Cómo configures los hiperparámetros depende mucho de tu objetivo:

  • LoRA de movimiento/cámara se enfoca en patrones como "órbita 360 alrededor del sujeto", "dolly zoom lento", "temblor de cámara en mano" o beats de acción específicos.
  • LoRA de estilo hace que los videos se vean como una película particular, estilo anime o look pictórico, mientras mantiene el movimiento base y la composición de escena de Wan.
  • LoRA de personaje intenta preservar un personaje o rostro específico de manera consistente a través de muchas escenas y movimientos.

Wan 2.2 I2V puede hacer los tres. Las LoRAs de movimiento se apoyan más en la etapa high-noise, mientras que las LoRAs de estilo y personaje se apoyan más en la etapa low-noise más visuales muy consistentes.


3.2 Clips de video y recorte

Usa clips de video reales (.mp4, .mov, etc.), no GIFs. La longitud del clip puede variar (por ejemplo 5–30 segundos). AI Toolkit muestreará uniformemente frames de entrenamiento a lo largo de cada clip según tu configuración de Num Frames.

Lo único que siempre debes hacer manualmente es recortar y trimear cada clip para que el movimiento que te interesa comience rápidamente y no haya mucho "estar parado" al principio o al final. Para LoRAs de movimiento en particular, quieres que el movimiento ocupe casi todo el clip — por ejemplo, la órbita completa, el movimiento dolly completo o el gesto completo.


3.3 ¿Cuántos clips necesitas?

Como regla general aproximada:

  • Una LoRA de movimiento simple que enseña un solo tipo de movimiento de cámara generalmente entrena bien con 10–30 clips cortos (~3–8s) donde el movimiento objetivo es muy claro y ocupa la mayor parte del frame.
  • Una LoRA de estilo típicamente necesita 10–40 imágenes o clips que cubran diferentes escenas, iluminación y sujetos, pero todos compartan el mismo look y tratamiento de color.
  • Una LoRA de personaje en I2V se comporta más como una LoRA de imagen. Como mínimo, apunta a 10–30 clips cortos del mismo personaje, con poses, escalas, ángulos y fondos variados; si puedes llegar cómodamente a 20–40 clips, la semejanza y robustez generalmente mejoran.

3.4 Captions para clips I2V

Cada archivo de video puede tener opcionalmente un archivo .txt de caption con el mismo nombre base (por ejemplo castle_orbit.mp4 y castle_orbit.txt). AI Toolkit también soporta un Default Caption que se usa cuando un clip no tiene archivo de caption propio.

Buenos patrones de caption:

  • Para una LoRA de movimiento, codifica el movimiento explícitamente en el texto, por ejemplo:

    orbit 360 around the subject, orbit 180 around the subject o slow dolly in toward the character.

  • Para una LoRA de estilo, describe el look, no el contenido de la escena, por ejemplo:

    grainy 16mm film look, high contrast, warm tint.

  • Para una LoRA de personaje, incluye una palabra trigger más una clase, por ejemplo:

    frung, young woman, casual clothing (donde frung es tu token trigger).

También puedes combinar un Trigger Word configurado en el panel JOB con captions que contengan [trigger]. AI Toolkit reemplazará [trigger] con tu string trigger elegido al cargar el dataset para que no tengas que codificar el nombre del trigger en cada caption.


4. Especificidades de Wan 2.2 I2V que necesitas entender

4.1 Transformers High-noise vs Low-noise

Los dos transformers de Wan se comportan aproximadamente así:

El transformer high-noise opera en timesteps cerca del inicio del proceso de difusión (aproximadamente 1000 hasta ~875). Establece la composición global y formas gruesas y decide dónde van los objetos, cómo se mueve la cámara y cuál será la trayectoria de movimiento. Es crítico para movimiento y layout.

El transformer low-noise ejecuta en timesteps desde aproximadamente 875 hasta 0. Refina detalles, texturas, semejanza facial y micro-movimientos. Es crítico para identidad, textura y nitidez.

En la práctica, entrenar solo la etapa high-noise puede enseñar nuevos tipos de movimiento y composición pero tiende a sub-entrenar el detalle. Entrenar solo la etapa low-noise tiene dificultades para cambiar significativamente el movimiento o layout. Para la mayoría de LoRAs deberías entrenar ambas etapas y luego dirigir el énfasis usando Timestep Bias en el panel TRAINING.


4.2 Frames, FPS y velocidad

Wan 2.2 I2V 14B puede generar hasta 81 frames a 16 FPS, que son 5 segundos. En la práctica, los conteos válidos de frames de video siguen la regla "4n+1" (por ejemplo 9, 13, 17, 21, 33, 41, 81…). Puedes pensar en duraciones de video en esa familia; 1 frame también es soportado y efectivamente reduce I2V a un modo de frame único similar a imagen para el AI Toolkit entrenamiento LoRA Wan 2.2 I2V.

En AI Toolkit hay dos controles Num Frames separados. Num Frames en el panel DATASETS controla cuántos frames por clip se muestrean para entrenamiento. Num Frames en el panel SAMPLE controla qué tan largos son tus videos de vista previa. No tienen que coincidir exactamente, pero mantenerlos similares hace el comportamiento más fácil de razonar.

Un buen punto de partida para entrenamiento es 41 frames (alrededor de 2.5 segundos). En GPUs de 80–96 GB (clase H100) puedes ir hasta la configuración completa de 81 frames. Longitudes más cortas como 21 o 33 frames pueden usarse para reducir la carga de VRAM y tiempo por paso en GPUs pequeñas, a costa de capturar menos contexto temporal.


4.3 Resolución y área de píxeles

Las demos oficiales de Wan tienden a mantener el área efectiva alrededor de 480×832 ≈ 400k píxeles, y los espacios de Hugging Face ajustan dimensiones a múltiplos de 16 o 32.

Para el Wan 2.2 I2V 14B entrenamiento LoRA imagen a video con AI Toolkit:

  • En una GPU de 24 GB, usa buckets de resolución como 512 y 768. Evita 1024×1024 a menos que estés muy agresivamente cuantizado y/o usando layer offloading; video a 1024² más 41–81 frames es pesado.
  • En GPUs de 48 GB+ o H100/H200, puedes agregar con seguridad un bucket de 1024 e incluso usar resoluciones cinematográficas widescreen centradas alrededor de valores como 1024×576, 1024×608 o 1024×640.

AI Toolkit automáticamente agrupará y reducirá la escala de tus videos a las resoluciones seleccionadas al cargar el dataset.


5. Paso a paso: cómo entrenar un LoRA para WAN 2.2 con AI Toolkit

Asumimos que tienes al menos una GPU de clase 24 GB, así que las configuraciones a continuación son una base segura. Si tienes una tarjeta más grande o usas el AI Toolkit en la nube de RunComfy, algunos paneles también incluyen notas breves sobre cómo escalar las configuraciones.


5.1 Panel JOB

En el panel JOB configuras metadatos básicos y, opcionalmente, un token trigger.

  • Training Name

    Usa cualquier nombre descriptivo; se convierte en el nombre de la carpeta para checkpoints y samples. Ejemplos: wan_i2v_orbit_v1, wan_i2v_style_neon, wan_i2v_char_frung_v1.

  • GPU ID

    En una instalación local esto apunta a tu GPU física. En el RunComfy cloud AI Toolkit puedes dejarlo como default; el tipo de máquina real (H100/H200) se elige después en la Training Queue.

  • Trigger Word (opcional)

    Usa un trigger para LoRAs de personaje o estilo donde quieras un token dedicado como frung o wan_cam_orbit. Si los captions de tu dataset contienen [trigger], AI Toolkit sustituirá el valor de tu Trigger Word en esos captions automáticamente al cargar.

    Para LoRAs de movimiento puro, a menudo no necesitas una palabra trigger porque el comportamiento ya está codificado en frases como "orbit 360 around the subject". Para personajes y estilos, se recomienda encarecidamente usar un trigger para tener un interruptor limpio de encendido/apagado para tu LoRA después.


5.2 Paneles MODEL y QUANTIZATION

Estos paneles controlan qué checkpoint del modelo Wan se usa y qué tan agresivamente se cuantiza.

Panel MODEL

  • Model Architecture

    Selecciona Wan 2.2 I2V (14B).

  • Name or Path

    El ID del modelo de Hugging Face (ID de repo) para el checkpoint base, por ejemplo: ai-toolkit/Wan2.2-I2V-A14B-Diffusers-bf16.

    En la mayoría de builds de AI Toolkit, seleccionar Wan 2.2 I2V (14B) auto-completará este valor; déjalo así a menos que tengas una razón para cambiarlo.

  • Low VRAM

    Activa Low VRAM ON para GPUs de consumidor de 24 GB o cualquier tarjeta que también maneje tu display. En tarjetas de 48 GB+ (incluyendo H100/H200), a menudo puedes dejarlo OFF para velocidad siempre que mantengas tu carga de entrenamiento razonable (por ejemplo buckets de 512/768 y ~41 frames). Si ves OOMs intermitentes (a menudo causados por el bucket de resolución más grande) o quieres empujar buckets de 1024 y/o 81 frames, activa Low VRAM ON para estabilidad.

  • Layer Offloading

    Este toggle transmite partes del modelo a RAM de CPU en lugar de mantener todas las capas residentes en VRAM. Solo es necesario si intentas ejecutar Wan I2V en una GPU muy pequeña (alrededor de 10–12 GB VRAM) y tienes mucha RAM de sistema (64 GB+). Puede aproximadamente duplicar el tiempo por paso pero puede traer el VRAM pico por debajo de ~9 GB. Para GPUs de 24 GB, comienza con Layer Offloading OFF y solo actívalo si aún tienes errores de out-of-memory.

En GPUs grandes / RunComfy:

En 48 GB+ o en H100/H200, comienza con Layer Offloading OFF. Mantén Low VRAM OFF si quieres máxima velocidad, pero combínalo con buckets conservadores (512/768) y frames (≈41) primero. Si empujas 1024/81 y obtienes picos de OOM, activa Low VRAM ON (o elimina 1024) para estabilizar la ejecución.

Panel QUANTIZATION

  • Transformer

    En GPUs de 24–32 GB, configura Transformer a 4bit with ARA. Esto usa cuantización de 4-bit junto con un Accuracy Recovery Adapter para que el uso de VRAM esté cerca del 4-bit simple mientras la calidad se mantiene mucho más cerca de bf16.

  • Text Encoder

    Configura Text Encoder a float8 (o qfloat8). Esto reduce VRAM y cómputo para el text encoder con impacto insignificante en la calidad de LoRA de Wan 2.2 I2V.

Esto refleja las configuraciones de ejemplo oficiales de AI Toolkit para LoRAs de video de Wan 2.2 y es la razón principal por la que el entrenamiento es práctico en tarjetas de 24 GB. Si encuentras problemas de estabilidad o ralentizaciones severas con ARA en una configuración particular, puedes volver a qfloat8 para el Transformer; usa más VRAM pero se comporta muy similarmente en términos de calidad.

En GPUs grandes / RunComfy:

En una H100/H200 o tarjeta de workstation de 48–96 GB, puedes mantener 4bit with ARA y gastar el VRAM extra en mayor resolución, más frames o un rango de LoRA más alto, o cambiar el Transformer a una opción pura de float8 / qfloat8 para un stack más simple. Volver completamente a bf16 en todo lugar rara vez es necesario para el WAN 2.2 - Entrenamiento LORA i2v.


5.3 Panel MULTISTAGE (high / low noise)

El panel MULTISTAGE te permite decidir qué experto(s) de Wan entrenar y con qué frecuencia el trainer cambia entre ellos.

  • Stages to Train

    Mantén tanto High Noise como Low Noise en ON para la mayoría de LoRAs. High noise controla composición y movimiento; low noise controla detalle e identidad.

  • Switch Every

    Este valor controla cuántos pasos ejecutas en un experto antes de cambiar al otro. Con High Noise = ON, Low Noise = ON, Switch Every = 10 y Steps = 3000, AI Toolkit entrena:

    • Pasos 1–10 en el transformer high-noise,
    • Pasos 11–20 en el transformer low-noise,
    • y repite esta alternancia hasta que el entrenamiento termine.

En GPUs grandes puedes usar Switch Every = 1 (alternar cada paso) solo si ambos expertos permanecen residentes en VRAM (sin Low VRAM/offload/swap). Si Low VRAM o cualquier offloading/swapping está involucrado, cada cambio puede desencadenar carga/descarga costosa, y Switch Every = 1 se vuelve extremadamente lento. En ese caso, prefiere Switch Every = 10–50 para reducir overhead de swap.

Para una línea base de GPU de 24 GB, usa:

  • High Noise = ON
  • Low Noise = ON
  • Switch Every = 10-50

En GPUs grandes / RunComfy:

Si ambos expertos permanecen residentes (Low VRAM OFF, sin offloading), puedes configurar Switch Every = 1 para alternancia ligeramente más suave. Si ves tiempos de paso lentos o swapping, usa 10–50 en su lugar.


5.4 Panel TARGET (configuraciones de red LoRA)

En el panel TARGET configuras qué tipo de adaptador estás entrenando y qué tan "ancho" es.

  • Target Type

    Configura Target Type a LoRA.

  • Linear Rank

    Linear Rank controla la capacidad de LoRA por bloque. Mayor rango aumenta la capacidad pero también el uso de VRAM y el riesgo de overfitting. Para Wan 2.2 I2V, los defaults prácticos son:

    • LoRAs de movimiento y cámara: Rank 16 es usualmente suficiente porque modifican comportamiento más que detalles visuales pequeños.
    • LoRAs de estilo: comienza con Rank 16; sube a 32 solo si el estilo es complejo y tienes margen de VRAM.
    • LoRAs de personaje: comienza con Rank 16 (incluso en GPUs grandes). Sube a 32 solo después de confirmar que tu ejecución es estable (sin picos de OOM) y específicamente necesitas más capacidad para primeros planos de rostros de alta resolución.

En GPUs muy grandes, Rank 32 puede ayudar para estilos ricos y trabajo de personaje exigente, pero no es requerido para obtener una buena LoRA y puede hacer más probables los picos de OOM cuando se combina con buckets grandes y muchos frames.


5.5 Panel SAVE

El panel SAVE controla con qué frecuencia se escriben checkpoints y en qué precisión.

  • Data Type

    Usa BF16 o FP16. Ambos están bien para LoRAs. BF16 es ligeramente más estable numéricamente en GPUs modernas.

  • Save Every

    Configura Save Every a alrededor de 250. Esto te da un checkpoint cada 250 pasos.

  • Max Step Saves to Keep

    Configura Max Step Saves to Keep entre 4 y 6. Esto mantiene el uso de disco bajo control mientras todavía te deja algunos checkpoints anteriores a los que volver.

No tienes que usar el último checkpoint. Muy a menudo los mejores samples vienen de algún lugar alrededor de 2000–4000 pasos. La configuración del panel SAMPLE abajo explica cómo juzgar esto.

Si desactivas el sampling en entrenamiento (recomendado abajo para builds actuales de Wan I2V), mantén algunos checkpoints (por ejemplo cada 250 pasos) y evalúalos después usando un flujo de trabajo de inferencia separado.


5.6 Panel TRAINING

El panel TRAINING contiene la mayoría de los controles importantes: batch size, learning rate, timesteps, loss y manejo del text encoder.

Hiperparámetros principales

Configura los ajustes principales de entrenamiento así para una LoRA de video Wan I2V de 24 GB:

  • Batch Size

    Comienza con 1. Los modelos de video son pesados, y 1 es realista incluso en tarjetas de 24 GB. En H100/H200 puedes experimentar después con batch sizes de 2–4.

  • Gradient Accumulation

    Deja Gradient Accumulation en 1 inicialmente. El batch size efectivo es batch size por gradient accumulation. Puedes subirlo a 2 o 4 si VRAM está extremadamente ajustado y quieres un batch efectivo ligeramente mayor, pero las ganancias son modestas para video.

  • Learning Rate

    Comienza con Learning Rate = 0.0001. Este es el default en ejemplos de AI Toolkit y es estable para LoRAs de Wan. Si el entrenamiento se ve ruidoso o la LoRA se dispara rápidamente, puedes reducir a 0.00005 a mitad de ejecución y continuar desde el último checkpoint.

  • Steps – rangos típicos:
    • LoRA de movimiento pequeña y enfocada con ~10–20 clips: 1500–2500 pasos.
    • LoRA de personaje o estilo con 20–50 clips: 2000–3000 pasos.
    • Datasets muy grandes pueden ir más alto, pero usualmente es mejor mejorar la calidad de datos (captions, diversidad) que empujar mucho más allá de 3000–4000 pasos.
    • 1000 pasos: ~12–18 horas
    • 1500 pasos: ~18–27 horas
    • 2000 pasos: ~24–36 horas
    • 3000 pasos: ~35–55 horas
  • Weight Decay

    Deja Weight Decay en 0.0001 a menos que tengas una razón específica para cambiarlo; proporciona regularización suave.

  • Loss Type

    Mantén Loss Type como Mean Squared Error (MSE). Wan 2.2 usa un scheduler de ruido flow-matching, y MSE es el loss estándar para esta configuración.


Timesteps y scheduler

  • Timestep Type

    Para Wan 2.2 I2V, Linear es el Timestep Type default y funciona bien para la mayoría de tipos de LoRA. Distribuye actualizaciones uniformemente a lo largo del schedule de flow-matching y funciona bien con la división entre los expertos high-noise y low-noise.

  • Timestep Bias

    Timestep Bias controla qué parte de la trayectoria enfatizas:

    • Balanced – las actualizaciones se distribuyen entre timesteps high-noise y low-noise; este es el default seguro para todos los tipos de LoRA.
    • Favor High Noise – enfoca más en pasos iniciales ruidosos donde Wan decide layout global, movimiento y color.
    • Favor Low Noise – enfoca más en pasos finales limpios donde viven el detalle fino y la identidad.
    • LoRAs de movimiento/cámara – comienza con Timestep Type = Linear, Timestep Bias = Balanced. Para LoRAs de movimiento de cámara muy "puras" puedes experimentar con Favor High Noise para apoyarte más en el experto high-noise.
    • LoRAs de estilo – usa Timestep Type = Linear (o Shift) y Timestep Bias = Favor High Noise, para que la LoRA reescriba el tono y color global mientras el modelo base todavía maneja los detalles de etapa tardía.
    • LoRAs de personaje – usa Timestep Type = Sigmoid (o Linear) y Timestep Bias = Balanced. La identidad y semejanza dependen más de los pasos low-noise, pero mantener el bias Balanced deja que ambos expertos contribuyan; solo si específicamente quieres enfoque extra en micro-detalle deberías probar un sesgo ligero hacia low-noise.

Bajo el capó, Wan 2.2 I2V usa un scheduler de ruido flow-matching. AI Toolkit configura el scheduler y sampler correspondiente automáticamente para la arquitectura Wan 2.2, así que principalmente diriges el comportamiento vía Timestep Type, Timestep Bias y las configuraciones Multi-stage arriba.


EMA (Exponential Moving Average)

  • Use EMA

    Para LoRAs, EMA es opcional y consume VRAM y tiempo extra. La mayoría de usuarios de LoRA de Wan dejan Use EMA OFF y rara vez es necesario a menos que estés haciendo fine-tunes de modelo completo.


Optimizaciones del Text Encoder

En la parte inferior del panel TRAINING están las configuraciones de Text Encoder Optimizations. Controlan qué tan agresivamente el text encoder se descarga o cachea.

  • Unload TE

    Este modo descarga los pesos del text encoder para que ya no consuman VRAM entre pasos. Para LoRAs de Wan 2.2 I2V casi siempre dependes de captions ricos por clip, así que deberías mantener Unload TE OFF en entrenamiento normal basado en captions. Solo considera Unload TE si deliberadamente estás entrenando una LoRA muy estrecha de "trigger-only / blank prompt" que no usa captions del dataset en absoluto.

  • Cache Text Embeddings

    Esta opción pre-computa embeddings de caption una vez y los reutiliza, evitando pasadas repetidas del text encoder. Activa Cache Text Embeddings ON solo cuando tus captions son estáticos y no estás usando features que modifiquen o aleatoricen el prompt en cada paso, como Differential Output Preservation, reescritura dinámica de [trigger] en captions, o cualquier cosa que dependa fuertemente del comportamiento de caption dropout. En ese caso, AI Toolkit codifica todos los captions de entrenamiento una vez, cachea los embeddings a disco y puede sacar el text encoder del VRAM.

Si planeas usar DOP, Caption Dropout, u otros trucos de prompt dinámico, mantén Cache Text Embeddings OFF para que el text encoder pueda re-codificar el prompt real cada batch. Las secciones de Differential Output Preservation y Datasets explican estas interacciones en más detalle.


Regularización – Differential Output Preservation (DOP)

La sección Regularization expone Differential Output Preservation (DOP), que ayuda a la LoRA a comportarse como una edición residual en lugar de sobrescribir el modelo base.

DOP compara la salida del modelo base (sin LoRA) con la salida habilitada con LoRA y agrega una penalización cuando la LoRA cambia aspectos no relacionados con tu concepto objetivo. Intenta enseñar "qué cambia cuando el trigger está presente" en lugar de "re-entrenar todo el modelo".

Para LoRAs de movimiento/cámara, usualmente no necesitas DOP, porque el comportamiento de movimiento ya está bastante localizado. Habilitar DOP aproximadamente duplica el cómputo al agregar forward passes extra.

Para LoRAs de estilo y personaje, DOP a menudo es muy útil para mantener intacto el fuerte realismo base de Wan. Una buena configuración inicial es:

  • Differential Output Preservation: ON
  • DOP Loss Multiplier: 1
  • DOP Preservation Class: person para LoRAs de personaje, o una clase apropiada como scene o landscape para LoRAs de estilo si tu build proporciona esas opciones.

Nota importante de compatibilidad: Differential Output Preservation reescribe o aumenta el texto del prompt en cada paso (por ejemplo intercambiando tu palabra trigger por la palabra de preservation class). Debido a esto, DOP no es compatible con Cache Text Embeddings. Si activas DOP ON, asegúrate de que Cache Text Embeddings esté OFF para que el text encoder vea el prompt actualizado cada batch.


5.7 Panel ADVANCED (Differential Guidance)

Si tu build de AI Toolkit expone el panel ADVANCED para este modelo, puede incluir Do Differential Guidance y Differential Guidance Scale.

Differential Guidance computa predicciones "con LoRA" vs "sin LoRA" y empuja el entrenamiento hacia la diferencia entre ellas, similar en espíritu a DOP pero implementado a nivel de guidance en lugar de como un término de loss separado.

Recomendaciones prácticas:

  • Activa Do Differential Guidance ON con una Differential Guidance Scale alrededor de 3 para LoRAs de estilo edición dirigida (por ejemplo "hacer que la cámara orbite", "aplicar estilo neón") donde quieres que la LoRA se comporte como un modificador limpio.
  • Para LoRAs de estilo muy amplias y pesadas que reescriben todo el look, puedes probar escalas más bajas (1–2) o dejarlo OFF si la LoRA se siente muy débil.

Si estás ajustado en cómputo, puedes dejar Differential Guidance OFF con seguridad para tus primeras ejecuciones y experimentar después.


5.8 Panel DATASETS

Cada bloque de dataset en AI Toolkit mapea a una entrada en la lista datasets:, pero en la UI simplemente configuras una o más tarjetas de dataset.

Una configuración típica de dataset único de Wan I2V se ve así:

  • Target Dataset

    Elige tu carpeta de dataset de video Wan I2V subida, por ejemplo wan_orbit_clips.

  • Default Caption

    Este caption se usa cuando un clip no tiene archivo de caption .txt. Ejemplos:

    LoRA de movimiento: orbit 360 around the subject

    LoRA de estilo: cinematic neon cyberpunk style

    LoRA de personaje: frung, person, portrait (donde frung es tu token trigger).

  • Caption Dropout Rate

    Esta es la probabilidad de que el caption sea descartado (reemplazado por un caption vacío) para una muestra de entrenamiento. Para LoRAs de Wan I2V, una pequeña cantidad de dropout anima al modelo a usar tanto contexto visual como texto. Un rango inicial típico es 0.05–0.10 (5–10%) cuando el text encoder permanece cargado. Si decides habilitar Cache Text Embeddings en el panel TRAINING, a menudo es más simple configurar Caption Dropout Rate = 0 para evitar que un subconjunto de clips permanentemente no tenga caption.

  • LoRA Weight

    Usualmente configurado en 1. Solo cambias esto cuando mezclas múltiples datasets y quieres que un dataset cuente más o menos en el entrenamiento.

  • Settings → Cache Latents

    Mantén esto OFF para datasets de video Wan I2V (Num Frames > 1). Muchos builds actuales de AI Toolkit no soportan cachear latents para datasets multi-frame y fallarán durante la inicialización del dataloader con un error como:

    caching latents is not supported for multi-frame datasets

    Si intencionalmente configuras Num Frames = 1 (entrenamiento tipo imagen), el cacheo de latent puede funcionar y acelerar las cosas.

  • Settings → Is Regularization

    Deja Is Regularization OFF para tu dataset principal. Si agregas un dataset de regularización separado después, configurarías Is Regularization de ese dataset en ON.

  • Flipping

    Flip X y Flip Y reflejan frames horizontal o verticalmente. Para la mayoría de tareas de video deberías mantener ambos OFF, especialmente para LoRAs de movimiento donde el volteo puede invertir la semántica de movimiento izquierda/derecha o para personajes con características asimétricas. Para LoRAs puramente de estilo puedes experimentar con Flip X para aumentar la variación.

  • Resolutions

    Elige uno o más buckets de resolución. En una GPU de 24 GB típicamente habilitas 512 y dejas 768 y 1024 deshabilitados. En 48 GB+ o H100/H200, comienza con 512 y 768 para estabilidad, luego agrega 1024 solo si tienes margen claro de VRAM y tu ejecución es estable (el entrenamiento por buckets puede disparar VRAM cuando alcanza el bucket más grande). AI Toolkit automáticamente asignará clips al bucket más cercano y reducirá escala según sea necesario.

  • Num Frames

    Configura Num Frames al número de frames por clip que quieres muestrear para entrenamiento. Un buen punto de partida es 41. En GPUs muy pequeñas (10–12 GB) con cuantización pesada y offloading, puedes reducir esto a 21 o incluso 9 solo para que el entrenamiento funcione, a costa de contexto temporal más corto.

Si necesitas múltiples datasets (por ejemplo, un dataset principal de movimiento más un pequeño dataset de "estilo"), puedes agregarlos todos en el panel DATASETS y usar LoRA Weight más el flag Is Regularization para controlar su influencia relativa.


5.9 Panel SAMPLE (vistas previas de entrenamiento)

El panel SAMPLE no influye directamente en el entrenamiento; controla cómo AI Toolkit genera periódicamente videos de vista previa para que puedas elegir el mejor checkpoint.

Importante (requisito de Wan I2V): El sampling de Wan 2.2 I2V es imagen-a-video. Cada sample debe incluir un par de prompt + imagen de control.

Si el sampling se ejecuta durante el entrenamiento (por ejemplo disable_sampling: false, skip_first_sample: false, o force_first_sample: true) y cualquier sample no tiene ctrl_img, el paso de sampling de vista previa puede fallar y detener el trabajo temprano. En muchos entornos esto aparece como un error confuso de desajuste de tensor como:

RuntimeError: The size of tensor a (36) must match the size of tensor b (16)

Solución: en samples, asegúrate de que cada prompt tenga un ctrl_img correspondiente (siempre deben aparecer como par). No dejes filas de sample solo con prompt.

Configuraciones de sampling recomendadas (vistas previas habilitadas)

Si quieres vistas previas en entrenamiento, usa estas configuraciones:

  • Sample Every

    Configura Sample Every a 250. Esto coincide con la configuración Save Every para que cada checkpoint tenga un conjunto correspondiente de videos de vista previa.

  • Sampler

    Usa un sampler compatible con el scheduler flow-matching de Wan, típicamente mostrado como FlowMatch o similar en tu build.

  • Width / Height

    En GPUs de 24 GB, usa algo como 768 × 768 o un formato vertical como 704 × 1280 para samples. Evita videos de vista previa de 1024×1024 a menos que estés cómodo con sampling más lento; el entrenamiento mismo no requiere vistas previas de 1024².

  • Guidance Scale

    Comienza con una Guidance Scale alrededor de 3.5–4, que coincide con muchas configuraciones de demo de Wan 2.2.

  • Sample Steps

    Configura Sample Steps a 25. Más pasos rara vez cambian la calidad de movimiento dramáticamente y principalmente aumentan el tiempo.

  • Seed / Walk Seed

    Configura un Seed fijo como 42. Activa Walk Seed ON si quieres que cada vista previa obtenga una seed diferente mientras todavía está agrupada cerca de la original.

  • Num Frames

    Configura Num Frames en el panel SAMPLE igual o cercano a tu valor de entrenamiento. Si entrenaste con 41 frames, muestrea con 41 también. Una vez que la LoRA se vea bien, puedes probar la generalización generando clips más largos a 81 frames; entrenar a 41 a menudo generaliza sorprendentemente bien a inferencia de 81 frames.

  • FPS

    Usualmente mantén FPS = 16. Cambiar FPS solo afecta la velocidad de reproducción, no el movimiento aprendido en sí.

Para prompts, agrega 2–4 filas de prompt que reflejen tu distribución de entrenamiento. Para cada fila, adjunta una imagen de control similar a lo que usarás en inferencia.


6. AI Toolkit entrenamiento LoRA Wan 2.2 I2V: configuraciones para movimiento, estilo y personaje

Aquí hay recetas rápidas para tipos comunes de LoRA de Wan 2.2 I2V. Trata estos como puntos de partida y ajusta basándote en la evaluación de checkpoints (las vistas previas en entrenamiento pueden estar deshabilitadas; ver el panel SAMPLE).

6.1 LoRA de movimiento/cámara

Objetivo: enseñar a Wan un nuevo movimiento como orbit 360, orbit 180 o un swing de cámara específico.

Usa 10–30 clips cortos (~3–8s) donde el movimiento objetivo sea muy claro y ocupe la mayor parte del clip. Los captions deben describir explícitamente el movimiento, por ejemplo orbit 180 around the subject u orbit 360 around a futuristic city.

Pautas de panel:

  • MULTISTAGE: High Noise = ON, Low Noise = ON, Switch Every = 10 (o 20–50 si Low VRAM/offloading causa swapping lento).
  • TARGET: Linear Rank = 16.
  • TRAINING: Learning Rate = 0.0001, Steps ≈ 1500–2500, Timestep Type = Linear, Timestep Bias = Balanced, DOP OFF.
  • DATASETS: Resolutions en 512/768, Num Frames = 33–41 (comienza en 41; 81 es posible en H100/H200 pero espera ~2× tiempo y mayor VRAM), Caption Dropout Rate ≈ 0.05–0.1. Cacheo de latent OFF para datasets multi-frame.

Entrena con Save Every = 250. Vistas previas de sampling: si habilitas vistas previas en entrenamiento, configura Sample Every = 250 y asegúrate de que cada entrada en samples incluya tanto prompt como ctrl_img (el sampling de Wan I2V requiere la imagen de control).

Al evaluar checkpoints, enfócate en si el movimiento objetivo es estable a través de diferentes prompts y escenas; si solo funciona en casi-duplicados de tus clips de entrenamiento, prefiere mejorar la diversidad de datos o aumentar ligeramente los pasos en lugar de empujar el bias lejos de Balanced.


6.2 LoRA de estilo (look/grade de video)

Objetivo: cambiar el estilo visual mientras se respeta el movimiento y composición base de Wan.

Usa 10–40 imágenes o clips que todos compartan el mismo look pero cubran diversas escenas y sujetos, por ejemplo grainy 16mm film look, high contrast, warm tint.

Pautas de panel:

  • MULTISTAGE: High Noise = ON, Low Noise = ON, Switch Every = 10 (o 20–50 si Low VRAM/offloading causa swapping lento).
  • TARGET: Linear Rank = 16 para estilos simples; 16–32 para looks complejos o cinematográficos.
  • TRAINING: Learning Rate = 0.0001, Steps ≈ 1500–2500, Timestep Type = Linear (o Shift), Timestep Bias = Favor High Noise.
  • Regularization (DOP): Differential Output Preservation ON, DOP Loss Multiplier = 1, DOP Preservation Class coincidiendo con tu sujeto dominante (a menudo person o scene), Cache Text Embeddings = OFF.
  • DATASETS: Resolutions 512/768 en 24 GB (y 512/768 en GPUs grandes, con 1024 opcional solo después de estabilidad), Num Frames = 33–41 en 24 GB (41–81 en H100/H200 si puedes permitirte el tiempo), Caption Dropout Rate alrededor de 0.05 si Cache Text Embeddings está OFF. Cacheo de latent OFF para datasets multi-frame.

Observa si el estilo se aplica consistentemente a través de escenas e iluminación. Si comienza a dominar el contenido o hacer que todo se vea igual, intenta bajar la learning rate a mitad de ejecución, retroceder a un checkpoint anterior o reducir el rango de LoRA.


6.3 LoRA de personaje (semejanza en video)

Las LoRAs de personaje en I2V son más desafiantes que en modelos de texto-a-imagen, pero son factibles.

Usa 10–30 clips cortos del mismo personaje en poses, escalas, ángulos y fondos variados; los captions siempre deben incluir tu Trigger Word más una clase, por ejemplo frung, young woman, casual clothing. Si puedes reunir 20–40 clips, la robustez de identidad usualmente mejora, pero no es estrictamente requerido para obtener resultados usables.

Pautas de panel:

  • MULTISTAGE: High Noise = ON, Low Noise = ON, Switch Every = 10 (o 20–50 si Low VRAM/offloading causa swapping lento).
  • TARGET: Linear Rank = 16 en 24 GB; 16–32 en GPUs de alto VRAM (usa 32 cuando tengas margen y te importen primeros planos de rostros de alta resolución).
  • TRAINING: Learning Rate = 0.0001, Steps ≈ 2000–3000, Timestep Type = Sigmoid (o Linear), Timestep Bias = Balanced.
  • Regularization (DOP): Differential Output Preservation ON, DOP Loss Multiplier = 1, DOP Preservation Class = person.
  • DATASETS: Comienza con 512/768 (agrega 1024 solo después de estabilidad), Num Frames = 33–41 en 24 GB, o 41–81 en H100/H200 (81 es significativamente más lento). Cacheo de latent OFF para datasets multi-frame.

La experiencia de la comunidad sugiere que la identidad y semejanza dependen más del experto low-noise, pero mantener Timestep Bias = Balanced y usar un Timestep Type moldeado (Sigmoid) usualmente da un mejor trade-off entre semejanza y estabilidad general del video que sesgarse fuertemente hacia low noise.


7. Solución de problemas comunes de Wan I2V LoRA

The size of tensor a (36) must match the size of tensor b (16) at non-singleton dimension 1

Por qué sucede: en WAN 2.2 14B I2V (arch: wan22_14b_i2v), el sampling de vista previa en entrenamiento es imagen-a-video y requiere una imagen de control. Si cualquier entrada en samples tiene un prompt pero le falta ctrl_img, el paso de sampling de vista previa puede crashear y a veces aparece como el desajuste de tensor arriba.

Qué hacer: en samples, asegúrate de que cada prompt tenga un ctrl_img correspondiente (siempre deben aparecer como par). No dejes filas de sample solo con prompt.


caching latents is not supported for multi-frame datasets

Esto sucede cuando el cacheo de latent está habilitado en un dataset de video (Num Frames > 1).

Solución: En el panel DATASETS, configura Cache Latents / Cache Latents to Disk = OFF para datasets de video Wan I2V.


Movimiento demasiado rápido comparado con la fuente

Esto usualmente sucede si entrenaste con menos frames por clip que tu configuración de inferencia. Por ejemplo, podrías haber entrenado a 21 o 41 frames pero estás muestreando a 81 frames con FPS fijo en 16. El mismo movimiento se "estira" de manera diferente.

Puedes arreglar esto bajando FPS en el panel SAMPLE (solo para reproducción), o entrenando y muestreando a un Num Frames consistente como 41 para que el comportamiento temporal sea más predecible.


La cámara no se mueve o la composición apenas cambia

Si la cámara apenas se mueve o la composición se ve como el modelo base:

Verifica que realmente estés entrenando la etapa high-noise y que Timestep Bias no esté configurado muy fuertemente hacia timesteps bajos. Asegúrate de que High Noise esté ON en el panel MULTISTAGE y Timestep Bias esté en Favor High para LoRAs de movimiento. También verifica que los captions describan claramente el movimiento deseado; Wan no puede aprender movimiento que no está visible ni nombrado.


Los detalles y rostros se ven peor que el Wan base

Si tu LoRA remueve detalle o empeora rostros:

Intenta aumentar Linear Rank ligeramente (por ejemplo de 16 a 32) y favorecer low noise en el Timestep Bias para que más señal de entrenamiento caiga en timesteps tardíos donde viven identidad y detalle. También puedes bajar la learning rate y continuar desde un checkpoint anterior.


LoRA sobreajusta y solo funciona en escenas similares al entrenamiento

Si la LoRA solo se ve correcta en escenas muy similares a los datos de entrenamiento:

Reduce el número total de Steps (por ejemplo de 5000 a 3000), aumenta la diversidad del dataset y considera habilitar Differential Output Preservation si actualmente está apagado. Si DOP ya está ON y el efecto todavía es muy estrecho, baja ligeramente el rango de LoRA y/o la learning rate.


Errores de VRAM out-of-memory

Si el entrenamiento frecuentemente se queda sin VRAM:

Reduce cualquier combinación de:

  • buckets de resolución (elimina 1024 y mantén 512/768),
  • Num Frames (por ejemplo de 41 a 21),
  • batch size (mantenlo en 1 si no lo está ya).

Activa Low VRAM ON, activa Layer Offloading ON si solo tienes 10–12 GB de VRAM y mucha RAM de sistema, y asegúrate de que la cuantización esté configurada en float8 para tanto el transformer como el text encoder en el panel QUANTIZATION. Si el VRAM local todavía no es suficiente, considera ejecutar el mismo trabajo de AI Toolkit en la nube de RunComfy con una GPU H100 o H200, donde puedes mantener las configuraciones mucho más simples.

Si ves OOM incluso en GPUs grandes (por ejemplo H100), usualmente es un problema de pico de bucket:

  • Elimina el bucket de 1024 hasta que la ejecución sea estable, luego vuelve a agregarlo después.
  • Reduce Num Frames (41 → 33 → 21).
  • Mantén Layer Offloading OFF a menos que realmente lo necesites (puede hacer las ejecuciones más lentas y con más swap).
  • Si hay swapping involucrado, aumenta MULTISTAGE Switch Every (10–50) para evitar overhead de carga/descarga por paso.
  • Prefiere cuantización más agresiva para memoria: Transformer 4bit with ARA (o qfloat8 si ARA es inestable) y Text Encoder float8/qfloat8.

El entrenamiento es mucho más lento de lo esperado (decenas de segundos por paso)

El entrenamiento de LoRA de Wan 2.2 I2V es lento por naturaleza: cada paso procesa muchos frames, y entrenar ambos expertos significa que a menudo necesitas más pasos totales para dar a cada etapa suficientes actualizaciones.

Verificación de realidad (expectativas de tiempo típicas): con 41 frames y buckets mixtos de 512/768/1024, 3000 pasos en una H100 usualmente son decenas de horas (a menudo ~35–55 horas). Muestrear a 81 frames es aproximadamente ~2× ese cómputo/tiempo. En GPUs más pequeñas (especialmente con cuantización + offloading), ver decenas de segundos por paso puede ser normal.

Si se siente irrazonablemente lento o sigue poniéndose más lento con el tiempo:

  • Reduce Num Frames (41 → 33 → 21).
  • Elimina el bucket de 1024 (quédate con 512/768).
  • Evita Layer Offloading a menos que realmente lo necesites.
  • Si Low VRAM/offload/swapping está habilitado, no uses Switch Every = 1; usa 10–50.
  • Si las vistas previas están habilitadas, mantén el sampling infrecuente (por ejemplo Sample Every = 250) para que el sampling no interrumpa el entrenamiento muy a menudo.

👉 RunComfy AI Toolkit trainer


8. Exportar y usar tu Wan I2V LoRA

Una vez que el entrenamiento esté completo, puedes usar tu Wan 2.2 I2V 14B LoRA de dos maneras simples:

  • Model playground – abre el Wan 2.2 I2V 14B LoRA playground y pega la URL de tu LoRA entrenada para ver rápidamente cómo se comporta sobre el modelo base.
  • Flujos de trabajo de ComfyUI – inicia una instancia de ComfyUI, construye un flujo de trabajo, conecta tu LoRA y ajusta su peso y otras configuraciones para un control más detallado.

Más guías de entrenamiento LoRA de AI Toolkit

¿Listo para comenzar el entrenamiento?