Dostrajanie Llamy metodą LoRA na potrzeby obsługi klienta
Twoim zadaniem jest dostrojenie modelu językowego do odpowiadania na pytania z zakresu obsługi klienta.
Modele Llama świetnie radzą sobie z odpowiadaniem na pytania i powinny dobrze sprawdzić się w tym zadaniu. Niestety nie masz wystarczających zasobów obliczeniowych, aby przeprowadzić standardowe dostrajanie – zamiast tego musisz skorzystać z techniki LoRA i zbioru danych bitext.
Chcesz wytrenować model Maykeye/TinyLLama-v0. Skrypt treningowy jest już prawie gotowy – masz dostęp do kodu treningowego, brakuje jedynie parametrów konfiguracji LoRA.
Odpowiedni model, tokenizer, zbiór danych i argumenty treningowe zostały już wczytane odpowiednio jako model, tokenizer, dataset i training_arguments.
To ćwiczenie jest częścią kursu
Fine-Tuning z Llama 3
Instrukcje do ćwiczenia
- Dodaj argument ustawiający rangę adapterów LoRA na 2.
- Ustaw współczynnik skalowania tak, aby był dwukrotnie większy od rangi.
- Ustaw typ zadania stosowany z modelami w stylu Llama w konfiguracji LoRA.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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()