Skip to content

Qwen3.5-35B-A3B VLM 训练速度很慢,如何利用 grouped_mm / Megatron EP 加速? #8145

@ChaosCodes

Description

@ChaosCodes

环境

  • GPU: 8× A800 80GB (单机)
  • 模型: Qwen3.5-35B-A3B(VLM,包含 vision encoder)
  • ms-swift: 4.0.0.dev0(从 main 分支安装)
  • megatron-core: 0.15.0
  • PyTorch: 2.7
  • 训练类型: full(全参数微调),VLM SFT
  • 数据: 自定义 VLM 数据集(~826K 样本,单图 + 文本)

相关 Issue / PR

问题描述

我们在 8×A800 上对 Qwen3.5-35B-A3B 做 VLM SFT,速度非常慢。我们尝试了两个框架:

1. verl FSDP2(baseline)

设置
并行方式 FSDP2 (fully_shard)
micro_batch_size 4
global_batch_size 256
gradient_accumulation 8
max_length 2048
attn_implementation eager
s/step ~750s
tokens/s ~699

2. ms-swift + DeepSpeed ZeRO-3 + grouped_mm

NPROC_PER_NODE=8 swift sft \
    --model Qwen3.5-35B-A3B \
    --tuner_type full \
    --experts_impl grouped_mm \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 32 \
    --deepspeed zero3 \
    --max_length 2048
设置
micro_batch_size 1(mbs=4 + ZeRO-2 OOM)
global_batch_size 256
gradient_accumulation 32
s/step ~1504s(step 1)
tokens/s ~348
显存/卡 ~78GB

ms-swift + ZeRO-3 比 verl FSDP2 还慢了约 2 倍,有 memory pressure 导致 cache flush。

对比参考

同样的 8×A800 环境,Qwen3-VL-8B(dense)可以达到 ~57,268 tokens/s,Qwen3.5 只有其 1/82。

想请教的问题

  1. PR [megatron] qwen3.5 use megatron-core #8126 进度:看到 @Jintao-HuangQwen3.5-397B-A17B训练速度很慢 #8101 提到会将 Qwen3_5MoeGatedDeltaNet 切成 megatron-core 实现。请问这个 PR 预计什么时候 merge?merge 后是否直接支持 VLM(带 vision encoder)的训练?

  2. grouped_mm 效果:我们开了 --experts_impl grouped_mm,但在 ZeRO-3 全参数微调下速度反而更慢。ZeRO-3 下 grouped_mm 是否能正常加速?

  3. Megatron EP 路径examples/models/qwen3_5/mcore.sh 使用了 expert_model_parallel_size=4 + moe_grouped_gemm + moe_shared_expert_overlap。这条路径在 8×A800 单机上做 VLM 全参数微调是否可行?需要 megatron-core 0.16 吗?

  4. 当前可用的优化:在等 [megatron] qwen3.5 use megatron-core #8126 merge 之前,有没有什么立即可用的加速方法?比如 SWIFT_PATCH_CONV3D=1、或者特定的 deepspeed 配置?

  5. flash attention:Qwen3.5 的 linear attention(GatedDeltaNet)是否有 flash attention 或类似的优化实现?目前在 verl 中被迫使用 eager,这可能是速度慢的一个重要原因。

期望

希望能在 8×A800 上将 Qwen3.5-35B-A3B 的训练吞吐提升到至少 2000-5000 tokens/s 的水平(目前只有 ~700 tokens/s)。

感谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions