ms-swift 训练Qwen3-Omni-30B-A3B-Instruct 的参数
2026-02-04
ms-swift
00

目录

ms-swift 训练 Qwen3-Omni-30B-A3B-Instruct 的参数说明
视频/图像处理参数
大白话解释
TP=4 (张量并行)
EP=2 (专家并行)
PP=2 (流水线并行)
SP=true (序列并行)
CP=4 (上下文并行,已注释)
最终结果

ms-swift 训练 Qwen3-Omni-30B-A3B-Instruct 的参数说明

视频/图像处理参数

bash
展开代码
IMAGE_MAX_TOKEN_NUM=5000 # 图像/视频的最大 token 数量限制 USE_AUDIO_IN_VIDEO=true # 是否从视频中提取音频(默认 false) VIDEO_MAX_PIXELS=307200 # 视频最大像素数(默认 896×896=802816)

说明

  • IMAGE_MAX_TOKEN_NUM:控制图像/视频 token 的上限,影响显存占用
  • USE_AUDIO_IN_VIDEO=true:启用后,视频和音频 token 会按 position_id 交错排列
  • VIDEO_MAX_PIXELS=307200:约 560×548 分辨率,降低分辨率可减少显存占用
bash
展开代码
tensor_model_parallel_size: 4 # TP=4: 将每层权重矩阵按列切4份,分到4个GPU expert_model_parallel_size: 2 # EP=2: MoE的8个专家分2组,每组4个专家 pipeline_model_parallel_size: 2 # PP=2: 模型按层切2段,前半层在一组GPU,后半层在另一组 sequence_parallel: true # SP: 在TP组内进一步切分序列维度,降低激活值显存 CP 和 SP 不能同时用 # context_parallel_size: 4 # 将序列按长度切成 4 份,分配到 4 个 GPU。60000 tokens ÷ 4 = 每个 GPU 处理 15000 tokens

大白话解释

想象你要搬一栋大楼(30B参数的模型),有64个工人(GPU):

TP=4 (张量并行)

把每层楼的每面墙都切成4块,4个工人一起搬一面墙。

  • 作用:单层太重,切块分担
  • 结果:模型参数显存 ÷ 4

EP=2 (专家并行)

模型有8个专家房间,分成2组,每组4个房间由一组工人负责。

  • 作用:MoE模型专家太多,分组管理
  • 结果:专家参数显存 ÷ 2

PP=2 (流水线并行)

大楼切成上下两半,一组工人搬下半层,另一组搬上半层。

  • 作用:楼太高,分段搬
  • 结果:模型参数显存 ÷ 2
  • 缺点:有等待时间(流水线气泡)

SP=true (序列并行)

搬家具时(处理数据),TP组的4个工人把一根60米长绳子分成4段,每人拿15米。

  • 作用:数据处理时的中间结果太大
  • 结果:激活值显存 ÷ 4
  • 注意:必须配合TP用,跟着TP自动切分

CP=4 (上下文并行,已注释)

把60米长绳子切成4段,分给4组不同的工人队伍。

  • 作用:专门处理超长序列
  • 结果:60000 tokens ÷ 4 = 15000/GPU
  • 注意:和SP不能同时用(要么跟着TP切,要么独立切,只能选一种)

最终结果

64个工人干活方式:

  • 4人一组搬一面墙(TP)
  • 负责2组专家房间(EP)
  • 分上下两半楼(PP)
  • 一组里4个人分段拿绳子(SP)
  • 总共需要:4×2×2 = 16人一套,64÷16 = 4套班子同时干(DP=4)

简单说:通过切块、分组、分层、分段,让每个GPU只搬一小部分,避免累死!

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!