海光GPU上部署视频模型Qwen2.5-VL-32B-Instruct

前言

相关网站

ModelScope

ModelScope 魔搭社区

海光开发者社区

光源-光合开发者社区

准备工作

下载模型

通义万相2.2-文生视频-A14B · 模型库

下载模型

1
modelscope download --model Wan-AI/Wan2.2-T2V-A14B

模型下载位置为

1
/data/tools/modelscope

Docker

Dockerfile

/data/aitest/ai-server-qwen-vl/Dockerfile

1
2
3
4
5
FROM harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.4-1230-py3.10-20251230
RUN pip install modelscope
ENV MODELSCOPE_CACHE="/data/tools/modelscope"
ADD ./requirements.txt /zapp/requirements.txt
RUN cd /zapp && pip install -r requirements.txt

Docker Compose

/data/aitest/ai-server-qwen-vl/docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: '3.8'

services:
z_wan2_2_t2v_a14b:
build:
context: ./
dockerfile: Dockerfile
image: z_wan2_2_t2v_a14b:v1.0.0
container_name: z_wan2_2_t2v_a14b_01
privileged: true
network_mode: host
user: root
shm_size: '64g'
cap_add:
- SYS_PTRACE
security_opt:
- seccomp:unconfined
group_add:
- video
devices:
- /dev/kfd
- /dev/dri
- /dev/mkfd
volumes:
- /opt/hyhal/:/opt/hyhal/:ro
- /data/tools/modelscope/:/data/tools/modelscope/
- /data/aitest/ai-server-wan22-t2v-a14b/:/zapp/
working_dir: /zapp/
command: [ "sh", "run_web.sh" ]

启动

1
docker-compose up -d

停止并删除

1
docker-compose down

运行

torchrun 启动一个基于 PyTorch 的分布式视频生成任务。

下面我将逐部分详细解释每个参数的含义和作用:

1
2
3
4
5
6
7
8
9
torchrun --nproc_per_node=8 generate.py \
--task t2v-A14B \
--size 1280*720 \
--ckpt_dir /data/tools/modelscope/models/Wan-AI/Wan2.2-T2V-A14B \
--dit_fsdp \
--t5_fsdp \
--ulysses_size 8 \
--save_file 202602121059.mp4 \
--prompt "生成微课视频,内容是:窗前明月光,疑是地上霜,举头望明月,低头思故乡"

torchrun相关参数

--nproc_per_node=8

  • 含义:在当前节点(即本机)上启动 8 个 GPU 进程(通常对应 8 张 GPU 卡)。
  • 作用:启用多 GPU 分布式训练/推理。PyTorch 会为每张 GPU 启动一个独立的进程,通过 torch.distributed 进行通信。
  • 前提:你的机器必须有至少 8 个可用的 CUDA 设备(如 8 张 A100/H100 等)。

注意:

torchruntorch.distributed.run 的别名,用于替代旧的 python -m torch.distributed.launch

脚本与任务参数

–task t2v-A14B

  • 指定要运行的任务类型或模型配置。
  • t2v = Text-to-Video(文本生成视频)
  • A14B 可能表示模型规模(如 14B 参数量,即 140 亿参数)
  • 用于加载对应的模型结构或配置文件。

–size 1280*720

  • 指定输出视频的分辨率:1280 像素宽 × 720 像素高(即 720p)。
  • 注意:有些模型只支持特定分辨率,需确认模型是否支持该尺寸。

–ckpt_dir /data/tools/modelscope/models/Wan-AI/Wan2.2-T2V-A14B

  • 模型权重(checkpoint)所在目录。

–dit_fsdp

  • 启用 DiT(Diffusion Transformer)模型的 FSDP(Fully Sharded Data Parallel)
  • FSDP 是 PyTorch 的一种分布式训练策略,将模型参数、梯度、优化器状态分片到多个 GPU 上,节省显存。
  • 表示 DiT 主干网络使用 FSDP 进行内存优化。

–t5_fsdp

  • 同样启用 T5 文本编码器的 FSDP
  • T5 用于将输入文本(prompt)编码为向量,也可能很大(如 T5-XXL),所以也需要分片。

–ulysses_size 8

  • Ulysses 是一种 序列并行(Sequence Parallelism) 策略,常用于处理长序列(如长文本、高分辨率视频)。
  • --ulysses_size 8 表示将序列维度(如时间帧或 token 序列)切分成 8 份,分配到 8 个 GPU 上并行计算。
  • 通常与 FSDP 结合使用,进一步降低单卡显存占用。

注:

Ulysses 并行是近年来大模型推理中流行的优化技术(如在 VideoCrafter、Open-Sora 等项目中使用)。

–save_file 202602121059.mp4

  • 指定生成视频的保存路径和文件名。

–prompt “生成微课视频,内容是:窗前明月光…”

  • 输入的文本提示(Prompt),用于指导视频生成内容。
  • 模型会根据这段中文古诗生成对应的画面(如月亮、窗、人物思乡等场景)。