Fine-tuning efisien dengan LoRA

Fine-Tuning dengan Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Apa yang terjadi saat kita melatih model?

 

  • Token adalah data masukan yang membentuk vektor
  • Perkalian matriks (model)
  • Menghasilkan vektor keluaran
  • Error dipakai untuk memperbarui bobot model
  • Ukuran model menentukan sulitnya pelatihan

Matriks input dan model yang direpresentasikan secara visual

Fine-Tuning dengan Llama 3

Apa itu LoRA

 

  • Dekomposisi peringkat-rendah
  • Mengurangi parameter pelatihan
  • Menjaga kinerja
  • Efek regularisasi

Sebuah matriks biru dipecah menjadi dua matriks terdekomposisi yang saat dikalikan kembali merekonstruksi matriks asli.

Fine-Tuning dengan Llama 3

Cara mengimplementasikan LoRA dengan 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 dengan Llama 3

Mengintegrasikan konfigurasi LoRA dalam pelatihan

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 dengan Llama 3

LoRA vs fine-tuning biasa

 

  • TinyLlama/TinyLlama-1.1B-Chat-v1.0
  • 1,1 miliar parameter
  • 11 rb sampel
  • ~30 menit

 

  • nvidia/Llama3-ChatQA-1.5-8B
  • 8 miliar parameter
  • 11 rb sampel
  • ~30 menit
Fine-Tuning dengan Llama 3

Ayo berlatih!

Fine-Tuning dengan Llama 3

Preparing Video For Download...