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