文章摘要
OpenVDN团队基于MiniMax-H3优化开发的视频生成模型VDN-H3近期开源,该模型通过双分支混合注意力等技术优化生成效率,在8张NVIDIA B200显卡配置下,生成14.4秒768p分辨率视频仅需11.23秒,首次实现生成速度反超视频播放时长,已完整开放模型权重、代码,提供部署方案。

近期开源的VDN-Minimax-H3(简称VDN-H3)实现了突破性的视频生成效率:在8张NVIDIA B200显卡的配置下,仅用11.23秒即可完成一段14.4秒、768p分辨率视频的去噪生成,让视频生成速度首次实现对播放时长的反超。

该模型由OpenVDN团队开发,基于MiniMax-H3优化而来,目前已完整开源模型权重、训练代码与优化后的推理实现。团队将局部Softmax注意力与按帧更新的线性注意力结合,并通过少步蒸馏技术进一步降低视频生成的计算开销。

效果展示

多镜头旅行片段

官方测试用的提示词围绕一位白发角色展开,串联起城市街头、便利店、公园、列车与夜景等多个场景,同时指定了镜头切换规则、日语台词与环境背景音,完整呈现了连贯的叙事视频。

幻想场景与角色互动

测试场景包含丛林遗迹中的蓝发精灵与水、光构成的狐狸互动的画面,提示词同时描述了人物动作、水流效果、发光粒子细节以及镜头运动轨迹,充分展示了模型在复杂多元素场景下的生成能力。

从手绘方案到立体村庄

该示例的镜头从纸上的水彩建筑规划图逐步推进,建筑与树木逐渐立体化,河流开始流动,最终画面转变为具有写实质感的完整村庄场景,展现了模型从静态手绘到动态立体画面的转换能力。

技术核心设计

双分支混合注意力机制

VDN-H3将视频Token的注意力计算拆分为两个互补的分支:局部区域保留精确的Softmax注意力,远距离上下文则交由双向线性注意力处理。

局部分支沿用了H3的分块逻辑,每5个连续的潜变量帧组成一个处理块,每个块仅关注自身及前后相邻的块。为了保留跨长时间的上下文联系,团队将视频的首尾帧设为边界锚点,所有帧都可以读取首尾帧的信息,首尾帧也能与其他帧进行交互。

线性分支则分别汇总局部窗口之前和之后的上下文信息,同时排除窗口内的帧与边界帧,避免重复计算同一段视频的上下文内容。官方还通过动画演示了单帧的信息读取逻辑:以编号7的潜变量帧为例,Softmax分支会保留邻近的6、7、8帧以及首尾锚点0和14帧,其余帧则进入线性记忆模块,正向状态汇总1-5帧的信息,反向状态汇总9-13帧的信息,在与当前查询位置对齐后,结合局部分支的结果生成最终的注意力输出。

文本提示同时参与两个分支的计算:在Softmax分支中,每一帧都可以关注文本Token;在线性分支中,文本会先按一半比例分别写入正向和反向记忆状态,在合并两侧读取结果时仅计算一次文本贡献。

自适应门控融合双分支输出

由于局部Softmax与线性注意力的输出尺度存在差异,无法直接相加融合。VDN-H3为两个分支分别设置了随输入内容动态调整的Sigmoid门控,并使用独立的输出投影层,最终将处理后的结果合并到残差流中。

其中Softmax分支的门控用于校准局部信息的权重,避免仅在窗口内归一化后过度强调邻近帧的信息;线性分支则先通过RMSNorm进行归一化,再使用逐元素门控调节输出,确保远程记忆可以与局部信息协同参与最终的视频生成。

分阶段适配预训练模型

新增的线性分支如果直接从随机参数开始端到端训练,可能会扰动预训练模型已有的生成能力,因此团队采用了A1、A2、B三阶段的适配训练方案:

  • A1:逐层对齐。分别校准每一层新增的线性分支,为后续的联合训练提供合理的初始化参数。

  • A2:端到端分支适配。将各层的混合注意力模块接入完整的去噪网络,联合优化新增的线性分支。在A1和A2阶段,原有Softmax分支、QKVO投影与前馈网络都会保持冻结状态。

  • B:LoRA联合适配。在QKV和输出投影层中加入LoRA适配器,与线性分支共同进行训练,其余预训练参数保持冻结。值得注意的是,Softmax门控仅在B阶段才参与训练,避免优化器通过过度压低原有Softmax分支的权重来降低训练损失。

性能实测表现

团队在H200和B200显卡上测试了768p分辨率、约14.4秒长度视频的稳态去噪耗时。在单张B200显卡、50步推理的对比测试中,传统的Dense MiniMax-H3(使用cuDNN加速)耗时13.95分钟,而VDN-H3 FP8版本仅需5.3分钟,效率提升显著。

多卡配置下,团队进一步结合了序列并行技术,并将Softmax与线性注意力分支分配到不同的GPU上,有效减少了单步推理的延迟。

模型下载与推理部署

VDN-H3目前已提供单GPU和多GPU的推理脚本,以下是完整的部署流程:

环境准备

首先获取项目代码并创建Python 3.12的运行环境:

git clone https://github.com/OpenVDN/vdn-minimax-h3.git
cd vdn-minimax-h3
git checkout b8cb28fbfca0266d1c7742a9f25ab8b58191de97

conda create -n vdn python=3.12 -y
conda activate vdn
pip install uv
uv pip install torch==2.13.0 --index-url https://download.pytorch.org/whl/cu129
uv pip install --prerelease=allow -e .
bash scripts/setup_diffusers.sh

模型下载

模型的完整权重包可以通过以下地址获取:

https://modelscope.cn/models/OpenVDN/vdn-minimax-h3

也可以使用modelscope命令直接下载:

pip install modelscope
modelscope download \
  --model OpenVDN/vdn-minimax-h3 \
  --local_dir ./ckpts

运行官方示例

单GPU环境下可以直接运行8步FP8的官方示例:

bash scripts/inference/8nfe_tuned_fp8.sh

该脚本会使用项目自带的编码提示词prompts/example_2.pt,生成的视频会保存到results/8nfe_tuned_fp8.mp4。如果使用单机8卡配置,可以根据硬件选择对应的脚本:

# 8张H200显卡
bash scripts/inference/8nfe_tuned_fp8_ulysses_h200.sh

8张B200显卡

bash scripts/inference/8nfe_tuned_fp8_ulysses_b200.sh

使用自定义提示词

如果需要使用自定义的文本提示词,需要先通过H3使用的Qwen3-VL-32B文本编码器将提示词转换为特征,再送入生成模型。具体步骤如下:

python src/inference/encode_prompt.py \
  --prompt "这里填写你的自定义提示词" \
  --out prompts/mine.pt

python src/inference/infer.py
–config configs/inference/8nfe_tuned_fp8.yaml
checkpoint=ckpts/stage-dmd-step-250
render.prompt_file=prompts/mine.pt
render.out=results/mine.mp4

注:文本编码器不包含在VDN-H3的权重包中,可通过–model_root参数指定本地目录

以上内容不代表本平台立场,仅供读者参考