Axolotl é uma ferramenta de código aberto projetada especificamente para simplificar vários processos de pós-treinamento de modelos de IA. Pós-treinamento refere-se a qualquer modificação ou treinamento adicional realizado em um modelo pré-treinado, incluindo ajuste fino completo do modelo, ajuste fino eficiente em termos de parâmetros (como LoRA e QLoRA), ajuste fino supervisionado (SFT), ajuste de instruções e técnicas de alinhamento. A ferramenta suporta diversas arquiteturas de modelo e configurações de treinamento, permitindo que os usuários comecem facilmente a usar essas tecnologias avançadas de treinamento.
pip3 install -U packaging==23.2 setuptools==75.8.0 wheel ninja
pip3 install --no-build-isolation axolotl[flash-attn,deepspeed]
# Baixar arquivos de configuração de exemplo
axolotl fetch examples
axolotl fetch deepspeed_configs # Opcional
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
Obter Configurações de Exemplo:
axolotl fetch examples
Treinar Modelo:
axolotl train examples/llama-3/lora-1b.yml
Personalizar Configuração: Modifique os parâmetros no arquivo de configuração YAML conforme necessário.
Axolotl usa arquivos de configuração YAML para controlar todo o fluxo de treinamento, incluindo:
Modelo | fp16/fp32 | LoRA | QLoRA | GPTQ | Flash Attn | xformers |
---|---|---|---|---|---|---|
LLaMA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mistral | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mixtral-MoE | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Pythia | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Falcon | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Qwen | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Gemma | ✅ | ✅ | ✅ | ❓ | ❓ | ✅ |
✅: Suportado ❌: Não Suportado ❓: Não Testado