LLM-Blender:大语言模型也可以进行集成学习

news2024/11/24 23:47:38

最近在看arxiv的时候发现了一个有意思的框架:LLM-Blender,它可以使用Ensemble 的方法来对大语言模型进行集成。

官方介绍如下:LLM-Blender是一个集成框架,可以通过利用多个开源大型语言模型(llm)的不同优势来获得始终如一的卓越性能。

LLM集成

我们都知道集成学习是一种机器学习方法,旨在提高预测模型的性能和鲁棒性。它通过将多个不同的学习器(如决策树、神经网络等)结合成一个整体,来取得比单个学习器更好的预测效果。比如最常见的Kaggle比赛中就广泛的使用了这种方法。

那么大语言模型有必要进行集成吗

论文给出了以下观点:

由于数据、架构和超参数的变化,LLM表现出不同的优势和劣势,使它们互补。并且目前不存在一个开源LLM在所有例子中都占主导地位。可以集成LLM的输出(基于输入、任务和领域),以便在不同的示例中提供一致的卓越性能。结合他们独特的贡献;可以减轻个别LLM的偏差、误差和不确定性,从而使产出与人类偏好保持一致。

LLM-Blender

所以论文就给出了一个框架LLM-Blender

LLM-Blender有两个模块:PairRanker和GenFuser。PairRanker比较多个模型的输出,给出排名最高的输出。然后GenFuser将前几个排名靠前的输出融合在一起,生成最终输出。

1、PairRanker是如何工作的

PairRanker模块用于有效地识别候选模型输出之间的细微差异,并根据它们的质量对它们进行排名。收集N个模型的输出,并以总共N(N-1)/2种方式进行配对(从总共N个项目中选择2个项目的组合次数)。然后根据以下条件对结果进行评估:给定输入提示,哪个候选人的输出更好。

在推理过程中,计算一个包含表示两两比较结果的对数的矩阵。给定该矩阵确定并选择排名前k的输出用于GenFuser模块。

2、GenFuser是如何工作的

GenFuser模块使用PairRanker模块排名靠前的输出,为最终用户生成潜在的改进输出。该模块融合了排名前n位的结果中的前K位,并产生了改进的输出,利用他们的优势和减轻他们的弱点。

基准测试

论文介绍了一个名为mixdirective的新数据集,用于对llm在指令跟随任务中的集成模型进行基准测试。该数据集拥有来自Alpaca-GPT4、Dolly-15K、GPT4-ALL-LAION和ShareGPT的大规模指令示例集。有10万例用于训练,5万例用于验证,5万例用于测试。

使用N = 11个流行的开源LLM进行测试。候选的输出使用ChatGPT对所有候选对进行评估。对于每一对,ChatGPT被要求判断那个是更好的。

可以看到各个LLM有不同的优势和劣势。顶尖的LLM在测试中并不总是最优的。PairRanker优于其他LLM。LLM-Blender组合比其他任何单个模型更好。

限制

最主要的还是效率,因为对PairRanker中top-K输出进行排序的过程需要调用模型O(n²)次才能获得最佳性能。解决这个问题的一种方法是使用多轮气泡排序方法来减少所需的推断数量。另一种提高时间效率的方法是并行执行PairRanker的推理,因为它们是独立的,也就是多个模型同时推理。

目前论文使用的是在ChatGPT帮助下的自动评估。虽然自动评估是一个很好的选择,但人工评价可以提供更可靠、更全面的评价结果。

这时一个很有意思的项目,有兴趣的可以看看他的论文还有源代码:

https://avoid.overfit.cn/post/29adfb00f1b44adabe43f6a5cd47c53b

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

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

相关文章

pycharm 添加pyuic 插件

添加pyuic插件,就能将ui类型的文件转换称py格式的文件 进入主界面 打开文件->设置->外部工具 点击加号,添加扩展 图1 添加外部扩展 名字记作 pyuic,分组到External Tools 描述为ui to py ,地址选择为 python.exe 的目录地址 参数填写&a…

Python实现抽象工厂模式

抽象工厂模式是一种创建型设计模式,用于创建一系列相关或依赖对象的家族,而无需指定具体类。在Python中,可以通过类和接口的组合来实现抽象工厂模式。 下面是一个简单的Python实现抽象工厂模式的示例: # 抽象产品接口 class Abs…

客户案例 | 思腾合力服务器助力西安电子科技大学人工智能实验室建设

客户介绍 西安电子科技大学是以信息与电子学科为主,工、理、管、文多学科协调发展的全国重点大学,直属教育部,是国家“优势学科创新平台”项目和“211工程”项目重点建设高校之一、国家双创示范基地之一、首批35所示范性软件学院、首批9所示范…

微服务系列(1)-who i am?

微服务系列(1)-我是谁 应用架构的演化 简单来说系统架构可以分为以下几个阶段:复杂的臃肿的单体架构-SOA架构-微服务 单体架构及其所面临的问题 在互联网发展初期,用户数量少,流量小,硬件成本高。因此…

LangChain Agents深入剖析及源码解密上(一)

LangChain Agents深入剖析及源码解密上(一) LangChain Agents深入剖析及源码解密上 Agent工作原理详解 本节会结合AutoGPT的案例,讲解LangChain代理(Agent)为核心的内容。我们前面已经谈了代理本身的很多内容,也看了绝大部分的源代码,例如:ReAct的源代码,还有mrkl的源代…

HDFS基本操作命令

这里写目录标题 HDFS Shell CLI客户端说明常用命令hadoop fs -mkdir [-p] <path>hadoop fs -ls [-h] [-R] [<path>...]上传文件到指定目录下方法一:hadoop fs -put [-f] [-p] <localsrc>.....<dst>方法二&#xff1a;hadoop fs -moveFromLocal <loc…

金融机构如何管理UPS设备?这个方法超值!

UPS监控在金融行业中扮演着至关重要的角色&#xff0c;确保金融机构在电力故障或波动的情况下依然能够保持业务的稳定运行。 因此&#xff0c;UPS监控在金融行业中扮演着守护者的角色&#xff0c;确保金融机构能够在复杂的电力环境中持续稳健地运行。 客户案例 一家国际性的金…

数据库应用:Redis安装部署

目录 一、理论 1.缓存 2.关系型数据库与非关系型数据库 3.Redis 4.Redis安装部署 5.Redis命令工具 6.Redis数据库常用命令 7.Redis多数据库操作 二、实验 1.Redis安装部署 2.Redis命令工具 3.Redis数据库命令 4.Redis多数据库操作 三、问题 1.RESP连接CentOS 7 R…

KnowStreaming系列教程第二篇——项目整体架构分析

一、KS项目代码结构&#xff1a; ks项目代码结构如上&#xff1a; (1)km-console 是前端部分&#xff0c;基于React开发 (2)km-rest 是后端部分&#xff0c;主要是接受前端请求&#xff0c;对应controller相关代码所在模块 (3)km-biz:业务逻辑处理 (4)km-core:核心逻辑 (5…

MapGIS“透明”地下空间,助力城市纵向发展新实践

城市地下空间拓展是城市化发展的必然趋势&#xff0c;城市化发展需要拓展城市空间&#xff0c;城市空间的横向拓展以蔓延式、平面化的发展模式造成土地资源的巨大浪费&#xff0c;地下空间是城市战略性新型国土资源&#xff0c;开发利用城市地下空间是提高土地利用效率、扩大城…

P2096 最佳旅游线路

竖直方向可以随便走嘛&#xff0c;所以求出每一列 的最大值&#xff0c;再做比较就可以了(求最大子段和)。 ACcode: #include<bits/stdc.h> using namespace std; int n,m,a[105][20010],b[20010],dp[20010]; void solve() {cin>>n>>m;for(int i1;i<n;i)f…

linux服务器部署

文章目录 一、基本工具安装1.使用vi命令编辑文件 二、安装1.jdk2.读入数据 总结 一、基本工具安装 1.使用vi命令编辑文件 注:如果vi命令没有&#xff0c;可以使用yum -y install vim或者apt-get install vim命令安装。 Linux操作系统第二讲 二、安装 1.jdk 参考 卸载jdk…

Spring MVC 是什么?

一、什么是 Spring MVC&#xff1f; 官方对于 Spring MVC 的描述是这样的&#xff1a; Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web …

Robust Unsupervised StyleGAN Image Restoration总结整理

鲁棒的无监督StyleGAN图像恢复 一.创新点 现有的无监督方法必须针对每个任务和降级级别进行仔细调整。&#xff08;这里每个任务都是什么&#xff1f;降级级别是什么&#xff1f;&#xff09; 在这里使用StyleGAN图像恢复健壮&#xff0c;即单组超参数在宽范围的退化水平上起…

[Angular] 主从表结构,从表记录在主表固定栏位上呈现

Background 主从表结构&#xff0c;有时为了方便数据呈现&#xff0c;在UI上不显示从表资料&#xff0c;那么需要动态把从表的资料加载到主表的固定栏位上。 例如&#xff1a;主表是人员信息&#xff0c;从表是银行卡信息&#xff0c;一个人在同一家银行可能有多张银行卡&…

Kubernetes.Service—使用源 IP

使用源 IP 运行在 Kubernetes 集群中的应用程序通过 Service 抽象发现彼此并相互通信&#xff0c;它们也用 Service 与外部世界通信。 本文解释了发送到不同类型 Service 的数据包的源 IP 会发生什么情况&#xff0c;以及如何根据需要切换此行为。 准备开始 术语表 本文使用…

大模型开发(十二):Function calling 流程优化并实现多轮对话任务

全文共1w余字&#xff0c;预计阅读时间约25~40分钟 | 满满干货(附代码案例)&#xff0c;建议收藏&#xff01; 本文目标&#xff1a;围绕Chat模型的Function calling功能进行更高层次的函数封装&#xff0c;并实现一个能够调用外部函数的多轮对话任务 写在前面&#xff1a;本文…

Vue系列第四篇:Vue2 + Element开发登录页面

Vue开发中Element是一个比较受欢迎的界面库&#xff0c;实际开发中Vue2搭配Element UI开发&#xff0c;Vue3搭配Element plus开发&#xff0c;今天就用Vue2 Element来开发登录页面。 目录 1.Element UI介绍 1.1官网 1.2element-ui安装 2.开发环境准备 2.1core-js安装 2…

20230724将真我Realme手机GT NEO3连接到WIN10的电脑的步骤

20230724将真我Realme手机GT NEO3连接到WIN10的电脑的步骤 2023/7/24 23:23 缘起&#xff1a;因为找使用IMX766的手机&#xff0c;找到Realme手机GT NEO3了。 同样使用IMX766的还有&#xff1a;Redmi Note12Pro 5G IMX766 旗舰影像 OIS光学防抖 OLED柔性直屏 8GB256GB时光蓝 现…

C语言 strlen()函数

一、strlen&#xff08;&#xff09;函数的简介 strlen函数&#xff1a;计算的是字符串str的长度&#xff0c;从字符的首地址开始遍历&#xff0c;以 \0 为结束标志&#xff0c;然后将计算的长度返回&#xff0c;计算的长度并不包含\0。下面是库中的strlen&#xff08;&#xf…