Repository navigation
fix(15): current torch/peft, and pin the fine-tune GPU jobs (#31, step 5) - #44
Merged
Merged
Conversation
The finetune group's floors (torch>=2.0.0, peft>=0.10.0) already allow the current releases; only the lock held them back. `uv lock --upgrade-package torch --upgrade-package peft` moves torch 2.12.0 -> 2.14.1 (with triton 3.8.0 and its CUDA 13 wheels) and peft 0.19.1 -> 0.21.2. transformers stays at 4.53.3 for Phi-4-mini's remote code. 15-01 passes against Azure on the new torch, and 15-04 loads a LoRA adapter trained with peft 0.21.2 and classifies a report on CPU. Refs #31.
The ACA fine-tune and evaluation jobs ran on
acpt-pytorch-2.2-cuda12.1:latest and pip-installed accelerate, datasets,
peft and olive-ai unpinned, so every run got whatever was newest.
Microsoft rebuilt that image on 2026-09-29: despite the repository name
it now ships torch 2.13.0, CUDA 12.6 and Python 3.10, and pip can no
longer replace its packages. The fine-tune job failed in pip install
("Permission denied: 'InputStream.py'" while removing
antlr4-python3-runtime 4.9.3 for azure-cli) before training started.
- Pin the image to tag 58 instead of :latest.
- Pin accelerate 1.15.0, datasets 5.0.1 and peft 0.21.2 to the lock and
olive-ai[auto-opt] to 0.13.0, so 15-04 loads the adapter with the
versions that trained it.
- Install them into a venv created with --system-site-packages. It sees
the image's torch but never needs to remove the image's own packages.
Verified on the A100 serverless GPU (in italynorth; swedencentral had no
capacity): the fine-tune job installs, trains 300 steps and uploads the
adapter (18 min), and the evaluation job scores 65.7% (23/35) with a
SEVERITY line in every response. Refs #31.
15-02 printed "Training failed" and 15-03 fell back to 0% accuracy when the ACA job failed, so both notebooks passed. A headless run of 15-02 reported PASS while the fine-tune job had failed in pip install. Both now raise instead. Refs #31.
8 of 12 tasks
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.
Summary
Step 5 of #31: the fine-tune lab (15) on current torch and peft, with the GPU jobs pinned so they stop changing under the lab.
uv.lockmoves torch 2.12.0 → 2.14.1 and peft 0.19.1 → 0.21.2. transformers stays at 4.53.3 because Phi-4-mini's remote code needs a release below 5.acpt-pytorch-2.2-cuda12.1:latestand installed accelerate, datasets, peft and olive-ai with no versions.pip installbefore training started:Permission denied: 'InputStream.py'while removingantlr4-python3-runtime4.9.3 to make way for azure-cli.58instead of:latest.--system-site-packages, so they use the image's torch without pip having to remove anything from the image.Type of change
Checklist
main)uv syncsucceeds with no new heavyweight deps without justification.env.examplewith placeholders (none)README.md(no change).env, keys, connection strings)docs/screenshots/(none)Verification
gpu-cuda, and the adapter (369 MB) is uploadedSEVERITY:line in every responseManagedEnvironmentCapacityHeavyUsageError), so 15-02 and 15-03 ran against an A100 environment in italynorth. I used throwaway copies that changed onlyLOCATIONand the environment name. The lab's code still targets swedencentral.olive finetuneoption the job passes exists in olive 0.13.0.check_imports.pypasses.The 15-02 comment "ACA GPU NC24-A100 only available in Sweden Central" is out of date. A100 serverless GPU is now also in westus3, westus, eastus, canadacentral, italynorth, uksouth and australiaeast. I left it for a separate change.
Related issues
Refs #31