What is LoRA?
參數高效微調技術,將小型可訓練低秩矩陣注入凍結的預訓練模型。
Definition
LoRA(大型語言模型的低秩適配)是 Hu 等人在 2021 年提出的微調方法,完全避免修改原始模型權重。它凍結預訓練的權重矩陣,並在每個 Transformer 層的注意力投射中注入成對的小型可訓練低秩分解矩陣(通常稱為 A 和 B)。在前向傳遞期間,層的輸出變為原始凍結權重乘以輸入加上低秩適配器貢獻之和。由於這些適配器矩陣的秩(r)遠小於原始維度,可訓練參數的數量降低了數個數量級——通常從數十億降至僅數百萬。
這種方法有兩個深遠的實際好處。首先,它使微調在消費級和中階 GPU 上變得可行:一個需要 28 GB VRAM 進行全量微調的 7B 參數模型,結合 4 位元量化(QLoRA)時,用 LoRA 微調只需 6 GB。其次,適配器權重很小——通常 10 到 100 MB——意味著組織可以為單一基礎模型維護數十個特定任務的適配器,而不會成倍增加儲存成本。
LoRA 已成為開源 LLM 生態系統中占主 導地位的微調策略。Hugging Face PEFT、Axolotl、LLaMA-Factory 以及幾乎所有主要訓練框架都支援它。QLoRA(量化基礎權重)、DoRA(分解權重更新)和 rsLoRA(秩穩定化縮放)等變體持續推動效率和品質的前沿。
Why It Matters
在 LoRA 之前,微調大型語言模型意味著更新每個參數——這個過程需要多個高階 GPU,並為每個任務產生一份完整大小的模型副本。這對大多數組織在經濟上和營運上都是不可行的。LoRA 透過將硬體需求降低 4-10 倍、儲存需求降低 100 倍或更多來使微調民主化。它還引入了可交換適配器的概念:單一基礎模型可以透過在推論時載入不同的 LoRA 適配器來服務多個使用場景,實現多租戶部署,讓每個客戶獲得個性化模型而無需複製完整的權重。
How It Works
對於原始模型中維度為 d x k 的給定權重矩陣 W,LoRA 引入兩個矩陣:維度為 d x r 的 A 和維度為 r x k 的 B,其中 r(秩)遠小於 d 和 k——通常為 8、16 或 64。在訓練期間,W 被凍結,只更新 A 和 B。修改後的前向傳遞計算:output = W·x + (A·B)·x · (α/r),其中 α 是控制適配器影響力的縮放因子。在推論時,適配器貢獻 A·B 可以合併到 W 中,增加零延遲。訓練目標通常是每個注意力層中的查詢和值投射矩陣(q_proj、v_proj),儘管擴展到額外的模組(k_proj、o_proj、gate、up、down 投射)可以在最小成本下提高品質。
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM
# Load base model
model = AutoModelForCausalLM.from_pretrained(
"mistralai/Mistral-7B-v0.3",
load_in_4bit=True, # QLoRA: 4-bit quantized base
)
# Configure LoRA adapter
lora_config = LoraConfig(
r=16, # Rank of the low-rank matrices
lora_alpha=32, # Scaling factor (alpha / r)
target_modules=[
"q_proj", "v_proj", # Attention projections
"k_proj", "o_proj", # Optional: more modules = better quality
],
lora_dropout=0.05, # Dropout for regularization
bias="none",
task_type="CAUSAL_LM",
)
# Apply LoRA — only adapter params are trainable
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# Output: trainable params: 13,631,488 || all params: 7,248,023,552 || 0.19%Example Use Case
一家法律科技公司需要三個任務的專業化模型:合約條款提取、法規合規問答和判例法摘要。他們在單一 Llama 2 13B 基礎上微調了三個各 50 MB 的 LoRA 適配器,而不是微調和託管三個單獨的 13B 參數模型(需要約 78 GB 儲存空間和三個 GPU 配額)。在推論時,根據傳入請求的任務類型載入適當的適配器。額外儲存總計:150 MB。GPU 配額總計:一個實例服務所有三個任務。
Key Takeaways
- LoRA 凍結原始模型並訓練小型低秩適配器矩陣,將可訓練參數減少 99% 以上。
- 結合量化(QLoRA),它使得在單一消費級 GPU 上微調 7B 以上模型成為可能。
- 適配器權重通常為 10-100 MB,允許每個基礎模型有多個特定任務的適配器。
- 適配器可以在推論時合併到基礎權重中,實現零額外延遲。
- LoRA 受到所有主要微調框架的支援,已成為業界標準方法。
How Ertas Helps
LoRA 是 Ertas Studio 中的預設微調方法。當使用者配置訓練工作時,Studio 會自動為秩、alpha 和目標模組設定 LoRA(或對較大模型使用 QLoRA)的合理預設值——同時仍為想要完全控制的進階使用者開放這些參數。產生的適配器權重高效地儲存在 Ertas Hub 中,可以進行版本管理、共享和堆疊。在部署時,Ertas Cloud 載入基礎模型一次並按請求熱交換 LoRA 適配器,實現多租戶推論而無需複製模型權重。
Related Resources
Adapter
Base Model
Epoch
Fine-Tuning
GGUF
Inference
JSONL
Learning Rate
Model Distillation
Overfitting
QLoRA
Introducing Ertas Studio: A Visual Canvas for Fine-Tuning AI Models
Getting Started with Ertas: Fine-Tune and Deploy Custom AI Models
How to Fine-Tune an LLM: The Complete 2026 Guide
Fine-Tuning Llama 3: A Practical Guide for Your Use Case
Fine-Tune AI Models Without Writing Code
Fine-Tuning vs RAG: When to Use Each (and When to Combine Them)
Model Distillation with LoRA: Training Smaller Models from Frontier Outputs
Fine-Tuning Llama 3.3 and Qwen 2.5 with QLoRA: Benchmark Comparison
Hugging Face
llama.cpp
Ollama
Text Generation Web UI
Unsloth
Ertas for Healthcare
Ertas for SaaS Product Teams
Ertas for Customer Support
Ertas for Legal
Ertas for Finance
Ertas for Code Generation
Ertas for ML Engineers & Fine-Tuning Practitioners
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.