09 模型融合


目录

  • 1.模型融合是什么
  • 2.Task Vector的使用
    • 2.1 相加
    • 2.2 相减
    • 2.3 类比
  • 3.Model Merging不一定成功
    • 3.1 期望结果
    • 3.2 什么情况下不成功

1.模型融合是什么

假定有两个不同资料集对base model进行Post-training,使模型获得能力A或者能力B.如果要模型同时具备能力AB,则可以用另一资料集(混杂部分原资料)再次进行Post-training.但模型融合仅需要求出base model的参数θ\thetaθ,再求得θA\theta_AθA​和θB\theta_BθB​,θA+(θB−θ)\theta_A+(\theta_B-\theta)θA​+(θB​−θ)即为同时具备AB能力的模型,把θB−θ\theta_B-\thetaθB​−θ称作Task Vector
在这里插入图片描述

2.Task Vector的使用

2.1 相加
  • 在θA\theta_AθA​和θB\theta_BθB​来自相同的Foundation Modelθ\thetaθ的情况下,可以对Task Vectorτ\tauτ赋予需要的权重后相加,可以融合不同模型的不同技能.
    在这里插入图片描述

  • 举例:把评价输出的模型Reward Model与写代码模型融合,得到评价输出代码质量的新模型、把只能评价文字的Reward Model和有识图能力的模型融合,得到能通过识图就评价质量的新模型.
    在这里插入图片描述

2.2 相减
  • 如果我们需要让模型失去某种能力,则可以通过减去某个τ\tauτ来实现.
    在这里插入图片描述

  • 举例:利用脏话数据训练模型LLaMA-2,得到了易说脏话的模型.再算出该模型的Task Vector,把一个中文模型TAIDE—LX减去该Task Vector后,该模型甚至不懂什么是脏话.
    在这里插入图片描述

2.3 类比
  • 假定Task A相对与Task B等同于Task C对于Task D,则可以利用τB−τA\tau_B-\tau_AτB​−τA​加上τC\tau_CτC​来让模型在没有Task D资料的情况下学会Task D.
    在这里插入图片描述

  • 举例:如今语音转文字(ASR)已较为成熟,但在专业领域上还需进行单独的训练.一般情况下只有该领域的文字资料,可以用转语音模型TTS把文字转化成语音数据来训练ASR模型.
    在这里插入图片描述

  • 该方法的一个问题是:模型生成的语音与人类真实语音存在差异,我们可利用类比的方法来进行模型融合.我们需要一些其他领域的数据,数据包括文字资料、真实语音和合成语音,而我们所需的领域同样包含这三部分,这便可以看作是一个类比,所需领域的真实声音即为Task D.实验结果证明,该方法针对于不同大小的foundation model和TTS模型都有效.
    在这里插入图片描述

3.Model Merging不一定成功

3.1 期望结果
  • 我们对融合后的模型的期望结果是:同时具备多个能力,即融合了新能力后,原有的能力不发生改变(如下图第3、4个输入与输出)
    在这里插入图片描述
3.2 什么情况下不成功
  • 如果神经网络中某个参数同时处于多个任务中,显而易见会造成输出不成功.如图中神经元有三个不同方向权重值,在融合之后发生了改变,导致原有能力受到影响.
    在这里插入图片描述

  • 而成功的情况如下,需要不同的任务所需要的参数互不影响.
    在这里插入图片描述

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐