LoRA 合并后模型能力下降的核心成因与稳健化策略
当多个 LoRA 适配器合并后,模型在某些任务上的表现会出现能力下降,这背后的关键在于低秩矩阵的特性。在原始权重与 LoRA 权重相加时,数值精度问题或分布偏移会导致权重叠加的非线性效应,使得模型在特定能力上失去独立微调时的优势。这种现象并非训练过程中的问题,而是由数学原理决定的,即多个微调权重在合并后难以保持原有的局部特化能力。
为了缓解这种退化,权重平均法(Model Soup)被广泛应用,其核心思想是通过多个训练阶段的权重集成,避免单一 checkpoint 可能带来的局部最优解陷阱。研究表明,权重平均能够通过平滑噪声和保留底层模型的泛化能力,显著提升模型的鲁棒性,而不仅仅是依赖单一训练结果。具体实现步骤中,关键在于采用多个 checkpoint 而不是仅依赖最优验证损失的模型快照,因为后者往往对应过拟合风险最大的状态。
实现步骤包括:
- 多 checkpoint 保存:在训练过程中定期(例如每 1000 训练步骤)保存模型快照,确保不遗漏任何潜在性能峰值。
- 动态加权平均:将采集到的多个权重按线性组合方式融合,公式为:
New_Weight = (W1 * α + W2 * β + W3 * γ) / (α + β + γ)
其中 α、β、γ 是各 checkpoint 的权重系数,可以根据验证集性能动态调整,从而避免固定权重分配带来的偏差。
在验证阶段,应使用小规模验证集评估不同权重组合的性能稳定性,选择最优的加权方案后,再使用 merge_and_unload() 方法将平均后的权重写入模型。这种方法在 PEFT 框架下的具体实现如下示例所示,其中关键步骤包括提取各个适配器的 LoRA 权重,并进行平均后替换。
权重平均法的优势在于其无需改变训练超参,通过学习在权重空间中寻找更平稳的解,特别适用于需要消除适配器延迟或追求推理效率的场景。与单一 checkpoint 合并相比,该方法能够有效降低过拟合风险,同时保持微调效果不受损失。不过,需要注意的是,如果平均权重的计算不当,可能会导致某些能力在合并后完全丧失,此时应调整权重分配策略或增加 checkpoint 数量。
