一、微调方法介绍
1.1 Lora原理
通过低秩矩阵来降低模型训练的参数量,有点‘给我一个支点,就可以撬动地球’的感觉,其中矩阵的秩(rank)就有点像这个‘支点’的意思,大致原理如下:
LoRA 的核心思想是:在不改变原始模型权重的情况下,通过引入低秩矩阵的增量来进行微调。也就是说,LoRA 不直接更新原模型的参数,而是为其特定的层添加额外的可训练参数,从而实现对模型的适应调整。一方面知识对部分层进行微调,另一方面还对需要更新的矩阵层ΔW进行了分解,进一步减少了参数量和计算量。
(1)原论文中的lora原理图,左边蓝色部分是你使用的LLM,模型中的参数是不同的矩阵,比如Qwen2.5-1.5B的模型,就是所有参数量(所有矩阵大小相加)为15亿。
(2)上图中我们简化为一个矩阵W,大小为in_shape,out_shape,可想而知,in_shapeout_shape是巨大的,如果像以往正常的微调,需要付出巨大的算力资源,以及大量的数据,如果数据量小的话,不足以微调其中的模型具体参数。
(3)lora引入低秩矩阵的想法和矩阵的积: