axolotl-ai-cloud/axolotlView GitHub Homepage for Latest Official Releases
一个用于AI模型后训练的开源工具,支持微调、LoRA、QLoRA等多种训练方法
Apache-2.0Pythonaxolotlaxolotl-ai-cloud 10.1k Last Updated: August 07, 2025
Axolotl - 强大的AI模型后训练工具
项目概述
Axolotl是一个专门设计用于简化各种AI模型后训练过程的开源工具。后训练是指对预训练模型进行的任何修改或额外训练,包括全模型微调、参数高效调优(如LoRA和QLoRA)、监督微调(SFT)、指令调优和对齐技术。该工具支持多种模型架构和训练配置,让用户能够轻松开始使用这些先进的训练技术。
核心特性
模型支持
- 多样化模型架构: 支持训练各种Hugging Face模型,包括LLaMA、Pythia、Falcon、MPT、Mistral、Mixtral等主流大语言模型
- 灵活训练方法: 支持全量微调(Full Fine-tuning)、LoRA、QLoRA、ReLoRA、GPTQ等多种训练方式
配置管理
- YAML配置文件: 使用简单的YAML文件包含数据集预处理、模型训练/微调、模型推理或评估等所有必要配置
- CLI覆盖: 支持通过命令行参数覆盖配置文件中的设置
- 灵活配置: 可以自定义各种训练参数和模型设置
数据处理能力
- 多格式数据集: 支持加载本地、HuggingFace和云端(S3、Azure、GCP、OCI)数据集
- 自定义格式: 可以使用自定义格式或直接导入已分词的数据集
- 数据集预处理: 内置强大的数据预处理功能
性能优化
- 先进优化技术: 集成xformers、Flash Attention、Liger Kernel、绳索缩放和多包装技术
- 多GPU支持: 通过FSDP或DeepSpeed支持单GPU或多GPU训练
- 高效训练: 针对NVIDIA GPU(Ampere或更新版本,支持bf16和Flash Attention)和AMD GPU进行优化
部署和监控
- 云端就绪: 提供Docker镜像和PyPI包,可在云平台和本地硬件上使用
- 结果记录: 支持将结果和检查点记录到WandB、MLflow或Comet
- 监控支持: 集成多种实验跟踪和监控工具
技术要求
硬件要求
- NVIDIA GPU(Ampere或更新版本,用于bf16和Flash Attention)或AMD GPU
- 足够的GPU显存用于模型训练
软件要求
- Python 3.11
- PyTorch ≥2.4.1
- 相关依赖包
安装方式
快速安装
pip3 install -U packaging==23.2 setuptools==75.8.0 wheel ninja
pip3 install --no-build-isolation axolotl[flash-attn,deepspeed]
# 下载示例配置文件
axolotl fetch examples
axolotl fetch deepspeed_configs # 可选
从源码安装
git clone https://github.com/axolotl-ai-cloud/axolotl.git
cd axolotl
pip3 install -U packaging setuptools wheel ninja
pip3 install --no-build-isolation -e '.[flash-attn,deepspeed]'
Docker方式
docker run --gpus '"all"' --rm -it axolotlai/axolotl:main-latest
使用方法
基础使用流程
获取示例配置:
axolotl fetch examples
训练模型:
axolotl train examples/llama-3/lora-1b.yml
自定义配置: 根据需要修改YAML配置文件中的参数
配置文件结构
Axolotl使用YAML配置文件来控制整个训练流程,包括:
- 模型选择和参数
- 数据集配置和预处理
- 训练超参数
- 优化器设置
- 监控和日志记录
支持的模型兼容性矩阵
模型 | fp16/fp32 | LoRA | QLoRA | GPTQ | Flash Attn | xformers |
---|---|---|---|---|---|---|
LLaMA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mistral | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mixtral-MoE | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Pythia | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Falcon | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Qwen | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Gemma | ✅ | ✅ | ✅ | ❓ | ❓ | ✅ |
✅: 支持 ❌: 不支持 ❓: 未测试
应用场景
研究领域
- 大语言模型微调研究
- 参数高效训练方法实验
- 模型对齐和安全性研究
产业应用
- 企业级模型定制化
- 领域特定模型训练
- 产品功能模型优化
教育培训
- AI/ML课程教学
- 实践项目开发
- 技术能力提升
项目优势
- 易用性: 通过简单的YAML配置文件控制复杂的训练流程
- 灵活性: 支持多种模型架构和训练方法
- 性能: 集成最新的优化技术,提供高效训练体验
- 可扩展性: 支持从单GPU到多节点的各种训练规模
- 开源: Apache 2.0许可证,完全开源免费使用