Commit fd893c7
authored
[vllm] feat: retires vllm spmd mode in the codebase (verl-project#4411)
### What does this PR do?
Retires the legacy SPMD rollout path and standardizes the codebase on
async-only rollout for vLLM (SGLang in the next PR). All Python modules,
docs, workflows, and examples now reference the async server mode
exclusively; the sync/SPMD runners, helpers, and CI jobs have been
removed.
### Checklist Before Starting
- [ ] Search for similar PRs. Paste at least one query link here: _N/A
(internal task to delete SPMD support)._
- [ ] Format the PR title as `[vllm, sglang, rollout, trainer, recipe,
ci, doc] refactor: remove SPMD rollout`
### Test
Not run (SPMD suites deleted; async flow already covered by existing
CI).
### API and Usage Example
All configs/scripts must now use `actor_rollout_ref.rollout.mode=async`.
Example:
```bash
python -m verl.trainer.main_ppo \
... \
actor_rollout_ref.rollout.name=vllm \
actor_rollout_ref.rollout.mode=async \
...
```
### Design & Code Changes
- Deleted `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py` and
the entire SGLang SPMD engine, leaving only async implementations.
Updated `BaseRollout` registry, `RolloutConfig`, and `main_ppo` to error
on `mode=sync`.
- Removed SPMD-specific docs, tests
(`tests/workers/rollout/test_sglang_*`, `test_vllm_spmd`,
`test_vllm_model_rope_scaling`), and CI steps
(`.github/workflows/vllm.yml`, `sgl.yml`). Simplified lint exclusions
and helper scripts accordingly.
- Cleaned recipes/examples to default `rollout_mode=async` and
eliminated conditional sync branches (`examples/**`, `recipe/**`, e2e
scripts). Added explicit validation in agent-loop utilities and SFT
runner to reject non-async requests.
- Updated documentation (FS- DP/Megatron worker guides, hybrid flow,
r1_ascend notes, FP8 guide) to describe async-only rollout and mention
removal of the old SPMD pathway.
### Checklist Before Submitting
- [ ] Read the [Contribute
Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md).
- [ ] Apply [pre-commit
checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting).
- [x] Add / Update [the
documentation](https://github.com/volcengine/verl/tree/main/docs).
- [x] Add unit or end-to-end test(s) to [the CI
workflow](https://github.com/volcengine/verl/tree/main/.github/workflows)
to cover all the code. If not feasible, explain why: _Removed obsolete
SPMD jobs; async coverage already exists._
- [ ] Once your PR is ready for CI, notify the `ci-request` channel (or
Feishu group).1 parent ab07052 commit fd893c7
File tree
24 files changed
+331
-1140
lines changed- .github/workflows
- examples
- grpo_trainer
- gspo_trainer
- ppo_trainer
- recipe
- dapo
- one_step_off_policy/shell
- tests
- experimental/agent_loop
- special_e2e
- ppo_trainer
- workers/rollout/rollout_vllm
- verl
- experimental/agent_loop
- trainer
- workers
- config
- rollout
- vllm_rollout
24 files changed
+331
-1140
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | 127 | | |
134 | 128 | | |
135 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
8 | 9 | | |
9 | | - | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
134 | 137 | | |
135 | 138 | | |
136 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| |||
121 | 125 | | |
122 | 126 | | |
123 | 127 | | |
| 128 | + | |
124 | 129 | | |
125 | 130 | | |
126 | 131 | | |
| |||
138 | 143 | | |
139 | 144 | | |
140 | 145 | | |
141 | | - | |
142 | 146 | | |
143 | 147 | | |
144 | 148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
55 | 59 | | |
56 | 60 | | |
57 | 61 | | |
| |||
125 | 129 | | |
126 | 130 | | |
127 | 131 | | |
| 132 | + | |
128 | 133 | | |
129 | 134 | | |
130 | 135 | | |
| |||
142 | 147 | | |
143 | 148 | | |
144 | 149 | | |
145 | | - | |
146 | 150 | | |
147 | 151 | | |
148 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
67 | 70 | | |
68 | 71 | | |
69 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 63 | + | |
| 64 | + | |
68 | 65 | | |
69 | 66 | | |
70 | 67 | | |
| |||
0 commit comments