SuperAPI AI 工具集

nemo-mbridge-perf-hierarchical-context-parallel

部署与运维

查看项目

更新于 10-16 03:49

技能介绍

用途:本技能用于在 Megatron-Bridge 中启用分层上下文并行(hierarchical context parallelism),即由 cp_comm_type="a2a+p2p" 使用的嵌套上下文并行进程组,并通过 hierarchical_context_parallel_sizes 配置。

主要能力:给出最小 Bridge 覆盖配置、必要约束、代码锚点、实现映射、常见陷阱与验证方式。

最小配置: cfg.model.context_parallel_size = 4 cfg.model.cp_comm_type = "a2a+p2p" cfg.model.hierarchical_context_parallel_sizes = [2, 2] cfg.dist.use_decentralized_pg = False

必要约束:prod(hierarchical_context_parallel_sizes) == context_parallel_size;seq_length % (2 * context_parallel_size) == 0;Transformer Engine >= 1.12.0。

实现要点:MCore 的 TransformerConfig.post_init 校验 a2a+p2p 必须提供 HCP sizes 且乘积匹配 CP;parallel_state.initialize_model_parallel 在提供 HCP sizes 时经 create_hierarchical_groups 创建分层 CP 子组,Bridge 目前通过 MPU 支撑的 ProcessGroupCollection 获取;TEDotProductAttention 在 a2a+p2p 时把分层组传给 Transformer Engine。

限制与陷阱:Bridge HCP 目前仅支持 MPU,use_decentralized_pg=True 时初始化扁平 CP 组且不设 HCP;当前没有检出直接使用 HCP 的 Bridge recipe;单 GPU 加载辅助函数会清除 hierarchical_context_parallel_sizes;旧版本在 a2a+p2p 未设置 HCP sizes 时会静默禁用 CP 通信,导致梯度错误;乘积不匹配会触发断言。

验证:日志中应出现 HIERARCHICAL_CONTEXT_PARALLEL_GROUPS 创建信息,若仅见 CONTEXT_PARALLEL_GROUP 则 HCP 未生效。可运行单元测试:uv run python -m pytest tests/unit_tests/training/test_decentralized_pg.py -q;手工冒烟检查命令见原始资料。目前暂无专门 Bridge 端到端 HCP 测试。