Kom igångKom igång gratis

LoRA-finjustering av Llama för kundtjänst

Du har fått i uppdrag att finjustera en språkmodell för att besvara kundtjänstfrågor. Llama-modellerna är mycket bra på frågebesvarande och lämpar sig väl för den här typen av kundtjänstuppgifter. Tyvärr har du inte den beräkningskapacitet som krävs för vanlig finjustering, och behöver därför använda LoRA-tekniker med datamängden bitext.

Målet är att träna Maykeye/TinyLLama-v0. Träningsskriptet är nästan färdigt – träningskoden är redan på plats, med undantag för LoRA-konfigurationsparametrarna.

Relevant modell, tokenizer, datamängd och träningsargument har förinslästs åt dig i model, tokenizer, dataset och training_arguments.

Den här övningen är en del av kursen

Finjustering med Llama 3

Visa kurs

Övningsinstruktioner

  • Lägg till argumentet som ställer in dina LoRA-adaptrar till rang 2.
  • Ange skalningsfaktorn så att den är dubbelt så stor som din rang.
  • Ange den uppgiftstyp som används med Llama-baserade modeller i din LoRA-konfiguration.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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()
Redigera och kör kod