LoRA ile verimli ince ayar

Llama 3 ile İnce Ayar (Fine-Tuning)

Francesca Donadoni

Curriculum Manager, DataCamp

Bir modeli eğitirken ne olur?

 

  • Token'lar girdidir, bir vektör oluşturur
  • Matris (model) çarpımı
  • Çıktı vektörleri üretir
  • Hatalarla model ağırlıkları güncellenir
  • Model boyutu eğitimi zorlaştırır

Girdi ve model matrislerinin görsel temsili

Llama 3 ile İnce Ayar (Fine-Tuning)

LoRA nedir

 

  • Düşük-rank Ayrıştırma
  • Eğitim parametrelerini azaltır
  • Performansı korur
  • Düzenlileştirme etkisi

Orijinal matrisi çarparak yeniden kurabilen, iki ayrıştırılmış matrise bölünen mavi bir matris.

Llama 3 ile İnce Ayar (Fine-Tuning)

PEFT ile LoRA nasıl uygulanır

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']
)
Llama 3 ile İnce Ayar (Fine-Tuning)

Eğitime LoRA yapılandırmasını entegre etme

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()
Llama 3 ile İnce Ayar (Fine-Tuning)

LoRA vs. normal ince ayar

 

  • TinyLlama/TinyLlama-1.1B-Chat-v1.0
  • 1,1 milyar parametre
  • 11k örnek
  • ~30 dakika

 

  • nvidia/Llama3-ChatQA-1.5-8B
  • 8 milyar parametre
  • 11k örnek
  • ~30 dakika
Llama 3 ile İnce Ayar (Fine-Tuning)

Hadi pratik yapalım!

Llama 3 ile İnce Ayar (Fine-Tuning)

Preparing Video For Download...