| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: MindSpeedTEDotProductAttention reads context_parallel_algo from global args instead of stale config Co-authored-by: clc2025<chenlucong@huawei.com> # message auto-generated for no-merge-commit merge: !3640 merge test_repatch into master fix: MindSpeedTEDotProductAttention reads context_parallel_algo from global args instead of stale config Created-by: clc2025 Commit-by: clc2025 Merged-by: ascend-robot Description: ## What this PR does / why we need it? Fix: MindSpeedTEDotProductAttention 在 repatch() 切换 context_parallel_algo 后仍然读取到旧的 CP 配置,导致 context parallel 失败。 问题背景:当调用 repatch() 将 context_parallel_algo 从 megatron_cp_algo 切换为 kvallgather_cp_algo 时,已存在的 TransformerConfig 对象仍保留旧值。MindSpeedTEDotProductAttention 从 self.config.context_parallel_algo 读取 cp_comm_type,得到的是过时的 megatron_cp_algo,该值不在 CPStrategyFactory._STRATEGY_MAP 中,导致 CP 初始化报错。 修复方案:改为从 get_full_args().context_parallel_algo 读取,该方法始终返回最新的全局 args(repatch 通过 setattr 就地更新全局 args)。 ## Does this PR introduce any user-facing change? NA ## How was this patch tested? 可通过以下步骤验证: 1. 使用 megatron_cp_algo 启动训练 2. 调用 repatch() 切换为 kvallgather_cp_algo 3. 确认 context parallel 正常初始化和运行,不再因 megatron_cp_algo 不在 _STRATEGY_MAP 中而报错 See merge request: Ascend/MindSpeed!3640 | 2 个月前 |