Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Axolotl ai cloud Axolotl Validate Config

From Leeroopedia


Knowledge Sources
Domains Configuration, Validation
Last Updated 2026-02-06 23:00 GMT

Overview

Concrete tool for validating and normalizing Axolotl training configurations using Pydantic schemas.

Description

The validate_config function validates a raw configuration dictionary against the AxolotlInputConfig Pydantic schema. It performs type coercion, applies defaults, validates cross-field constraints, and incorporates hardware capability information. Dataset entries are typed into SFTDataset, DPODataset, or KTODataset based on the training type. The function also runs through AxolotlConfigWCapabilities which merges hardware-aware defaults.

Usage

Import this function after loading a raw config via load_cfg and before model/data loading. It is automatically called within the training pipeline but can also be invoked directly for config validation tooling.

Code Reference

Source Location

  • Repository: axolotl
  • File: src/axolotl/utils/config/__init__.py
  • Lines: L264-310

Signature

def validate_config(
    cfg: DictDefault,
    capabilities: Optional[dict] = None,
    env_capabilities: Optional[dict] = None,
) -> DictDefault:
    """Validate and normalize an Axolotl configuration.

    Args:
        cfg: Raw configuration dictionary from load_cfg.
        capabilities: Hardware capabilities dict (GPU type, VRAM, etc.).
        env_capabilities: Environment capabilities dict (distributed setup info).

    Returns:
        DictDefault: Pydantic-validated config with defaults applied and
        dataset entries typed as SFTDataset/DPODataset/KTODataset.
    """

Import

from axolotl.utils.config import validate_config

I/O Contract

Inputs

Name Type Required Description
cfg DictDefault Yes Raw configuration dictionary from load_cfg
capabilities Optional[dict] No Hardware capabilities (GPU type, VRAM, compute capability)
env_capabilities Optional[dict] No Environment capabilities (distributed setup, number of GPUs)

Outputs

Name Type Description
return DictDefault Validated config with Pydantic defaults applied, dataset entries typed, and cross-field constraints enforced

Usage Examples

Basic Validation

from axolotl.cli.config import load_cfg
from axolotl.utils.config import validate_config

# Load raw config
cfg = load_cfg("examples/llama-3/qlora-1b.yml")

# Validate with auto-detected capabilities
validated_cfg = validate_config(cfg)

# Config now has defaults applied and datasets typed
print(type(validated_cfg.datasets[0]))  # SFTDataset

Validation with Explicit Capabilities

from axolotl.cli.config import load_cfg
from axolotl.utils.config import validate_config

cfg = load_cfg("examples/llama-3/qlora-1b.yml")

capabilities = {
    "gpu": "NVIDIA A100",
    "vram": 80,
    "compute_capability": (8, 0),
}
env_capabilities = {
    "num_gpus": 4,
    "distributed": True,
}

validated_cfg = validate_config(cfg, capabilities, env_capabilities)

Related Pages

Implements Principle

Requires Environment

Uses Heuristic

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment