LoslegenKostenlos loslegen

LoRA-Fine-Tuning von Llama für den Kundensupport

Du sollst ein Sprachmodell feinabstimmen, das Kundenanfragen beantwortet. Die Llama-Modelle sind für Question Answering ziemlich gut geeignet und sollten für diese Support-Aufgabe gut funktionieren. Leider hast du nicht genug Rechenkapazität für reguläres Fine-Tuning und musst LoRA-Techniken mit dem Datensatz bitext verwenden.

Du möchtest Maykeye/TinyLLama-v0 trainieren. Das Trainingsskript ist fast fertig, und der Trainingscode ist bereits vorhanden – mit Ausnahme der LoRA-Konfigurationsparameter.

Das relevante Modell, der Tokenizer, der Datensatz und die Trainingsargumente wurden bereits als model, tokenizer, dataset und training_arguments für dich geladen.

Diese Übung ist Teil des Kurses

Feinabstimmung mit Llama 3

Kurs anzeigen

Anleitung zur Übung

  • Füge das Argument hinzu, um deine LoRA-Adapter auf Rang 2 zu setzen.
  • Setze den Skalierungsfaktor so, dass er doppelt so groß wie dein Rang ist.
  • Lege in deiner LoRA-Konfiguration den Task-Typ fest, der bei Llama-Modellen verwendet wird.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen