前言
相关网站
ModelScope
海光开发者社区
准备工作
下载模型
下载模型
1 | modelscope download --model Wan-AI/Wan2.2-T2V-A14B |
模型下载位置为
1 | /data/tools/modelscope |
Docker
Dockerfile
/data/aitest/ai-server-qwen-vl/Dockerfile
1 | FROM harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.4-1230-py3.10-20251230 |
Docker Compose
/data/aitest/ai-server-qwen-vl/docker-compose.yml
1 | version: '3.8' |
启动
1 | docker-compose up -d |
停止并删除
1 | docker-compose down |
运行
torchrun 启动一个基于 PyTorch 的分布式视频生成任务。
下面我将逐部分详细解释每个参数的含义和作用:
1 | torchrun --nproc_per_node=8 generate.py \ |
torchrun相关参数
--nproc_per_node=8
- 含义:在当前节点(即本机)上启动 8 个 GPU 进程(通常对应 8 张 GPU 卡)。
- 作用:启用多 GPU 分布式训练/推理。PyTorch 会为每张 GPU 启动一个独立的进程,通过
torch.distributed进行通信。 - 前提:你的机器必须有至少 8 个可用的 CUDA 设备(如 8 张 A100/H100 等)。
注意:
torchrun是torch.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),用于指导视频生成内容。
- 模型会根据这段中文古诗生成对应的画面(如月亮、窗、人物思乡等场景)。