Aan de slagGa gratis aan de slag

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

Cursus bekijken

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()
Code bewerken en uitvoeren