LoRA-finetuning van Llama voor klantenservice
Je krijgt de taak om een taalmodel te finetunen om vragen van de klantenservice te beantwoorden.
De Llama-modellen zijn goed in vraagbeantwoording en zouden geschikt moeten zijn voor deze klantenservicetaak. Helaas heb je niet genoeg rekenkracht voor reguliere finetuning en moet je LoRA-finetuning toepassen met de bitext-gegevensset.
Je wilt Maykeye/TinyLLama-v0 kunnen trainen. Het trainingsscript is bijna af, en je hebt de trainingscode al gekregen, op de LoRA-configuratieparameters na.
Het relevante model, de tokenizer, de gegevensset en de trainingsargumenten zijn al voor je ingeladen in model, tokenizer, dataset en training_arguments.
Deze oefening maakt deel uit van de cursus
Fijn-afstemmen met Llama 3
Oefeninstructies
- Voeg het argument toe om je LoRA-adapters op rank 2 te zetten.
- Stel de schaalfactor zo in dat deze twee keer je rank is.
- Stel het taaktype in dat hoort bij Llama-achtige modellen in je Lora-configuratie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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()