已开启
[Feature]:skill:基于Megatron后端迁移MM大模型 #381
yeqm创建于  5月18日
yeqm成员
5月18日 创建

提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。

💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案

以Qwen3 VL-32B为例,编写FSDP模型适配skill。
本期任务的具体信息如下:
(1)模型名称:Qwen3 VL-30B
(2) MindSpeed MM开放仓库的模型源码链接:
https://gitcode.com/Ascend/MindSpeed-MM/blob/master/examples/mindspore/qwen3vl/finetune_qwen3vl_30B.sh
(3) 开发平台:Atlas 800T A2或者A3

一、任务交付件
本期任务为以Qwen3 VL-30B为例,编写模型Megatron后端适配skill。

二、验收标准:
提供skill, 能根据skill完成新模型Megatron后端迁移,精度对齐。

2)实践文档:
开发模型实践1篇,性能优化实践1篇
3)任务完成标准
本次任务完成标准为:
精度/性能(根据实际要求)达标,PR完成合入,实践文档提交到仓库issue。"

替代方案

补充说明

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
Yyeqm成员
5月18日 添加了label:feature
yeqm成员
5月18日 评论:

👋 您好,欢迎向 MindSpeed MM 提交 Issue!

我们已收到您的反馈,感谢你对开源社区的支持。🎉

📅 处理时效: 维护团队将在 24 小时内 查看并回复您的问题(工作日)。

🚨 紧急联系: 如果您的问题非常紧急,可通过以下方式联系我们:

💬 微信: WeChat

请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!

likedislike
Ronald1995
6月11日 评论:

/label add good-first-issue

likedislike
ascend-robotascend-robot成员
6月11日 添加了label:good-first-issue
Louis Victor Leborgne
Louis Victor Leborgne
6月25日 评论:

认领这个任务

likedislike
sun9527x
6月26日 评论:

认领这个任务

likedislike
Ronald1995
6月26日 评论:

认领这个任务

@LouisVictorLeborgne

欢迎认领任务,请参考https://gitcode.com/Ascend/MindSpeed-MM/issues/356 社区任务池明确该任务的:

  • 完成的截止日期
  • 开发进展反馈
  • 微信答疑群
  • 任务交付注意事项

等信息。如果您同时认领了多项任务,但无法都能进行投入,可以在部分任务中回复退出.

麻烦您加入到对应微信群,群备注名修改为"社区任务+您的gitcode账号", 后续有相关消息和问题都可以在微信群咨询答疑。 等您加入到微信群后,我这边会在社区任务池里面登记任务责任人。

likedislike
Ronald1995
6月26日 评论:

认领这个任务

@sun9527x

欢迎参加认领社区任务,当前一个任务只分配一个开发,根据评论认领时间确定,您可以后续观察该任务是否被释放退出,或者认领其他任务 https://gitcode.com/org/Ascend/discussions/4

likedislike
gcw_MTeIQk9o
6月29日 评论:

认领这个任务

likedislike
ascend-robotascend-robot成员
7月3日 关联了看板:MindStudio ISSUE管理
Robin
Robin
7月4日 评论:

认领这个任务

likedislike
young256young256成员
7月8日 关联了里程碑:MindSpeed 26.2.0
且奏长歌
且奏长歌成员
8月3日 评论:

@sun9527x
感谢您此前对该任务的关注与支持!
由于上一位认领者暂未继续推进该任务,目前该任务已重新开放。根据此前的候选顺序,我们希望优先邀请您参与该任务。
如您目前仍有意愿认领,请在3个工作日内回复确认,并简要说明预计开始时间或初步推进计划。确认后,我们将为您保留任务,并提供必要的背景资料和支持。
如您近期时间安排不便,也请直接告知,我们将继续顺延联系其他候选贡献者,不会影响您后续参与其他社区任务。
再次感谢您对昇腾开源社区的关注,期待与您合作!
请您在完成任务后填表登记:MM社区任务管理 https://www.kdocs.cn/l/cdATVWqoh385

likedislike
8月3日 评论:

我要认领这个任务

likedislike
Louis Victor Leborgne
Louis Victor Leborgne
8月7日 评论:

#381

进度汇报(阶段进展,非正式验收)

任务理解

交付目标是基于 Megatron 后端 的迁移 Skill,以及开发与性能两篇实践文档;实例模型为 Qwen3-VL-30B-A3B。Issue 正文中链到 examples/mindspore/... 的部分按文案噪音处理。经团队确认,主线为 PyTorch Megatron:torchrun + pretrain_transformers.py + YAML(仓内配置含 FSDP2-on-bridge),不再以 MindSpore / msrun 作为主交付。早期 MS 与 r0.17 探索仅保留在踩坑记录中作兼容性附录,不计入本 issue 主证据。

已完成

后端纠偏:已从 MS 私有 API(如 recompute_instance)及 r0.17 混搭栈的死胡同,切回仓内已有的 Megatron 训练入口,与任务 385同栈家族,避免继续无限 shim。

权重链路:HF → hf_to_dcp 已完成,分片与 metadata 校验通过;为规避共享盘多 rank 读取问题,DCP 已只读缓存到本地盘。历史 MS 用的 mm 分片权重包仅作路径说明,不得当作 torch_dcp 加载。

训练适配:未改写上游 16 卡基线,已派生 4 卡 smoke 启动脚本与配置,Megatron 迁移 Skill 草稿与本地配置镜像已同步。实测上,四个 rank 可完成通信初始化、模型与 optimizer 建立,以及本地 DCP 恢复。在保守配置(短序列、小图、activation offload、prefetch 关闭、且 offload_to_cpu=false)下,仍于 FlashAttention backward 发生真实 NPU OOM;加载后观测 HBM 已接近满载,几乎无反向峰值余量。判定为 4 卡容量边界,而非 DCP、数据、HCCL 故障或外部杀进程。继续减少 max_samples 或 train_iters 无助于单步显存。

旁路说明:MindSpore 最小环境、HF→MM 转换、r0.17 隔离栈等,用于证明 MS 路线在当前 CANN / torch 矩阵上不可作为默认可交付路径;相关结论已写入踩坑文档,不替代 Megatron 主线证据。

未完成

Megatron 主线上的 4 卡「1-step + finite loss」尚未打通(卡在 backward NPU OOM,待 CPU offload 验证)。Skill 正文按 Megatron 门禁改写并与实测勾选对齐仍在进行;两篇实践中的实测表待填。精度、性能、PR 与验收通过均未达到。

当前阻塞与下一步

主要阻塞是 4 卡 HBM:30B MoE 在未做参数 CPU offload 时,加载后常驻已接近满载。若开启 offload_to_cpu,需同步压低 data / preprocess worker,避免复现任务 385上主机内存顶满或平台回收的情况。验收口径上,仓内 30B YAML 默认带 FSDP2 开关,属于 Megatron 桥接训练入口;若官方强制要求「纯 TP/PP、无 FSDP2」,需再确认,当前按仓内可运行契约推进。

下一步:在已有本地 DCP cache 上启用 offload_to_cpu,记录 NPU HBM 与 CPU cgroup,冲 1-step 与 finite loss;成功则补实践文档与 Skill 勾选,失败则如实记录容量边界,并评估是否需要更多卡再做非 offload 吞吐。与 #385 分证据、分 PR,不混用 32B 与 30B 数字。实例可阶段性关闭以节省卡时,重开后优先校验 venv、仓库与 DCP / cache 是否仍在。

阶段结论

可提交后端澄清说明、Megatron 路径 Skill 与流程、HF→DCP 完成证据、4 卡构图与 DCP 恢复结果,以及明确的 NPU OOM 失败边界与下一步 offload 计划。不可提交为验收通过:有限 loss 训练 smoke、精度、性能与 PR 合入。

likedislike
Louis Victor Leborgne
Louis Victor Leborgne
8月16日 评论:

进展同步:Qwen3-VL-30B-A3B 的 Megatron/MCore 迁移 Skill、两篇实践文档和 4 卡代表性 smoke 已基本完成。当前主要差固定的精度/性能记录,整理后即可准备 PR。由于服务器资源分配紧张,后续验证暂时等待资源。

likedislike
Louis Victor LeborgneLouis Victor Leborgne
8月16日 关联了pull request:docs(qwen3vl): add 30B Megatron migration skill
Louis Victor Leborgne
Louis Victor Leborgne
8月16日 评论:

进展同步:

已提交 PR #2991(https://gitcode.com/Ascend/MindSpeed-MM/pull/2991),包含 Qwen3-VL-30B-A3B 的 Megatron/MCore 迁移 skill、开发模型实践和性能优化实践。

当前 4 卡 reduced-topology smoke 已完成通信初始化、DCP 恢复、forward、有限 loss、backward、optimizer step 和 checkpoint 闭环。完整 30B 的正式精度窗口和稳定性能窗口仍受当前测试容器内存边界限制,PR 与文档已明确区分阶段性链路证据和完整模型验收,不使用 reduced 结果替代 full-model 结论。

likedislike
且奏长歌
且奏长歌成员
8月19日 评论:

@LouisVictorLeborgne 您好!

MindSpeed-MM 邀请您参加 2026-08-20 16:00 召开的WeLink会议

会议主题:MindSpeed MM 社区例会

会议内容:
1.社区关键issue解答
2.代码合入评审

会议链接:https://meeting.huaweicloud.com:36443/#/j/980887584

会议纪要&签到链接:https://etherpad.ascend.osinfra.cn/p/sig-MindSpeed-MM

likedislike
Louis Victor Leborgne
Louis Victor Leborgne
8月20日 评论:

@LouisVictorLeborgne 您好!

MindSpeed-MM 邀请您参加 2026-08-20 16:00 召开的WeLink会议

会议主题:MindSpeed MM 社区例会

会议内容:
1.社区关键issue解答
2.代码合入评审

会议链接:https://meeting.huaweicloud.com:36443/#/j/980887584

会议纪要&签到链接:https://etherpad.ascend.osinfra.cn/p/sig-MindSpeed-MM

@WendongPang

今天下午另外有个关键会议要参加,实在是挤不出时间参会,不好意思

likedislike
且奏长歌且奏长歌成员
29 天前 关联了里程碑:MindSpeed 26.3.0