Fine-tuning Llama cu LoRA pentru serviciul clienți
Ai primit sarcina de a face fine-tuning unui model de limbaj pentru a răspunde la întrebări din domeniul serviciului clienți.
Modelele Llama sunt foarte potrivite pentru răspunsuri la întrebări și ar trebui să funcționeze bine pentru această sarcină. Din păcate, nu dispui de capacitatea de calcul necesară pentru un fine-tuning clasic și trebuie să folosești tehnicile de fine-tuning LoRA cu setul de date bitext.
Vrei să antrenezi modelul Maykeye/TinyLLama-v0. Scriptul de antrenament este aproape complet — codul de antrenare îți este deja furnizat, cu excepția parametrilor de configurare LoRA.
Modelul, tokenizatorul, setul de date și argumentele de antrenament relevante au fost preîncărcate în variabilele model, tokenizer, dataset și training_arguments.
Acest exercițiu face parte din cursul
Fine-Tuning cu Llama 3
Instrucțiuni pentru exercițiu
- Adaugă argumentul care setează rangul adaptorilor LoRA la valoarea 2.
- Setează factorul de scalare astfel încât să fie dublul rangului tău.
- Setează tipul de sarcină folosit cu modelele de tip Llama în configurația LoRA.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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()