在LoRA(Low-Rank Adaptation)中,参数A和B的初始化策略是经过精心设计的,以确保模型训练的稳定性和有效性。具体来说,参数A通常被初始化为正态分布,而参数B则初始化为0。这样的设计有以下几个优点:
-
保持原始模型行为:当B初始化为0时,新增的部分对原始权重的影响为零,从而不会破坏预训练模型的初始性能。这允许模型在训练初期完全保持原始模型的行为,从而为学习差异提供了一个平滑的起步。
-
确保初始梯度的有效传播:正态分布初始化有助于在训练初期确保梯度有效传播,避免梯度消失或爆炸的问题。
-
提供足够的随机性:正态分布的随机初始化为模型提供了足够的随机性,从而能够探索更广泛的参数空间,增加了模型找到最优解的可能性。
-
平衡训练初期的影响:正态分布初始化的值一般较小,结合B初始化为零矩阵,可以在训练初期确保新增的偏置矩阵对原始预训练权重的影响为零,从而避免破坏预训练模型的初始性能。
-
避免梯度消失:如果B和A全部初始化为零矩阵,缺点是很容易导致梯度消失。
-
避免过多噪声:如果B和A全部正态分布初始化,那么在模型训练开始时,就会容易得到一个过大的偏移值,从而引起太多噪声,导致难以收敛。
综上所述,LoRA中参数A的正态分布初始化和参数B的零初始化是为了在保持预训练模型性能的同时,有效地引入新的参数进行微调,从而实现模型的高效适应新任务。