最近arXiv cs.LG分类里的一篇论文,给LoRA适配器合并带来了新解法READ——在SuperGLUE基准上,它比现有最强基线多涨了20个点,域基准也超了7个点。
LoRA合并的老难题
LoRA是当前微调大模型的低成本方案,每个任务训一个小适配器就行。但要把多个任务的适配器合并成一个统一模型,就遇到了三个头疼的问题:合并权重时容易互相干扰,全量数据重训成本太高,靠路由选适配器又放弃了单模型的统一目标。没人能绕开这些问题,直到READ出现。
READ的核心:只读不写,不碰老技能的核心
READ解决了两个被忽略的隐式选择。一是LoRA的更新有无数等价分解,单独用的时候没问题,但合并时,分解的选择会决定适配器之间的交互方式;二是新老技能的耦合方向,会影响老技能还能不能正常工作。针对这两点,READ做了两个关键调整:把每个适配器转成固定的平衡规范形式,保证更新的准确性;耦合方向定死——新技能只能读老适配器的输入子空间,绝对不能写老的输出子空间。这么做的好处是,每次加新技能,只需要训耦合矩阵的一行,合并后直接和基础权重融合,推理时不用路由,也不用加额外的任务规则。测了四个基准套件和两个模型家族,结果是:每个套件的平均性能都超过了同适配器下最强的公开基线,SuperGLUE超了20个点,域基准超了7个点,几乎所有完整的技能添加序列,都比直接训练的基线更好。
给大模型微调的实用提示
对做大模型落地的团队来说,READ的价值很明确。以前合并多适配器,要么效果打折扣,要么成本高得离谱,还得做复杂的路由逻辑。现在用READ,相当于给适配器合并定了个“安全规则”——不破坏老技能的原有输出,只借老技能的输入信息加新能力。既能降低多任务模型的维护成本,又不牺牲性能,还没增加推理的计算量。对产品端来说,以后给大模型加新任务,不用重做整个模型,也不用头疼路由问题,推进起来会顺畅很多。
不过,READ的“只读不写”会不会是一种限制?它的性能提升,来自于严格限制新技能的作用范围,但有没有可能,更灵活的交互方式,能让合并后的模型达到更高的上限?这大概是个没有标准答案的问题,毕竟现在的测试结果已经足够亮眼。
素材来源:arXiv (LLM/多模态新论文) · AI情报、科研前沿
查看报道原文

发表第一条评论吧