Megatron-HF Bridge Backend#
AReaL currently supports two bridge backends for MegatronEngine:
mbridge(default)megatron-bridge
Set the backend with:
actor:
megatron:
bridge_type: mbridge
Use
bridge_type=megatron-bridgeto enable the new path.mbridgeis the default choice if this argument is not present
Why this feature exists#
mbridgeis being deprecated and does not provide PEFT/LoRA support.megatron-bridgesupports more/ newer model architectures.megatron-bridgeprovides built-in PEFT/LoRA implementations.
Recommendation#
For new GPU training workflows, prefer
megatron-bridge.Keep
mbridgefor backward compatibility and environments that still depend on it.Prefer
mbridgewhen using disk-based weight broadcast as it has optimized HF load/save path.If you use XCCL for weight broadcast, load/save time is less important.
Current limitation#
Tree-attention training in
MegatronEnginecurrently supports onlymbridge.The
megatron-bridgebackend is not supported in the tree-attention path yet.megatron-bridgedoes support faster/optimized HF model load/save implementations.
Train only the MTP head#
To adapt a native MTP head to an already fine-tuned model, use the existing SFT trainer with:
actor:
megatron:
bridge_type: megatron-bridge
enable_mtp: true
enable_mtp_training: true
mtp_only: true
mtp_loss_scaling_factor: 0.1
mtp_only freezes all non-MTP parameters before distributed wrapping and optimizer
construction, including shared embeddings and the output projection. The ordinary SFT
loss remains in the graph to trigger Megatron-Core’s auxiliary MTP backward; it does not
update the frozen backbone. Do not wrap the whole forward in no_grad(). The loss
coefficient still scales MTP gradients; it must be finite and positive.
The input checkpoint must contain both the desired fine-tuned backbone and a native MTP head, with a matching model configuration. A checkpoint exported with MTP disabled needs its MTP weights and configuration restored before loading. Preserve the fine-tuned backbone, embeddings, output head, and tokenizer when restoring MTP.
For acceptance-rate recovery, use representative assistant continuations generated by the frozen target model, with the usual SFT response mask. Validate that MTP parameters update while every non-MTP parameter stays unchanged, then measure draft acceptance and throughput on held-out requests. SFT loss alone does not establish speculative-decoding speedup.
This mode requires one MTP prediction layer and the megatron-bridge backend. Pipeline
stages before the MTP stage remain fully frozen but still participate in the pipeline
schedule and global optimizer statistics. LoRA, critic models, FSDP wrappers, and MoE
router expert-bias updates are unsupported. Chunked LM-head loss remains unsupported
with MTP training. Full backbone forward computation is still required. Setting
mtp_only: false retains the default joint-training behavior.
Native MTP training requires Megatron-Core >=0.19.0 and Megatron-Bridge >=0.6.0. With this stack, Megatron-Core derives MTP targets from the layout-aligned input IDs, while AReaL aligns the response mask with each packed sequence’s CP partition. Model-owned Qwen THD forwards delegate the final CP slicing to Megatron-Bridge after multimodal embedding fusion. For dense Qwen models, EP is 1.