本文档介绍在X86平台上,基于pytorch进行MOVA模型的推理指导。
MOVA(MOSS-Video-and-Audio),是由上海创智学院 OpenMOSS 团队联合初创公司模思智能(MOSI)在2026年1月29日发布的端到端音视频生成模型 。 技术报告详情请参见:刚刚,创智+模思发布开源版Sora2,电影级音视频同步生成,打破闭源技术垄断 开源代码仓:OpenMOSS/MOVA 作为中国首个高性能开源音视频模型,MOVA正意义上的「音画同出」。它不仅能生成长达 8 秒、最高 720p 分辨率的视听片段,实现了真更在多语言口型同步、环境音效契合度上展现了极高的工业水准。 在 MOVA 音视频大模型的研发进程中,华为昇腾技术团队提供了全栈算力支撑,涵盖了从数据管线(数据预处理、数据质量评估、数据标注)、预训练、LORA、推理验证的关键环节。 目前,MOVA 已成为昇腾首个支持的开源多模态音视频一体生成模型,微调与推理功能已同步上线社区。
架构上,MOVA保留了传统的T5文本编码器、Audio VAE、Video VAE等组件,在视频上采用了 14B 参数的 Wan 2.2 I2V (MOE架构,包含一个14B的high noise DiT和一个14B的low noise DiT)作为视频骨干网络(用于图像 + 文本条件的 I2VA),并预训练了 1.3B 的文本到音频扩散模型作为音频骨干网络。为了实现模态融合与交互,在视频「塔」与音频「塔」之间,MOVA引入了一个双向桥接模块(Bridge),让视频与音频的隐藏状态在每一层都能进行深度的交叉注意力运算。
MOVA模型权重总计需占用大约67G显存(high-noise dit:26.96G,audio dit:2.64G,text encoder:10.58G,low-noise dit:26.70G),再加上视频生成长序列带来的cache开销,所需显存大幅超出昇腾910B 64G显存总量,所以推理服务采取了按需加载的策略:前期处理中加载high-noise dit和text encoder,后期进入low-noise计算时,将high-noise dit和text encoder从显存中卸载后再加载low-noise dit,以保证单卡可以完成模型加载和推理。 推荐8卡910B进行推理,单卡也可运行,512G系统内存。
模型推理可直接拉取昇腾小巧灵团队提供的统一镜像(灵镜,支持30+主流模型的推理与训练): docker pull swr.cn-north-4.myhuaweicloud.com/ascend-sact/ascend-910b-ubuntu:v2.8
执行如下命令创建容器: docker run -it -d --name ascend-910b-mova --rm \ --privileged \ --network host \ --device /dev/davinci_manager \ --device /dev/davinci0 \ --device /dev/davinci1 \ --device /dev/davinci2 \ --device /dev/davinci3 \ --device /dev/davinci4 \ --device /dev/davinci5 \ --device /dev/davinci6 \ --device /dev/davinci7 \ --device /dev/hisi_hdc \ --device /dev/devmm_svm \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \ -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ -v /data:/data \ swr.cn-north-4.myhuaweicloud.com/ascend-sact/ascend-910b-ubuntu:v2.8 \ bash
从huggingface 下载模型权重:模型权重根据需要推理生成的视频分辨率,分为360p 和720p两种。 hf download OpenMOSS-Team/MOVA-360p
hf download OpenMOSS-Team/MOVA-720p
cd $PERSONAL_WORKSPACE git clone -b feat/npu https://github.com/OpenMOSS/MOVA.git && cd MOVA
模型推理以torchrun方式调用,具体命令已经封装到scripts/diffusers_example_XX.sh脚本中,可直接修改脚本中参数后,执行如下命令进行推理服务: cd ${PERSONAL_WORKSPACE}/MOVA/ && bash scripts/diffusers_example_1_360p.sh 文件命名中diffusers_example_1_360p.sh中的数字“1/2/4/8”代表参与推理运行的卡数,360p/720p代表生成视频的分辨率(对应权重也不同)
模型单卡推理可以直接调用scripts/目录下diffusers_example_1_360p.sh脚本。
模型推理可以直接调用scripts/目录下diffusers_example_8_360p.sh脚本。CP=8,每卡显存占用约48G(权重约34G)。
推理脚本中包括如下参数:
| 参数 | 描述 | 默认值 |
|---|---|---|
| nproc_per_node | 参与推理的npu卡的数量 | 1/2/4/8/16 |
| CP_SIZE | 长序列切分的分片数 | 1/2/4/8 |
| --height | 视频高度 | 352 |
| --width | 视频宽度 | 640 |
| --num_frames | 帧数 | 193 |
| --num_inference_steps | 去噪步数 | 25 |
| --seed | 随机种子 | 42 |
| prompt | 输入文件描述 | |
| ref_path | 参考图片路径 | |
| output_path | 输出视频文件路径 |
在不同条件下生成 8 秒 视频的推理数据如下:
| 模式 | NPU 数量 | 峰值 NPU VRAM(每 NPU) | 步骤时间 (s) |
|---|---|---|---|
| 推理用例1 (360p & 单 NPU) | 1 × ascend910B | ≈46GB | 37.0 |
| 推理用例2 (360p & 4*NPU) | 4 × ascend910B | ≈42GB | 12.3 |
| 推理用例3 (360p & 8*NPU) | 8 × ascend910B | ≈42GB | 7.6 |
| 推理用例4 (720p & 8*NPU) | 8 × ascend910B | ≈47GB | 60.6 |
| Accelerate + FSDP LoRA (360p & 8*NPU) | 8 × ascend910B | ≈39GB | 34.1 |