博采众长!我全都要!Allen AI推出集成主流大语言模型的LLM-BLENDER框架

news2024/11/19 15:55:03

e6ae5e82dbd5b92802b04d22668f465c.jpeg

深度学习自然语言处理 原创
作者:wkk

随着大语言模型(LLM)的迅速发展,众多开源的LLM性能参差不齐。今天分享的是由Allen AI实验室联合南加大和浙江大学的最新研究论文,发表在ACL上。本文提出了一个集成框架(LLM-BLENDER),旨在通过利用多个开源大型语言模型的不同优势使框架始终保持卓越的性能。

下面请大家跟随我的视角一起来分析LLM-BLENDER框架是如何工作的吧!

30f6407ed02c0a5e09e650d5357f26b0.png

论文:LLM-BLENDER: Ensembling Large Language Models with Pairwise Ranking and Generative Fusion
链接:https://arxiv.org/pdf/2306.02561

简介

考虑到众多LLM有不同的优势和劣势,本文开发了一种利用其互补潜力的集成方法,从而提高鲁棒性、泛化和准确性。通过结合单个LLM的贡献,可以减轻单个LLM中的偏见、错误和不确定性信息,从而产生更符合人类偏好的输出。

LLM-BLENDER

LLM-BLENDER包括两个模块:PAIRRANKER和GENFUSER。首先,PAIRRANKER比较N个LLM的输出,然后通过GENFUSER将它们融合,从排名前K的输出中生成最终输出。 现有的方法如instructGPT中的reward model能够对输入x的输出Y进行排名,但是当在多个LLM进行组合时其效果并没有那么明显。原因在于,它们都是由复杂的模型产生的,其中一个可能只比另一个好一点。即使对人类来说,在没有直接比较的情况下衡量候选质量也可能是一项挑战。

6adfbc605f764c75beb89c33ef2bdc9b.png因此,本文提出了一种专门用于成对比较的方法PAIRRANKER,以有效地识别候选输出之间的细微差异并提高性能。具体地,首先为每个输入收集N个模型的输出,然后创建其输出的N(N−1)/2对。以fφ(x,yi,yj)的形式将输入 x 和两个候选输出yi和yj联合编码为交叉注意力编码器的输入,以学习并确定哪个候选更好。

在推理阶段,计算一个矩阵,该矩阵包含表示成对比较结果的logits。给定该矩阵,可以推断给定输入x的N个输出的排序。随后,可以使用来自PAIRRANKER的每个输入的排名最高的候选者作为最终结果。

尽管如此,这种方法可能会限制产生比现有候选更好产出的潜力。为了研究这种可能性,从而引入了GENFUSER模块来融合N个排名的候选输出中的前K个,并为最终用户生成改进的输出。

任务定义

给定输入x和N个不同的语言模型{M1,., MN },可以通过使用每个模型处理x来生成N个候选输出Y={y1,.,yN}。

研究目标是开发一种集成学习方法,该方法为输入x产生输出y,然后计算x与y的最大化相似度Q。与使用固定模型或随机选择x的模型相比,这种方法将产生更好的总体性能。

MixInstruct:一个新的基准

本文引入了一个新的数据集MixInstruct,用于在指令跟随任务中对LLM的集成模型进行基准测试。主要从四个来源收集了一组大规模的指令示例,如下表所示。对数据集中的100k个样本进行训练,5k个用于验证,5k个用于测试。然后,在这110k个示例上运行N=11个流行的开源LLM,包括 Vicuna、OpenAssistant、Alpaca、MPT等如下图所示。

a8081987b05c2db9870d76f1ccc2157d.png 569ae7408ae14ed683c04e068f4dc64c.png

为了获得候选输出的性能排名,为ChatGPT设计了comparative prompts来评估所有候选对。具体来说,对于每个示例,准备了55对候选者(11×10/2)。对于每一对,要求ChatGPT基于输入x和真值输出y来判断哪一个更好(或声明平局)。

LLM-BLENDER: 一个新的框架

提出的一个用于集成LLM的框架LLM-BLENDER,如下图所示。该框架由两个主要组件组成:成对排序模块PAIRRANKER和融合模块GENFUSER。PAIRRANKER模块学习比较每个输入的所有候选对,然后对候选输出进行排名。选择前K=3个排名的候选输出,将它们与输入x连接起来,并为GENFUSER模块构建输入序列。GENFUSER模块是一个seq2seq LM,由它生成为用户服务的最终输出。

a0abc64014a9c38b61dccbb23b1de84f.png

PAIRRANKER 架构

Encoding:使用Transformer层对一个输入和一对候选对象进行编码,通过注意力机制在输入的上下文中捕获候选输出之间的差异。按顺序连接这三个片段,并使用特殊标记作为分隔符形成单个输入序列:< source >、< candidate1 >和< candidate2 >。生成的transformer输入序列的形式为“< s >< source > x < /s > < candidate1 > yi< /s > < candidate2 > yj < /s >”,其中x是源输入的文本,yi和yj是两个候选输出的文本。特殊标记< source >、< candidate1 >和< candidate2 >的嵌入分别用作x、yi和yj的表示。

Traning:为了确定两个候选输出的分数,将X的嵌入分别与yi和yj连接起来,并使它们传递给多层感知器,最终层的维度等于要优化的Q函数的数量。该维度内的每个值表示特定Q函数的score。通过对这些Q个分数取平均值来导出候选输出的最终分数。并在训练阶段应用了有效的子采样策略来确保学习效率。训练期间,从候选输出中随机选择一些组合,而不是所有N(N−1)/2对。实践发现,每个输入使用 5 对足以获得不错的结果。

考虑到语言模型的位置嵌入,一对(x,yi,yj)中候选输出的顺序很重要,因为(x,yi,yj)和(x,yj,yi)的比较结果可能不一致。因此,在训练过程中将每个训练对中候选输出的顺序打乱,以便模型学习与其自身一致

Inference:在推理阶段,计算每一对候选输出的分数。在N(N−1)次迭代后,得到矩阵M如下图所示,为了根据 M 确定最佳候选者,通过引入了聚合函数来确定候选输出的最终排名。

856b9cc888155fd4c4530f4aa5c7c942.png

GENFUSER: 生成融合

PAIRRANKER的有效性受到从候选输出中选择的质量的限制。假设,通过合并多个排名靠前的候选输出,能够克服这种限制。由于这些得分较高的候选输出往往表现出互补的优势和劣势,因此在减轻其缺点的同时结合它们的优势来生成更好的响应是合理的。研究目标是设计一个生成模型,该模型采用输入x和K个排名靠前的候选输出,并产生改进的输出作为最终响应。为了实现这一点,提出了GENFUSER,这是一种seq2seq方法,用于融合一组以输入指令为条件的候选输出,以生成增强的输出。具体地,使用分隔符标记顺序连接输入和K个候选,并微调类似T5的模型以学习生成y。

评估

使用MixInstruct数据集进行评估,使用DeBERTa作为PAIRRANKER的主干,GENFUSER则是基于Flan-T5-XL ,实验结果如下表所示。

570200ea9b354fafde08c1f11427495b.png

主要结果

LLM具有不同的优势和劣势

根据ChatGPT确定LLM的平均等级,按排序顺序显示LLM。在这些模型中,Open Assistant、Vicuna和Alpaca是表现最好的三项,继它们之后为Baize、Moss和ChatGLM,也在MixInstruction上表现出色。相反,Mosaic MPT、StableLM和Flan-T5在评估中排名倒数第三。尽管如此,top/bottom模型的平均GPT排名与first/last位置保持着明显的距差距,这突出了组合LLM的重要性。

顶级LLM并不总是最好的

尽管OA和Vic表现得非常好,但仍有很大一部分示例显示其他LLM优于它们。例如,Koala的平均GPT-Rank为6.76,但大约40%的示例表明Koala产生了更好或同样优于OA和Vic的结果。这进一步强调了使用LLM-BLENDER框架进行排名和融合的重要性。

NLG Metrics

根据每个Metrics本身对oracle选择的性能进行了全面分析。研究结果表明,这些选择在其他指标上也表现出良好的性能。这一观察结果证实了使用BARTScore为PAIRRANKER提供监督的合理性。

PAIRRANKE的表现优于其他排名工具

MLM-Scoring无法胜出random selection,突出了其无监督范式的局限性。相反,与BARTScore和GPT-Rank的最佳模型(OA)相比,SimCLS、SummaReranker和PAIRRANKER表现出更好的性能。值得注意的是,PAIRRANKER选择的响应的平均GPT排名显着优于最佳模型,以及所有其他排名。

LLM-BLENDER 是最好的

使用从PAIRRANKER中选出的前三名,并将其作为GENFUSER的候选。在此的基础上,LLM-BLENDER展示了预期的卓越性能。

排名相关性

除了只关注每个排名的top-1之外,还对所有具有GPT排名的候选之间的总体排名相关性进行了全面分析。事实证明,BARTScore与GPT排名的相关性最高,这表明使用BARTScore提供监督为训练。对于排序器来说,MLM得分仍然无法超过random permutations。

更多分析

将PAIRRANKER应用于三个典型的自然语言生成(NLG)任务:摘要、机器翻译和约束文本生成。发现PAIRRANKER在使用单个相同的基础模型解码N个候选者(使用不同的算法)的上下文中仍然大大优于其他方法。

总结

本文引入了LLM-BLENDER,这是一个创新的集成框架,通过利用多个开源LLM的不同优势来获得持续卓越的性能。LLM-BLENDER通过排名的方式来减少单个LLM的弱点,并通过融合生成来整合优势,以提高LLM的能力。

总之,这是一篇非常有趣的文章,想了解更深入的话,还是看下原论文吧~


进NLP群—>加入NLP交流群

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

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

相关文章

6.11下周黄金行情分析及开盘多空交易策略

近期有哪些消息面影响黄金走势&#xff1f;下周黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;金价周五(6月8日)收低&#xff0c;但在美元整体走软的支撑下&#xff0c;本周录得连续第二周上升。美市尾盘&#xff0c;现货黄金收报1960.83美元/盎司&#xff0c;…

分布式项目 16 购物车系统,dubbo框架(重点是拦截器),优化userId,配合拦截器

01.创建jt-cart项目 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 在pom.xml文件中添加jt-common的依赖&#xff0c;如图所示&#xff1a; 第五步&#xff1a; 添加插件 <build> <plugins> <!--跳过测试类打包 --> <…

支撑臂爬楼履带车实现爬楼梯功能

1. 功能说明 本文示例将实现R018a支撑臂爬楼履带车爬楼梯的功能。 2. 结构说明 支撑臂爬楼履带车主要是由 小型平行履带底盘 和2个 舵机关节模组 组成。 3. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&#…

MIT 6.S081 (BOOK-RISCV-REV1)教材第二章内容

MIT 6.S081 第二章内容 引言操作系统架构抽象系统资源用户态&#xff0c;核心态&#xff0c;以及系统调用内核组织代码&#xff08;XV6架构篇&#xff09;进程概述代码&#xff08;启动XV6和第一个进程&#xff09;真实世界 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课…

用饭店来形象比喻线程池的工作原理

一、线程池解决的问题&#xff1f; 使用线程池主要解决在程序中频繁创建和销毁线程导致的资源浪费&#xff0c;线程池可以维护一定量的线程来执行所需要的任务&#xff0c;维护的线程也可以重复使用。 二、用形象的饭店来解释工作原理 线程池就相当于一家饭店&#xff0c; 任…

SpringBoot框架的学生宿舍管理系统

项目介绍 主要功能&#xff1a; 管理员登录权限&#xff1a; ①学生管理&#xff1a;根据编号姓名搜索、可以新增修改删除、导入导出 ②楼宇管理&#xff1a;根据楼宇搜索、可以新增修改删除、导入导出 ③宿舍管理&#xff1a;根据宿舍编号搜索、可以新增修改删除、导入导出 ④…

HCIA-RS实验-配置FTP 业务

FTP简单说明 FTP&#xff08;File Transfer Protocol&#xff09;是一种用于文件传输的协议&#xff0c;可以在计算机之间进行文件的上传和下载。FTP使用客户端-服务器模型&#xff0c;客户端通过FTP客户端软件连接到服务器端的FTP服务端口&#xff0c;进行文件传输和管理。 F…

在fpga上开发音视频是一种什么体验?

前言&#xff1a; 今天周末回公司解决了解码播放问题&#xff0c;最近周末也没啥事情&#xff0c;一般周六都会过去公司学习音视频开源项目(过去公司&#xff0c;主要是住的近&#xff0c;所以很方便&#xff01;)&#xff0c;待在家里也是无聊&#xff0c;所以就回去看开源项目…

硬件设计电源系列文章-LDO设计

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 本文主要分享LDO的相关设计&#xff0c;尤其是LDO的并联设计 整体架构流程 提示&#xff1a;这里可以添加技术整体架构 主要是讲述LDO的并联&#xff1b;并联以增加输出驱动能力&#xff0c;其具体框架如下&#x…

详解Ribbon

目录 1.概述 2.使用 2.1.引入 2.2.启用 2.3.切换负载均衡算法 3.负载均衡源码分析 3.1.接口 3.2.抽象类 3.3.选择服务器 3.4.原子性 4.自定义负载均衡算法 1.概述 Ribbon是Netflix开源的一个客户端负载均衡库&#xff0c;也是Spring Cloud Netflix项目的核心组件之…

常见网络服务器并发模型

近些年&#xff0c;随着互联网的大发展&#xff0c;高并发服务器技术也快速进步&#xff0c;从简单的循环服务器模型处理少量网络并发请求&#xff0c;演进到解决C10K&#xff0c;C10M问题的高并发服务器模型。本文主要以TCP为例&#xff0c;总结了几种常见的网络服务器模型的实…

巧用文件批量改名高手删除子文件夹一例

比如有很多商品文件夹&#xff0c;里面又分出主图、细节图等&#xff0c;现在因工作需要把主图、细节图这些子文件夹去掉&#xff0c;把子文件夹里面的文件放在商品名称的父文件夹中&#xff0c;如图&#xff1a; 打开主图文件夹&#xff0c;我们可以看到文件名结构为数字编号的…

Git学习 - 2023-06-08

2023暑期学习 Git基础Git Fetch VS Git Pullgit pull --rebase VS git pull几种merge的方法Fork VS Clone CS Branch如何把master的内容更新到分支上详尽介绍 git fetch VS git pull其他命令 Git基础 git branch branch-name # 创建一个新的分支git checkout branch-name # 切…

Golang | Web开发之Gin框架快速入门基础实践

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; 专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享 “ 花开堪折直须折&#xf…

Learning C++ No.30 【lambda表达式实战】

引言&#xff1a; 北京时间&#xff1a;2023/6/9/9:13&#xff0c;今天8:15起床&#xff0c;可能是最近课非常少&#xff0c;导致写博客没什么压力&#xff0c;什么时间都能写&#xff0c;导致7点起不来&#xff0c;哈哈哈&#xff0c;习惯睡懒觉了&#xff0c;但是问题不大&a…

【二十七】springboot之通过threadLocal+参数解析器实现同session一样保存当前登录信息的功能

springboot篇章整体栏目&#xff1a; 【一】springboot整合swagger&#xff08;超详细 【二】springboot整合swagger&#xff08;自定义&#xff09;&#xff08;超详细&#xff09; 【三】springboot整合token&#xff08;超详细&#xff09; 【四】springboot整合mybatis…

绿豆影视系统5.1.8反编译版源码:PC+WAP+APP端【附搭建教程+软件】

简介&#xff1a; 绿豆影视系统5.1.8反编译版源码&#xff1a;PCWAPAPP端【附搭建教程软件】 优化内容 1.专题类目&#xff0c;在后台进行设置 2.短视频类目 &#xff0c;需要有信天翁id 3.优化首页栏目不显示问题 4.去除我的页面 不常用功能 5.修复自定义密码只能输入数字的…

二阳竟然是这样的~

今天周六&#xff0c;家人都出去玩了&#xff0c;把我自己扔家里了&#xff0c;因为我2阳了&#xff0c;出门都不带我玩了。 正好趁这个时间简单写下2阳的症状&#xff0c;和1阳有什么不一样。 先说结论&#xff1a; 我的亲身感受是2阳比1阳轻的多&#xff0c;没有浑身关节疼&a…

MySQL-索引详解(三)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️树高千尺&#xff0c;落叶归根人生不易&…

第64篇:史上最严重的APT供应链攻击事件,借助Solarwinds攻击欧美的流程图梳理和分析(上篇)...

Part1 前言 大家好&#xff0c;我是ABC_123&#xff0c;公众号正式更名为”希潭实验室”&#xff0c;敬请关注。本期分享一个堪称史上影响最大、危害最大的供应链攻击APT案例——Solarwinds供应链攻击事件&#xff0c;SolarWinds的旗下有数万家客户公司&#xff0c;包括了”财…