O ajuste fino eficiente com o Unsloth envolve os seguintes processos principais:
- Carregamento do modeloModelo pré-treinado: carregue um modelo pré-treinado usando a interface padrão do transformador, com a capacidade de especificar parâmetros como a janela de contexto:
model = AutoModelForCausalLM.from_pretrained("unslothai/llama-3.3", context_window=89000) - Configuração do treinamentoDefinição dos parâmetros principais por meio de TrainingArguments: recomenda-se a definição dos parâmetros principais por meio de TrainingArguments para permitir a quantificação dinâmica:
training_args = TrainingArguments(
output_dir="./results",
quantization="dynamic_4bit",
per_device_train_batch_size=4
) - Iniciar o treinamentoTreinamento: Inicie o processo de treinamento usando a classe Trainer encapsulada, que otimiza automaticamente a memória e os recursos computacionais:
trainer = Trainer(model, args=training_args, train_dataset=dataset)
trainer.train() - Modelo de exportaçãoSuporte a uma variedade de formatos padrão do setor, como o formato HuggingFace:
model.save_pretrained("./finetuned_model")
Os notebooks Jupyter fornecidos com o projeto contêm exemplos completos de ponta a ponta, e os usuários são aconselhados a consultar esses exemplos ao vivo como prioridade.
Essa resposta foi extraída do artigoUnsloth: uma ferramenta de código aberto para ajuste fino e treinamento eficientes de modelos de linguagem grandesO































