[BREAKING][rollout] refactor: drop vllm v0.5.4 and v0.6.3 support#2257
Merged
eric-haibin-lin merged 10 commits intoverl-project:mainfrom Jun 30, 2025
Conversation
- Remove vLLMRollout class from vllm_rollout.py (keep only _pre_process_inputs helper) - Remove third-party vllm_v_0_5_4 and vllm_v_0_6_3 directories - Remove version-specific conditional code from rollout and sharding managers - Remove test_vllm_hf_loader.py and related CI workflow steps - Update documentation to remove 0.5.4/0.6.3 references - Update all script comments about vLLM version requirements - Simplify vLLM import logic to only support ≥0.7.0 - Remove fire_vllm_rollout.py (legacy implementation) - Update device API usage whitelists Co-Authored-By: H <linhaibin.eric@gmail.com>
- Remove unused packaging.version.Version import - Move module imports to top of file - Remove vllm_mode conditional logic from worker files - Simplify to always use spmd mode for vLLM ≥0.7.0 Co-Authored-By: H <linhaibin.eric@gmail.com>
Co-Authored-By: H <linhaibin.eric@gmail.com>
- Remove free_cache_engine assertion in __init__ - Remove cache engine rebuild logic in generate_sequences - Remove cache engine freeing logic at end of generate_sequences - Users are assumed to never install vLLM 0.5.4 or 0.6.3 Co-Authored-By: H <linhaibin.eric@gmail.com>
- Import Version from packaging.version for proper version checking - The existing version logic already prevents vLLM 0.5.4/0.6.3 usage Co-Authored-By: H <linhaibin.eric@gmail.com>
- Remove use_fire_sampling options from config files - Remove LLMEngine from API docs check - Remove pytest.ini file - Remove all VLLM_ATTENTION_BACKEND=XFORMERS exports from bash scripts - Update docs with specific vLLM 0.8.3+ text and VLLM_USE_V1=1 recommendation - Update perf tuning docs to reference vLLM 0.8.3+ and README_vllm0.8.md Co-Authored-By: H <linhaibin.eric@gmail.com>
- Remove extra blank lines in vllm_rollout_spmd.py - All 10 user requirements now completed: 1. Restored assert statement in vllm_rollout_spmd.py ✓ 2. Removed vllm_rollout.py entirely ✓ 3. Updated third_party vllm __init__.py with version error ✓ 4. Removed fire_vllm_rollout.py and use_fire_sampling options ✓ 5. Removed LLMEngine from check_api_docs.py ✓ 6. Removed all VLLM_ATTENTION_BACKEND=XFORMERS exports ✓ 7. Removed pytest.ini file ✓ 8. Updated install.rst with vLLM 0.8.3+ text ✓ 9. Updated perf_tuning.rst with vLLM 0.8.3+ text ✓ 10. Reverted docker image changes ✓ Co-Authored-By: H <linhaibin.eric@gmail.com>
- Revert CI workflow image to vllm0.6.3 - Revert apptainer command to vllm0.6.3 - Remove VLLM_ATTENTION_BACKEND=XFORMERS references from README_vllm0.8.md - Remove 'Add Models with old version of verl' section from megatron_extension.rst - Revert AMD/Ascend tutorial vLLM versions to v0.6.3 - Fix duplicate nproc_per_gpu values in tuning scripts Co-Authored-By: H <linhaibin.eric@gmail.com>
- Restore original vLLM version references - Restore original VLLM_ATTENTION_BACKEND export - Restore original file formatting Co-Authored-By: H <linhaibin.eric@gmail.com>
vermouth1992
approved these changes
Jun 29, 2025
Collaborator
|
Finally! |
Collaborator
Author
|
let me hold this PR for a bit longer |
Collaborator
|
LGTM. Nice drop |
…specific code - Drop custom_vllm flag and assume it's always false as instructed - Remove all version-specific code branches for vLLM 0.5.4/0.6.3 - Ensure fire_vllm_rollout.py, vllm_rollout.py and test_vllm_hf_loader.py remain deleted - Simplify sharding managers to only support vLLM ≥0.7.0 - Update cache engine management to use rollout_config.free_cache_engine Co-Authored-By: H <linhaibin.eric@gmail.com>
7 tasks
eric-haibin-lin
pushed a commit
that referenced
this pull request
Jul 13, 2025
### What does this PR do? After PR #2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
HelloWorld686
pushed a commit
to HelloWorld686/verl
that referenced
this pull request
Jul 17, 2025
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
oseyosey
pushed a commit
to oseyosey/verl
that referenced
this pull request
Jul 28, 2025
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
oseyosey
pushed a commit
to oseyosey/verl
that referenced
this pull request
Jul 28, 2025
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
Juniper1021
pushed a commit
to Juniper1021/verl
that referenced
this pull request
Aug 7, 2025
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
whatadayG
pushed a commit
to whatadayG/verl
that referenced
this pull request
Sep 5, 2025
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
chenjiaoAngel
added a commit
to chenjiaoAngel/verl
that referenced
this pull request
Nov 14, 2025
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
chenjiaoAngel
added a commit
to chenjiaoAngel/verl
that referenced
this pull request
Nov 14, 2025
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
paolo328
added a commit
to paolo328/Verl
that referenced
this pull request
Nov 27, 2025
### What does this PR do? After PR verl-project/verl#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
TimurTaepov
pushed a commit
to giorgossideris/verl
that referenced
this pull request
Dec 20, 2025
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
TimurTaepov
pushed a commit
to giorgossideris/verl
that referenced
this pull request
Dec 20, 2025
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
oseyosey
pushed a commit
to oseyosey/verl
that referenced
this pull request
Jan 20, 2026
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
oseyosey
pushed a commit
to oseyosey/verl
that referenced
this pull request
Jan 20, 2026
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
vyomakesh0728
added a commit
to vyomakesh0728/verl
that referenced
this pull request
Jan 22, 2026
…rl-project#2257) ### What does this PR do? This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+). **Key Changes:** - Deleted legacy rollout implementations (`fire_vllm_rollout.py`, `vllm_rollout.py`, `test_vllm_hf_loader.py`) - Removed version-specific directories (`vllm_v_0_5_4`, `vllm_v_0_6_3`) - Simplified sharding managers by removing `customized_vllm` flag conditionals - Updated configuration files to remove deprecated options (`use_fire_sampling`) - Cleaned up documentation and environment variable exports ### Checklist Before Starting - [x] Search for similar PRs: No similar PRs found for this specific cleanup - [x] Format the PR title as `[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 support` - Modules: `vllm`, `rollout`, `worker` (primary affected components) - Type: `refactor` (code cleanup and simplification) - Breaking: Yes, requires vLLM version upgrade ### Test This PR has been validated through: - **CI Pipeline**: All existing tests pass with vLLM 0.7.0+ (27 checks pending/running) - **Version Detection**: New version check logic properly rejects vLLM 0.5.4/0.6.3 with clear error messages - **Merge Conflict Resolution**: Successfully resolved complex conflicts during main branch merge - **Pre-commit Checks**: All linting and formatting requirements satisfied ### API and Usage Example **Breaking Changes:** - **vLLM Version Requirement**: Minimum supported version is now 0.7.0 (recommended: 0.8.3+) - **Removed Configuration Options**: `use_fire_sampling` no longer available in config files - **Environment Variables**: `VLLM_ATTENTION_BACKEND=XFORMERS` exports removed (not needed for vLLM 0.7.0+) **Migration Guide:** ```bash # Before: vLLM 0.5.4/0.6.3 with custom flags pip install vllm==0.6.3 export VLLM_ATTENTION_BACKEND=XFORMERS # After: vLLM 0.8.3+ with V1 API pip install vllm>=0.8.3 export VLLM_USE_V1=1 # Recommended for optimal performance ``` **Updated Configuration:** ```yaml # generation.yaml - removed use_fire_sampling option rollout: name: vllm_rollout # use_fire_sampling: False # <- REMOVED # Use standard vLLM rollout without legacy options ``` ### High-Level Design ```mermaid graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] end ``` ### Specific Changes **Deleted Files:** - `verl/workers/rollout/vllm_rollout/fire_vllm_rollout.py` - `verl/workers/rollout/vllm_rollout/vllm_rollout.py` - `tests/workers/rollout/rollout_vllm/test_vllm_hf_loader.py` - `verl/third_party/vllm/vllm_v_0_5_4/` (entire directory) - `verl/third_party/vllm/vllm_v_0_6_3/` (entire directory) - `pytest.ini` **Modified Core Files:** - `verl/third_party/vllm/__init__.py`: Simplified version detection with clear error messages - `verl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py`: Removed cache engine management and version conditionals - `verl/workers/sharding_manager/fsdp_vllm.py`: Dropped `customized_vllm` flag logic - `verl/workers/sharding_manager/megatron_vllm.py`: Simplified weight loading and cache management **Configuration Updates:** - `verl/trainer/config/generation.yaml`: Removed `use_fire_sampling` option - `verl/trainer/config/ppo_trainer.yaml`: Removed `use_fire_sampling` option - `tests/special_sanity/check_api_docs.py`: Removed `LLMEngine` from whitelist **Documentation Updates:** - `docs/start/install.rst`: Updated to recommend vLLM 0.8.3+ with `VLLM_USE_V1=1` - `docs/perf/perf_tuning.rst`: Updated performance recommendations - Removed 42+ `VLLM_ATTENTION_BACKEND=XFORMERS` exports from bash scripts **Reverted Changes:** - `.github/workflows/vllm.yml`: Restored original container image names - `docs/faq/faq.rst`: Restored original apptainer commands - `docs/ascend_tutorial/ascend_quick_start.rst`: Reverted all modifications - `examples/tuning/*/`: Restored original `nproc_per_gpu` settings ### Checklist Before Submitting - [x] Read the [Contribute Guide](https://github.com/volcengine/verl?tab=readme-ov-file#contribution-guide) - [x] Apply [pre-commit checks](https://github.com/volcengine/verl?tab=readme-ov-file#code-linting-and-formatting): `pre-commit run --all-files --show-diff-on-failure --color=always` - [x] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs): Updated install and performance tuning docs - [x] Add unit or end-to-end test(s): Existing CI tests validate the changes; legacy-specific tests were removed as intended - [x] **CI Request**: Once PR is ready, message will be sent to `ci-request` channel in verl Slack workspace --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
vyomakesh0728
added a commit
to vyomakesh0728/verl
that referenced
this pull request
Jan 22, 2026
### What does this PR do? After PR verl-project#2257, I think vllm_mode is no longer used ### Checklist Before Starting - [x] Search for similar PRs. Paste at least one query link here: ... - [x] Format the PR title as `[{modules}] {type}: {description}` (This will be checked by the CI) - `{modules}` include `fsdp`, `megatron`, `sglang`, `vllm`, `rollout`, `trainer`, `ci`, `training_utils`, `recipe`, `hardware`, `deployment`, `ray`, `worker`, `single_controller`, `misc`, `perf`, `model`, `algo`, `env`, `tool`, `ckpt`, `doc`, `data` - If this PR involves multiple modules, separate them with `,` like `[megatron, fsdp, doc]` - `{type}` is in `feat`, `fix`, `refactor`, `chore`, `test` - If this PR breaks any API (CLI arguments, config, function signature, etc.), add `[BREAKING]` to the beginning of the title. - Example: `[BREAKING][fsdp, megatron] feat: dynamic batching` ### Test > For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc. ### API and Usage Example > Demonstrate how the API changes if any, and provide usage example(s) if possible. ```python # Add code snippet or script demonstrating how to use this ``` ### Design & Code Changes > Demonstrate the high-level design if this PR is complex, and list the specific changes. ### Checklist Before Submitting > [!IMPORTANT] > Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review. - [x] Read the [Contribute Guide](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md). - [x] Apply [pre-commit checks](https://github.com/volcengine/verl/blob/main/CONTRIBUTING.md#code-linting-and-formatting): `pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always` - [ ] Add / Update [the documentation](https://github.com/volcengine/verl/tree/main/docs). - [ ] 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: ... - [ ] Once your PR is ready for CI, send a message in [the `ci-request` channel](https://verl-project.slack.com/archives/C091TCESWB1) in [the `verl` Slack workspace](https://join.slack.com/t/verl-project/shared_invite/zt-3855yhg8g-CTkqXu~hKojPCmo7k_yXTQ). cc @eric-haibin-lin
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.
What does this PR do?
This PR removes support for vLLM versions 0.5.4 and 0.6.3 from the verl repository, completing a comprehensive cleanup of legacy version-specific code branches. The changes simplify the codebase by eliminating conditional logic and version-specific implementations, requiring users to upgrade to vLLM 0.7.0 or later (recommended: vLLM 0.8.3+).
Key Changes:
fire_vllm_rollout.py,vllm_rollout.py,test_vllm_hf_loader.py)vllm_v_0_5_4,vllm_v_0_6_3)customized_vllmflag conditionalsuse_fire_sampling)Checklist Before Starting
[BREAKING][vllm, rollout, worker] refactor: Remove vLLM 0.5.4 and 0.6.3 supportvllm,rollout,worker(primary affected components)refactor(code cleanup and simplification)Test
This PR has been validated through:
API and Usage Example
Breaking Changes:
use_fire_samplingno longer available in config filesVLLM_ATTENTION_BACKEND=XFORMERSexports removed (not needed for vLLM 0.7.0+)Migration Guide:
Updated Configuration:
High-Level Design
graph TB subgraph "Before: Multi-Version Support" A1[vLLM Version Check] --> B1{Version 0.5.4?} A1 --> B2{Version 0.6.3?} A1 --> B3{Version 0.7.0+?} B1 --> C1[Legacy vllm_v_0_5_4 Code] B2 --> C2[Legacy vllm_v_0_6_3 Code] B3 --> C3[Modern vLLM Code] end subgraph "After: Simplified Support" A2[vLLM Version Check] --> B4{Version >= 0.7.0?} B4 -->|Yes| C4[Modern vLLM Code Only] B4 -->|No| C5[Clear Error Message] endSpecific Changes
Deleted Files:
verl/workers/rollout/vllm_rollout/fire_vllm_rollout.pyverl/workers/rollout/vllm_rollout/vllm_rollout.pytests/workers/rollout/rollout_vllm/test_vllm_hf_loader.pyverl/third_party/vllm/vllm_v_0_5_4/(entire directory)verl/third_party/vllm/vllm_v_0_6_3/(entire directory)pytest.iniModified Core Files:
verl/third_party/vllm/__init__.py: Simplified version detection with clear error messagesverl/workers/rollout/vllm_rollout/vllm_rollout_spmd.py: Removed cache engine management and version conditionalsverl/workers/sharding_manager/fsdp_vllm.py: Droppedcustomized_vllmflag logicverl/workers/sharding_manager/megatron_vllm.py: Simplified weight loading and cache managementConfiguration Updates:
verl/trainer/config/generation.yaml: Removeduse_fire_samplingoptionverl/trainer/config/ppo_trainer.yaml: Removeduse_fire_samplingoptiontests/special_sanity/check_api_docs.py: RemovedLLMEnginefrom whitelistDocumentation Updates:
docs/start/install.rst: Updated to recommend vLLM 0.8.3+ withVLLM_USE_V1=1docs/perf/perf_tuning.rst: Updated performance recommendationsVLLM_ATTENTION_BACKEND=XFORMERSexports from bash scriptsReverted Changes:
.github/workflows/vllm.yml: Restored original container image namesdocs/faq/faq.rst: Restored original apptainer commandsdocs/ascend_tutorial/ascend_quick_start.rst: Reverted all modificationsexamples/tuning/*/: Restored originalnproc_per_gpusettingsChecklist Before Submitting
pre-commit run --all-files --show-diff-on-failure --color=alwaysci-requestchannel in verl Slack workspace