【论文通读】Cross-model Control: Improving Multiple Large Language Models in One-time Training

Cross-model Control: Improving Multiple Large Language Models in One-time Training

前言

一个很有想法的工作,直面当前低资源场景下微调迁移的困难及挑战,并采用一个小模型引导大模型的方式来实现跨模型的知识迁移。该工作中稿于NeurIPS 2024,并且获得了评审的一致好评。
Paper https://arxiv.org/pdf/2410.17599
Code https://github.com/wujwyi/CMC
From NeurIPS 2024

Abstract

LLMs之间知识的复用是一个挑战。本文提出CMC,采用一个轻量语言模型在一次训练中改进多个LLM。作者观察到微调前后不同模型的logit的偏移相似。基于此,作者整合了一个轻量级LLM,通过与冻结LLM一起训练,获得改变LLM输出的logits的能力。为了让这个模型适应不同词表,作者提出了一个新颖的token映射策略。作者对指令微调和遗忘任务进行了广泛的实验,证明了CMC的有效性。

Motivation

当前LLMs在pre-training过后,仍然面临着一些通用的优化需求,比如指令遵循,遗忘和去毒。但是:

  1. 现有的方法一次只能优化一个模型,更新的参数不能应用到不同结构的模型中。
  2. 有的方法可以实现同家族的模型共用,但是不能应用到不同词表的模型中。

这引出一个问题,当面临数据和计算资源匮乏的情况,如何复用其它模型的微调结果呢?

为此本文作者进行了实验观测,发现不同模型SFT后logits的偏移有极大相似性。这引出本文的Motivation:是否可以利用一个便携的模型来改变各种模型的输出逻辑,从而使各种模型能够通过该模型实现优化需求。

Solution

本文提出CMC,通过训练一个小语言模型提升多个LLMs。如上图所示。这个小语言模型和一个冻结的LLM一起训练,让其输出的logits能够改变LLM的logits分布。为了让该模型能够应用于不同词表的模型,本文提出了最小编辑距离前缀匹配策略,可以在token级别实现用户LLM和小语言模型词表的对齐。

CMC

在观测到不同LLM微调后logits偏移相似后,作者尝试采用一个delta模型来拟合LLM输出logits的偏移,如上图a所示。具体来说,作者将base模型冻结,训练delta模型的参数,在训练过程中,相同的prompt同时输入到两个模型中,然后将二者输出的logits相加,根据输出token的loss反传更新delta模型的参数。为了增强delta模型的适配性, 作者对LLM的logits应用LogSoftmax,以使LLM输出的logits映射到对数空间。

ζ t = M t ( x ) , ζ d = M d ( x ) ζ final  = LogSoftmax ⁡ ( ζ t ) + ζ d \begin{gathered} \zeta_t=\mathcal{M}_t(x), \quad \zeta_d=\mathcal{M}_d(x) \\ \zeta_{\text {final }}=\operatorname{LogSoftmax}\left(\zeta_t\right)+\zeta_d \end{gathered} ζt

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HERODING77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值