IniziaInizia gratis

Fine-tuning con LoRA di Llama per l'assistenza clienti

Ti è stato assegnato il compito di fare fine-tuning di un modello linguistico per rispondere a domande di assistenza clienti. I modelli Llama sono piuttosto validi nel question answering e dovrebbero funzionare bene per questo compito di customer service. Purtroppo non hai la capacità di calcolo per eseguire un fine-tuning tradizionale e devi usare tecniche di fine-tuning LoRA con il dataset bitext.

Vuoi poter addestrare Maykeye/TinyLLama-v0. Lo script di training è già quasi completo e ti viene fornito il codice di addestramento, ad eccezione dei parametri di configurazione di LoRA.

Il modello, il tokenizer, l'insieme di dati e gli argomenti di training pertinenti sono già stati caricati in model, tokenizer, dataset e training_arguments.

Questo esercizio fa parte del corso

Fine-tuning con Llama 3

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi l'argomento per impostare i tuoi adapter LoRA con rank 2.
  • Imposta il fattore di scala in modo che sia il doppio del tuo rank.
  • Imposta il tipo di task usato con i modelli in stile Llama nella tua configurazione Lora.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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()
Modifica ed esegui il codice