[feat] Add SP and PP kernels for qwen_moe true on policy#31
Open
maocheng23 wants to merge 25 commits into
Open
[feat] Add SP and PP kernels for qwen_moe true on policy#31maocheng23 wants to merge 25 commits into
maocheng23 wants to merge 25 commits into
Conversation
Add a clean Megatron backend that calls SGLang-compatible math under a flag: - sglang.py: SGLangLinear, SGLangRMSNorm, SGLangFlashAttention and related modules - matmul_tp_inv.py: TP-invariant matmul dispatch for Megatron layers - transformer_config.py: use_sglang config flag - arguments.py: --use-sglang CLI arg - layers.py: conditional SGLang backend selection in TP layers - gpt_layer_specs.py: SGLang-compatible layer spec builder - test_sglang_extension.py: import, config, and default-path-unchanged tests Default training path remains unchanged when use_sglang is off. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match SGLang's TP reduction order and full-vocab logprob contract: - mappings.py: tree_all_reduce_sum for deterministic TP reduction - layers.py: conditional tree allreduce in RowParallelLinear - gpt_model.py: full-vocab logprob gather/truncate/log-softmax - transformer_config.py: true_on_policy_logits config - test_tree_all_reduce.py: TP tree-allreduce tests - test_true_on_policy_logits.py: full-vocab gather/truncate tests Default NCCL allreduce path unchanged when flags are off. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
isort/black reformatting on files touched by the true-on-policy substrate, runtime contract, and Qwen3-dense parity path. No semantic changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7ac2a80 to
b0679e2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on top of #30.
Summary
_under_sp_or_attn_tpguard inmiles_megatron_plugins/true_on_policy/moe_layer_ext.pyso the SGLang local-masked EP forward path is allowed even when padding is present (under SP or attention-TP), and padding compaction is skipped under those topologies.tests/unit_tests.Test plan
tests/unit_tests/transformer/moe/test_moe_layer.pyagainst PP=2 and SP=on configurations.