Ajuste fino com LoRA do Llama para atendimento ao cliente
Você recebeu a tarefa de ajustar um modelo de linguagem para responder perguntas de atendimento ao cliente.
Os modelos Llama são muito bons em responder perguntas e devem funcionar bem para essa tarefa de suporte. Infelizmente, você não tem capacidade computacional para fazer um ajuste fino tradicional e precisa usar técnicas de ajuste com LoRA usando o conjunto de dados bitext.
Você quer conseguir treinar Maykeye/TinyLLama-v0. O script de treinamento já está quase completo, e você já tem o código de treinamento, com exceção dos parâmetros de configuração do LoRA.
O modelo, o tokenizador, o conjunto de dados e os argumentos de treinamento relevantes já foram pré-carregados para você em model, tokenizer, dataset e training_arguments.
Este exercicio faz parte do curso
Ajuste Fino com Llama 3
Instruções do exercicio
- Adicione o argumento para definir seus adaptadores LoRA com rank 2.
- Defina o fator de escala para que seja o dobro do seu rank.
- Defina o tipo de tarefa usado com modelos no estilo Llama na sua configuração do LoRA.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
from peft import LoraConfig, get_peft_model
peft_config = LoraConfig(
# Set rank parameter
____=____,
# Set scaling factor
____=____,
# Set the type of task
____=____,
lora_dropout=0.05,
bias="none",
target_modules=['q_proj', 'v_proj']
)
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
max_seq_length=250,
dataset_text_field='conversation',
tokenizer=tokenizer,
args=training_arguments,
peft_config=peft_config,
)
trainer.train()