[ci][llm] Upgrade to vLLM 0.29.0 - #65756
Conversation
There was a problem hiding this comment.
Code Review
This pull request upgrades vLLM to version 0.28.0 and updates related dependencies (such as nixl, fastsafetensors, and huggingface-hub) across configuration files, setup scripts, and lockfiles. It also removes deprecated exception-handling workarounds in the vLLM engine integration that are no longer needed with the new vLLM version. To resolve dependency conflicts, a new script is introduced to strip constraints, and an overrides file is added. Feedback on the pull request suggests improving the constraint-stripping script to dynamically parse overridden packages from the overrides file rather than hardcoding them, along with a corresponding update to the documentation comments.
| sed \ | ||
| -e '/^--extra-index-url /d' \ | ||
| -e '/^--find-links /d' \ | ||
| -e '/^click==/d' \ | ||
| "$SOURCE_FILE" > "$OUTPUT_FILE" |
There was a problem hiding this comment.
Maintenance Hazard: Hardcoded Package Stripping
Currently, the package click is hardcoded to be stripped from the constraints file. If new overrides are added to python/requirements/llm/base_pin_overrides.txt in the future, developers must remember to manually update this script to strip those pins as well.
We can eliminate this maintenance hazard by dynamically parsing base_pin_overrides.txt and stripping any overridden packages automatically using pure bash pattern matching.
| sed \ | |
| -e '/^--extra-index-url /d' \ | |
| -e '/^--find-links /d' \ | |
| -e '/^click==/d' \ | |
| "$SOURCE_FILE" > "$OUTPUT_FILE" | |
| SED_EXPRS=(-e '/^--extra-index-url /d' -e '/^--find-links /d') | |
| OVERRIDES_FILE="python/requirements/llm/base_pin_overrides.txt" | |
| if [[ -f "$OVERRIDES_FILE" ]]; then | |
| while read -r line; do | |
| [[ "$line" =~ ^[[:space:]]*# ]] && continue | |
| [[ "$line" =~ ^[[:space:]]*$ ]] && continue | |
| trimmed="${line##[[:space:]]}" | |
| pkg="${trimmed%%[^a-zA-Z0-9_-]*}" | |
| if [[ -n "$pkg" ]]; then | |
| SED_EXPRS+=(-e "/^${pkg}==/d") | |
| fi | |
| done < "$OVERRIDES_FILE" | |
| fi | |
| sed "${SED_EXPRS[@]}" "$SOURCE_FILE" > "$OUTPUT_FILE" |
| # Each entry needs both the floor here and the pin dropped in | ||
| # ci/raydepsets/pre_hooks/strip-llm-constraints.sh. A constraint beats an | ||
| # override, and dropping the pin alone just leaves uv on the version already in | ||
| # the lock. |
There was a problem hiding this comment.
Documentation Sync
With the dynamic stripping implemented in strip-llm-constraints.sh, we should update this comment to reflect that the stripping is now automatic.
# Each entry here is automatically stripped from the compiled constraints by
# ci/raydepsets/pre_hooks/strip-llm-constraints.sh. A constraint beats an
# override, and dropping the pin alone just leaves uv on the version already in
# the lock.
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3dde83b to
125a04d
Compare
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com> # Conflicts: # python/deplocks/llm/ray_test_py312_cpu.lock # python/deplocks/llm/ray_test_py312_cu130.lock
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
| - label: ":ray-serve: serve: python {{array.python}} tests ({{array.worker_id}})" | ||
| key: serve_python_tests | ||
| if: build.pull_request.labels includes "continuous-build" || pipeline.id == "0189e759-8c96-4302-b6b5-b4274406bf89" || pipeline.id == "018f4f1e-1b73-4906-9802-92422e3badaa" | ||
| if: build.pull_request.labels includes "continuous-build" || pipeline.id == "0189942e-0876-4b8f-80a4-617f988ec59b" || pipeline.id == "0189e759-8c96-4302-b6b5-b4274406bf89" || pipeline.id == "018f4f1e-1b73-4906-9802-92422e3badaa" |
There was a problem hiding this comment.
Premerge ID enables extra Serve tests
Medium Severity
The extra Python 3.12 serve_python_tests step now also matches the premerge pipeline ID. Sibling extra-version jobs in core, data, and ml only run on the continuous-build label, postmerge, or microcheck. Including premerge makes that label check ineffective and schedules the extra Serve suite on every regular PR.
Reviewed by Cursor Bugbot for commit bf0f114. Configure here.
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
|
Still working on CI. Will ensure everything passes before asking for reviews. |
This reverts commit 055f373. Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
This reverts commit 80a54fe. Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
47e883f to
1757167
Compare
| weights = ( | ||
| (name, weight) for name, weight in weights if not name.startswith("score.") | ||
| ) | ||
| loader = AutoWeightsLoader(self) |
There was a problem hiding this comment.
Dropped tied embedding skip logic
Medium Severity
The load_weights rewrite filters score. weights but no longer skips lm_head. when tie_word_embeddings is set. This class replaces the parent loader entirely, so tied Qwen3 checkpoints can still present lm_head tensors that AutoWeightsLoader will try to apply.
Reviewed by Cursor Bugbot for commit 1757167. Configure here.
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
There are 3 total unresolved issues (including 2 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 482632e. Configure here.
Signed-off-by: Jeffrey Wang <jeffreywang@anyscale.com>


Description
<5.17because vLLM 0.29 imports a Pixtral API removed in 5.17. fix: Pixtral compat with transformers 5.17 vllm-project/vllm#564840.5FPS in Ray’s prepare stage and vLLM to bound multimodal encoder tokens.AutoWeightsLoaderAPI.Related issues
Additional information