Các thuật toán O-LoRA, N-LoRA, MoLA, SLIM nền tảng regularization constraint và triển khai thực tế (1) 1
---
updated:
- 2026-06-27T15:01:28+07:00
Các thuật toán O-LoRA, N-LoRA, MoLA, SLIM: nền tảng regularization/constraint và triển khai thực tế
1. Bối cảnh chung: LoRA, continual learning và regularization
Fine-tuning LLM bằng LoRA cho phép cập nhật mô hình trong một không gian hạng thấp, tiết kiệm tham số và VRAM, nhưng khi học nhiều task/domain tuần tự thì vẫn dễ gặp catastrophic forgetting. Điều này thúc đẩy một thế hệ phương pháp mới như O-LoRA, N-LoRA, MoLA, SLIM, sử dụng regularizer và constraint để kiểm soát cách adapter học và tương tác giữa các nhiệm vụ.[^1][^2][^3][^4][^5]
Trong máy học, regularization là kỹ thuật thêm hàm phạt vào loss để kiểm soát độ phức tạp mô hình, giảm overfitting và cải thiện generalization.[^6][^7][^8] Về toán, thay vì tối ưu
2. Thiết lập toán học chung cho LoRA trong CL
2.1 LoRA cơ bản
Với một lớp tuyến tính/MLP có trọng số gốc
ở đây
với
Trong continual learning, ta có một chuỗi task
2.2 Regularizer và constraint trong ngữ cảnh LoRA
- Regularizer: thêm vào loss một term như
, , , L1 trên adapter..., để ép tham số adapter thoả các tính chất mong muốn (orthogonal, non-collision, decorrelated...).[^3][^4][^5][^2] - Constraint được enforced: thay vì chỉ "mong" subspace mới tự orthogonal hay ít collision, ta thiết kế loss/optimizer sao cho nghiệm tối ưu phải gần thoả các điều kiện đó, ví dụ bằng việc thêm penalty lớn nếu inner-product giữa subspace cũ/mới vượt ngưỡng, hoặc nếu collision cao.[^5][^11][^2]
Các thuật toán O-LoRA, N-LoRA, MoLA, SLIM chính là các thiết kế cụ thể của
3. O-LoRA: Orthogonal LoRA cho continual learning
3.1 Ý tưởng thuật toán
O-LoRA (Orthogonal Low-Rank Adaptation) được đề xuất cho continual learning trong LLM: mỗi task được học trong một subspace hạng thấp khác nhau và các subspace này được ép orthogonal để giảm interference. Ý tưởng:[^2]
- Cho mỗi task
, ta gán một adapter LoRA với subspace (span bởi cột của hoặc hàng của ). - Khi học task mới
, ta thêm adapter mới và dùng regularizer để ép gần orthogonal với . Điều này giảm gradient interference và catastrophic forgetting.[^2]
3.2 Hàm mất mát và regularizer orthogonality
Gọi
Một dạng điển hình của
với
3.3 Quy trình train O-LoRA theo từng task
Một quy trình triển khai điển hình:
- Khởi tạo: freeze base LLM (trọng số
), chưa có adapter nào. - Task
: - Tạo adapter LoRA
( ) với init chuẩn (Gaussian nhỏ, hoặc orthonormal nếu kết hợp OLoRA).[^12][^13] - Train
bằng loss (chưa có regularizer vì chưa có subspace cũ).
- Tạo adapter LoRA
- Task
( ): - Tạo adapter mới
. Giữ frozen toàn bộ .[^2] - Với mỗi batch
của task , compute loss . - Tính
từ và từ ( ), tính theo (4). - Tối ưu
w.r.t. bằng SGD/AdamW.
- Tạo adapter mới
- Inference: tuỳ thiết kế, có thể:
- Chọn adapter
theo task ID, - Hoặc dùng một rule cho mixture các adapter (ít phổ biến hơn trong O-LoRA gốc).
- Chọn adapter
Các tác giả cho thấy cách này cho phép LLM học thêm task mới mà vẫn giữ generalization trên task cũ tốt hơn so với các CL baseline, với overhead tham số rất nhỏ.[^2]
3.4 Khác biệt so với LoRA thường
- LoRA thường: mỗi downstream task share cùng adapter hoặc mỗi task có adapter riêng nhưng không có ràng buộc giữa subspace; gradient của task mới có thể đè knowledge cũ.[^1][^2]
- O-LoRA: thêm ràng buộc orthogonality, enforced bằng regularizer (3)(4), giảm overlap giữa subspace của nhiệm vụ, từ đó giảm forgetting.[^2]
Trong bài toán legal VN, bạn có thể coi mỗi domain pháp luật (Luật chung, Lao động, Thuế, Hình sự...) là một task, gán mỗi domain một LoRA subspace "riêng" và dùng regularizer orthogonality để tránh domain mới phá domain cũ.
4. N-LoRA: Non-collision LoRA
4.1 Ý tưởng: collision quan trọng hơn orthogonality
Paper COLING 2025 “Is Parameter Collision Hindering Continual Learning in LLMs?” chỉ ra rằng việc chỉ tập trung vào orthogonality như O-LoRA không đủ; parameter collision – tham số cho các task khác nhau bị trùng hoặc đè nhau – mới là nguyên nhân cốt lõi của forgetting. N-LoRA (Non-collision LoRA) đề xuất xây dựng các non-collision parameter subspaces cho LoRA, giúp preserve knowledge nhiều domain tốt hơn.[^14][^5]
4.2 Định nghĩa collision và non-collision
Trực giác:
- Collision: cùng một tham số (hoặc chiều latent) trong adapter bị dùng mạnh cho nhiều task khác nhau, khiến update cho task mới phá hỏng tác động đã tốt cho task cũ.[^5][^14]
- Non-collision: các task sử dụng tham số adapter khác nhau nhiều hơn (sparse, ít overlap), nên update cho task mới ít ảnh hưởng đến task cũ.[^5]
Paper phân tích rằng non-collision parameter subspaces tạo ra một dạng orthogonality task-level "đủ tốt", và quan trọng hơn orthogonality vector-level thuần tuý.[^5]
4.3 Hàm phạt collision và loss N-LoRA
N-LoRA xây dựng một collision regularizer
Dạng cụ thể của
- Xây dựng một metric trên các tham số adapter (ví dụ nuclear norm, overlap giữa support của các vector, hoặc các chỉ số collision được tác giả định nghĩa).
- Penalize các cấu hình tham số nơi adapter của nhiều task share cùng "hướng mạnh" hoặc cùng vị trí quan trọng, khuyến khích sparsity và non-overlap.[^14][^5]
Nhờ đó, gradient step cho task mới ưu tiên sử dụng các tham số "chưa bị chiếm", giữ knowledge cũ trong các vùng non-collision.
4.4 Quy trình train N-LoRA
Quy trình tương tự O-LoRA, nhưng regularizer thay từ orthogonality sang collision:
- Freeze base LLM.
- Với mỗi task
: - Tạo adapter LoRA
. - Trong training, với mỗi batch: tính loss
trên task . - Tính
dựa trên các adapter . - Tối ưu
với loss (5).
- Tạo adapter LoRA
- Inference: chọn adapter theo task/domain hoặc dùng mixture.
Thực nghiệm cho thấy N-LoRA đạt +2.9% accuracy, 4.1× task orthogonality và 58.1× giảm collision rate so với O-LoRA trên nhiều benchmark CL. Điều này củng cố luận điểm: giảm collision là yếu tố then chốt cho CL với LoRA.[^16][^5]
4.5 So sánh O-LoRA vs N-LoRA
- O-LoRA: tập trung vào orthogonality vector-level giữa subspace các task; giảm interference nhưng chưa tối ưu collision parameter.[^5][^2]
- N-LoRA: coi non-collision parameters là quan trọng hơn, xây dựng regularizer trực tiếp trên collision metric; đạt kết quả tốt hơn về forgetting và tổng performance.[^14][^5]
Ở legal VN, nếu bạn muốn đo "quên" đúng như định nghĩa performance trên QA/NLI/syllogism legal giảm khi thêm domain mới, N-LoRA là một cơ chế tự nhiên để thiết kế loss bảo toàn parameter subspace cho domain cũ.
5. MoLA: Mixture of Low-rank Adapters
5.1 Kiến trúc tổng quát
MoLA (Mixture of Low-rank Adapters) dùng nhiều adapter LoRA song song gắn vào một backbone share, nhằm giải quyết training heterogeneous data (multi-task, multi-domain) với một mô hình unified. Khác với LoRA thường (fine-tune adapter trên mô hình pretrain fixed), MoLA train backbone và adapter end-to-end, nên vừa là PEFT vừa là kiến trúc MTL cho dữ liệu dị heterogeneous.[^3]
Trên mỗi lớp (ví dụ conv layer), MoLA gắn
5.2 Hai biến thể: MoLA-Grad và MoLA-Router
Paper đề xuất hai biến thể:[^3]
- MoLA-Grad (target-aware): có task identifier rõ ràng. Mỗi task được gán một adapter cụ thể, gradients cho task đó chỉ flow qua adapter tương ứng → explicit gradient separation.[^3]
- MoLA-Router (target-agnostic): không dùng task ID ở inference. Một router network học mixing weights
dựa trên input, với một Task-wise Decorrelation (TwD) loss để ép router phân bổ adapter theo task một cách có tổ chức.[^3]
5.3 Loss TwD và gradient separation implicit
TwD loss được thiết kế để:[^3]
- Làm contribution weights
của các sample cùng task giống nhau hơn. - Làm
của các sample khác task khác nhau hơn.
Trực giác: TwD phạt khi router phân bổ mixing weights của các task khác nhau quá giống, khiến gradient cho các task bị lẫn lộn. Bằng cách này, MoLA-Router đạt implicit gradient separation: mỗi task có combination adapter riêng, dù không explicit gán adapter theo ID.[^3]
Total loss trong MoLA gồm:
với
5.4 Quy trình triển khai MoLA
Bước triển khai điển hình:[^3]
- Chọn backbone: ResNet, Transformer, hoặc LLM.
- Chèn MoLA module vào một số layer (không cần mọi layer).
- Chọn mode:
- MoLA-Grad: dùng task ID, gán mỗi task một adapter, explicit gradient separation.
- MoLA-Router: train một router chung cho tất cả MoLA layer, kết hợp với TwD loss.
- Train end-to-end: backbone + adapter + router.
- Optimizer: paper dùng AdamW, SGD, Adam tuỳ dataset.
- Batch size 128 trong thực nghiệm trên vision.[^3]
- Inference:
- MoLA-Grad: dùng task ID để chọn adapter.
- MoLA-Router: router tự sinh mixing weights
cho mỗi input.
5.5 Liên hệ với LoRA
- LoRA: PEFT trên mô hình pretrain fixed; adapter chủ yếu cho một downstream task.[^1][^3]
- MoLA: multiple LoRA experts + router, train cùng backbone; thiết kế cho multi-task/multi-domain heterogeneous training, với gradient separation (explicit hoặc implicit) để giảm conflict.[^3]
Trong legal VN, MoLA cho phép bạn gắn nhiều LoRA adapter legal khác nhau (NLI luật, QA án lệ, syllogism, counterfactual QA...) trên cùng backbone, và dùng router để chọn/mix adapter theo input hoặc meta-data, thay vì merge mọi knowledge vào một adapter duy nhất.
6. SLIM: Soft LoRA + Identity Mixture
6.1 Mục tiêu: learn more, forget less
SLIM (“Let LLM Learn More and Forget Less with Soft LoRA and Identity Mixture”) là một MoE PEFT framework mới, nhằm đồng thời tăng khả năng học downstream và giảm catastrophic forgetting của general capability. Nó kết hợp:[^17][^4]
- LoRA adapters như các expert học downstream.
- Các identity layers làm expert "đường cao tốc" để bypass LoRA khi cần giữ general capability.
- Một router + cơ chế weight yielding với sliding clustering để quyết định routing dựa trên phân bố input.
- Một cơ chế dynamic merging để convert mixing LoRA thành model merging formulation, giúp forgetting mitigation không cần data replay.[^18][^4]
6.2 Kiến trúc MoE với LoRA + identity
Ở mỗi layer được chọn, SLIM có tập expert
- Một số LoRA adapters
. - Một số identity layers
(ở level weight; output ).[^4]
Router
Nếu
6.3 Weight yielding với sliding clustering
SLIM giả thiết rằng phân bố input downstream là mixture of Gaussians; dùng sliding clustering để ước lượng cluster center và variance cho downstream distribution. Quy trình:[^4]
- Khởi tạo tập cluster center
. - Với mỗi input
, tính khoảng cách đến mỗi cluster và gán vào cluster gần nhất. - Cập nhật center và variance theo batch (trong training).
- Tại inference, distance
từ đến cluster quyết định việc yielding routing weight: - Nếu
nhỏ (input giống downstream), tăng trọng số cho LoRA experts. - Nếu
lớn (input out-of-domain), tăng trọng số cho identity layers.[^4]
- Nếu
Bằng cách này, router được "chỉnh" để đưa downstream-like samples vào LoRA, còn out-of-domain/generic samples vào identity, giữ general capability của LLM tốt hơn.[^4]
6.4 Dynamic merging LoRA thành model merging
Tác giả dựa trên DARE (một framework model merging) để chuyển mixing LoRA thành dynamic merging giữa base model và các LoRA adapters:[^4]
- LoRA được coi như "task vector"
. - Merging weights được mask một phần (theo random mask) để tránh override toàn bộ base.
- Dynamic merging sử dụng mask trên ma trận hạng thấp (ở level hàng/cột của
) như một xấp xỉ của random sampling, giúp thực thi nhanh.[^4]
Fast implementation: thay vì tính
6.5 Quy trình train SLIM
Theo paper:[^4]
- Base model: dùng OpenChat-8B (mở rộng Llama3-8B-Instruct).
- Chèn SLIM experts (LoRA + identity) vào một số layer.
- Khởi tạo cluster cho sliding clustering; router là vài residual block + gate.
- Train PEFT:
- Setting SDS (single downstream dataset) hoặc MDS (multi-dataset).
- Rank LoRA cho LoRA/DoRA set high (128) để fair; LoRAMoE, MixLoRA, MoLA rank=16, Nexperts=8; SLIM Nexperts=10 với K=2 identity layers.[^4]
- 2 epoch, batch size 16 trên A100 80GB.
- Loss: task loss trên downstream + các term cho clustering và merging (không có data replay).[^4]
Thực nghiệm cho thấy SLIM đạt chất lượng downstream so sánh được với SOTA PEFT, đồng thời giữ general tasks (MMLU, GSM8K, PIQA) tốt hơn, giảm catastrophic forgetting đáng kể so với LoRA, DoRA, MixLoRA, LoRAMoE, MoLA.[^17][^4]
6.6 Liên hệ với regularizer/constraint
SLIM không viết loss dưới dạng một
- Clustering + weight yielding chính là constraint mềm: xử lý các điểm out-of-domain bằng identity expert.
- Dynamic merging với mask là một dạng regularization trên task vectors (LoRA), giới hạn mức độ chỉnh sửa base model.
Các cơ chế này được enforced qua thiết kế loss và router, khiến mô hình phải học theo chính sách “learn more, forget less” chứ không đơn thuần minimize loss downstream.[^4]
7. Đặt các thuật toán cạnh nhau và gợi ý triển khai cho legal VN
7.1 Bảng so sánh ngắn
| Thuật toán | Ý tưởng chính | Loại regularizer/constraint | Mục tiêu chính |
|---|---|---|---|
| O-LoRA | Mỗi task có LoRA subspace hạng thấp orthogonal | Phạt |
Giảm forgetting bằng orthogonal subspace.[^2] |
| N-LoRA | Giảm parameter collision giữa task, coi non-collision quan trọng hơn orthogonality | Regularizer collision (giảm overlap tham số) | Giữ knowledge nhiều domain tốt hơn, outperform O-LoRA.[^5][^14] |
| MoLA | Mixture of LoRA adapters + shared backbone, train end-to-end | TwD loss decorrelate mixing weights theo task | Giảm conflict trong heterogeneous data training, multi-task/multi-domain.[^3] |
| SLIM | MoE với LoRA + identity, weight yielding + dynamic merging | Clustering + routing constraint + mask merging | PEFT cho LLM vừa học downstream tốt vừa giảm forgetting general tasks.[^4] |
7.2 Gợi ý triển khai “Continual Legal LoRA”
Cho bài toán legal VN (QA/NLI/syllogism) với định nghĩa "quên" = performance trên domain A giảm sau khi học domain B, có thể dựng pipeline nghiên cứu như sau:
- Baseline LoRA thường: student legal SLM với một adapter duy nhất cho tất cả domain, đo forgetting rõ ràng.
- O-LoRA / N-LoRA-style:
- Mỗi domain pháp luật (Luật chung, Lao động, Thuế...) là một task, mỗi task có LoRA adapter riêng.
- Thêm regularizer orthogonality (O-LoRA) hoặc collision (N-LoRA) vào loss khi train từng domain mới.
- Đo đường cong accuracy trên QA/NLI/syllogism của domain cũ khi thêm domain mới.
- MoLA-style:
- Gắn nhiều LoRA adapter legal vào backbone; dùng MoLA-Grad nếu bạn biết domain của câu hỏi (metadata) hoặc MoLA-Router nếu muốn target-agnostic.
- Sử dụng TwD loss để router học phân bổ adapter theo domain/task legal một cách rõ ràng.
- SLIM-style:
- Thêm identity expert bên cạnh các LoRA legal adapter trong vài layer trọng yếu.
- Dùng clustering trên embedding của câu hỏi để phân biệt câu hỏi "generic world" vs "chuyên legal", route tương ứng LoRA vs identity.
- Dùng dynamic merging để tránh việc LoRA override hoàn toàn base model.
Các thuật toán này đều dựa trên cùng nền tảng regularizer/constraint để enforced behaviour mong muốn: orthogonality, non-collision, gradient separation, soft routing và mixture với identity. Điều này cho phép bạn thiết kế một khung nghiên cứu chính thống cho "Legal Continual LoRA" với giải thích rõ ràng ở mức loss function và mechanics, phù hợp để viết phần phương pháp trong luận văn hoặc paper.
References
-
What are the LoRA hyperparameters (r, alpha) - Avichala - Explore What are the LoRA hyperparameters (r, alpha) with Avichala — a global Generative AI learning...
-
Orthogonal Subspace Learning for Language Model Continual ... - In this paper, we propose orthogonal low-rank adaptation (O-LoRA), a simple and efficient approach f...
-
Exploring Training on Heterogeneous Data with Mixture of Low-rank Adapters
-
[PDF] Let LLM Learn More and Forget Less with Soft LoRA and Identity ... - In this work, we propose a novel MoE architec- ture with Soft LoRA and Identity Mixture (SLIM), ... ...
-
Is Parameter Collision Hindering Continual Learning in LLMs? - Shuo Yang, Kun-Peng Ning, Yu-Yang Liu, Jia-Yu Yao, Yong-Hong Tian, Yi-Bing Song, Li Yuan. Proceeding...
-
What Is Regularization? | IBM - Regularization is a set of methods that correct for multicollinearity and overfitting in predictive ...
-
What is Regularization in Machine Learning? - Explore how regularization prevents overfitting in machine learning. Learn to implement dropout and ...
-
Regularization - Regularization is a fundamental technique in computer science, particularly within machine learning ...
-
Overfitting: L2 regularization | Machine Learning - Learn how the L2 regularization metric is calculated and how to set a regularization rate to minimiz...
-
LoRA Scaling Parameter Alpha - ApX Machine Learning - The scaling parameter, denoted as α \alpha α, is an important hyperparameter in Low-Rank Adaptation ...
-
Integration between constrained optimization and deep networks - Integration between constrained optimization and deep networks has become of significant interest to...
-
Orthonormal Low-Rank Adaptation of Large Language Models - arXiv - In this paper, we present OLoRA, an enhancement to the LoRA method that leverages orthonormal matrix...
-
[Literature Review] OLoRA: Orthonormal Low-Rank Adaptation of ... - This paper introduces OLoRA (Orthonormal Low-Rank Adaptation), a new method for efficiently fine-tun...
-
Non-Collision Low-Rank Adaptation (N-LoRA) for Continual Learning in Large Language Models - Preventing parameter collisions, rather than solely focusing on orthogonality, is crucial for effect...
-
PKU-YuanGroup/N-LoRA: 【COLING 2025 】Code for the ... - GitHub - 【COLING 2025】Is Parameter Collision Hindering Continual Learning in LLMs? Code for the N-LoRA method...
-
#coling2025 | yuyang liu - LinkedIn - 🎉 Excited to share that our paper, “Is Parameter Collision Hindering Continual Learning in LLMs?”, h...
-
SLIM: Let LLM Learn More and Forget Less with Soft LoRA ... - arXiv