Comece agoraComece grátis

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

Ver curso

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()
Editar e Executar Código