Fine-tuning Llamy pomocí LoRA pro zákaznický servis
Tvým úkolem je fine-tuning jazykového modelu, který bude odpovídat na dotazy zákaznického servisu.
Modely Llama jsou v odpovídání na otázky velmi dobré a pro tuto úlohu by měly fungovat skvěle. Bohužel nemáš dostatečný výpočetní výkon pro klasický fine-tuning, a proto musíš použít techniku LoRA fine-tuningu s datasetem bitext.
Chceš trénovat model Maykeye/TinyLLama-v0. Trénovací skript je téměř hotový – kód pro trénování už máš připravený, chybí jen nastavení konfiguračních parametrů LoRA.
Příslušný model, tokenizer, dataset a trénovací argumenty jsou pro tebe předem načteny v proměnných model, tokenizer, dataset a training_arguments.
Toto cvičení je součástí kurzu
Fine-Tuning s Llama 3
Pokyny k cvičení
- Přidej argument, který nastaví rank tvých LoRA adapterů na hodnotu 2.
- Nastav škálovací faktor tak, aby byl dvojnásobkem tvého ranku.
- V konfiguraci LoRA nastav typ úlohy používaný s modely ve stylu Llama.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()