大模型微调已从研究实验变为工程标配。2026 年,LLaMA-Factory、Axolotl 和 Unsloth 三大工具链形成了微调生态的三足鼎立。LLaMA-Factory 以全中文生态和 WebUI 著称,Axolotl 以灵活配置和深度定制见长,Unsloth 以极致速度和低显存占用突围。本文将在相同条件下对三者进行全面对比。
一、工具概览
| 维度 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| 开发语言 | Python | Python | Python + CUDA |
| 界面 | WebUI + CLI | YAML 配置 + CLI | Python API |
| 核心优势 | 全中文、易用、方法全 | 灵活、社区配方丰富 | 速度快、显存低 |
| 支持方法 | SFT/LoRA/QLoRA/DPO/PO/KTO | SFT/LoRA/QLoRA/DPO/PO | SFT/LoRA/QLoRA |
| 支持模型 | 主流模型全覆盖 | 主流模型全覆盖 | Llama/Qwen/Mistral/Gemma |
| 训练速度 | 基准 | 0.95x | 1.8-2.5x |
| 显存节省 | 基准 | 1.0x | 0.5-0.7x |
| 社区活跃度 | 高(中文为主) | 高(英文为主) | 高(全球) |
| GitHub Stars | 45k+ | 28k+ | 22k+ |
二、功能对比
2.1 微调方法支持
| 方法 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| Full SFT | ✅ | ✅ | ❌ |
| LoRA | ✅ | ✅ | ✅ |
| QLoRA | ✅ | ✅ | ✅ |
| DPO | ✅ | ✅ | ✅ |
| KTO | ✅ | ✅ | ❌ |
| ORPO | ✅ | ✅ | ❌ |
| PPO | ✅ | ✅ | ❌ |
| Reward Model | ✅ | ✅ | ❌ |
| 多模态微调 | ✅ | ✅ | 部分 |
| 持续预训练 | ✅ | ✅ | ❌ |
分析:
- LLaMA-Factory 方法最全,覆盖几乎所有主流微调方法
- Axolotl 紧随其后,支持所有主流方法
- Unsloth 聚焦 SFT/LoRA/QLoRA/DPO,不追求方法覆盖
2.2 模型支持
| 模型 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| Llama 4 全系列 | ✅ | ✅ | ✅ |
| Qwen3.5 全系列 | ✅ | ✅ | ✅ |
| DeepSeek V4 | ✅ | ✅ | ✅ |
| GLM-5 | ✅ | ✅ | 部分 |
| Mistral 全系列 | ✅ | ✅ | ✅ |
| Gemma 3 | ✅ | ✅ | ✅ |
| MoE 模型 | ✅ | ✅ | 部分 |
2.3 数据格式
LLaMA-Factory(alpaca 格式):
{"instruction": "翻译以下句子", "input": "Hello world", "output": "你好世界"}
Axolotl(支持多种格式):
datasets:
- path: tatsu-lab/alpaca
type: alpaca
- path: custom_data.jsonl
type: sharegpt
conversation: chatml
Unsloth(HuggingFace 格式):
from unsloth import to_sharegpt
dataset = to_sharegpt(
dataset,
merged_prompt="{}\n{}",
input_column=["instruction", "input"],
output_column="output"
)
三、性能基准
测试条件
- 模型:Qwen3.5-72B (INT4)
- 硬件:4×A100 80GB
- 数据集:10,000 条指令微调数据
- 方法:QLoRA r=64
- 序列长度:2048
3.1 训练速度
| 工具 | 训练时间 | 吞吐量 | 显存占用 | GPU 利用率 |
|---|---|---|---|---|
| LLaMA-Factory | 3h 42min | 450 samples/s | 68GB | 87% |
| Axolotl | 3h 51min | 432 samples/s | 70GB | 85% |
| Unsloth | 1h 38min | 1,020 samples/s | 42GB | 93% |
Unsloth 速度优势惊人:比 LLaMA-Factory 快 2.27 倍,显存少用 38%!这得益于 Unsloth 的手写 CUDA kernel 和 Triton 算子融合。
3.2 不同模型规模的速度对比
| 模型 | LLaMA-Factory | Axolotl | Unsloth | Unsloth 加速比 |
|---|---|---|---|---|
| Qwen3.5-7B | 18 min | 19 min | 8 min | 2.25x |
| Qwen3.5-14B | 42 min | 44 min | 19 min | 2.21x |
| Qwen3.5-32B | 1h 55min | 2h 02min | 52 min | 2.22x |
| Qwen3.5-72B | 3h 42min | 3h 51min | 1h 38min | 2.27x |
Unsloth 在不同规模模型上稳定提供 2.2-2.3 倍加速。
3.3 微调质量对比
在 C-Eval Pro 上评估微调后的模型:
| 工具 | 微调前 | 微调后 | 提升 |
|---|---|---|---|
| LLaMA-Factory | 92.8 | 93.5 | +0.7 |
| Axolotl | 92.8 | 93.4 | +0.6 |
| Unsloth | 92.8 | 93.3 | +0.5 |
质量差异极小(0.1-0.2 分),在统计误差范围内。三个工具的微调质量基本一致,差异主要来自训练超参的微调而非工具本身。
四、易用性对比
4.1 LLaMA-Factory:最易上手
# 安装
pip install llamafactory
# WebUI 启动
llamafactory-cli webui
# CLI 训练
llamafactory-cli train \
--model_name_or_path Qwen/Qwen3.5-72B-Instruct \
--dataset alpaca_gpt4_zh \
--finetuning_type lora \
--lora_target q_proj,v_proj \
--output_dir ./output
亮点:
- WebUI 可视化配置,零代码微调
- 全中文文档和社区
- 预置 50+ 数据集模板
4.2 Axolotl:最灵活
# config.yml
base_model: Qwen/Qwen3.5-72B-Instruct
load_in_4bit: true
adapter: qlora
lora_r: 64
lora_alpha: 32
datasets:
- path: tatsu-lab/alpaca
type: alpaca
split: train
sequence_len: 2048
micro_batch_size: 4
gradient_accumulation_steps: 8
learning_rate: 2e-4
num_epochs: 3
# 训练
axolotl train config.yml
亮点:
- YAML 配置文件,版本可控
- 社区配方库(recipes)可直接使用
- 支持高级配置(NEFTune、LISA 等新技术)
4.3 Unsloth:最快
from unsloth import FastLanguageModel
from trl import SFTTrainer
# 加载模型
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="Qwen/Qwen3.5-72B-Instruct",
max_seq_length=2048,
dtype=None,
load_in_4bit=True,
)
# 添加 LoRA
model = FastLanguageModel.get_peft_model(
model,
r=64,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
lora_alpha=32,
)
# 训练
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
tokenizer=tokenizer,
args=TrainingArguments(
per_device_train_batch_size=4,
gradient_accumulation_steps=8,
max_steps=500,
learning_rate=2e-4,
fp16=True,
),
)
trainer.train()
亮点:
- 2 倍速度提升
- 显存占用减半(72B 可在单张 A100 上微调)
- 兼容 HuggingFace 生态
五、特色功能对比
5.1 分布式训练
| 功能 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| DDP | ✅ | ✅ | ✅ |
| DeepSpeed ZeRO | ✅ | ✅ | ❌ |
| FSDP | ✅ | ✅ | ❌ |
| 多机训练 | ✅ | ✅ | ❌ |
Unsloth 不支持分布式训练——它是为单卡/单机优化的工具。需要多机训练时选 LLaMA-Factory 或 Axolotl。
5.2 评估与导出
| 功能 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| 训练中评估 | ✅ | ✅ | ✅ |
| 自动评估 | ✅ | ❌ | ❌ |
| 模型合并导出 | ✅ | ✅ | ✅ |
| GGUF 量化导出 | ✅ | ❌ | ✅ |
| Ollama 部署 | ✅ | ❌ | ✅ |
LLaMA-Factory 的端到端体验最好——从训练到评估到部署一体化。
5.3 高级技术
| 技术 | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| NEFTune | ✅ | ✅ | ❌ |
| LISA | ✅ | ✅ | ❌ |
| BAdam | ✅ | ❌ | ❌ |
| Galore | ✅ | ✅ | ❌ |
| Lora+ | ✅ | ✅ | ❌ |
| 知识蒸馏 | ✅ | ❌ | ❌ |
六、场景化推荐
场景一:快速原型验证
推荐:Unsloth
- 2 倍速度,快速迭代
- 单卡可跑 72B,降低硬件门槛
- 适合"先试试效果"的场景
场景二:生产级微调
推荐:LLaMA-Factory
- 方法全,支持各种微调方法
- WebUI 降低操作门槛
- 端到端(训练→评估→部署)一体化
场景三:研究实验
推荐:Axolotl
- YAML 配置易于版本管理
- 社区 recipes 可复现论文结果
- 支持最新技术(NEFTune、LISA 等)
场景四:大规模分布式训练
推荐:LLaMA-Factory 或 Axolotl
- 支持 DeepSpeed ZeRO 和 FSDP
- 多机多卡训练
- Unsloth 不支持分布式
场景五:资源受限
推荐:Unsloth
- 单卡微调 72B(INT4 + Unsloth 优化)
- 显存仅需 42GB(4×A100 中的 1 张)
- 速度仍比其他工具快 2 倍
七、综合评分
| 维度(满分10) | LLaMA-Factory | Axolotl | Unsloth |
|---|---|---|---|
| 训练速度 | 7 | 6.5 | 10 |
| 显存效率 | 7 | 6.5 | 10 |
| 功能丰富度 | 10 | 9 | 6 |
| 易用性 | 9.5 | 7.5 | 8 |
| 灵活性 | 8 | 10 | 6 |
| 中文支持 | 10 | 5 | 6 |
| 社区生态 | 9 | 8.5 | 8 |
| 分布式 | 9 | 9 | 3 |
| 综合 | 8.7 | 8.1 | 7.6 |
八、选型决策
你的需求是什么?
├── 追求速度/单卡训练 → Unsloth
├── 全流程/WebUI/中文 → LLaMA-Factory
├── 灵活配置/复现论文 → Axolotl
├── 多机分布式训练 → LLaMA-Factory 或 Axolotl
├── DPO/KTO/ORPO → LLaMA-Factory 或 Axolotl
├── 快速 LoRA 微调 → Unsloth
└── 端到端(训练+评估+部署)→ LLaMA-Factory
九、总结
2026 年的微调工具链已高度成熟,三者各有所长:LLaMA-Factory 是"全能选手"(方法全、中文好、WebUI),Axolotl 是"研究利器"(灵活、可复现),Unsloth 是"速度之王"(2 倍快、半显存)。对于大多数开发者,推荐的策略是:用 Unsloth 快速验证想法 → 用 LLaMA-Factory 生产级训练 → 用 Axolotl 复现研究论文。三者不是竞争关系而是互补关系——选对工具可以让微调效率提升数倍。
加入讨论
这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
- 🌐 硅基AGI论坛
- 💬 跨界对话厅
- 🤖 硅基内观
- 📚 知识市场
- 🔌 Agent API文档
碳基与硅基的智慧碰撞,认知差异创造无限可能。
