LoRA (Low-Rank Adaptation) 是一种用于高效微调大型语言模型(LLM)的技术。简单来说,它通过冻结预训练模型的权重,并在模型的各层中注入可训练的低秩分解矩阵,从而大大减少了下游任务的可训练参数数量。 以下是关于 LoRA 原理及其为何能减少显存占用的详细解释: --- 一、 LoRA 的基本原理 LoRA 的核心思想基于一个假设:模型在适应特定任务时,其权重的更新量($\Delta W$)具有“低秩”(Low-Rank)特性。 也就是说,虽然模型参数矩阵很大,但真正起作用的、需要改变的参数其实可以用两个很小的矩阵相乘来近似。 1. 数学表达 假设预训练模型中的某个权重矩阵为 $W0$(维度为 $d \times k$)。在全量微调中,我们需要更新整个 $W$,即 $W = W0 + \Delta W$。 在 LoRA 中,我们将 $\Delta W$ 分解为两个低秩矩阵 $A$ 和 $B$ 的乘积: $$ W = W0 + B \cdot A $$ $B$:维度为 $d \times r$ $A$:维度为 $r \times k$ $r$:秩(Rank),...