论文

READ:让新LoRA技能只读取旧技能子空间

New LoRA Skills Should Read but Never Write

模型优化模型合并

摘要

低秩适配器(LoRA)使得每个任务微调大型语言模型一次变得很便宜,但是将几个独立训练的适配器组合到一个模型中仍然很困难:合并权重空间中的更新会导致干扰,对所有任务数据进行重新训练成本高昂,并且单独适配器之间的路由放弃了单一组合模型的目标。我们将困难追溯到每种组合方法隐含地做出的两个选择。 LoRA 更新允许无限多个等效分解;当适配器单独服务时,它们之间的选择是不可见的,但它决定了适配器之间学习到的交互可以看到什么。旧技能和新技能之间的耦合同样可以指向任一方向,并且该方向决定旧技能是否继续计算它们之前计算的内容。我们引入了 READ(适配器增量的只读扩展),它修复了这两个选择:每个适配器都被重写为平衡的规范形式,准确地保留其更新,并且耦合仅在一个方向上增长,因此新技能可以读取旧技能的输入子空间,但无法写入其输出子空间。每个附加的唯一可训练对象是耦合矩阵的新技能行,并且组合的更新折叠到基本权重中,没有推理成本、路由或特定于任务的规则。我们评估了四个基准套件和两个模型系列的 READ,一次添加一项技能。在多个系列中,READ 比从相同适配器构建的最强已发布基线提高了每个套件的平均值(在 SuperGLUE 上提高了 20 多点,在域套件上提高了 7 点以上),并且几乎所有完整的添加序列都高于每个直接基线。因素坐标和耦合方向是决定组合技能能否生存的因素,而单独的适配器永远不会暴露这些因素。

READ与模型合并基线在不同任务套件中的技能追加表现和通过阈值。
图3(图注摘要):READ与模型合并基线在不同任务套件中的技能追加表现和通过阈值。