PEFT (Parameter-Efficient Fine-Tuning) (VI)
Tinh chỉnh tham số hiệu quả (tiếng Anh: Parameter-Efficient Fine-Tuning, PEFT) — là tập hợp các phương pháp thích ứng các mô hình lớn được huấn luyện trước, chẳng hạn như các mô hình ngôn ngữ lớn (LLM), với các tác vụ cụ thể với chi phí tính toán và tài nguyên tối thiểu. Không giống như tinh chỉnh toàn bộ truyền thống (full fine-tuning), vốn yêu cầu cập nhật tất cả các tham số của mô hình, các phương pháp PEFT tập trung vào việc chỉ chỉnh sửa một phần nhỏ các trọng số (dưới 1–5% tổng số), giữ nguyên phần lớn mô hình ở trạng thái không thay đổi («đóng băng»)[1].
Cách tiếp cận này cho phép giảm đáng kể yêu cầu về bộ nhớ, dung lượng lưu trữ và thời gian huấn luyện, giúp quá trình thích ứng các mô hình nền tảng mạnh mẽ trở nên dễ tiếp cận hơn và ít bị ảnh hưởng bởi vấn đề quên thảm họa[2].
Vấn đề của tinh chỉnh toàn bộ
Tinh chỉnh toàn bộ truyền thống, trong đó tất cả các tham số của mô hình đều được cập nhật, gặp phải một số vấn đề nghiêm trọng, chính là chất xúc tác thúc đẩy sự phát triển của PEFT:
- Chi phí tính toán cao: Cập nhật hàng trăm tỷ tham số đòi hỏi năng lực tính toán khổng lồ (GPU/TPU hiệu năng cao) và lượng lớn bộ nhớ video (VRAM), khiến quá trình này tốn kém và không thể tiếp cận với nhiều nhà nghiên cứu.
- Kém hiệu quả về lưu trữ: Với mỗi tác vụ mới, cần lưu trữ một bản sao đầy đủ của mô hình, nặng nhiều gigabyte, dẫn đến nhu cầu dung lượng đĩa tăng theo cấp số nhân.
- Quên thảm họa (Catastrophic Forgetting): Khi thích ứng với dữ liệu mới, mô hình «quên» đi kiến thức chung thu được trong giai đoạn huấn luyện trước, làm giảm hiệu suất trên các tác vụ khác.
- Nguy cơ quá khớp (Overfitting): Trên các tập dữ liệu tinh chỉnh nhỏ, các mô hình với hàng tỷ tham số có xu hướng «ghi nhớ» các ví dụ huấn luyện thay vì học các mẫu tổng quát[2].
Phân loại các phương pháp PEFT
Các phương pháp PEFT có thể được phân loại dựa trên cách chúng thay đổi các tham số của mô hình. Có ba danh mục chính: cộng thêm (additive), chọn lọc (selective) và tái tham số hóa (reparameterization)[3].
Phương pháp cộng thêm
Các phương pháp này đóng băng toàn bộ trọng số gốc của mô hình và thêm vào các module nhỏ có thể huấn luyện mới.
- Adapters: Phương pháp cộng thêm sớm nhất. Các module mạng nơ-ron nhỏ với kiến trúc «cổ chai» được chèn vào giữa các lớp của transformer. Chỉ có trọng số của các adapter này được huấn luyện[4].
- Các phương pháp dựa trên «soft» prompt (Soft Prompts): Thay vì thay đổi trọng số mô hình, các phương pháp này thêm vào đầu vào các vector có thể huấn luyện («token ảo»), giúp định hướng hành vi của mô hình. Các biến thể chính:
- Prompt Tuning: Chỉ thêm các vector có thể huấn luyện vào embedding đầu vào.
- Prefix-Tuning: Thêm các tiền tố vector có thể huấn luyện vào trạng thái ẩn ở mỗi lớp của cơ chế attention, cho phép kiểm soát tinh tế hơn[5].
- P-Tuning v2: Tổng quát hóa ý tưởng Prefix-Tuning, áp dụng các prompt có thể huấn luyện ở tất cả các lớp của mô hình, đạt hiệu suất tương đương với tinh chỉnh toàn bộ[6].
Phương pháp chọn lọc
Các phương pháp này không thêm tham số mới mà chọn và tinh chỉnh một tập con nhỏ các tham số đã tồn tại.
- BitFit: Phương pháp cực kỳ tiết kiệm, chỉ tinh chỉnh các vector độ lệch (bias terms) và các tham số của lớp chuẩn hóa, cập nhật dưới 0,1% tổng số tham số.
- Tỉa vi sai (Diff Pruning): Sử dụng mặt nạ có thể huấn luyện để xác định động các trọng số cần cập nhật trong quá trình huấn luyện[3].
Phương pháp tái tham số hóa
Danh mục này dựa trên giả thuyết rằng các thay đổi trọng số khi thích ứng mô hình có «hạng nội tại» thấp. Thay vì cập nhật toàn bộ ma trận trọng số, các phương pháp này cập nhật biểu diễn hạng thấp của chúng.
- LoRA (Low-Rank Adaptation): Phương pháp PEFT phổ biến nhất hiện nay. Nó giả định rằng việc cập nhật ma trận trọng số `ΔW` có thể được xấp xỉ bằng tích của hai ma trận hạng thấp: `ΔW = BA`. Trong quá trình tinh chỉnh, ma trận gốc `W` được đóng băng, còn `A` và `B` được huấn luyện[7].
- QLoRA: Kết hợp LoRA với các kỹ thuật lượng hóa (quantization) để giảm thêm yêu cầu bộ nhớ, cho phép tinh chỉnh các mô hình với 65 tỷ tham số trên một GPU tiêu dùng[8].
So sánh hiệu suất và tài nguyên
Các phương pháp PEFT cho phép đạt được hiệu suất tương đương với tinh chỉnh toàn bộ trong khi giảm triệt để chi phí.
| Mô hình | Phương pháp | Tham số được huấn luyện (%) | Kết quả trên benchmark (Avg. Accuracy) | Nguồn |
|---|---|---|---|---|
| BERT-Large | Tinh chỉnh toàn bộ | 100% | 80.4 (GLUE) | [4] |
| BERT-Large | Adapters | 3.6% | 80.0 (GLUE) | [4] |
| LLaMA-7B | LoRA | 0.83% | 74.7% | [9] |
| LLaMA-7B | DoRA (biến thể LoRA) | 0.84% | 78.1% | [9] |
Các lợi thế chính của PEFT trong tiết kiệm tài nguyên:
- Bộ nhớ GPU (VRAM): Đối với mô hình LLaMA 65B, tinh chỉnh toàn bộ về lý thuyết đòi hỏi >780 GB VRAM, trong khi QLoRA cho phép tinh chỉnh mô hình trên GPU với <48 GB VRAM[8].
- Dung lượng lưu trữ: Các checkpoint được lưu sau PEFT chỉ chiếm megabyte, không phải gigabyte. Điều này cho phép lưu trữ hàng trăm «adapter» cho các tác vụ khác nhau trong dung lượng mà một mô hình được tinh chỉnh toàn bộ sẽ chiếm.
Lĩnh vực ứng dụng
Ban đầu được phát triển cho NLP, các phương pháp PEFT đã được thích ứng thành công cho một phạm vi rộng các tác vụ:
- Thị giác máy tính (CV) và mô hình đa phương thức (VLM): Thích ứng các mô hình như Vision Transformer (ViT) và Segment Anything Model (SAM) cho các tác vụ phân đoạn hình ảnh, kể cả trong y sinh học.
- Sinh mã và phân tích mã: Tinh chỉnh LLM theo đặc thù của các dự án phần mềm cụ thể, API nội bộ hoặc cơ sở mã nguồn.
- Mô hình sinh: «Phong cách hóa» các mô hình tạo sinh hình ảnh như Stable Diffusion bằng các LoRA adapter (kỹ thuật Dreambooth).
- Tổng hợp giọng nói: Thích ứng các mô hình để tạo ra giọng nói với giọng điệu, ngữ điệu hoặc sắc thái cảm xúc cụ thể.
Liên kết
- Kho lưu trữ thư viện PEFT trên GitHub
- Tài liệu chính thức của thư viện PEFT từ Hugging Face
Tài liệu tham khảo
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
- Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
- Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
- Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
- Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
- Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.
Ghi chú
- ↑ «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
- ↑ 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
- ↑ 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
- ↑ 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [4]
- ↑ Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
- ↑ Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
- ↑ Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
- ↑ 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
- ↑ 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]