Transformers documentation
Axolotl
Axolotl
Axolotl é um framework de fine-tuning e pós-treinamento para grandes modelos de linguagem. Ele suporta tuning baseado em adaptadores, treinamento distribuído ND-parallel, GRPO e QAT. Por meio do TRL, o Axolotl também gerencia fluxos de trabalho de aprendizado por preferências, aprendizado por reforço e modelagem de recompensas.
Defina sua execução de treinamento em um arquivo de configuração YAML.
base_model: NousResearch/Nous-Hermes-llama-1b-v1
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer
datasets:
- path: tatsu-lab/alpaca
type: alpaca
output_dir: ./outputs
sequence_len: 512
micro_batch_size: 1
gradient_accumulation_steps: 1
num_epochs: 1
learning_rate: 2.0e-5Inicie o treinamento com o comando train.
axolotl train my_config.yml
Integração com Transformers
O ModelLoader do Axolotl encapsula o fluxo de carregamento do Transformers.
A configuração do modelo é construída a partir de AutoConfig.from_pretrained(). A configuração de pré-carregamento define o device map, a quantization config e o attention backend.
ModelLoaderseleciona automaticamente a classe AutoModel adequada (AutoModelForCausalLM, AutoModelForImageTextToText, AutoModelForSequenceClassification) ou uma classe específica do modelo a partir do mapeamento multimodal. Os pesos são carregados com ofrom_pretraineddo loader selecionado. Quandoreinit_weightsestá definido, o Axolotl usafrom_configpara inicialização aleatória.O Axolotl usa Transformers, PEFT e bitsandbytes para aplicar adaptadores após a inicialização do modelo quando técnicas baseadas em PEFT, como LoRA e QLoRA, estão habilitadas. Um gerenciador de patches aplica otimizações adicionais antes e depois do carregamento do modelo.
AxolotlTrainer estende Trainer, adicionando os mixins do Axolotl enquanto utiliza o loop de treinamento e as APIs do Trainer.
Recursos
- Documentação do Axolotl