Skip to content

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 中

详见 Part 3 — 公共 API 与权重结构