Axolotl是一個專門設計用於簡化各種AI模型後訓練過程的開源工具。後訓練是指對預訓練模型進行的任何修改或額外訓練,包括全模型微調、參數高效調優(如LoRA和QLoRA)、監督微調(SFT)、指令調優和對齊技術。該工具支持多種模型架構和訓練配置,讓用戶能夠輕鬆開始使用這些先進的訓練技術。
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 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 | ✅ | ✅ | ✅ | ❓ | ❓ | ✅ |
✅: 支持 ❌: 不支持 ❓: 未測試