FastVideo:加速从训练到推理的视频生成
探索 FastVideo:一个结合稀疏注意力、蒸馏、可扩展训练和实时视频生成的开放框架,支持 GPU 和 Apple Silicon。
FastVideo:加速从训练到推理的视频生成
视频扩散模型功能强大,但在工作流的几乎每个阶段都成本高昂。训练需要分布式系统和大型数据集,而推理可能涉及在高维时空表示上执行数十个去噪步骤。即使是较短的生成片段,也可能需要大量 GPU 内存和计算资源。
FastVideo 以统一框架的形式解决了这一问题,覆盖视频模型后训练和加速推理。该项目没有将优化视为独立的部署问题,而是将微调、蒸馏、稀疏注意力、分布式训练以及面向用户的视频生成 API 集成到同一个代码库中。
其成果是一个实用的基础设施,适合使用开源视频扩散模型的研究人员和工程师,尤其适用于对延迟、内存使用或硬件灵活性有要求的场景。
FastVideo 提供的功能
FastVideo 支持双向视频模型和自回归视频模型的端到端后训练工作流。开发者可以对先进的开源视频 DiT 模型执行完整微调或 LoRA 微调,准备视频、图像和文本数据集,并使用多种蒸馏策略来降低推理成本。
主要训练能力包括:
- 分布匹配蒸馏(DMD2): 减少生成视频所需的去噪步骤数量。
- 视频稀疏注意力(VSA): 利用视频数据的结构降低注意力计算负载。
- 稀疏蒸馏: 将模型训练与稀疏计算相结合,在支持的工作流中实现超过 50 倍的去噪加速。
- FSDP2 和序列并行: 将大型训练任务分布到多个设备上。
- 选择性激活检查点: 通过重新计算换取更低的内存消耗。
- Self-Forcing 因果蒸馏: 支持自回归或流式场景中的因果生成工作流。
这一组合非常重要,因为仅有更快的注意力内核并不能解决完整问题。模型可能仍然很慢,因为它需要过多的去噪步骤;也可能在训练过程中无法装入内存。FastVideo 将这些优化层整合到了一起。
推理优化
在推理方面,FastVideo 提供用于分布式生成的序列并行和多种注意力后端。该框架同时通过命令行界面和 Python API 暴露这些功能,因此既可以作为研究环境,也可以作为应用组件。
对于一个专注于加速的项目而言,它支持的硬件和操作系统范围较广。FastVideo 支持 NVIDIA H100、A100 和 RTX 4090 GPU,以及 Linux、Windows 和 macOS 配置。Apple Silicon 支持通过 MLX 运行时和 FastMetal-QAD 模型系列提供。
该项目还包含实时应用的集成和部署路径。位于 apps/dreamverse/ 下的 Dreamverse 是 FastVideo 的实时视频生成与编辑平台。它支持流式生成以及项目所称的 vibe directing:在视频生成过程中进行交互式引导。Dreamverse 可以运行在本地 GPU 上,也可以通过 SSH 连接自托管的 B200 服务器,或使用 Docker、无服务器 Modal 运行。
使用 uv 安装
项目建议使用 uv 创建隔离的 Python 环境。与已有的 Conda 环境相比,这通常能提供更快、更稳定的安装体验。
对于使用 CUDA 12 的 NVIDIA 系统,基本设置如下:
uv venv --python 3.12 --seed
source .venv/bin/activate
UV_TORCH_BACKEND=cu126 uv pip install fastvideo
对于 CUDA 13,请改用 UV_TORCH_BACKEND=cu130。平台特定的安装指南非常重要,因为 FastVideo 依赖编译后的内核,不同的注意力后端可能有不同的兼容性要求。
在 Apple Silicon 上,安装 MLX extras 并使用 FastMetal-QAD 检查点:
uv pip install -e '.[mlx]'
可用的 FastMetal-QAD 模型包括针对 Mac 硬件优化的 1.3B、5B 和 14B 版本。安装完成后,下载 FastVideo/FastMetal-1.3B-QAD 或其他受支持的检查点,并遵循 Apple Silicon 指南。
NVIDIA DGX Spark 系统需要采用不同的方法。由于 FastVideo CUDA 内核没有预构建的 ARM wheel,必须从源代码安装:
UV_TORCH_BACKEND=cu130 uv pip install -e .
此命令会在 ARM64 环境中本地编译内核。另有单独提供的兼容预构建 ARM64 FlashAttention wheel。
运行首次生成
安装环境和 VSA 内核后,可以使用 VideoGenerator API 通过一个最小化的 Python 示例生成视频:
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()
使用以下命令运行:
python example.py
FASTVIDEO_ATTENTION_BACKEND 设置用于选择视频稀疏注意力后端。可以根据可用硬件调整 num_gpus 参数,而 output_path 则控制生成文件的写入位置。在生产环境中,推理快速入门指南和模型系列配置手册提供了更详细的配置选项。
蒸馏与性能示例
当模型必须以低延迟生成短片段时,FastVideo 的优化工作尤其有价值。项目报告称,FastWan-QAD 可以在端到端 1.8 秒内生成五秒视频。另一个展示的工作流则可以在单个 GPU 上用 4.5 秒生成一个五秒的 1080p 视频。
代码库包含针对多个模型系列的稀疏蒸馏配方。例如,FastWan2.1-T2V-1.3B 配方使用 FastVideo Synthetic Wan2.1 480P 数据集,而 FastWan2.2-TI2V-5B 配方使用 FastVideo Synthetic Wan2.2 720P 数据集。
这些示例体现了该框架的核心设计原则:延迟改进来自模型层面技术和系统层面技术的结合。逐步蒸馏减少去噪迭代次数,稀疏注意力降低每次迭代的成本,而分布式执行让更大的工作负载变得切实可行。
FastVideo 与更广泛的生态系统
该框架也已成为相关研究和生产项目的基础。SGLang 的扩散推理功能基于一个于 2025 年 9 月 24 日创建的 FastVideo fork。其他基于该框架或与其相关的项目包括 DanceGRPO、SRPO、DCM、HY-WorldPlay、Hunyuan Video 1.5、Kandinsky-5.0 和 LongCat Video。
对于选择推理技术栈的开发者而言,这一生态系统非常重要。FastVideo 并不局限于单个检查点或单一应用。它的抽象层覆盖训练、评估、推理、面向特定硬件的内核以及应用部署,因此既适合试验新的优化方法,也适合构建视频生成产品。
适用场景
当你需要微调开源视频模型、减少扩散模型的步数、部署稀疏注意力或构建低延迟生成服务时,FastVideo 是一个有力的候选方案。对于希望让研究代码与部署代码保持紧密关联的团队,它尤其有用。
主要前提包括:能够访问兼容的硬件,熟悉 PyTorch 和扩散模型,并愿意遵循平台特定的安装说明。由于存在编译 CUDA 内核和模型特定假设,在每台机器上进行通用的软件包安装可能都不够。
对于从事实时视频生成的开发者而言,DMD2、VSA、序列并行和面向特定硬件的运行时相结合,使 FastVideo 不只是一个模型演示。它是一套工程工具包,帮助视频生成从离线实验走向交互式系统。