目录
  1. 1. 目录
  2. 2. 项目速览
  3. 3. 功能概述
    1. 3.1. 训练方法全景
    2. 3.2. 模型覆盖
    3. 3.3. 性能优化矩阵
    4. 3.4. 云原生与 CI/CD
  4. 4. 适用场景
  5. 5. 快速上手
    1. 5.1. 安装
    2. 5.2. YAML 配置详解
    3. 5.3. 执行训练
  6. 6. 源码架构
  7. 7. 实操 Demo
    1. 7.1. 步骤 1:准备 GRPO 配置
    2. 7.2. 步骤 2:启动 GRPO 训练
    3. 7.3. 步骤 3:验证训练结果
    4. 7.4. 步骤 4:批量评估
  8. 8. 同类对比
  9. 9. 参考资源
Axolotl — YAML 驱动的全栈模型微调管线

GitHub: axolotl-ai-cloud/axolotl
Stars: 12,000+ | Language: Python (97.3%) | License: Apache-2.0
最新版本: v0.17.0(2026 年 6 月 3 日)| 31 个 Release

目录

  1. 项目速览
  2. 功能概述
  3. 适用场景
  4. 快速上手
  5. 源码架构
  6. 实操 Demo
  7. 同类对比
  8. 参考资源

项目速览

Axolotl 是一个 YAML 配置驱动的全栈大模型微调框架,由 axolotl-ai-cloud 团队维护,GitHub 12k Star。项目名称取自墨西哥蝾螈(一种具有强大再生能力的两栖动物),寓意”灵活再生各种模型能力”。

Axolotl 的核心理念是”一份配置走天下”:从数据加载、模型选择、训练方法、分布式策略到推理导出,全部通过一个 YAML 文件声明式配置。这种设计使得实验管理极其清晰——每个实验对应一个 YAML 文件,Git 版本控制友好,团队协作时可精确复现任何一次训练。

与其他框架相比,Axolotl 在强化学习多模态训练方面的投入尤为突出。它是少数同时支持 GRPO(Group Relative Policy Optimization)、GDPO、PRM(Process Reward Modelling)等前沿 RL 方法的框架,并且对视觉语言模型(VLM)和音频模型有完整的训练管线支持。2026 年 6 月发布的 v0.17.0 已支持 Gemma 4、Llama 4、Qwen3.6 等最新架构。

功能概述

训练方法全景

Axolotl 的训练方法栈覆盖从预训练到强化学习的全部阶段:

阶段 方法 说明
预训练 Full Pretraining 支持多节点 FSDP/DeepSpeed
监督微调 (SFT) Full-tuning, LoRA, QLoRA, GPTQ, QAT 量化感知训练支持 NVFP4
偏好对齐 DPO, IPO, KTO, ORPO, SimPO, GDPO 丰富的对齐算法选项
强化学习 GRPO, GDPO v0.16.0 正式引入 GRPO
奖励建模 RM, PRM 标准奖励模型 + 过程奖励模型
多模态 VLM SFT, Audio SFT LLaVA, Qwen2-VL, Pixtral, Voxtral
Text Diffusion 文本扩散训练 实验性功能

模型覆盖

Axolotl 支持 80+ 种模型架构,其适配策略是为每个模型家族编写专用的架构配置文件:

厂商 模型
Meta Llama 3-4, LLaMA-Vision
阿里 Qwen3, Qwen3-MoE, Qwen3.5, Qwen3 Next, Qwen2-VL, Qwen3-VL
谷歌 Gemma 3n, Gemma 4, Gemma 3n (VLM)
Mistral Mistral, Mixtral, Ministral3, Devstral, Magistral, Pixtral, Mistral Small 4, Mistral Medium 3.5
智谱 GLM-4.6V, GLM-4.7-Flash, GLM-4.5-Air
上海 AI Lab InternVL 3.5
微软 Phi-4
OpenAI GPT-OSS
其他 Kimi-Linear, Olmo3, Trinity, Granite 4, HunYuan, LFM2 (Liquid), Seed-OSS, SmolVLM2, Plano-Orchestrator

性能优化矩阵

Axolotl 在性能优化方面投入了大量工程精力:

# 注意力后端全家桶
- Flash Attention 2/3/4
- Xformers
- Flex Attention
- SageAttention

# 融合内核
- Liger Kernel(融合 Cross Entropy、RMS Norm 等)
- Cut Cross Entropy
- ScatterMoE(MoE 加速)
- SonicMoE fused LoRA

# 并行策略
- FSDP1 / FSDP2
- DeepSpeed ZeRO-1/2/3
- Sequence Parallelism (SP)
- ND Parallelism (CP + TP + FSDP)
- Multi-node: Torchrun / Ray

# 内存优化
- Multipacking(多样本打包)
- FP8 训练 / NVFP4 QAT

云原生与 CI/CD

# 拉取预置配置
axolotl fetch examples
axolotl fetch deepspeed_configs

# Docker 一键启动
docker run --gpus '"all"' --ipc=host --rm -it axolotlai/axolotl:main-latest

# AI 文档助手
axolotl agent-docs sft
axolotl agent-docs grpo
axolotl config-schema # 查看全部配置项 Schema
axolotl config-schema --field adapter # 查看特定字段

适用场景

  1. RLHF/GRPO 强化学习研究:Axolotl 是目前开源社区中 GRPO 和 PRM 支持最完善的框架,适合做 RL 对齐实验。
  2. 多模态模型全栈训练:同时需要训练 VLM(视觉)和 Audio(音频)模型的团队,使用同一框架统一管理管线。
  3. 云原生大规模训练:需要多节点(Torchrun/Ray)+ 混合并行(FSDP + Tensor Parallel + Sequence Parallel)的生产级训练任务。
  4. YAML 驱动的实验管理:对实验复现性要求极高的研究团队,每个实验一个 YAML 文件,Git 托管即可追溯全部历史。
  5. 偏好对齐算法对比:在同一框架中标准化对比 DPO、KTO、ORPO、SimPO、GDPO 等算法的效果。

快速上手

安装

# 使用 uv 安装(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh
export UV_TORCH_BACKEND=cu128
uv venv --python 3.12
source .venv/bin/activate
uv pip install torch==2.10.0 torchvision
uv pip install --no-build-isolation axolotl[deepspeed]

# 获取示例配置
axolotl fetch examples
axolotl fetch deepspeed_configs

YAML 配置详解

以 Llama-3.2-1B 的 LoRA 微调为例,配置文件 examples/llama-3/lora-1b.yml

# ---- 模型 ----
base_model: NousResearch/Llama-3.2-1B

# ---- 数据 ----
datasets:
- path: teknium/GPT4-LLM-Cleaned
type: alpaca
val_set_size: 0.1 # 10% 验证集

# ---- LoRA 适配器 ----
adapter: lora
lora_r: 16
lora_alpha: 32
lora_dropout: 0.05
lora_target_modules:
- gate_proj
- down_proj
- up_proj
- q_proj
- v_proj
- k_proj
- o_proj

# ---- 序列与打包 ----
sequence_len: 2048
sample_packing: true
eval_sample_packing: true

# ---- 训练超参数 ----
gradient_accumulation_steps: 2
micro_batch_size: 2
num_epochs: 1
learning_rate: 0.0002
optimizer: adamw_8bit
lr_scheduler: cosine
warmup_ratio: 0.1
weight_decay: 0.0

# ---- 精度与性能 ----
bf16: auto
tf32: false
gradient_checkpointing: true

# ---- 输出 ----
output_dir: ./outputs/lora-out
logging_steps: 1
eval_steps: 4
saves_per_epoch: 1

# ---- 特殊 Token ----
pad_to_sequence_len: true
special_tokens:
pad_token: "<|end_of_text|>"

执行训练

# 单卡训练
axolotl train examples/llama-3/lora-1b.yml

# 多卡 DeepSpeed 训练
axolotl train examples/llama-3/lora-1b.yml --deepspeed deepspeed_configs/zero2.json

# GRPO 强化学习
axolotl train examples/qwen3/grpo-1b.yml

# 偏好对齐训练
axolotl train examples/mistral/dpo-7b.yml

源码架构

src/axolotl/
├── core/ # 核心训练引擎
│ ├── train.py # 标准 SFT 训练器
│ ├── train_rl.py # GRPO/GDPO 强化学习训练器
│ ├── train_pt.py # 预训练训练器
│ └── train_rm.py # 奖励模型训练器
├── cli/ # CLI 命令行接口
│ ├── train.py # `axolotl train` 命令
│ ├── fetch.py # `axolotl fetch` 配置拉取
│ └── agent_docs.py # `axolotl agent-docs` AI 文档助手
├── models/ # 模型架构适配
├── datasets/ # 数据集加载器(本地、HF、S3/Azure/GCP/OCI)
├── utils/ # 工具函数
│ ├── config/ # YAML 配置解析与校验
│ └── distributed.py # 分布式训练工具
├── integrations/ # 第三方集成(Wandb、MLflow、Liger 等)
└── scripts/ # 辅助脚本

核心设计模式:

  1. Schema-Driven Configaxolotl config-schema 命令暴露全部配置项的 JSON Schema,实现配置自动补全和校验。
  2. Trainer Factory:根据 YAML 中的训练类型自动选择对应训练器(SFT/RM/RL/PT),共享数据管线。
  3. 插件式并行后端:FSDP1、FSDP2、DeepSpeed 通过配置切换,训练器层面无感知。
  4. AI Agent 文档:内置 agent-docs 命令,为 Cursor、Claude Code 等 AI 编程工具提供上下文文档。

实操 Demo

以下演示使用 Axolotl 完成 Qwen3-1B 的 GRPO 数学推理强化学习。

步骤 1:准备 GRPO 配置

创建 grpo_qwen3_math.yml

base_model: Qwen/Qwen3-1B-Instruct

# GRPO 强化学习
rl_type: grpo
rl_train_data: open-r1/OpenR1-Math-220k

# 奖励函数
reward_functions:
- accuracy
- format
- cosine_max_len # 长度惩罚

# GRPO 参数
num_generations: 8 # 每条 prompt 生成 8 条
max_completion_length: 1024
beta: 0.04 # KL 散度系数
max_prompt_length: 512

# LoRA 适配器
adapter: lora
lora_r: 64
lora_alpha: 128

# 性能优化
bf16: auto
gradient_checkpointing: true
micro_batch_size: 4
gradient_accumulation_steps: 4
sample_packing: true

# 输出
output_dir: ./outputs/qwen3-grpo-math
logging_steps: 1
save_steps: 100

步骤 2:启动 GRPO 训练

axolotl train grpo_qwen3_math.yml

步骤 3:验证训练结果

训练完成后,使用 axolotl 的推理接口进行验证:

# axolotl 原生推理
python -m axolotl.cli.inference ./outputs/qwen3-grpo-math \
--prompt "一个游泳池有两个进水管,A管单独注满需要3小时..."

# 或导出为 HuggingFace 格式用于 vLLM 部署
python -m axolotl.cli.merge_lora ./outputs/qwen3-grpo-math \
--output ./merged/qwen3-grpo-math

步骤 4:批量评估

利用 Axolotl 的 eval harness 集成:

axolotl eval ./merged/qwen3-grpo-math \
--tasks gsm8k,math_500 \
--num_fewshot 5

同类对比

维度 Axolotl LLaMA-Factory unsloth
Star 数 12k 72.2k 66.6k
配置方式 单 YAML 文件 多 YAML 文件 Python API + WebUI
GRPO 支持 原生完整支持 不支持 原生支持(80% 显存节省)
PRM 支持 支持 不支持 不支持
多模态 VLM + Audio 图像/视频/音频全面 VLM GRPO
多节点并行 Torchrun / Ray + FSDP/DeepSpeed DeepSpeed 多 GPU
云存储 S3/Azure/GCP/OCI 本地 + HF 本地 + HF
配置校验 JSON Schema 自动补全 YAML 手动检查 Python 运行时检查
Docker 官方镜像 社区镜像 官方镜像
AI 文档 内置 agent-docs
学习曲线 中等(YAML 参数较多) 中等
许可证 Apache-2.0 Apache-2.0 Apache-2.0 + AGPL-3.0

Axolotl 的核心差异化优势在于强化学习和云原生能力。如果你的团队主要做 RLHF/GRPO 对齐研究,或者需要多节点大规模训练,Axolotl 是首选。LLaMA-Factory 在模型覆盖和训练方法广度上更全面,unsloth 在单卡性能优化上更极致。三者在实际项目中经常组合使用:用 unsloth 加速、用 Axolotl 管理配置和 RL、用 LLaMA-Factory 做多模态 SFT。

参考资源

文章作者: Leo·Cheung
文章链接: http://tufusi.com/2026/06/15/SKILL-Axolotl/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ONE·PIECE
打赏
  • 微信
  • 支付宝

评论