CS224N 2026 - Lecture 09 - Efficient Adaptation

Nguồn

Mục tiêu cần hiểu

  • Vì sao full fine-tuning tốn kém khi model lớn.
  • Prompting, pruning, adapters, LoRA và prompt-tuning trade-off ra sao.
  • PEFT thay đổi ít tham số nhưng vẫn tạo hành vi task-specific.
  • LoRA xem update trọng số như ma trận hạng thấp.

Ý chính

  • Full fine-tuning cập nhật toàn bộ model, mạnh nhưng tốn memory/compute và khó quản lý nhiều task.
  • Adapter chèn module nhỏ vào giữa layer, thường có bottleneck down-projection/up-projection.
  • LoRA freeze weight gốc và học update hạng thấp .
  • QLoRA tiếp tục giảm memory bằng cách quantize base model xuống 4-bit và train LoRA adapters.
  • Prompt-tuning học prompt embedding liên tục, rất ít tham số nhưng capacity thấp hơn.
  • Pruning/subnetwork tìm phần model cần giữ hoặc train, liên quan tới giả thuyết lottery ticket.

Adapter

Adapter thường có dạng bottleneck:

Trong đó:

  • giảm chiều.
  • tăng chiều lại.
  • nên số tham số train thêm nhỏ.

LoRA

LoRA giả định update cần thiết cho task có intrinsic rank thấp:

  • Freeze gốc.
  • Chỉ train và .
  • Nếu , dùng và với .
  • Forward: .
  • lora_alpha thường scale update theo .
  • Target module quan trọng trong attention là và .
  • Giảm memory optimizer và cho phép lưu nhiều adapter/task-specific update.
  • Có thể merge vào nên inference không cần thêm module.

QLoRA

QLoRA kết hợp LoRA với quantization:

  • Base model được giữ ở 4-bit, thường theo NF4 (NormalFloat 4-bit).
  • LoRA adapters vẫn là phần được train cho task.
  • Double quantization nén thêm các scaling constants sinh ra khi quantize theo block.
  • Paged optimizers giúp giảm memory spike bằng cách page optimizer state giữa GPU và CPU.
  • Phù hợp khi muốn fine-tune LLM lớn trên GPU hạn chế.

Cách hiểu bằng lời của tôi

Efficient adaptation là nghệ thuật “đổi hành vi mà không đụng quá nhiều vào model”. Thay vì sao chép và train lại toàn bộ LLM cho mỗi task, ta thêm hoặc học một phần nhỏ đủ để uốn model theo domain/task.

Câu hỏi review

  1. PEFT giải quyết vấn đề gì của full fine-tuning?
  2. Adapter bottleneck tiết kiệm tham số như thế nào?
  3. LoRA học cái gì nếu weight gốc bị freeze?
  4. Prompt-tuning có điểm yếu gì so với adapter/LoRA?
  5. Vì sao cần ràng buộc không làm model drift quá xa?
  6. QLoRA thêm gì vào LoRA để giảm memory?

Liên kết