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
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()