Appearance
Low-Rank Adaptation——低秩自适应,用小矩阵分解替代大权重矩阵,实现参数高效微调或低存储推理。
为什么需要 LoRA
全量微调需要更新模型所有参数,284B 参数的模型微调成本极高。LoRA 的思路:冻结原始权重,只训练两个小矩阵的乘积来近似权重更新。
在 ds4.c 中,LoRA 不仅用于微调,还被用于 QKV 投影——将高维投影分解为低秩形式,减少推理时的矩阵运算量。
核心原理
标准线性层: y = x × W W 是 [4096 × 32768] = 134M 参数
LoRA 分解: y = x × (A × B) A 是 [4096 × r], B 是 [r × 32768]
r << min(4096, 32768) 时参数量大幅减少
例: r = 512 → 4096×512 + 512×32768 = 2M + 16.7M = 18.7M (vs 134M)在 ds4.c 中的实现
QKV 投影使用 LoRA 分解:W_qkv ≈ A_qkv × B_qkv,将 4096→32768 的直接投影分解为两步小矩阵乘法。权重以低秩形式存储在 GGUF 文件中,推理时逐步还原。
相关概念
- moe — MoE 专家也使用低秩结构优化
- quantization — LoRA 矩阵和量化结合进一步减少存储
- gguf — LoRA 权重作为独立张量存储在 GGUF 中