FastVideo: Aceleración de la generación de video desde el entrenamiento hasta la inferencia
Descubre FastVideo, un marco abierto que combina atención dispersa, destilación, entrenamiento escalable y generación de video en tiempo real en GPU y Apple Silicon.
FastVideo: Aceleración de la generación de video desde el entrenamiento hasta la inferencia
Los modelos de difusión de video son potentes, pero resultan costosos en prácticamente todas las etapas del flujo de trabajo. El entrenamiento requiere sistemas distribuidos y grandes conjuntos de datos, mientras que la inferencia puede implicar decenas de pasos de eliminación de ruido sobre representaciones espacio-temporales de alta dimensionalidad. Incluso un clip corto generado puede requerir una cantidad considerable de memoria de GPU y capacidad de cómputo.
FastVideo aborda este problema como un marco unificado tanto para el postentrenamiento de modelos de video como para la inferencia acelerada. En lugar de tratar la optimización como una preocupación independiente del despliegue, el proyecto reúne el ajuste fino, la destilación, la atención dispersa, el entrenamiento distribuido y las API de generación orientadas al usuario en un solo código base.
El resultado es una base práctica para investigadores e ingenieros que trabajan con modelos abiertos de difusión de video, especialmente cuando la latencia, el uso de memoria o la flexibilidad del hardware son importantes.
Qué ofrece FastVideo
FastVideo admite flujos de trabajo de postentrenamiento de extremo a extremo para modelos de video bidireccionales y autorregresivos. Los desarrolladores pueden realizar un ajuste fino completo o un ajuste fino mediante LoRA en DiT de video abiertos de última generación, preparar conjuntos de datos de video, imagen y texto, y utilizar múltiples estrategias de destilación para reducir el costo de la inferencia.
Las principales capacidades de entrenamiento incluyen:
- Destilación de coincidencia de distribución (DMD2): Reduce el número de pasos de eliminación de ruido necesarios para generar un video.
- Atención dispersa de video (VSA): Reduce la carga de trabajo de la atención al aprovechar la estructura de los datos de video.
- Destilación dispersa: Combina el entrenamiento del modelo y el cómputo disperso para lograr una aceleración de más de 50 veces en la eliminación de ruido en los flujos de trabajo compatibles.
- FSDP2 y paralelismo de secuencias: Distribuye los trabajos de entrenamiento grandes entre varios dispositivos.
- Puntos de control selectivos de activaciones: Intercambia recomputación por un menor consumo de memoria.
- Destilación causal Self-Forcing: Admite flujos de trabajo de generación causal para escenarios autorregresivos o de transmisión.
Esta combinación es importante porque un kernel de atención más rápido por sí solo no resuelve todo el problema. Un modelo puede seguir siendo demasiado lento porque requiere demasiados pasos de eliminación de ruido, o puede no caber en la memoria durante el entrenamiento. FastVideo pone estas capas de optimización a disposición de forma conjunta.
Optimizaciones de inferencia
Para la inferencia, FastVideo proporciona paralelismo de secuencias para la generación distribuida y múltiples backends de atención. El marco expone estas funciones mediante una interfaz de línea de comandos y una API de Python, lo que permite utilizarlo tanto como entorno de investigación como componente de una aplicación.
El hardware y los sistemas operativos compatibles son variados para un proyecto centrado en la aceleración. FastVideo admite GPU NVIDIA H100, A100 y RTX 4090, además de configuraciones con Linux, Windows y macOS. La compatibilidad con Apple Silicon se proporciona mediante un runtime de MLX y la familia de modelos FastMetal-QAD.
El proyecto también incluye integraciones y rutas de despliegue para aplicaciones en tiempo real. Dreamverse, ubicado en apps/dreamverse/, es la plataforma de FastVideo para la generación y edición de video en tiempo real. Admite generación en streaming y lo que el proyecto denomina dirección por estilo: guiar interactivamente un video mientras se produce. Dreamverse puede ejecutarse en una GPU local, un servidor B200 autogestionado mediante SSH, Docker o Modal sin servidor.
Instalación con uv
El proyecto recomienda utilizar uv para crear un entorno de Python aislado. Por lo general, esto ofrece una instalación más rápida y estable que un entorno de Conda existente.
Para un sistema NVIDIA que use CUDA 12, la configuración básica es:
uv venv --python 3.12 --seed
source .venv/bin/activate
UV_TORCH_BACKEND=cu126 uv pip install fastvideo
Para CUDA 13, utiliza UV_TORCH_BACKEND=cu130 en su lugar. Las guías de instalación específicas de cada plataforma son importantes porque FastVideo depende de kernels compilados y los distintos backends de atención pueden tener diferentes requisitos de compatibilidad.
En Apple Silicon, instala los extras de MLX y utiliza un checkpoint FastMetal-QAD:
uv pip install -e '.[mlx]'
Los modelos FastMetal-QAD disponibles incluyen variantes de 1.3B, 5B y 14B optimizadas para hardware Mac. Después de la instalación, descarga FastVideo/FastMetal-1.3B-QAD u otro checkpoint compatible y sigue la guía para Apple Silicon.
Los sistemas NVIDIA DGX Spark requieren un enfoque diferente. Como no existe un wheel ARM precompilado para el kernel CUDA de FastVideo, el paquete debe instalarse desde el código fuente:
UV_TORCH_BACKEND=cu130 uv pip install -e .
Esto compila el kernel localmente para el entorno ARM64. Existe por separado un wheel ARM64 precompilado de FlashAttention compatible.
Ejecución de la primera generación
Una vez instalados el entorno y los kernels VSA, un ejemplo mínimo en Python puede generar un video con la API VideoGenerator:
import os
from fastvideo import VideoGenerator
def main():
os.environ["FASTVIDEO_ATTENTION_BACKEND"] = "VIDEO_SPARSE_ATTN"
generator = VideoGenerator.from_pretrained(
"FastVideo/FastWan2.1-T2V-1.3B-Diffusers",
num_gpus=1,
)
prompt = (
"A curious raccoon peers through a vibrant field of yellow sunflowers, "
"its eyes wide with interest."
)
generator.generate_video(
prompt,
output_path="my_videos/",
save_video=True,
)
if __name__ == "__main__":
main()
Ejecútalo con:
python example.py
La configuración FASTVIDEO_ATTENTION_BACKEND selecciona el backend de atención dispersa de video. El parámetro num_gpus puede ajustarse al hardware disponible, mientras que output_path controla dónde se escriben los archivos generados. Para usos en producción, la guía de inicio rápido de inferencia y el recetario de familias de modelos ofrecen opciones de configuración más detalladas.
Ejemplos de destilación y rendimiento
El trabajo de optimización de FastVideo es especialmente relevante cuando un modelo debe producir clips cortos con baja latencia. El proyecto informa que FastWan-QAD puede generar cinco segundos de video en 1,8 segundos de extremo a extremo. Otro flujo de trabajo mostrado crea un video de cinco segundos en 1080p en 4,5 segundos con una sola GPU.
El repositorio incluye recetas de destilación dispersa para varias familias de modelos. Por ejemplo, la receta FastWan2.1-T2V-1.3B utiliza el conjunto de datos FastVideo Synthetic Wan2.1 480P, mientras que la receta FastWan2.2-TI2V-5B utiliza el conjunto de datos FastVideo Synthetic Wan2.2 720P.
Estos ejemplos ilustran el principio central de diseño del marco: las mejoras de latencia provienen de combinar técnicas a nivel de modelo y de sistemas. La destilación por pasos reduce el número de iteraciones de eliminación de ruido, la atención dispersa reduce el costo de cada iteración y la ejecución distribuida hace viables cargas de trabajo más grandes.
FastVideo en el ecosistema más amplio
El marco también se ha convertido en la base de proyectos relacionados de investigación y producción. La funcionalidad de inferencia de difusión de SGLang se basa en una bifurcación de FastVideo del 24 de septiembre de 2025. Otros proyectos basados en el marco o relacionados con él incluyen DanceGRPO, SRPO, DCM, HY-WorldPlay, Hunyuan Video 1.5, Kandinsky-5.0 y LongCat Video.
Este ecosistema es importante para los desarrolladores que eligen una pila de inferencia. FastVideo no se limita a un único checkpoint ni a una sola aplicación. Sus abstracciones abarcan el entrenamiento, la evaluación, la inferencia, los kernels específicos del hardware y el despliegue de aplicaciones, por lo que resulta adecuado tanto para experimentar con nuevos métodos de optimización como para crear productos de generación de video.
Cuándo utilizarlo
FastVideo es una opción sólida cuando necesitas ajustar un modelo de video abierto, reducir el número de pasos de un modelo de difusión, desplegar atención dispersa o crear un servicio de generación de baja latencia. Es especialmente útil para equipos que quieren mantener el código de investigación y el de despliegue estrechamente relacionados.
Los principales requisitos previos son disponer de hardware compatible, tener familiaridad con PyTorch y los modelos de difusión, y estar dispuesto a seguir las instrucciones de instalación específicas de cada plataforma. Los kernels CUDA compilados y las suposiciones específicas de cada modelo implican que una instalación genérica del paquete puede no ser suficiente en todas las máquinas.
Para los desarrolladores que trabajan en generación de video en tiempo real, la combinación de DMD2, VSA, paralelismo de secuencias y runtimes específicos del hardware convierte a FastVideo en algo más que una demostración de un modelo. Es un conjunto de herramientas de ingeniería para llevar la generación de video de un experimento offline hacia un sistema interactivo.