$ the-wire · showcase
DeepSeek MTP support fixed for vLLM and Megatron backends
By RepoJournal · Filed · About Alignment & Post-training · Composed from the cited sources · methodology
verl patched both halves of its multi-token-prediction path today, unblocking MoE weight loading and reference-model pipeline layouts for MTP-enabled DeepSeek runs.
[vllm] fix: patch MoE weight loaders for DeepSeek MTP (#8059) verl-project/verl
The MoE weight-loader workaround previously skipped DeepSeekMTP because it was never registered as a supported model, and its predictor keeps layers in a ModuleDict with each decoder nested under mtp_block, so the traversal never reached the expert parameters. DeepSeekMTP is now registered, ModuleDict values are iterated, and mtp_block is unwrapped for explicitly supported MTP classes, which le...
[megatron] fix: remove inherited MTP layers from reference pipeline parallelism layouts (#8052) verl-project/verl
If your actor has MTP enabled, the reference model inherited its custom pipeline layout (for example Et*10|t*12|t*8|t*8|t*12|t*12|t*12|t*4mL) even though it only computes next-token log probabilities and never needs MTP layers. The inherited MTP layers are now stripped from the reference layout, so you no longer have to hand-edit pipeline_model_parallel_layout to get a valid reference pass.
[hardware, doc] fix: make examples/tpu/grpo run on main and add a v6e-4 RayCluster and Dockerfile (#8225) verl-project/verl
The TPU GRPO examples under examples/tpu/grpo/ did not run on main; they now do, with verl-hardware-plugin and a default target of 2 TPU v6e-4 slices (8 chips). A Dockerfile, a KubeRay RayCluster manifest, and a step-by-step README make the setup reproducible from scratch, and verl core is untouched. Reproducing it needs the torchtitan import fix and the renamed weight-sync backends from verl-h...
[doc, ci] refactor: use secrets for FORK_REPO and rename FORK_TOKEN to PAT_TOKEN verl-project/verl
A CI-side change moves FORK_REPO from a repository variable into a secret and renames FORK_TOKEN to PAT_TOKEN, so the fork repo name is no longer visible in plaintext config and the token name says what it is. Only matters if you have your own workflows wired to those names.