讲一讲现在最流行的微调方法LoRA
作者: aigcrepo 来源: aigcrepo
PEFT微调方案中,目前LoRA是最受欢迎的,今天简单聊一聊。
LoRA是Low-Rank Adaptation的缩写,它并不调整深度神经网络的所有参数,而是只更新一小部分low-rank矩阵。
在常规微调中,先看下面这种图:
先看关键点:
其中W是一个非常大的矩阵,表示原始权重,ΔW就是一个在微调期间待学习的矩阵,最终相加得到最后模型的权重。
W假设是d×d,在Transfomer模型中,Q、K、V都是非常大的矩阵,这就是它运算慢的原因。
那LoRA如何解决呢?它保持原始W权重不动,然后分解出A和B是两个矩阵,那就演变成:
如果训练或推理的时候再处理input输入,通过分解最终变成:
那A和B分解出来什么样子呢,可能就是d×r和r×d,根据矩阵张量积的公式,最终就是d×d,而我们如果让r数值非常小,不就减少了计算量了吗?
这就是LoRA的基本想法,最后的结果就是如下图:
当然下面这个图我觉得更好:
最后减少了多少次运算?
ΔW假设1,000×1,000矩阵,也就是1,000,000个参数,如果LoRA中的r设置为2,A是1000×2 matrix, B是2×1000,两者一计算只有4,000个参数!
你说神奇吗!
更多AI工具,参考Github-AiBard123,国内AiBard123