Skip to content

[issue8] Alltoall combine 三模式位级仿真与理论性能上限决策表 - #31

Open
shsaihdsaiudh wants to merge 1 commit into
Tencent:mainfrom
shsaihdsaiudh:issue8-combine-modes
Open

[issue8] Alltoall combine 三模式位级仿真与理论性能上限决策表#31
shsaihdsaiudh wants to merge 1 commit into
Tencent:mainfrom
shsaihdsaiudh:issue8-combine-modes

Conversation

@shsaihdsaiudh

Copy link
Copy Markdown

关联 Issue

#8

提交内容

MoE combine 阶段三种归约模式的精度/流量权衡分析,拆成两层:

  • src/code/issue8/combine_modes.py:对应 DeepEP direct combine 三种模式语义的 BF16/FP16 位级精度仿真与闭式流量模型;
  • src/code/issue8/run_analysis.py:扫描 top-k 的 rank 重复率,生成 JSON / CSV 与模式决策表。

三种模式按 issue 描述建模:

  • 模式 A(no-expand,无需本地 reduce):一个返回 token 只对应一个来源,直接 load/store 写回,路径最短、精度最好;
  • 模式 B(expand + allow_multiple_reduction):本地先把多个 top-k 副本归约再回传,网络返回流量最少,但引入一次本地低精度累加;
  • 模式 C(expanded send,不允许本地 reduce):每个副本都回传,由 epilogue 在最终位置归约——用更多网络流量换更少中间舍入。

精度侧以 FP32 全量回传后归约为高精度基线,报告各模式相对基线的数值误差;流量侧给出闭式的网络返回字节数;时延侧使用 固定时延 + 返回净荷 / 有效带宽 模型。

验证

python -m pytest src/code/issue8/test_combine_modes.py -q   # 3 passed
python src/code/issue8/run_analysis.py

默认扫描 6 档 rank 重复率,结果写入 src/code/issue8/results/,其中 decision_table.md 是按"top-k 重复率 / 消息大小 / 精度要求"选择 combine 模式的决策表,结论由同目录生成的数据支撑。

当前边界

本 PR 完整覆盖了流量数值精度两个维度的对比,以及验收要求 2 的决策表。

通信完成时间是模型值,不是实测值——使用上述解析时延模型算出,文件内已显式标注为理论值。验收要求 1 中的"combine 通信完成时间"若要给出真机数字,需要多 rank GPU 环境跑通 DeepEP combine 后回填;同样,三种模式的真实 kernel 路径与 NVLink/RDMA 流量也需在多 rank 环境复核。提交者当前为单卡环境。

@shsaihdsaiudh
shsaihdsaiudh force-pushed the issue8-combine-modes branch from df5415a to 689c1a3 Compare July 26, 2026 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant