Skip to content

release v0.11.0#2875

Merged
winglian merged 5 commits into
mainfrom
release-v0.11.0
Jul 9, 2025
Merged

release v0.11.0#2875
winglian merged 5 commits into
mainfrom
release-v0.11.0

Conversation

@winglian

@winglian winglian commented Jul 7, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Documentation

    • Updated minimum required PyTorch version to 2.6.0 in all documentation and installation instructions.
    • Revised example Docker image tags to reflect updated CUDA and PyTorch versions.
  • Chores

    • Removed support for PyTorch 2.5.1 and CUDA 12.4.1 from all CI/CD workflows and test matrices.
    • Updated default environment variables and Docker image tags to use PyTorch 2.6.0 and CUDA 12.6.3.
  • Tests

    • Adjusted test cases to use PyTorch 2.6.0 instead of 2.5.1.
  • Refactor

    • Updated configuration warnings and descriptions to require PyTorch 2.6.0 for certain features.
  • Style

    • Bumped version to 0.11.0.
  • New Features

    • Added support for the "smollm3" model type in multipack integration.

@coderabbitai

coderabbitai Bot commented Jul 7, 2025

Copy link
Copy Markdown
Contributor
## Walkthrough

This update removes support for PyTorch 2.5.1 and CUDA 12.4.1 across GitHub Actions workflow matrices, documentation, and default environment variables. The minimum supported PyTorch version is now 2.6.0. Related documentation, tests, and version strings are updated to reflect these changes, with no alterations to core logic or exported entities.

## Changes

| Files/Paths                                                                 | Change Summary                                                                                                    |
|-----------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| .github/workflows/base.yml, main.yml, multi-gpu-e2e.yml, nightlies.yml,     | Removed CUDA 12.4.1 + PyTorch 2.5.1 matrix entries; updated matrices to use newer CUDA/PyTorch versions.         |
| tests-nightly.yml, tests.yml                                                |                                                                                                                  |
| README.md, docs/installation.qmd, src/axolotl/integrations/kd/README.md     | Updated minimum PyTorch version requirement from 2.5.1 to 2.6.0.                                                 |
| docs/docker.qmd                                                             | Removed Docker image tags for CUDA 12.4.1 + PyTorch 2.5.1; added/updated tags for CUDA 12.6.3 + PyTorch 2.6.0.   |
| cicd/multigpu.py, cicd/single_gpu.py                                        | Changed default PyTorch version to 2.6.0 and CUDA version to 126 in Dockerfile rendering arguments.               |
| src/axolotl/__init__.py                                                     | Updated version string from "0.11.0.dev" to "0.11.0".                                                            |
| src/axolotl/utils/schemas/config.py                                         | Updated torch.compile enablement and warnings to require PyTorch >= 2.6.0.                                        |
| tests/patched/test_validation.py, tests/test_validation_dataset.py           | Updated hardcoded torch version in test cases from 2.5.1 to 2.6.0.                                                |
| src/axolotl/monkeypatch/multipack.py                                        | Added "smollm3" to supported multipack model types list.                                                          |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant User
    participant CI Workflow
    participant Docker Builder
    participant Test Runner

    User->>CI Workflow: Pushes code / PR
    CI Workflow->>Docker Builder: Build with CUDA 12.6.3/12.8.1, PyTorch 2.6.0/2.7.1
    Docker Builder-->>CI Workflow: Returns built images
    CI Workflow->>Test Runner: Run tests with PyTorch >=2.6.0
    Test Runner-->>CI Workflow: Test results
    CI Workflow-->>User: Status (pass/fail)

Possibly related PRs

  • axolotl-ai-cloud/axolotl#2851: Updates Docker image tag examples in documentation, overlapping with changes to docs/docker.qmd.
  • axolotl-ai-cloud/axolotl#2750: Adds new Dockerfile template and updates GPU test workflows for CUDA 12.6.3 and PyTorch 2.6.0, related to CI/CD matrix and environment variable changes.

Suggested labels

ready to merge, scheduled_release

Suggested reviewers

  • NanoCode012
  • djsaunde

Poem

A hop, a skip, a version leap,
Old PyTorch put out to sleep.
CUDA’s numbers climb anew,
Workflows, docs, and tests in queue.
Axolotls cheer, “No bugs to fix!”
With 2.6.0, we’re in the mix!
🐇✨


<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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= -->

<!-- internal state end -->
<!-- finishing_touch_checkbox_start -->

<details open="true">
<summary>✨ Finishing Touches</summary>

- [ ] <!-- {"checkboxId": "7962f53c-55bc-4827-bfbf-6a18da830691"} --> 📝 Generate Docstrings

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=axolotl-ai-cloud/axolotl&utm_content=2875):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

@github-actions

github-actions Bot commented Jul 7, 2025

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot temporarily deployed to preview July 7, 2025 14:18 Inactive
@github-actions github-actions Bot temporarily deployed to preview July 7, 2025 14:23 Inactive
@codecov

codecov Bot commented Jul 7, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot temporarily deployed to preview July 7, 2025 15:10 Inactive
@github-actions github-actions Bot temporarily deployed to preview July 7, 2025 21:11 Inactive
@winglian winglian marked this pull request as ready for review July 8, 2025 00:12

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🔭 Outside diff range comments (1)
src/axolotl/utils/schemas/config.py (1)

1058-1066: Fix mismatched version check in check_torch_compile_auto

Same inconsistency – update both occurrences and tighten the warning message:

-                ) >= version.parse("2.5.1"):
+                ) >= version.parse("2.6.0"):

Optionally rephrase the log line to “torch.compile is available with torch>=2.6.0”.

♻️ Duplicate comments (5)
tests/test_validation_dataset.py (2)

129-133: Same duplication applies here (and below). A single constant would keep the suite DRY.


185-189: See earlier remark about centralising the literal.

tests/patched/test_validation.py (2)

1203-1207: Same comment as above – consider using a shared constant.


1245-1249: Same comment as above – consider using a shared constant.

.github/workflows/tests.yml (1)

128-129: Same availability concern for the sdist job

The sdist matrix mirrors the wheel install above – it will hit the same failure mode if 2.7.1 isn’t on PyPI. Ensure both matrices stay in sync once availability is confirmed.

🧹 Nitpick comments (6)
.github/workflows/tests-nightly.yml (1)

29-29: CI matrix cleansed – consider future-proofing.

Switching to 2 · 6 · 0 / 2 · 7 · 0 matches the supported range.
Optional: expose the PyTorch list via a reusable YAML anchor/variable so every workflow stays in lock-step when versions change again.

tests/test_validation_dataset.py (1)

74-77: Hard-coded torch version duplicated

The new "torch_version": "2.6.0" literal is copy-pasted in multiple tests. Consider centralising the minimum-supported version in a helper/fixture to avoid mass edits on the next bump.

-            env_capabilities={
-                "torch_version": "2.6.0",
-            },
+            env_capabilities=MIN_TORCH_ENV_CAPS,
tests/patched/test_validation.py (1)

693-697: Prefer constant for torch version

Repeating "2.6.0" here and in other tests increases drift risk. Export a constant from tests.conftest or read axolotl.utils.schemas.config.MIN_TORCH_VERSION to keep tests aligned with runtime checks.

cicd/multigpu.py (1)

27-30: Keep version constants in one place

single_gpu.py and multigpu.py now duplicate "2.6.0", "main-base-py3.11-cu126-2.6.0", and "126".
Extract them to a shared module (e.g. cicd/constants.py) to avoid future divergence.

.github/workflows/main.yml (1)

22-23: Matrix entry now sets axolotl_extras: to an empty string – consider omitting the key

Because the subsequent build args/tag logic already no-ops on an empty value, you can delete the field altogether to reduce YAML noise:

-            pytorch: 2.6.0
-            axolotl_extras:
+            pytorch: 2.6.0
src/axolotl/utils/schemas/config.py (1)

1086-1089: Grammar nit – missing verb in warning

"torch=={torch_version} not be supported""torch=={torch_version} is not supported".

-                    f"torch=={torch_version} not be supported. Please upgrade to torch>=2.6.0."
+                    f"torch=={torch_version} is not supported. Please upgrade to torch>=2.6.0."
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d68cc1e and 972c8f4.

📒 Files selected for processing (16)
  • .github/workflows/base.yml (0 hunks)
  • .github/workflows/main.yml (1 hunks)
  • .github/workflows/multi-gpu-e2e.yml (0 hunks)
  • .github/workflows/nightlies.yml (1 hunks)
  • .github/workflows/tests-nightly.yml (1 hunks)
  • .github/workflows/tests.yml (2 hunks)
  • README.md (1 hunks)
  • cicd/multigpu.py (1 hunks)
  • cicd/single_gpu.py (1 hunks)
  • docs/docker.qmd (1 hunks)
  • docs/installation.qmd (1 hunks)
  • src/axolotl/__init__.py (1 hunks)
  • src/axolotl/integrations/kd/README.md (1 hunks)
  • src/axolotl/utils/schemas/config.py (2 hunks)
  • tests/patched/test_validation.py (3 hunks)
  • tests/test_validation_dataset.py (4 hunks)
💤 Files with no reviewable changes (2)
  • .github/workflows/multi-gpu-e2e.yml
  • .github/workflows/base.yml
🧰 Additional context used
🧠 Learnings (2)
.github/workflows/tests.yml (1)
Learnt from: NanoCode012
PR: axolotl-ai-cloud/axolotl#2854
File: README.md:73-77
Timestamp: 2025-07-02T02:56:20.788Z
Learning: For Axolotl Docker commands, the `--ipc=host` flag should be included by default to prevent shared memory failures that commonly occur with PyTorch DataLoaders and multiprocessing during machine learning training workflows.
.github/workflows/nightlies.yml (1)
Learnt from: NanoCode012
PR: axolotl-ai-cloud/axolotl#2854
File: README.md:73-77
Timestamp: 2025-07-02T02:56:20.788Z
Learning: For Axolotl Docker commands, the `--ipc=host` flag should be included by default to prevent shared memory failures that commonly occur with PyTorch DataLoaders and multiprocessing during machine learning training workflows.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: docker-e2e-tests (126, 12.6.3, 3.11, 2.7.1, 1)
  • GitHub Check: docker-e2e-tests (128, 12.8.1, 3.11, 2.7.1, 1)
  • GitHub Check: docker-e2e-tests (126, 12.6.3, 3.11, 2.6.0, 1, llmcompressor)
  • GitHub Check: build-base (124, 12.4.1, 3.11, 2.6.0, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
🔇 Additional comments (9)
README.md (1)

58-58: Update remaining PyTorch 2.5.1 references to 2.6.0

We’ve detected stale 2.5.1 constraints that need bumping to 2.6.0 (and >=2.6 where appropriate):

• src/setuptools_axolotl_dynamic_dependencies.py:48

- torch_version = "2.5.1"
+ torch_version = "2.6.0"

• tests/e2e/utils.py:46, 58, 63, 65

- Decorator marking a test that requires torch >= 2.5.1
+ Decorator marking a test that requires torch >= 2.6.0

- return torch_version >= version.parse("2.5.1")
+ return torch_version >= version.parse("2.6.0")

- unittest.skipUnless(is_min_2_5_1(), "test requires torch>=2.5.1")
+ unittest.skipUnless(is_min_2_6_0(), "test requires torch>=2.6.0")

• src/axolotl/utils/schemas/config.py:1031, 1033, 1063

- if version.parse(torch_version) < version.parse("2.5.1"):
+ if version.parse(torch_version) < version.parse("2.6.0"):

- "incompatible with torch version < 2.5.1"
+ "incompatible with torch version < 2.6.0"

- ) >= version.parse("2.5.1"):
+ ) >= version.parse("2.6.0"):

Please update these locations (and any helper function names like is_min_2_5_1()), and rerun the grep to ensure no old-version strings remain.

Likely an incorrect or invalid review comment.

docs/installation.qmd (1)

18-18: Docs updated to ≥2.6.0 – LGTM.

The requirement line now aligns with the new baseline.
No further issues spotted in this segment.

src/axolotl/integrations/kd/README.md (1)

14-14: Consistent version note – looks good.

The comment correctly reflects the new minimum (torch ≥ 2.6.0).

src/axolotl/__init__.py (1)

7-7: Version bump acknowledged – verify packaging metadata is in sync.

__version__ is now 0.11.0. Make sure the same number appears in pyproject.toml / setup.cfg to avoid mismatched wheels.

docs/docker.qmd (1)

80-83: Docs: new tag looks good, but double-check overall version narrative

main-20250303-py3.11-cu126-2.6.0 correctly reflects the 12.6 / 2.6.0 baseline, but earlier in the same section line 58 still says “cuda 12.4”.
Make sure the narrative and all tag examples consistently advertise 12.6 as the new default to avoid user confusion.

cicd/single_gpu.py (1)

27-30: Environment defaults updated – ensure Dockerfile template matches

The hard-coded defaults (PYTORCH_VERSION, BASE_TAG, CUDA) were bumped.
Double-check that Dockerfile.jinja picks these vars up (especially the CUDA minor version) and that any CI matrix values are in sync; otherwise local overrides may mask mismatches at build time.

.github/workflows/tests.yml (2)

55-56: Risk of build failures if torch 2.7.1 is not yet published

pip install torch==${{ matrix.pytorch_version }} will fail outright if 2.7.1 has not landed on PyPI at the time the workflow runs.
Double-check that 2.7.1 is actually available; otherwise pin to the latest released 2.7.x nightly URL or stick with 2.6.0 for now.


299-307: Left-over CUDA 12.4.1 cleanup image contradicts the “drop 12.4.1” objective

docker-e2e-cleanup still builds a 12.4.1 image (now with torch 2.6.0). If the goal is to eliminate 12.4.1 entirely, this entry should be removed; if it’s intentional (cleaning up legacy artefacts) please add a comment explaining its retention.

.github/workflows/nightlies.yml (1)

66-72: 👍 Nightly matrix bumped to torch 2.6.0

Switching the 12.4.1 entry to torch 2.6.0 aligns with the new minimum version and should keep nightly builds green. No further issues spotted here.

Comment on lines +630 to 631
"description": "Whether to use torch.compile and which backend to use. setting to `auto` will enable torch compile when torch>=2.6.0"
},

@coderabbitai coderabbitai Bot Jul 8, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Docstring updated but validation logic still checks for ≥ 2.5.1

The check_torch_compile_auto validator below still enables torch_compile when torch ≥ 2.5.1, contradicting the new requirement (≥ 2.6.0) stated here. Align the threshold:

-                ) >= version.parse("2.5.1"):
+                ) >= version.parse("2.6.0"):
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"description": "Whether to use torch.compile and which backend to use. setting to `auto` will enable torch compile when torch>=2.6.0"
},
@validator('torch_compile', pre=True)
def check_torch_compile_auto(cls, v):
if v == 'auto':
- if (
- version.parse(torch.__version__)
- ) >= version.parse("2.5.1"):
+ if (
+ version.parse(torch.__version__)
+ ) >= version.parse("2.6.0"):
return True
return False
return v
🤖 Prompt for AI Agents
In src/axolotl/utils/schemas/config.py around lines 630 to 631, the docstring
states that torch.compile should be enabled for torch versions ≥ 2.6.0, but the
validator check_torch_compile_auto still uses ≥ 2.5.1 as the threshold. Update
the validation logic in check_torch_compile_auto to use torch version 2.6.0 as
the minimum required version to enable torch_compile, ensuring consistency with
the docstring.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need the version check anymore?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 Analysis chain

Let me investigate the codebase to better understand the usage patterns and determine if the version check is still necessary.


🏁 Script executed:

#!/bin/bash
# Search for torch_compile usage patterns in the codebase
echo "=== Searching for torch_compile usage patterns ==="
rg "torch_compile" -A 3 -B 3

echo -e "\n=== Checking for other torch version checks ==="
rg "version\.parse.*torch" -A 2 -B 2

echo -e "\n=== Looking for torch.compile actual usage ==="
rg "torch\.compile" -A 2 -B 2

Length of output: 24617


@salmanmohammadi Based on the codebase analysis, you raise a valid question. Let me examine the current situation:

Current state:

  • Minimum PyTorch version is now 2.6.0 (as updated in this PR)
  • torch.compile is available in PyTorch 2.6.0
  • There's already a general minimum version check (check_min_torch_version) that warns users about torch < 2.6.0

The version check in check_torch_compile_auto could be:

  1. Simplified - Since the minimum version is 2.6.0, we could simplify the logic:
@model_validator(mode="before")
@classmethod
def check_torch_compile_auto(cls, data):
    if data.get("torch_compile") == "auto":
        LOG.info("torch.compile is available, setting torch_compile to True")
        data["torch_compile"] = True
    return data
  1. Removed entirely - Since torch.compile should always be available in supported versions, torch_compile: "auto" could just be treated as torch_compile: True without any conditional logic.

However, there are reasons to keep it:

  • Safety net: Protects against edge cases where someone might run with an unsupported version
  • Explicit feedback: Provides clear logging about why torch.compile is/isn't enabled
  • Consistency: Other features like check_flex_torch_version and check_qat_config still have version checks even at the minimum version threshold

My recommendation: Update the version check to use 2.6.0 (matching the minimum requirement) rather than removing it entirely. This maintains the safety net while being consistent with the new minimum version:

) >= version.parse("2.6.0"):

What's your preference? Would you like to simplify/remove the check entirely, or just update it to 2.6.0?


🧬 Code Graph Analysis Results

Relevant snippets from src/axolotl/utils/schemas/config.py (lines 300-420 approx)

    @model_validator(mode="before")
    @classmethod
    def check_adopt_torch_version(cls, data):
        if (data.get("optimizer") is not None) and ("adopt" in data.get("optimizer")):
            env_capabilities = data.get("env_capabilities", {})
            torch_version = env_capabilities.get("torch_version")

            if torch_version is None:
                import torch

                torch_version = str(torch.__version__).split("+", maxsplit=1)[0]

            if version.parse(torch_version) < version.parse("2.5.1"):
                raise ValueError(
                    "ADOPT optimizer is incompatible with torch version < 2.5.1"
                )
        return data

    @model_validator(mode="before")
    @classmethod
    def check_flex_torch_version(cls, data):
        if (data.get("flex_attention") is not None) and (data.get("flex_attention")):
            env_capabilities = data.get("env_capabilities", {})
            torch_version = env_capabilities.get("torch_version")

            if torch_version is None:
                import torch

                torch_version = str(torch.__version__).split("+", maxsplit=1)[0]

            if version.parse(torch_version) < version.parse("2.6.0"):
                raise ValueError(
                    "Flex attention is not supported on torch version < 2.6.0"
                )
        return data

    @model_validator(mode="before")
    @classmethod
    def check_torch_compile_auto(cls, data):
        if data.get("torch_compile") == "auto":
            env_capabilities = data.get("env_capabilities", {})
            if env_capabilities.get("torch_version"):
                if version.parse(
                    env_capabilities.get("torch_version")
                ) >= version.parse("2.5.1"):
                    LOG.info(
                        "torch.compile is available, setting torch_compile to True"
                    )
                    data["torch_compile"] = True
                else:
                    data["torch_compile"] = False
            else:
                data["torch_compile"] = False
        return data

    @model_validator(mode="after")
    def check_min_torch_version(self):
        if self.env_capabilities and self.env_capabilities.torch_version:
            torch_version = self.env_capabilities.torch_version
            if version.parse(torch_version) < version.parse("2.6.0"):
                LOG.warning(
                    f"torch=={torch_version} not be supported. Please upgrade to torch>=2.6.0."
                )

        return self

These validators perform version checks on the PyTorch version in the environment capabilities and raise errors or warnings if the version is incompatible with certain features or configurations (e.g., ADOPT optimizer requires torch >= 2.5.1, flex_attention requires torch >= 2.6.0, torch.compile auto-enables only if torch >= 2.5.1, and a warning is logged if torch version is below 2.6.0).


Relevant snippet from src/axolotl/utils/schemas/internal/__init__.py (lines 8-21)

class GPUCapabilities(BaseModel):
    """model to manage the gpu capabilities statically"""

    bf16: bool = Field(default=False)
    fp8: bool = Field(default=False)
    n_gpu: int = Field(default=1)
    n_node: int = Field(default=1)
    compute_capability: Optional[str] = Field(default=None)


class EnvCapabilities(BaseModel):
    """model to manage the environment capabilities statically"""

    torch_version: Optional[str] = Field(default=None)

These classes define the environment and GPU capabilities models that are used in the version checks in the config validators.


Relevant snippet from src/axolotl/utils/schemas/deprecated.py (lines 12-56)

class DeprecatedParameters(BaseModel):
    """configurations that are deprecated"""

    max_packed_sequence_len: int | None = None
    rope_scaling: Any | None = None
    noisy_embedding_alpha: float | None = None
    dpo_beta: float | None = None
    evaluation_strategy: str | None = None

    @field_validator("max_packed_sequence_len")
    @classmethod
    def validate_max_packed_sequence_len(cls, max_packed_sequence_len):
        if max_packed_sequence_len:
            raise DeprecationWarning("`max_packed_sequence_len` is no longer supported")
        return max_packed_sequence_len

    @field_validator("rope_scaling")
    @classmethod
    def validate_rope_scaling(cls, rope_scaling):
        if rope_scaling:
            raise DeprecationWarning(
                "`rope_scaling` is no longer supported, it should now be be a key under `model_config`"
            )
        return rope_scaling

    @field_validator("noisy_embedding_alpha")
    @classmethod
    def validate_noisy_embedding_alpha(cls, noisy_embedding_alpha):
        if noisy_embedding_alpha:
            LOG.warning("noisy_embedding_alpha is deprecated, use neftune_noise_alpha")
        return noisy_embedding_alpha

    @field_validator("dpo_beta")
    @classmethod
    def validate_dpo_beta(cls, dpo_beta):
        if dpo_beta is not None:
            LOG.warning("dpo_beta is deprecated, use rl_beta instead")
        return dpo_beta

    @field_validator("evaluation_strategy")
    @classmethod
    def validate_evaluation_strategy(cls, evaluation_strategy):
        if evaluation_strategy is not None:
            LOG.warning("evaluation_strategy is deprecated, use eval_strategy instead")
        return evaluation_strategy

This snippet shows deprecated parameters and their validators that raise warnings or errors if used. This is related to versioning and backward compatibility.


Summary of relevance:

  • The version checks in AxolotlConfigWCapabilities class validators (especially check_adopt_torch_version, check_flex_torch_version, check_torch_compile_auto, and check_min_torch_version) are the main places where version checking logic is implemented.
  • The environment capabilities model (EnvCapabilities) provides the torch version info used in these checks.
  • Deprecated parameters and their validators in DeprecatedParameters class also relate to versioning and backward compatibility.
  • No other snippets explicitly show version checks or related logic.

These snippets provide the context needed to evaluate whether the version check is still necessary or can be removed.

@github-actions github-actions Bot temporarily deployed to preview July 8, 2025 15:08 Inactive
Comment thread README.md
- NVIDIA GPU (Ampere or newer for `bf16` and Flash Attention) or AMD GPU
- Python 3.11
- PyTorch ≥2.5.1
- PyTorch ≥2.6.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳

@github-actions github-actions Bot temporarily deployed to preview July 8, 2025 18:39 Inactive

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b383533 and 55ea4e1.

📒 Files selected for processing (17)
  • .github/workflows/base.yml (0 hunks)
  • .github/workflows/main.yml (1 hunks)
  • .github/workflows/multi-gpu-e2e.yml (0 hunks)
  • .github/workflows/nightlies.yml (1 hunks)
  • .github/workflows/tests-nightly.yml (1 hunks)
  • .github/workflows/tests.yml (3 hunks)
  • README.md (1 hunks)
  • cicd/multigpu.py (1 hunks)
  • cicd/single_gpu.py (1 hunks)
  • docs/docker.qmd (1 hunks)
  • docs/installation.qmd (1 hunks)
  • src/axolotl/__init__.py (1 hunks)
  • src/axolotl/integrations/kd/README.md (1 hunks)
  • src/axolotl/monkeypatch/multipack.py (1 hunks)
  • src/axolotl/utils/schemas/config.py (2 hunks)
  • tests/patched/test_validation.py (3 hunks)
  • tests/test_validation_dataset.py (4 hunks)
💤 Files with no reviewable changes (2)
  • .github/workflows/multi-gpu-e2e.yml
  • .github/workflows/base.yml
✅ Files skipped from review due to trivial changes (1)
  • docs/docker.qmd
🚧 Files skipped from review as they are similar to previous changes (13)
  • docs/installation.qmd
  • src/axolotl/integrations/kd/README.md
  • src/axolotl/monkeypatch/multipack.py
  • cicd/multigpu.py
  • src/axolotl/init.py
  • cicd/single_gpu.py
  • tests/test_validation_dataset.py
  • .github/workflows/main.yml
  • .github/workflows/tests-nightly.yml
  • src/axolotl/utils/schemas/config.py
  • .github/workflows/nightlies.yml
  • tests/patched/test_validation.py
  • .github/workflows/tests.yml
🧰 Additional context used
🪛 LanguageTool
README.md

[grammar] ~58-~58: There might be a problem here.
Context: ...ion) or AMD GPU - Python 3.11 - PyTorch ≥2.6.0 ### Installation #### Using pip ```bash pip3 install -U pack...

(QB_NEW_EN_MERGED_MATCH)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
  • GitHub Check: PyTest from Source Dist (3.11, 2.7.1)
  • GitHub Check: PyTest (3.11, 2.7.0)
  • GitHub Check: PyTest from Source Dist (3.11, 2.6.0)
  • GitHub Check: PyTest (3.11, 2.7.1)
  • GitHub Check: PyTest from Source Dist (3.11, 2.7.0)
  • GitHub Check: PyTest (3.11, 2.6.0)
  • GitHub Check: build-base (128, 12.8.1, 3.11, nightly, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base-nightly)
  • GitHub Check: pre-commit
  • GitHub Check: pre-commit
  • GitHub Check: build-base (126, 12.6.3, 3.11, 2.7.1, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
  • GitHub Check: build-base (126, 12.6.3, 3.11, 2.6.0, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
  • GitHub Check: build-base (126, 12.6.3, 3.11, 2.7.0, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
  • GitHub Check: build-base (128, 12.6.3, 3.11, 2.7.1, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
  • GitHub Check: build-base (124, 12.4.1, 3.11, 2.6.0, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-base)
  • GitHub Check: build-base-uv (128, 12.8.1, 3.11, 2.7.1, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-uv-base)
  • GitHub Check: preview
  • GitHub Check: build-base-uv (126, 12.6.3, 3.11, 2.6.0, 7.0 7.5 8.0 8.6 8.7 8.9 9.0+PTX, Dockerfile-uv-base)

Comment thread README.md
Comment on lines 56 to +58
- NVIDIA GPU (Ampere or newer for `bf16` and Flash Attention) or AMD GPU
- Python 3.11
- PyTorch ≥2.5.1
- PyTorch ≥2.6.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Ensure all residual references to PyTorch 2.5.1 are removed across the repo

The bump to “PyTorch ≥ 2.6.0” looks correct here, but stray mentions of 2.5.1 in docs, scripts, or CI can confuse users.

Run the following to confirm there are no leftover references:


🏁 Script executed:

#!/bin/bash
# Search the entire repository for any remaining 2.5.1 mentions
rg -n "2\.5\.1"

Length of output: 773


Update all residual PyTorch 2.5.1 references to ≥ 2.6.0

The bump in README.md is correct, but we still have a few stray “2.5.1” mentions that need updating:

  • src/setuptools_axolotl_dynamic_dependencies.py (line 48)
    – Change
    torch_version = "2.5.1"
    to
    torch_version = "2.6.0"
  • tests/e2e/utils.py
    – Doc comments on lines 46 & 58 referencing “torch ≥ 2.5.1”
    – Version check on line 63:
    return torch_version >= version.parse("2.5.1")
    – Skip message on line 65:
    unittest.skipUnless(is_min_2_5_1(), "test requires torch>=2.5.1")
    Update all to use “2.6.0” (or bump threshold to 2.6.0).
  • src/axolotl/utils/schemas/config.py (lines 1031, 1033, 1063)
    – Comparisons and error text using version.parse("2.5.1")version.parse("2.6.0")

After making these changes, please rerun

rg -n "2\.5\.1"

to ensure no leftovers.

🧰 Tools
🪛 LanguageTool

[grammar] ~58-~58: There might be a problem here.
Context: ...ion) or AMD GPU - Python 3.11 - PyTorch ≥2.6.0 ### Installation #### Using pip ```bash pip3 install -U pack...

(QB_NEW_EN_MERGED_MATCH)

🤖 Prompt for AI Agents
In README.md lines 56 to 58 and additionally in
src/setuptools_axolotl_dynamic_dependencies.py line 48, tests/e2e/utils.py lines
46, 58, 63, and 65, and src/axolotl/utils/schemas/config.py lines 1031, 1033,
and 1063, update all references of PyTorch version "2.5.1" to "2.6.0". This
includes string assignments, version comparisons, doc comments, and skip
messages. After these changes, run a search for "2.5.1" to confirm no references
remain.

@github-actions github-actions Bot temporarily deployed to preview July 9, 2025 12:53 Inactive
@winglian winglian merged commit c6d69d5 into main Jul 9, 2025
12 of 24 checks passed
@winglian winglian deleted the release-v0.11.0 branch July 9, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants