已开启
fix: 修复 MegaMoe Level1 证据采集并收敛接口测试 #1368
fix: 修复 MegaMoe Level1 证据采集并收敛接口测试 #1368
已开启
Feiran Zhang创建于 28 天前
Feiran Zhang
Feiran Zhang
28 天前

Paired: GitHub #4 ↔ GitCode !1368

What type of PR is this?
/kind bug


What does this PR do / why do we need it:

CI 使用不含 Git 元数据的测试归档目录,两个 MegaMoe Level1 用例完成计算和校验后,在采集源码 SHA 时因 Git 返回 128 而失败。

  • 将 Git SHA 采集改为可降级的辅助信息:无仓库或 Git 不可用时记录 source_sha: null 和 source_sha_error,继续写入版本、文件哈希及各 rank 的证据;其他证据读取错误仍正常抛出。
  • 将重复的默认容量四组合、ABBA、预热和内存采样收敛为一个 Router 接口场景,保留省略 counts 时的内部统计、Router 梯度回传及参数更新校验。
  • 保留原 EP4 大尺寸,Common/Mega 各执行一次正反向和 SGD,每个 rank 的正反向次数由 136 降至 2;文件和入口统一使用 router_interface 命名。
  • 沿用上游新的 tests/torch/multicore/ 目录,已有精度、性能和共享资源用例保持其覆盖范围。

本 PR 涉及 4 个测试文件,新增 118 行、删除 230 行。


Which issue(s) this PR fixes:

Fixes #375


Test Plan and Test result:What scenarios were tested, and what were the verification results(Function, performance, reliability, etc.):

  • Python 3.10.19 下使用真实 Git 命令,复现原代码在无仓库目录中返回 128。
  • 模拟设备信息和 2/4 rank 的证据汇总,验证修复后完整 JSON 写出,SHA 为 null 且包含失败原因。
  • 正常 Git worktree 能记录正确 SHA;Git 不可用时可降级;其他 native 证据读取错误继续抛出。
  • Python 编译、Ruff、Pylint、diff 空白检查、launcher 无框架导入检查及 4 个测试入口收集通过。
  • 接口收敛在迁移前的分支已通过 cann920 四卡验证,耗时由 347.42 秒降至 43.64 秒;该结果不代表本次 upstream 基线已重新完成 NPU ST。本分支本轮完成上述证据写入回归和静态验证,未重跑 NPU。

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入)

likedislike
合并受阻
Feiran ZhangFeiran Zhang
28 天前 创建了 pull request,commit 8ac24330
atomgit-bot
atomgit-bot
28 天前 评论:

变更摘要

本 PR 修复 MegaMoe Level1 用例在 CI 使用不含 Git 元数据的测试归档目录时,采集源码 SHA 因 git rev-parse HEAD 返回 128 而失败的问题,并将重复的默认容量测试收敛为单一 Router 接口测试。核心改动:在 _mega_moe_utils.py 的 environment_identity() 中将 Git SHA 采集改为可降级的辅助信息,Git 仓库缺失或不可用时记录 source_sha: null 与 source_sha_error 失败原因,同时继续写出版本、文件哈希及各 rank 证据;删除 _test_mega_moe_defaults.py 并新增 _test_mega_moe_router_interface.py,将原先默认容量四组合、ABBA、预热与内存采样收敛为一个 Router 接口场景,保留省略 counts 时的内部统计、Router 梯度回传及参数更新校验;test_mega_moe.py 中对应的四卡用例由 test_mega_moe_default_interface 更名为 test_mega_moe_router_interface,worker 从 _test_mega_moe_defaults.py 切换为 _test_mega_moe_router_interface.py,Common/Mega 各执行一次正反向与 SGD,每个 rank 的正反向次数由 136 降至 2。

主要改动

  • Git SHA 采集降级: 在 _mega_moe_utils.py 的 environment_identity() 中,git rev-parse HEAD 改为 try/except 包裹,捕获 CalledProcessError 与 OSError,返回值新增 source_sha_error 字段,Git 不可用时 source_sha 记录为 null 而不再中断证据写出。
  • 删除默认容量测试: 删除 _test_mega_moe_defaults.py(原 218 行),移除重复的默认/显式容量 A/B 四组合(ABBA)、预热与内存采样逻辑。
  • 新增 Router 接口测试: 新增 _test_mega_moe_router_interface.py,通过 _router_weight、_route、_run_router_layer 实现 Common 与 MegaMoeExperts 各一次正反向和 SGD 更新,以 dict 形式比对 output、input/route/专家/Router 梯度及权重,并在 write_evidence 中记录 counts_supplied: False 与 backend_steps。
  • 用例更名与 worker 切换: 在 test_mega_moe.py 中,四卡用例更名为 test_mega_moe_router_interface,文档字符串与调用目标同步更新,2 卡仍沿用 _test_mega_moe_resources.py,并顺带调整了 import 顺序。
likedislike
不准确?
atomgit-bot
atomgit-bot
28 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
MindSpore-BotMindSpore-Bot成员
28 天前 添加了label:stat/needs-squash
MindSpore-BotMindSpore-Bot成员
28 天前 添加了label:mindspore-cla/yes
MindSpore-Bot
MindSpore-Bot成员
28 天前 评论:

CLA Signature Pass

feiranzhang, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:

@feiranzhang, 当前/check-pr未通过,原因如下:

以下Pull Request描述检查项未通过:
选项未通过检查: 设计:PR对应的方案是否已经经过Maintainer评审,方案检视意见是否均已答复并完成方案修改
选项未通过检查: 测试:PR中的代码是否已有UT/ST测试用例进行充分的覆盖,新增测试用例是否随本PR一并上库或已经上库

以下issue检查项未通过:
Pull Request未关联issue

请修改好上述检查错误后,重新使用/check-pr触发检查。

likedislike
司小南(机器人)司小南(机器人)成员
28 天前 添加了label:pr-check-fail
Feiran ZhangFeiran Zhang
28 天前 修改了pull request 的描述
Feiran ZhangFeiran Zhang
28 天前 修改了pull request 的描述
Feiran ZhangFeiran Zhang
28 天前 修改了pull request 的描述
Feiran Zhang
Feiran Zhang
28 天前 评论:

/check-pr

likedislike
MindSpore-Bot
MindSpore-Bot成员
28 天前 评论:

PR did not pass the platform merge check, please confirm CodeOwner review and other merge conditions are met.

likedislike
司小南(机器人)司小南(机器人)成员
28 天前 删除了label:pr-check-fail
司小南(机器人)司小南(机器人)成员
28 天前 添加了label:pr-check-pass
Feiran Zhang
Feiran Zhang
28 天前 评论:

/retest

likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:

🔵 The pipeline #9049 is running. Please wait a moment... (Link)

likedislike
司小南(机器人)司小南(机器人)成员
28 天前 添加了label:ci-pipeline-running
司小南(机器人)
司小南(机器人)成员
28 天前 评论:

🎉 恭喜!代码检查通过

本次 PR 未发现关键问题 ✅

此评论由 AI Code Review Bot 自动生成

likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:

🔒 非安全函数检查:

调用LLM失败:403, request_id=e4613f89de8580417ab18af237b988bb

🤗 上述内容仅供参考。

likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:

📖 Python注释检查:

调用LLM失败:403, request_id=65e21484b3c9e023859ba100212d6323

🤗 上述内容仅供参考。

likedislike
司小南(机器人)司小南(机器人)成员
28 天前 添加了label:ai-reviewed
司小南(机器人)
司小南(机器人)成员
28 天前 评论:
Project Name Build_Stage Build Result Details(Full/Incremental) Detail
Coverage Line Coverage ❌ FAILURE 63%/0% Link
likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:
Platform Type Module Excution Time Time Limit
_mindspore - - -
- shard 754.604s 600.0s
- pipeline_parallel 1168.70363s 675.0s
- fully_shard 2446.766s 1375.0s
- process_group 85.079s 120.0s
- context_parallel 79.537s 120.0s
- init_weights 77.748s 120.0s
- swap_optimizer 103.592s 120.0s
- distributed_checkpoint 63.58s 120.0s
- st 14.52662s 15.0s
- activation_checkpoint 8.9935s 300.0s
_torch - - -
- shard 210.428s 300.0s
- pipeline_parallel 755.201s 600.0s
- clip_grad 87.816s 120.0s
- activation_checkpoint 122.82225s 150.0s
- optimizer 343.351s 300.0s
- accuracy 96.66s 120.0s
- fully_shard 374.116s 600.0s
- tensor_parallel 289.228s 300.0s
- swap_optimizer 98.829s 120.0s
- expert_parallel 98.977s 120.0s
- multicore 97.502s 120.0s
- dtensor 94.077s 120.0s
- llama3_examples 120.404s 120.0s
- init_weights 104.795s 118.75s
- distributed_checkpoint 125.415s 120.0s
- process_group 120.313s 90.0s
- context_parallel 110.114s 120.0s
likedislike
司小南(机器人)
司小南(机器人)成员
28 天前 评论:
Project Name Build_Stage Build Result Details
Hyper-parallel_Atomgit_Gate - ❌ FAILURE 9049
Smoke_Ascend910b FAILURE 9049
Smoke_Ascend910b_Torch FAILURE 9049
likedislike
司小南(机器人)司小南(机器人)成员
28 天前 删除了label:ci-pipeline-running
司小南(机器人)司小南(机器人)成员
28 天前 添加了label:ci-pipeline-passed-but-overtime
司小南(机器人)司小南(机器人)成员
27 天前 修改了pull request 的描述
Feiran ZhangFeiran Zhang
19 天前 virtual merging failed, update merge request[project_id: 8714117, iid: 1368, target_commit_sha: b8b22de31defc59953a70250e9d237e256462540], message: Conflict detected
Feiran ZhangFeiran Zhang
14 天前 virtual merging failed, update merge request[project_id: 8714117, iid: 1368, target_commit_sha: 051d821fbb8c873983a640ba5db356f8c52c4540], message: Conflict detected
Feiran ZhangFeiran Zhang
14 天前 virtual merging failed, update merge request[project_id: 8714117, iid: 1368, target_commit_sha: 051d821fbb8c873983a640ba5db356f8c52c4540], message: Conflict detected