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:


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 regularizerconstraint để 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 L(θ) ta tối ưu L(θ)+λR(θ), trong đó R(θ) đo mức "xấu" của tham số (ví dụ L2 R(θ)=iwi2 hay L1 R(θ)=i|wi|).[^8][^9] Các phương pháp LoRA cải tiến ở đây đều dùng các biến thể của R(θ) hoặc constraint cứng/mềm để ép mô hình tuân thủ thêm điều kiện phụ (orthogonality, non-collision, cấu trúc mixture...), không chỉ giảm loss task.

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 W0Rdout×din, LoRA thêm một cập nhật hạng thấp ΔW=BA và giữ W0 cố định:[^1]

y=W0x+b+BAx(1)

ở đây ARr×din, BRdout×r, r là rank hạng thấp. Nhiều implementation dùng dạng scale:

y=W0x+b+αrBAx(2)

với α là hệ số scale LoRA.[^10][^1]

Trong continual learning, ta có một chuỗi task {T1,T2,,TK}. Một cách tự nhiên là gán cho mỗi task một adapter LoRA riêng ΔW(k), và khi train theo thứ tự T1T2, các adapter hoặc bị share, hoặc bị thêm/ghi đè. Bài toán chính: làm sao học Tkkhông phá hỏng performance trên T1,,Tk1.[^2][^5]

2.2 Regularizer và constraint trong ngữ cảnh LoRA

Các thuật toán O-LoRA, N-LoRA, MoLA, SLIM chính là các thiết kế cụ thể của R(θ) và cấu trúc mixture để kiểm soát continual learning với LoRA.

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]

3.2 Hàm mất mát và regularizer orthogonality

Gọi θk là tham số adapter LoRA cho task Tk. Loss cơ bản trên batch Bk của task TkLk(θk;Bk). O-LoRA thêm regularizer orthogonality Rortho(θk,θ<k):[^2]

Lk=Lk(θk;Bk)+λorthoRortho(θk,θ<k)(3)

Một dạng điển hình của Rortho là phạt inner-product giữa subspace mới và cũ, ví dụ:

Rortho=j<kUkUjF2(4)

với Uk là ma trận basis subspace của adapter k (lấy từ B(k) hoặc A(k)), F là Frobenius norm.[^2] Nếu UkUj0, subspace gần orthogonal, interference giảm.

3.3 Quy trình train O-LoRA theo từng task

Một quy trình triển khai điển hình:

  1. Khởi tạo: freeze base LLM (trọng số W0), chưa có adapter nào.
  2. Task T1:
    • Tạo adapter LoRA θ1 (A(1),B(1)) với init chuẩn (Gaussian nhỏ, hoặc orthonormal nếu kết hợp OLoRA).[^12][^13]
    • Train θ1 bằng loss L1=L1 (chưa có regularizer vì chưa có subspace cũ).
  3. Task Tk (k>1):
    • Tạo adapter mới θk. Giữ frozen toàn bộ θ1,,θk1.[^2]
    • Với mỗi batch Bk của task Tk, compute loss Lk(θk;Bk).
    • Tính Uk từ θkUj từ θj (j<k), tính Rortho theo (4).
    • Tối ưu θk w.r.t. Lk bằng SGD/AdamW.
  4. Inference: tuỳ thiết kế, có thể:
    • Chọn adapter θk 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).

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

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:

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 Rcollision đo mức chồng lấn tham số giữa LoRA cho các task:[^15][^5]

Lk=Lk(θk;Bk)+λcolRcollision(θ1,,θk)(5)

Dạng cụ thể của Rcollision trong paper khá chi tiết, nhưng ý tưởng chung là:

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:

  1. Freeze base LLM.
  2. Với mỗi task Tk:
    • Tạo adapter LoRA θk.
    • Trong training, với mỗi batch: tính loss Lk trên task Tk.
    • Tính Rcollision dựa trên các adapter θ1,,θk.
    • Tối ưu θk với loss (5).
  3. 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

Ở 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 m adapter hạng thấp song song với weight backbone, với contribution weight γi cho adapter thứ i:[^3]

y=Wx+i=1mγiBiAix(6)

W là weight backbone, Bi,Ai là yếu tố hạng thấp của adapter thứ i, γi do router hoặc task identifier quyết định.[^3]

5.2 Hai biến thể: MoLA-Grad và MoLA-Router

Paper đề xuất hai biến thể:[^3]

5.3 Loss TwD và gradient separation implicit

TwD loss được thiết kế để:[^3]

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:

LMoLA=kLk+λTwDRTwD(7)

với Lk là loss của từng task, RTwD là TwD loss (chỉ bật cho MoLA-Router).[^3]

5.4 Quy trình triển khai MoLA

Bước triển khai điển hình:[^3]

  1. Chọn backbone: ResNet, Transformer, hoặc LLM.
  2. Chèn MoLA module vào một số layer (không cần mọi layer).
  3. 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.
  4. 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]
  5. 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

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 downstreamgiảm catastrophic forgetting của general capability. Nó kết hợp:[^17][^4]

6.2 Kiến trúc MoE với LoRA + identity

Ở mỗi layer được chọn, SLIM có tập expert {fi} gồm:[^4]

Router R(x) sinh ra routing logits, sau đó weight yielding biến chúng thành routing weight w^i. Đầu ra layer là:

y=Wx+b+iw^ifi(x)(8)

Nếu w^i lớn cho LoRA, layer nghiêng về tri thức downstream; nếu w^j lớn cho identity, layer giữ hành vi base model, giảm forgetting.[^4]

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]

  1. Khởi tạo tập cluster center C={ci}.
  2. Với mỗi input x, tính khoảng cách đến mỗi cluster và gán vào cluster gần nhất.
  3. Cập nhật center và variance theo batch (trong training).
  4. Tại inference, distance d từ x đến cluster quyết định việc yielding routing weight:
    • Nếu d nhỏ (input giống downstream), tăng trọng số cho LoRA experts.
    • Nếu d lớn (input out-of-domain), tăng trọng số cho identity layers.[^4]

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]

Fast implementation: thay vì tính BA full rồi Hadamard mask, SLIM mask trực tiếp hàng/cột của B,A để xấp xỉ, giảm chi phí tính toán mà không giảm nhiều performance.[^4]

6.5 Quy trình train SLIM

Theo paper:[^4]

  1. Base model: dùng OpenChat-8B (mở rộng Llama3-8B-Instruct).
  2. Chèn SLIM experts (LoRA + identity) vào một số layer.
  3. Khởi tạo cluster cho sliding clustering; router là vài residual block + gate.
  4. 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.
  5. 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 Rortho đơn giản, nhưng bản chất vẫn là constraint/regularization:

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.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 UkUj để subspace gần orthogonal 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]

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:

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

  1. What are the LoRA hyperparameters (r, alpha) - Avichala - Explore What are the LoRA hyperparameters (r, alpha) with Avichala — a global Generative AI learning...

  2. Orthogonal Subspace Learning for Language Model Continual ... - In this paper, we propose orthogonal low-rank adaptation (O-LoRA), a simple and efficient approach f...

  3. Exploring Training on Heterogeneous Data with Mixture of Low-rank Adapters

  4. [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), ... ...

  5. 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...

  6. What Is Regularization? | IBM - Regularization is a set of methods that correct for multicollinearity and overfitting in predictive ...

  7. What is Regularization in Machine Learning? - Explore how regularization prevents overfitting in machine learning. Learn to implement dropout and ...

  8. Regularization - Regularization is a fundamental technique in computer science, particularly within machine learning ...

  9. Overfitting: L2 regularization | Machine Learning - Learn how the L2 regularization metric is calculated and how to set a regularization rate to minimiz...

  10. LoRA Scaling Parameter Alpha - ApX Machine Learning - The scaling parameter, denoted as α \alpha α, is an important hyperparameter in Low-Rank Adaptation ...

  11. Integration between constrained optimization and deep networks - Integration between constrained optimization and deep networks has become of significant interest to...

  12. 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...

  13. [Literature Review] OLoRA: Orthonormal Low-Rank Adaptation of ... - This paper introduces OLoRA (Orthonormal Low-Rank Adaptation), a new method for efficiently fine-tun...

  14. 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...

  15. 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...

  16. #coling2025 | yuyang liu - LinkedIn - 🎉 Excited to share that our paper, “Is Parameter Collision Hindering Continual Learning in LLMs?”, h...

  17. SLIM: Let LLM Learn More and Forget Less with Soft LoRA ... - arXiv

  18. SLIM: Let LLM Learn More and Forget Less with