GPTDAOCN-e/acc on Nostr: 🤯 揭秘LoRA微调LLM的奥秘! 🤯 ...
🤯 揭秘LoRA微调LLM的奥秘! 🤯
最新研究表明,将矩阵A初始化为随机值、矩阵B初始化为零,通常会比相反的初始化方案表现更好。
首先,基础知识 - 使用LoRA时,微调后的权重W′可以表示为:
👉 W′ = W_0 + ∆W = W_0 + BA
其中可训练参数是低秩矩阵B和A。
在微调过程中,你可以将B初始化为零,A初始化为随机值(这是PEFT包中的默认设置),或反之亦然。
无论哪种情况,产品BA在初始化时都等于零,这使得微调从预训练模型开始。
理论上,两种初始化方案应该会产生相同的性能,并共享相同的最佳学习率。
📌 但这篇论文得出的结论是:将矩阵A初始化为随机值、B初始化为零通常会比相反的初始化方案表现更好。
------------
📌 通过在无限宽度限制下的理论分析,作者表明Init[A]允许使用更大的学习率而不会导致输出不稳定。这是因为最大稳定学习率对于Init[A]的缩放比例为Θ(n^(-1/2)),而对于Init[B]则为Θ(n^(-1)),其中n是模型宽度。
📌 Init[A]可能导致“内部不稳定”,其中LoRA特征AZ较大但LoRA输出BAZ较小。这种不稳定性能够更高效地进行特征学习。作者发现了一个稳定性-特征学习权衡,即最佳学习率平衡内部稳定性和特征学习。
📌 相比之下,Init[B]不会引起不稳定,但由于B矩阵在无限宽度限制下训练不足,导致特征学习效果不佳。
📌 在合成模型和真实世界LLM(如RoBERTa, Llama)上进行的大量实验(任务包括GLUE, WikiText-2, Flan-v2, GSM8k)验证了理论发现。Init[A]始终优于Init[B],并且Init[A]的最佳学习率通常大于Init[B]。
🔍 想了解更多?请阅读论文详细内容!
最新研究表明,将矩阵A初始化为随机值、矩阵B初始化为零,通常会比相反的初始化方案表现更好。
首先,基础知识 - 使用LoRA时,微调后的权重W′可以表示为:
👉 W′ = W_0 + ∆W = W_0 + BA
其中可训练参数是低秩矩阵B和A。
在微调过程中,你可以将B初始化为零,A初始化为随机值(这是PEFT包中的默认设置),或反之亦然。
无论哪种情况,产品BA在初始化时都等于零,这使得微调从预训练模型开始。
理论上,两种初始化方案应该会产生相同的性能,并共享相同的最佳学习率。
📌 但这篇论文得出的结论是:将矩阵A初始化为随机值、B初始化为零通常会比相反的初始化方案表现更好。
------------
📌 通过在无限宽度限制下的理论分析,作者表明Init[A]允许使用更大的学习率而不会导致输出不稳定。这是因为最大稳定学习率对于Init[A]的缩放比例为Θ(n^(-1/2)),而对于Init[B]则为Θ(n^(-1)),其中n是模型宽度。
📌 Init[A]可能导致“内部不稳定”,其中LoRA特征AZ较大但LoRA输出BAZ较小。这种不稳定性能够更高效地进行特征学习。作者发现了一个稳定性-特征学习权衡,即最佳学习率平衡内部稳定性和特征学习。
📌 相比之下,Init[B]不会引起不稳定,但由于B矩阵在无限宽度限制下训练不足,导致特征学习效果不佳。
📌 在合成模型和真实世界LLM(如RoBERTa, Llama)上进行的大量实验(任务包括GLUE, WikiText-2, Flan-v2, GSM8k)验证了理论发现。Init[A]始终优于Init[B],并且Init[A]的最佳学习率通常大于Init[B]。
🔍 想了解更多?请阅读论文详细内容!