👋 您好,欢迎向 MindSpeed MM 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉
📅 处理时效: 维护团队将在 24 小时内 查看并回复您的问题(工作日)。
🚨 紧急联系: 如果您的问题非常紧急,可通过以下方式联系我们:
💬 微信: WeChat
请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!


/label add good-first-issue


认领这个任务


认领这个任务
欢迎认领任务,请参考https://gitcode.com/Ascend/MindSpeed-MM/issues/356 社区任务池明确该任务的:
- 完成的截止日期
- 开发进展反馈
- 微信答疑群
- 任务交付注意事项
等信息。如果您同时认领了多项任务,但无法都能进行投入,可以在部分任务中回复退出.
麻烦您加入到对应微信群,群备注名修改为"社区任务+您的gitcode账号", 后续有相关消息和问题都可以在微信群咨询答疑。 等您加入到微信群后,我这边会在社区任务池里面登记任务责任人。


已加群
设计文档
ac9365b54efb45e8b2dbaafe571885fd.md


认领这个任务


GLM-4.5V 纯 FSDP2 迁移(issue #370)任务进度与阶段成果
日期:2026-06-29
一、已完成
- 模型移植
- 新增 mindspeed_mm/fsdp/models/glm4_5v/,以 glm4v_moe 注册到纯 FSDP2
框架,薄封装继承 HF 原生 Glm4vMoeForConditionalGeneration。
- NPU 融合算子(multimodal/vision RoPE、grouped MoE、RMSNorm)从 megatron
侧移植;剥离 megatron.get_args(),改为从 transformer config 读取开关。
- MoE 改为堆叠专家权重 + npu_group_gemm 融合前向;非 NPU
自动回退逐专家循环(数值等价)。 - 从 Megatron 解耦(设计层面,7 个维度全部落点)
- 启动入口、配置体系、模型注册、模型内部全局态、并行范式、融合算子、checkpoint ——
逐一从 Megatron 切换到纯 FSDP2 等价物。 - 配置与脚本
- 满规模 128 卡:glm4_5v_full_sft_106B.yaml + finetune_glm4_5v_106B_fsdp.sh。
- 权重转换封装 convert_glm4_5v_ckpt.sh(复用已有ExpertMergeDcpConverter,转堆叠专家 + DCP)。 - CPU 可验证的正确性核对
- verify_expert_layout.py:在 CPU 上验证堆叠专家布局与 HF逐专家前向数值等价(已通过)。 - 上云 de-risk 套件(HiDevLab 4 卡,单机管路验证)
- 极小配置 glm4_5v_tiny_4card.yaml(EP=2×FSDP=2)+ 单机 4 卡启动器。
- make_tiny_glm4_5v.py、preflight_check.py、自带纯文本数据集。
- 编排脚本 hidevlab_00~03+ RUNBOOK_hidevlab.md。 - 文档
- 设计文档。
- README_fsdp2.md(开发实践)、PERF_PRACTICE_glm4_5v_fsdp2.md(性能优化实践,待实测数据)。
二、本地自检结果
- Python py_compile、bash -n、JSON 合法性 —— 全部通过。
- 受限:本机无 NPU、无 transformers≥4.57 环境,融合算子/端到端的运行期行为未实测。


认领这个任务


GLM-4.5V 纯 FSDP2 后端迁移 进展汇报(issue #370)
日期:2026-07-06
一、总体进展
GLM-4.5V(106B MoE-VLM)从 megatron-FSDP2 迁移到纯 FSDP2 后端的代码与配置已完成,并在单机 4
卡(910B3)上完成端到端功能验证与专家并行验证。精度/性能对基线的正式验收因需真集群 + 真权重,尚待算力,工具与配置已就绪。
二、已完成
- 模型迁移
- 在纯 FSDP2 框架注册 glm4v_moe(trainer.py 入口,去除对 Megatron 的运行期依赖);薄封装继承 transformers 原生
Glm4vMoeForConditionalGeneration,NPU 融合 RoPE/RMSNorm/vision。
- MoE 专家改为 3D 堆叠权重(对齐 Qwen3VLMoeTextExperts),开专家并行时由框架 fused_ep 沿专家维 Shard(0) 切分并融合 grouped-GEMM;非 EP
走逐专家循环。
- 转换器 checkpoint/vlm_model/converters/moe_expert.py 新增 GLM4V 分支,保留 3D 专家布局以满足 EP 契约(对其他模型无影响)。 - 单机 4 卡验证(tiny 缩小随机模型,验证管线/EP 正确性,非精度基准)
- 端到端跑通:模型注册 → DCP 加载 → FSDP2(4) → 前向/反向/优化 → loss 收敛。
- 专家并行 EP=2 跑通(框架融合 grouped-GEMM,3D 权重)。
- 融合 EP 路径与逐专家循环路径逐步 loss 一致,验证融合与非融合数值等价。
- CPU 侧布局契约数值验证通过(max_err ≈ 2.9e-6)。 - 交付配套
- 训练脚本 + yaml 配置、权重转换脚本、CPU 契约验证脚本。
- 精度/性能对拍工具(自动计算逐步 loss 平均相对误差、稳定段性能对比,判 <2% / ≥基线)。
- 精度对拍的确定性对齐。
三、进行中
- 在单机 4 卡上做容量与稳定性摸底(逐级放大随机模型层数),评估 4 卡承载上限与大尺寸下管线稳定性。
四、待完成(需真集群 + GLM-4.5V 真权重)
- 精度验收:与 megatron-FSDP2 基线同权重/数据/超参对比,2000 步平均误差 < 2%。
- 性能验收:同规模每迭代耗时 / TPS 不低于基线。
- 满规模多机端到端与 DCP 加载。
- PR 合入 main(含 CLA)。
五、风险与待对齐
- 开源仓算力预算不足以支撑 128 卡 × 2000 步完整对拍,拟采用小规模趋势对拍 + 外推;MoE 外推可靠性偏弱。
- 建议就“误差”的确切口径与可接受的证据规模,与维护者提前对齐,以免影响最终合入。
六、下一步
- 与维护者对齐精度验收口径与算力方案。
- 跑基线与新后端两份日志,用对拍工具产出精度/性能结论并回填性能文档。
- 提交 PR。


【GLM-4.5V 纯 FSDP2 迁移 进展汇报(2026-07-13)】
一、先更正前两次汇报中的两处不准确表述
- 此前提到的"DCP 加载已验证"表述过度:6/29 的端到端 4 卡运行实际是随机初始化起训(管线验证,有意为之),当时 checkpoint
加载链路并未真正跑通。本周排查发现两处根因,修复后已首次实证加载成功。 - 此前的"融合 MoE A/B 对比"无效:所用开关 use_npu_fused_moe 在纯 FSDP 侧模型内没有任何消费者(融合由框架 EP
提供),两趟实际跑的是同一路径。有效的对比口径应为 EP=2(框架融合)vs EP=1(逐专家循环),后续复采按此口径执行。
二、本周完成(已实机验证)
- 修复权重加载链路两处根因:
- 训练 yaml 缺 training.load/load_format 等字段(schema 改写时误删),meta-init 下会静默随机权重起训;已补齐,并设 load_strict:
true(键名不匹配立即报错,杜绝静默失败)。
- 转换脚本 dcp_prefix 默认值产出 model.model.model.* 三层键,与加载侧期望不匹配;已显式置空前缀。 - 重转 tiny 模型 DCP 并验证:键名两层前缀正确、MoE 专家权重为 3D 堆叠 (E,K,N)、tracker 文件正常。
- 单卡实证 DCP 加载:load_strict: true 下日志确认 Loaded checkpoint from .../release,loss 从 12.6 正常下降。加载链路首次端到端跑通。
- 分支已 rebase 到最新 master(6eee2d4e),迁移代码与 master 变更零冲突;所需的 load_format/load_strict/no_load_optim/no_load_rng
字段均为上游 master 已有能力,未改动框架代码。 - 新增 CPU 预检脚本(preflight_check.py,fsdp_plan/ep_plan 路径 0 卡时校验)与跨后端 token 流对拍工具(token_dump.py,已在纯 FSDP
侧验证可用)。 - 明确跨后端 loss 对拍口径:两后端 default 损失归一化实现同构;但 megatron 基线配置默认 per_token_loss,与 default
口径不可事后换算,对拍时基线需运行期覆盖为 default。
三、进行中
- 4 卡 Run A(meta+DCP 加载)vs Run B(from_pretrained)同 seed 逐步 loss 对照,验证加载数值正确性。
- megatron 基线 tiny 规模 bring-up,作为跨后端 loss/性能对拍的基线。
四、下步计划
- token 流跨后端对拍(input_ids/labels/loss_mask 逐位一致性,loss 对拍的前置条件)。
- EP=2 vs EP=1 数值对照在 master 基座复采。
- 跨后端小规模 loss 对拍(阈值 <2%)+ 性能对比(ms/iter)。
- 满规模(106B)验收依赖算力落实,目前开发验证均在 4×910B3 上进行。


【GLM-4.5V 纯 FSDP2 迁移 进展汇报(2026-07-20)】
一、总体状态
迁移主体开发与小规模验证已完成,验收两项指标(精度
<2%、性能不低于基线)在小规模真实数据对拍上均达标。两篇实践文档已撰写完成。当前正在补充 2000
步规模的对拍以逐字对齐验收口径,满规模(106B 多机)复验待算力落实。
二、验收标准对照
- 精度:对比 megatron-FSDP2 训练 2000 步平均误差 < 2%
已完成:300 步 × 512 条真实图文样本(LLaVA-Instruct + COCO),逐步 loss 平均相对误差 0.152%(最大 0.615%),达标。
进行中:2048 条样本 × 2000 步的同口径对拍,用于逐字覆盖“2000 步”要求。 - 性能:不低于 megatron-FSDP2
已完成:同上对拍条件下 322.9 ms/iter,相对基线 336.0 ms/iter 为 1.041x,达标(不低于基线)。 - 实践文档:开发模型实践 1 篇 + 性能优化实践 1 篇
已完成,落于仓库 docs/zh/features/:
- fsdp2_glm4_5v_migration_practice.md(开发模型实践)
- fsdp2_glm4_5v_performance_practice.md(性能优化实践) - PR 合入
PR 内容已整理完毕,卫生清单已确认(进/不进 PR 文件已分类),待 2000 步数据补齐后发起。
三、本阶段完成的验证
- 权重加载数值正确性:确定性模式下 DCP 加载与 HF safetensors 加载两条独立链路,30 步 loss 逐位一致。
- 融合/非融合路径等价:EP=2(框架融合 grouped-GEMM)vs EP=1(逐专家循环)同 seed 对照,首步相对差 4e-5,前段逐位贴合。
- megatron 基线 tiny 首次 bring-up,与纯 FSDP2 首步 loss 相对差约 1e-4,交叉印证数据流/权重/口径对齐。
- 双后端 token 流(input_ids/labels/loss_mask)逐位一致,确保 loss 对拍前提成立。
- 沉淀跨后端对拍工具链(token 流对拍、loss/性能对拍、真实数据子集构造),随迁移代码提供。
四、需要说明的口径
- 上述数据基于 tiny 同构模型(与 106B 同结构、缩至 2.57B、真实权重转换)单卡对拍;满规模 106B 多机复验待算力。
- 对拍前提已严格对齐:token 流逐位一致、loss 归一化口径统一为 default、冻结口径一致、同 seed/数据/超参。
- 基线按上游脚本默认精度(fp32)运行,纯 FSDP2 侧为 bf16 混精,该差异对本实现性能数字有利;满规模对拍将把基线同置 bf16 做公平比较。
五、下一步
- 完成 2000 步对拍,更新精度/性能数据后发起 PR。


已提交PR完成开发
请审查PR @Ronald1995


跟进PR中


持续跟进PR


@SuperKoalaKing 您好!
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


等待合入评审中


提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。
💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案
基于MindSpeed MM开放仓库的FSDP2源码,补齐模型的端侧功能。
本期任务的具体信息如下:
(1)模型名称:glm4.5-v
(2) MindSpeed MM开放仓库的模型源码链接:
https://gitcode.com/Ascend/MindSpeed-MM/blob/master/examples/glm4.5v/finetune_glm4_5v_106B.sh
(3) 开发平台:Atlas 800T A2或者A3
一、任务交付件
本期任务为基于MindSpeed MM开放仓库代码进行功能扩展,请合入开发代码。将megatron-FSDP2后端的模型迁移到仓上纯FSDP2分支。主要开发点如下:
(1) 模型训练脚本和yaml参数配置
(2) 模型优化实现
特性:
需要适配仓上当前现有特性,如CP,EP,chunkloss,recompute,async activation offload等,在开启特性后能体现出显存优化或性能优化,并确保精度对齐
二、验收标准:
1)精度/性能要求
精度:
对比megatron-FSDP2后端训练2000步平均误差小于2%
性能:
不低于megatron-FSDP2后端性能
2)实践文档:
开发模型实践1篇,性能优化实践1篇
3)任务完成标准
本次任务完成标准为:
精度/性能(根据实际要求)达标,PR完成合入,实践文档提交到仓库issue。
PR 合入
本地完成测试验证后,向MindSpeed-MM的main分支发起PR。
对接人
待补充
欢迎加入社区,感谢您对社区的贡献 🎉!
替代方案
补充说明
欢迎加入社区,感谢您对社区的贡献 🎉!
提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。
💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案
基于MindSpeed MM开放仓库的FSDP2源码,补齐模型的端侧功能。
本期任务的具体信息如下:
(1)模型名称:glm4.5-v
(2) MindSpeed MM开放仓库的模型源码链接:
https://gitcode.com/Ascend/MindSpeed-MM/blob/master/examples/glm4.5v/finetune_glm4_5v_106B.sh
(3) 开发平台:Atlas 800T A2或者A3
一、任务交付件
本期任务为基于MindSpeed MM开放仓库代码进行功能扩展,请合入开发代码。将megatron-FSDP2后端的模型迁移到仓上纯FSDP2分支。主要开发点如下:
(1) 模型训练脚本和yaml参数配置
(2) 模型优化实现
二、验收标准:
1)精度/性能要求
精度:
对比megatron-FSDP2后端训练2000步平均误差小于2%
性能:
不低于megatron-FSDP2后端性能
2)实践文档:
开发模型实践1篇,性能优化实践1篇
3)任务完成标准
本次任务完成标准为:
精度/性能(根据实际要求)达标,PR完成合入,实践文档提交到仓库issue。
PR 合入
本地完成测试验证后,向MindSpeed-MM的main分支发起PR。
对接人
待补充
欢迎加入社区,感谢您对社区的贡献 🎉!
替代方案
补充说明
欢迎加入社区,感谢您对社区的贡献 🎉!