【LLM】FuseLLM:大模型融合trick-知识融合LLMs

news2024/9/28 21:43:51

前言

传统的模型融合方法分为集成的方法和权重合并的方法,这两种方法在以往的NLP的比赛中非常常见,是一种提分手段。然而,上述两种方法都需要预训练或者微调相应的模型。在大模型场景下,对每个源模型都进行初始化成本太高,为了减少初始化源LLM的成本,使集成后的模型受益于所有源LLMs的优势。因此,本文介绍了一种知识融合的方法用来进行大模型的融合。

1 背景与概念

1.1因果语言建模(Causal Language Modeling, CLM)

因果语言建模是训练语言模型的一种目标,它旨在最小化模型预测下一个词的负对数似然。在传统的语言模型训练中,这个目标是通过比较模型生成的词概率分布与实际文本中的词(以one-hot编码表示)来实现的。CLM训练目标可以表示为:

p θ ( t i ∣ t i − 1 ) p_{\theta}(t_i|t_{i-1}) pθ(titi1)是模型参数$ \theta 下第 i 个词 下第 i 个词 下第i个词t_i 给定前一个词 给定前一个词 给定前一个词 t_{i-1} $的预测概率。

1.2 概率分布矩阵

为了更一般地看待语言模型,将序列预测转换为概率分布矩阵。对于给定的文本序列 t t t,模型会生成一个概率分布矩阵 P θ P_{\theta} Pθ,其中每一行$ P_{\theta}^i$ 代表模型对第$ i$ 个词的预测分布。这个矩阵可以看作是模型对词汇表 V V V中每个词的概率预测。

CLM的训练目标可以重写为概率分布矩阵的形式:

L CLM = − E t ∼ C D ( P θ , O t ) L_{\text{CLM}} = -\mathbb{E}_{t \sim C} D(P_{\theta}, O_t) LCLM=EtCD(Pθ,Ot)
这里 $D(\cdot, \cdot) 是两个矩阵之间的差异度量,使用 K L 散度来实现。 是两个矩阵之间的差异度量,使用KL散度来实现。 是两个矩阵之间的差异度量,使用KL散度来实现。 O $ 是一个one-hot编码的标签矩阵,其中每一行对应于文本序列中的一个词。

小结:从知识融合的角度看,不同LLMs生成的概率分布矩阵可以反映它们对文本的理解和知识。因此,通过比较和融合这些概率分布矩阵,可以提取和整合多个模型的知识,从而提升目标模型的性能。

2 LLMs融合

2.1 知识外化

不同的LLMs对同一文本生成的不同概率分布矩阵可以代表这些模型嵌入的多样化知识。FUSELLM方法通过概率建模来融合这些源LLMs的概率分布,目的是创建一个统一的LLM,这个新模型能够超越任何单一的源LLM。

2.2 训练

为了实现上述目标,FUSELLM在与预训练数据集相似的原始文本语料库上对目标LLM进行轻量级持续训练。在训练过程中,FUSELLM不仅依赖于因果语言建模(CLM)目标,还强调最小化目标LLM的概率分布与源LLMs的概率分布之间的差异。

  • 融合损失
    L F u s i o n = − E t ∼ C [ D ( Q t , P t ) ] L_{Fusion} = -\mathbb{E}_{t \sim C} [D(Qt, Pt)] LFusion=EtC[D(Qt,Pt)]

  • 整体损失

L = λ L CLM + ( 1 − λ ) L Fusion L = \lambda L_{\text{CLM}} + (1 - \lambda) L_{\text{Fusion}} L=λLCLM+(1λ)LFusion

2.3 概率分布矩阵对齐

由于不同源LLMs可能使用不同的分词器,它们生成的概率分布矩阵可能在词汇表和token上存在对齐问题。为了解决这个问题,FUSELLM采用了一种基于**最小编辑距离(MinED)**的策略来对齐这些矩阵,确保不同模型之间的分布矩阵可以正确对齐。

Token Alignment的重要性:在LLMs融合的过程中,确保不同模型生成的标记对齐是至关重要的,因为这直接影响到概率分布矩阵的对齐和后续的知识融合效果。如果标记没有正确对齐,那么即使模型在理解文本方面有优势,也无法有效地将这些优势转移到目标模型中。

Token Alignment的维度:在文本维度上,需要确保两个模型生成的标记序列在文本顺序上对齐;在分布维度上,需要确保来自不同模型的分布值也对齐,即使它们可能对应不同的标记。

因此有两种对齐策略,该文使用的是MinED:

  • 动态规划对齐(EM)策略

    文章提到了一种基于动规划的方法来实现标记对齐。这种方法通过递归地最小化编辑序列的成本来对齐两个标记序列。编辑操作包括插入、删除和替换标记。如果两个标记相同,它们可以直接对齐;如果不同,则需要通过编辑操作来找到最佳的对齐方式。

  • 最小编辑距离(MinED)策略

    为了提高对齐的成功率并保留更多的有用信息,文章提出了一种基于最小编辑距离(MinED)的策略。这种方法相对于传统的精确匹配(Exact Matching, EM)策略,能够更灵活地处理标记之间的差异。MinED策略通过计算两个标记之间的编辑距离来确定它们是否可以对齐,这通常比直接匹配更加宽松,因此能够减少对齐过程中的信息损失。

小结:标记对齐是FUSELLM方法中的关键步骤,它确保了不同模型生成的概率分布矩阵可以正确地融合在一起,从而实现有效的知识转移。MinED策略提供了一种灵活的对齐方法,能够在保持信息完整性的同时,处理不同模型生成的标记差异。

2.4 融合策略

在对齐概率分布矩阵后,FUSELLM采用两种融合策略来整合源LLMs的知识:

  • MinCE:选择具有最小交叉熵的分布矩阵。这种方法倾向于选择预测最准确的模型的分布。
  • AvgCE:基于交叉熵得分的加权平均。这种方法为每个源模型的分布赋予不同的权重,权重由模型在预测时的交叉熵得分决定。

2.5 融合算法

步骤概述:

  1. 初始化目标LLM,可以选择其中一个源LLM作为起点。
  2. 对于训练语料库中的每个文本,应用所有源LLM来计算概率分布矩阵。
  3. 使用MinED对齐这些概率分布矩阵。
  4. 使用MinCE或AvgCE融合策略来融合这些对齐后的矩阵。
  5. 更新目标LLM的参数,以最小化整体损失函数。

总结

FUSELLM提供了一种LLMs的集成方法,为大模型融合提供了一个trick,或许未来LLM比赛爆发的时候,最后大家涨分涨不动了,可以考虑下试一试这个trick。

参考文献

1.Knowledge Fusion of Large Language Models,https://arxiv.org/abs/2401.10491v1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1410407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

是用原生js创建红包雨效果

需求: 创建红包雨 答案: // 红包雨代码 开始 // 添加遮罩层 const addOverlay () > {const overlay document.createElement(div);overlay.className overlay;overlay.style.position fixed;overlay.style.top 0;overlay.style.left 0;overlay.style.width 100%;o…

华为机考入门python3--(0)测试题1-句子平均重量

分类:字符串 知识点: 获取输入 input().strip().split(" ") 拼接列表 " ".join(list) 输出指定位数的浮点数 print("%.2f" % value) len() 函数对于很多内置的数据类型都适用,它返回对象的元素个数或长度。…

Qt6入门教程 11:父子对象关系

在上一篇中的纯手写部分,不管是创建菜单、工具栏还是状态栏,我们new完之后都未显式的调用delete进行销毁,这样难道不会有内存泄漏么? QMenuBar *menuBar new QMenuBar(this); QToolBar *toolBar new QToolBar(this); QStatusBa…

yolov8上使用gpu教程

yolov8上使用gpu教程 安装Cuda和Cudnnyolov8上使用gpu 安装Cuda和Cudnn 1.查看支持的cuda版本,并去官网下载。 nvidia-smi2.网址:https://developer.nvidia.com/cuda-toolkit-archive 3.安装细节 安装的前提基础是,有vs的C环境。我电脑有…

GBASE南大通用Connection 构造函数

GBASE南大通用分享  重载列表 1) 初始化一个新的 GBaseConnection 类实例。 GBaseConnection() 2) 当给定连接字符串的时候初始化一个新的 GBaseConnection 类实例。 GBaseConnection(string)  注释 当创建一个新的 GBaseConnection 实例的时候,其属性设…

DataStream API(源算子)

目录 源算子 1,从集合中读取数据 2,从文件读取数据 3,从 Socket 读取数据 4,从 Kafka 读取数据 5,自定义源算子 6,Flink 支持的数据类型 6.1 Flink 支持多种数据类型,包括但不限于&…

动态SQL:MyBatis强大的特性之一

一般来说,一个程序的服务器可以部署多个,但是数据库却只能有一个。这么多服务器,如果每天都要给数据库海量的操作数据,数据库的压力就会非常大。 所以为了减轻数据库的压力,我们可以把一些查询数据库的语句简化&#…

在Rust中编写自定义Error

前言 之前我们聊过&#xff0c;Result<T, E> 类型可以方便地用于错误传导&#xff0c;Result<T, E>是模板类型&#xff0c;实例化后可以是各种类型&#xff0c;但 Rust 要求传导的 Result 中的 E 是相同类型的&#xff0c;或者能够自动转化为相同类型。比如&#…

单例模式-C#实现

该实例基于WPF实现&#xff0c;直接上代码&#xff0c;下面为三层架构的代码。 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练习.Model.单例模式 {//单例模式的实现in…

el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)

elementplus 的 el-checkbox 官方代码中的多选框组实例如下&#xff1a; 上方代码中选中哪个选项就会往 checkList 数组中加入选项的 label 值&#xff0c;如果需要实现展示的值与选中的值不一样要怎么实现呢&#xff1f; 解决方法 el-checkbox组件中存在插槽&#xff0c;只需…

【Linux】 开始使用 gcc 吧!!!

Linux 1 认识gcc2 背景知识3 gcc 怎样完成 &#xff1f;3.1 预处理预处理^条件编译 3.2 编译3.3 汇编3.4 链接 4 函数库5 gcc 基本选项Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读下一篇文章见&#xff01;&#xff01;&#xff01; 1 认识gcc 我们在windows环…

02.领域驱动设计:了解领域、子域、核心域、通用域、支撑域、通用语言和限界上下文

目录 概要 1、领域 2、子领域 建立领域模型步骤&#xff1a; 3、核心域 4、通用域 5、支撑域 6、思考题 7、通用语言 8、限界上下文 限界上下文和微服务的关系 9、总结 限界上下文在微服务设计中的作用和意义是什么 概要 领域驱动设计&#xff08;DDD&#xff09;…

Web09--jQuery基础

1、jQuery概述 1.1 什么是jQuery jQuery是一款优秀的JavaScript的轻量级框架之一&#xff0c;封装了DOM操作、事件绑定、ajax等功能。特别值得一提的是基于jQuery平台的插件非常丰富&#xff0c;大多数前端业务场景都有其封装好的工具可直接使用。 jQuery下载和版本介绍 官…

qml中访问控件内部的子项

如何访问Repeater类型内部的子项、Row等布局类型内部的子项以及ListView内部的子项等。。。 1、测试代码 import QtQuick 2.0 import QtQuick.Controls 2.12 import QtQuick.Window 2.12 import QtQuick.Layouts 1.3 import QtQml 2.12Window {id: windowobjectName: "m…

彩色图像处理之彩色图像分割的python实现——数字图像处理

原理 彩色图像分割是图像处理领域的一个重要技术&#xff0c;它旨在将一幅彩色图像划分为多个区域或对象。其基本原理包括以下几个方面&#xff1a; 像素特征的提取&#xff1a;彩色图像分割首先涉及到像素级的特征提取。在彩色图像中&#xff0c;常用的特征包括颜色、纹理和…

Javadoc的讲解使用

概述&#xff1a;JavaDoc 是用于生成 Java 代码文档的工具。通过编写 JavaDoc 注释&#xff0c;可以为代码中的类、接口、方法、字段等元素添加文档注释&#xff0c;这些注释将被 JavaDoc 工具解析并生成相应的 HTML 文档。 目录 讲解 使用 结果 讲解 下面是一些关于 Java…

常用通信总线学习——RS232与RS485

RS232概述 RS-232标准接口&#xff08;又称EIA RS-232&#xff09;是常用的串行通信接口标准之一&#xff0c;它是由美国电子工业协会(Electronic Industry Association&#xff0c;EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定&#xff0c;其全…

RocketMQ源码阅读-七-高可用

RocketMQ源码阅读-七-高可用 概述NameServer高可用Broker注册到NameServerProducer、Consumer 访问 Namesrv Broker高可用Broker主从配置Master、Slave通信组件Master与Slave的通信协议Slave节点逻辑Master节点逻辑Master_SYNC模式Producer发消息Consumer消费消息 总结 本篇分析…

如何配置Tomcat服务环境并实现无公网ip访问本地站点

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

前出深入-机器学习

文章目录 一、K近邻算法1.1 先画一个散列图1.2 使用K最近算法建模拟合数据1.3 进行预测1.4 K最近邻算法处理多元分类问题1.5 K最近邻算法用于回归分析1.6 K最近邻算法项目实战-酒的分类1.6.1 对数据进行分析1.6.2 生成训练数据集和测试数据集1.6.3 使用K最近邻算法对数据进行建…