$ the-wire · showcase
verl fixes three environment-level breakages in Megatron and vLLM
By RepoJournal · Filed · About Alignment & Post-training · Composed from the cited sources · methodology
Three verl fixes land for configurations that fail outright at startup or at the first optimizer step, all in the same Megatron and multi-node vLLM paths operators enable for scale.
[megatron, docker] fix: install DeepEP in uv training environments and restore NVSHMEM verl-project/verl
The uv `megatron` extra left `deep_ep` uninstalled, so enabling the DeepEP dispatcher for MoE training failed, and the CUDA 13 image had no system NVSHMEM at the path baked into the prebuilt wheel. The extra now pulls `deep-ep==1.2.1` from the matching Torch 2.13 / CUDA 13 wheelhouse for Linux x86_64 and aarch64, and the image installs NVSHMEM 3.4.5 with loader configuration.
[megatron] fix: onload the offloaded optimizer before load_checkpoint (resume with optimizer_cpu_offload) (#8235) verl-project/verl
Resuming a Megatron-engine run with `actor.megatron.optimizer_offload=True` and `optimizer_cpu_offload=True` died at the first `optimizer.step()` with a `KeyError` inside `HybridDeviceOptimizer._set_sub_optimizer_grads`, or a `RuntimeError` about assigning a CPU gradient once the Megatron-LM fixes are applied. The offloaded optimizer is now onloaded before `load_checkpoint`, so checkpoint resum...
[rollout, vllm] fix: do not pass data_parallel_start_rank to the DP leader (vLLM >= 0.28 hybrid-LB) (#8234) verl-project/verl
Multi-node vLLM rollout replicas with `data_parallel_size > data_parallel_size_local` refused to start on vLLM 0.28 and later: the headless nodes were passed `data_parallel_start_rank`, tripping the hybrid-LB guard. That argument no longer goes to the DP leader, so scaled-out rollout starts again on current vLLM.
Action items
- → Rebuild verl images from the updated Torch 2.13 / CUDA 13 setup to pick up NVSHMEM 3.4.5 and deep-ep 1.2.1 verl-project/verl [plan]