LoRA(Low-Rank Adaptation)
LoRA论文地址
LoRA微调模型结构可训参数和配置详解
一般理解就是在模型Linear层的输入增加两个权重矩阵A和B,代替原有参数矩阵W进行训练。
如果训练从左侧进行计算则需要 d × d d \times d d×d的参数量,LoRA增加两个线性层后则需要 d × r + r × d d \times r + r \times d d×r+r×d的参数量。当 r ≪ d r \ll d r≪d时,从而提高了微调的效率同时降低微调所需的资源。
高效微调大语言模型(Large Language Models, LLMs)的一种技术,主要是减少微调大型预训练模型的计算资源和时间。
主要用途:
- 使模型能够更好地理解和生成特定领域的文本,提高模型的性能。
- 通过微调少量参数来适应特定任务,而不是对整个模型进行重新训练。
技术细节:
LoRA 通过在模型的某些层中添加额外的低秩矩阵,微调过程中,原始模型的大部分参数保持不变,只有这些额外的低秩矩阵被训练。这样可以显著减少微调所需的数据量和计算资源。
小结:一种高效的大语言模型微调技术,尤其适用于资源受限的场景或者需要快速适应新任务的情况。
推理过程:
- 在推理时,原始模型的权重 ( W ) 与 LoRA 额外的矩阵 ( BA ) 相结合,形成最终的线性变换。
- 这种组合使得模型在特定任务上的表现得到提升,同时保持了原始模型的通用性。
LoRA 微调的优点:
-
节省资源:
LoRA 只需要更新少量的低秩矩阵,而不是整个模型的权重,降低了微调过程中的计算资源和存储需求。
-
易于部署:
由于只更新了一部分参数,LoRA 微调后的模型可以很容易地部署到资源受限的设备上。
-
更好的泛化能力:
LoRA 通过引入较少的新参数,有助于减少过拟合的风险,从而提高模型在新数据上的泛化能力。
-
快速适应:
LoRA 可以帮助模型更快地适应新任务,因为只需要对少量参数进行微调。