[release-2.57.0][release] Fix huggingface_accelerate release test: floor peft>=0.18 for transformers 5.x (#65062) - #65101
Merged
elliot-barn merged 1 commit intoJul 29, 2026
Conversation
…or transformers 5.x (#65062) ## Why are these changes needed? The `huggingface_accelerate` nightly release test fails at startup with: ``` ImportError: cannot import name 'HybridCache' from 'transformers' ``` Root cause: after the HuggingFace stack upgrade (#64054), the ray-ml base-extra-testdeps lock pairs `transformers==5.11.0` with `peft==0.17.1`. `peft` has no source pin — it is pulled in transitively by `lm_eval` — so uv left it at a stale resolution. peft 0.17.x imports `HybridCache` from transformers at module scope, but transformers 5.x removed that class, and transformers' `trainer_utils` imports peft whenever it is installed, so any `import transformers` on the image crashes. Fix: add a `peft>=0.18` floor (0.18 made the `HybridCache` import lazy and version-guarded; verified 0.19.1 only references it inside a deferred Gemma-specific code path) to the ml byod source requirements for both py3.10 and py3.13, and recompile the affected locks: - `python/deplocks/base_extra_testdeps/ray-ml-base_extra_testdeps_py3.10.lock`: peft 0.17.1 → 0.19.1 (no other resolution changes) - `release/ray_release/byod/ml_torchft_py3.13.lock`: already resolved peft 0.19.1; only picks up the new `via` annotation ## Related issue number N/A — nightly release-test failure (`huggingface_accelerate`, Train tests group). ## Checks - [x] I've signed off every commit(by using the -s flag, i.e., `git commit -s`) in this PR. - [x] I've run `scripts/format.sh` to lint the changes in this PR. (pre-commit hooks ran at commit time) - [ ] I've included any doc changes needed for https://docs.ray.io/en/master/. - [ ] I've added any new APIs to the API Reference. - [x] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/ Testing: - Locks regenerated with `bazel run //ci/raydepsets:raydepsets -- build ci/raydepsets/configs/rayimg.depsets.yaml --name ray_ml_base_extra_testdeps_cuda_310` and `... build ci/raydepsets/configs/release_ml_torchft_tests.depsets.yaml` (both compiled successfully; diffs are minimal as described above). - Verified against the peft 0.19.1 wheel that `peft/peft_model.py` no longer imports `HybridCache` at module scope. - End-to-end verification requires a nightly image rebuild + release-test run of `huggingface_accelerate`. AI assistance: this PR was prepared with AI assistance (Claude Code); I reviewed every changed line. Not a duplicate: searched open PRs for `peft` and `huggingface_accelerate` — no existing PR addresses this failure. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Successful release test run: https://buildkite.com/ray-project/release/builds/102272/canvas --------- Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit 6e160e6) Signed-off-by: elliot-barn <elliot.barnwell@anyscale.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the peft dependency to version 0.19.1 (with a constraint of >=0.18) to prevent runtime import issues with newer versions of transformers. It also removes the obsolete byod_huggingface_transformers_test.sh post-build script, updates the Hugging Face test datasets to use the correct path (Yelp/yelp_review_full), imports AdamW from torch.optim instead of transformers, and updates evaluation_strategy to eval_strategy in TrainingArguments. There are no review comments, so I have no feedback to provide.
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.
Cherry-pick of #65062 onto
releases/2.57.0.Why are these changes needed?
The
huggingface_acceleratenightly release test fails at startup with:Root cause: after the HuggingFace stack upgrade (#64054), the ray-ml base-extra-testdeps lock pairs
transformers==5.11.0withpeft==0.17.1.pefthas no source pin — it is pulled in transitively bylm_eval— so uv left it at a stale resolution. peft 0.17.x importsHybridCachefrom transformers at module scope, but transformers 5.x removed that class, and transformers'trainer_utilsimports peft whenever it is installed, so anyimport transformerson the image crashes.Fix: add a
peft>=0.18floor (0.18 made theHybridCacheimport lazy and version-guarded) to the ml byod source requirements for both py3.10 and py3.13, and recompile the affected locks.Clean cherry-pick of merge commit 6e160e6 — no conflicts, diff identical to master.
Successful release test run on master: https://buildkite.com/ray-project/release/builds/102272/canvas
🤖 Generated with Claude Code