
LoRA (Low-Rank Adaptation) là kỹ thuật điều chỉnh mô hình ngôn ngữ lớn (LLM) hiệu quả nhất hiện nay, cho phép fine-tuning các mô hình hàng tỷ tham số chỉ với phần nhỏ tài nguyên so với cách truyền thống.
LoRA là gì và tại sao quan trọng?
Khi OpenAI phát hành GPT-3 với 175 tỷ tham số năm 2020, cộng đồng AI nhận ra một vấn đề lớn: fine-tuning đầy đủ (full fine-tuning) các mô hình khổng lồ này đòi hỏi lượng GPU VRAM khổng lồ và thời gian cực dài. Microsoft Research đã giải quyết bài toán này bằng cách giới thiệu LoRA: Low-Rank Adaptation of Large Language Models tại ICLR 2021.
Ý tưởng cốt lõi của LoRA cực kỳ đơn giản nhưng mạnh mẽ: đóng băng trọng số gốc của mô hình đã pre-trained, sau đó chỉ huấn luyện hai ma trận nhỏ (rank-decomposition matrices) được chèn vào các khối attention của Transformer.

Cơ chế hoạt động: Rank Decomposition
Trong Transformer, các lớp attention chứa các ma trận trọng số lớn W ∈ ℝ^(d×d). LoRA giả định rằng sự thay đổi trọng số trong quá trình fine-tuning ΔW có độ rank thấp (low rank), do đó có thể phân rã thành tích của hai ma trận nhỏ:
ΔW = B × A với A ∈ ℝ^(r×d), B ∈ ℝ^(d×r) và r ≪ d
Trong đó r (rank) là siêu tham số thường chọn từ 4 đến 64. Chỉ A và B được huấn luyện, trong khi W giữ nguyên.
- Giảm tham số huấn luyện: Từ
d²xuống2dr. Vớid=4096,r=8→ giảm 99.6% tham số. - Không thêm latency inference: Sau huấn luyện, gộp
ΔWvàoW→ mô hình chạy nhanh như gốc. - Chia sẻ dễ dàng: Chỉ cần lưu file adapter ~MB thay vì full model ~GB.
Kết quả thực nghiệm từ bài báo gốc
Các tác giả Edward J. Hu, Yelong Shen, Phillip Wallis, v.v. đã kiểm tra LoRA trên GPT-2, GPT-3, BERT, RoBERTa và DeBERTa với các nhiệm vụ GLUE, SQuAD, WikiSQL. Kết quả quan trọng:
- LoRA đạt hiệu năng ngang ngửa full fine-tuning trên hầu hết benchmark.
- Rank thấp (
r=1đếnr=8) thường đủ tốt cho các tác vụ downstream. - Huấn luyện nhanh hơn 2-3 lần, tiết kiệm VRAM đáng kể (chạy được trên 1 GPU 11GB thay vì 8 GPU 80GB).
- Chuyển giao giữa các tác vụ dễ dàng bằng cách load adapter khác nhau.
Hình dưới minh họa hiệu năng của LoRA so với full fine-tuning trên nhiều mô hình và tác vụ khác nhau.

LoRA trong thực tế: Ứng dụng rộng rãi
Kể từ khi công bố, LoRA đã trở thành chuẩn de facto cho fine-tuning LLM:
- Hugging Face PEFT: Thư viện chính thức hỗ trợ LoRA, QLoRA, AdaLoRA.
- QLoRA (Dettmers et al., 2023): Kết hợp quantization 4-bit + LoRA → fine-tuning 65B model trên 1 GPU 48GB.
- Alpaca, Vicuna, WizardLM: Các mô hình open-source nổi tiếng đều dùng LoRA để fine-tune từ LLaMA.
- Stable Diffusion: LoRA cho phép train concept mới (nhân vật, style) chỉ với ~5-10 ảnh, file adapter ~3MB.
Các biến thể LoRA nâng cao
| Biến thể | Cải tiến chính | Ứng dụng |
|---|---|---|
| QLoRA | 4-bit quantization + LoRA | Fine-tune mô hình 65B+ trên consumer GPU |
| AdaLoRA | Rank tự thích ứng theo layer | Tối ưu budget tham số cho từng layer |
| LoRA+ | Learning rate khác nhau cho A và B | Huấn luyện ổn định hơn |
| DyLoRA | Dynamic rank trong training | Tìm rank tối ưu tự động |
| VeRA | Vector-based (shared frozen vectors) | Giảm thêm 10x tham số so với LoRA |
Best practices khi dùng LoRA
- Chọn rank r: Bắt đầu với
r=8hoặcr=16. Tăng nếu underfitting, giảm nếu overfitting. - Alpha scaling:
lora_alphathường bằngrhoặc2*r. Scaling factor =alpha/r. - Target modules: Chỉ áp dụng cho
q_proj,v_proj(attention) là đủ tốt. Có thể thêmk_proj,o_proj,gate_proj,up_proj,down_projcho hiệu năng cao hơn. - Dropout:
lora_dropout=0.05-0.1giúp regularize. - Learning rate:
1e-4đến3e-4(cao hơn full fine-tuning~1e-5). - Epoch: Thường chỉ cần 3-5 epoch cho tác vụ downstream, không cần train nhiều như full fine-tuning.

Kết luận
LoRA đã dân chủ hóa fine-tuning LLM, biến việc tùy chỉnh mô hình khổng lồ từ đặc quyền của các lab lớn thành công cụ phổ cập cho mọi developer. Với QLoRA và các biến thể mới, fine-tuning mô hình 70B giờ đây có thể chạy trên một chiếc RTX 3090/4090 tại nhà.
Nếu bạn đang xây dựng ứng dụng AI cần mô hình chuyên biệt cho domain riêng (y tế, pháp luật, code, tiếng Việt…), LoRA là lựa chọn số 1 để bắt đầu.
Nguồn tham khảo: LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021) | Hugging Face PEFT LoRA Guide | Using LoRA for Efficient Fine-Tuning (Hugging Face Blog)
