Tinh chỉnh hiệu quả với LoRA

Fine-Tuning với Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Điều gì xảy ra khi huấn luyện mô hình?

 

  • Token là dữ liệu đầu vào tạo thành vector
  • Nhân ma trận (mô hình)
  • Cho ra các vector đầu ra
  • Sai số dùng để cập nhật trọng số
  • Kích thước mô hình quyết định độ khó huấn luyện

Ma trận đầu vào và ma trận mô hình được minh họa trực quan

Fine-Tuning với Llama 3

LoRA là gì

 

  • Phân rã hạng thấp
  • Giảm số tham số cần huấn luyện
  • Giữ hiệu năng
  • Hiệu ứng regularization

Một ma trận xanh được tách thành hai ma trận phân rã; khi nhân lại sẽ khôi phục ma trận gốc.

Fine-Tuning với Llama 3

Cách triển khai LoRA với 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 với Llama 3

Tích hợp cấu hình LoRA vào huấn luyệ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 với Llama 3

LoRA so với tinh chỉnh thường

 

  • TinyLlama/TinyLlama-1.1B-Chat-v1.0
  • 1,1 tỷ tham số
  • 11k mẫu
  • ~30 phút

 

  • nvidia/Llama3-ChatQA-1.5-8B
  • 8 tỷ tham số
  • 11k mẫu
  • ~30 phút
Fine-Tuning với Llama 3

Ayo berlatih!

Fine-Tuning với Llama 3

Preparing Video For Download...