Efektivní doladění s LoRA

Fine-Tuning s Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Co se děje při trénování modelu?

 

  • Tokeny jsou vstupní data tvořící vektor
  • Maticové (modelové) násobení
  • Výsledkem jsou výstupní vektory
  • Chyby slouží k aktualizaci vah modelu
  • Velikost modelu určuje náročnost trénování

Vstupní matice a matice modelu zobrazené vizuálně

Fine-Tuning s Llama 3

Co je LoRA

 

  • Nízkořadová dekompozice
  • Snižuje počet trénovaných parametrů
  • Zachovává výkon
  • Regularizační efekt

Modrá matice rozdělená na dvě dekompozované matice, jejichž součin rekonstruuje původní matici.

Fine-Tuning s Llama 3

Implementace LoRA pomocí PEFT

from peft import LoraConfig

lora_config = LoraConfig(
r=12,
lora_alpha=32,
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM", target_modules=['q_proj', 'v_proj']
)
Fine-Tuning s Llama 3

Integrace konfigurace LoRA do trénování

trainer = SFTTrainer(
    model=model,

train_dataset=ds,
max_seq_length=250, dataset_text_field='conversation',
tokenizer=tokenizer, args=training_arguments
peft_config=lora_config,
)
trainer.train()
Fine-Tuning s Llama 3

LoRA vs. standardní doladění

 

  • TinyLlama/TinyLlama-1.1B-Chat-v1.0
  • 1,1 miliardy parametrů
  • 11 000 vzorků
  • ~30 minut

 

  • nvidia/Llama3-ChatQA-1.5-8B
  • 8 miliard parametrů
  • 11 000 vzorků
  • ~30 minut
Fine-Tuning s Llama 3

Pojďme cvičit!

Fine-Tuning s Llama 3

Preparing Video For Download...