1. 可训练参数数量大幅减少

  • 纯 BERT 微调:需要训练 BERT 的全部参数(例如bert-base约 1.1 亿参数)+ 分类层 / CRF 层参数。
  • LoRA 微调:仅训练 LoRA 适配器参数(通常仅占原参数的 0.1%-1%,例如r=8时约 10 万 - 100 万参数)+ 分类层 / CRF 层参数。

参数数量减少意味着:

  • 反向传播时计算梯度的开销大幅降低(梯度计算与参数数量正相关)。
  • 内存占用减少,可支持更大的 batch size(进一步加速训练)。

2. 计算效率提升

LoRA 的核心是在原模型的注意力层(如 query/value)中插入低秩矩阵,前向传播时的额外计算量极小(可忽略不计),而反向传播仅需更新低秩矩阵的参数,避免了对整个 BERT 模型的参数更新。

相比之下,纯 BERT 微调需要对所有注意力层、隐藏层的参数进行更新,计算量巨大。

3. 实际训练速度提升幅度

具体提速效果取决于模型大小和 LoRA 配置(如r的取值),通常:

  • 对于bert-base级别的模型,LoRA 微调可提速 3-10 倍(batch size 相同的情况下)。
  • 对于更大的模型(如bert-large),提速会更明显(可能 10 倍以上)。

注意:推理速度基本不变

LoRA 仅影响训练阶段的速度,推理(预测)时可以将 LoRA 参数与原模型参数合并(通过peftmerge_and_unload方法),此时推理速度与纯 BERT 完全一致,不会有额外开销。

综上,LoRA 微调在保持模型性能接近纯微调的前提下,能显著加快训练速度,尤其适合资源有限的场景。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐