爱丁堡大学出新招,大小语言模型配合节约成本!

在大语言模型的应用中,往往面临着成本性能权衡的问题。

一方面,大型LLM的参数量极大(如70B),每次调用都可能带来更多的成本,而小型LLM(如7B)的成本则更容易被接受。

另一方面,更大的参数量明显带来了更好的性能。

鱼与熊掌真的不可得兼吗?

爱丁堡大学的研究者带来了全新的大小模型协同方案,不需要额外训练任何辅助模型,即可取得非常优秀的效果!

实验表明,在27个实验设置中,这一方法可以其中25个优于现有主流协同方法。

让我们来看看他们的思路吧~

论文标题
Optimising Calls to Large Language Models with Uncertainty Based Two-Tier Selection

论文链接
https://arxiv.org/pdf/2405.02134.pdf

GPT-3.5研究测试:
https://hujiaoai.cn

GPT-4研究测试:
https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4):
https://hiclaude3.com

现有主流方法介绍

首先,研究者介绍了现有大小模型协同方案的两种主流思路。

假设我们有两个LLM,其中大型LLM比小型LLM更昂贵,但性能更好。为了让它们协同工作,方案包括:

(1)路由(Routing)(下图左):通过用户传入的查询,来选择最合适的LLM(即权衡成本与性能)。

(2)级联(Cascading)(下图右):先让小模型根据用户的查询生成结果,随后通过查询和小型LLM的结果,来选择是否调用大型LLM。

而研究者认为,使用额外的辅助模型来进行这些判断(上图蓝框),增加了这些方案的复杂性。并且,辅助模型不仅需要额外的训练,而且通常还需要特定的训练数据,可能无法推广到其他任务。

那么,抛开辅助模型,有什么其他方法呢?

研究者决定使用级联的方式,并从小型LLM生成结果的过程中,提取置信度度量。这样,判断小型模型的生成结果是否可信不再需要辅助模型,而是通过小型LLM的简单置信度来决定是否需要进一步调用大模型。

大小模型协同的问题定义

首先,我们要来定义需要解决的问题。

定义小型LLM调用的平均成本为:

其中, 表示第 个查询 在小型LLM上的成本,而 表示查询总数量。

同理,我们可以得到大型LLM调用的平均成本为:

显然可得

级联与路由的具体方法

定义问题之后,作者列举了目前主流的一些大小模型协同方法。

(1) 路由

对于路由方案,成本可以被定义为如下公式,其中 是在路由中调用大型LLM的概率。

由此,我们可以展开说明一些主流方案:

(1-1)随机路由(Random routing):指对于每个传入的查询,以概率 随机调用大型LLM。此方法用于作为所有方法的参照指标。

(1-2)路由(Routing,Sakota et al., 2023; Lu et al., 2023):训练一个辅助模型,在给定查询的情况下预测小型LLM的性能,判断是否需要调用大型LLM。

(1-3)HybridLLM(Ding et al., 2024):训练一个辅助模型,预测小型LLM是否比大型LLM能更好的解决传入的查询。

上述提到的辅助模型,最终判断的相关阈值都与 相关。

(2)级联

对于级联方案,成本可以被定义为如下公式,其中 是在级联中调用大型LLM的概率。

(2-1)FrugalGPT(Chen et al., 2023):训练一个辅助模型,根据给定的用户查询和小型LLM生成的候选答案,预测后者是否正确。

(2-2)Margin Sampling(我们的方法):根据小型LLM输出的不确定性,即margin,定义为:

其中 和 分别是第一和第二最可能的token,根据第一个预测出的token的概率分布,得到两个token之间的概率之差,可以被理解为小型LLM生成该token的确定程度(置信度)。

值得注意的是,上述所有方法都需要设置决策标准的阈值,我们在这项工作中选择动态阈值

初始阈值是使用前 10 个查询计算的,通过获取辅助模型的输出,或者 Margin Sampling 的margin值,确定初始的 或 数值。在后续的查询中,继续使用辅助模型做出是否调用大型 LLM 的决定,并根据所有过去的查询动态更新阈值。

实验结果与讨论

介绍了包含路由和级联两种思路的上述5种方法后,我们需要通过实验来确认它们的效果。

首先,我们研究了3对大型和小型的LLM,它们分别是:

  • Mistral 7B 和 Mixtral 8x7B

  • Llama-2 13B 和 Llama-2 70B

  • GPT-3 和 GPT-4

对于开源系列的模型(Mistral和Llama-2),我们的所有实验均在 4-bit 量化后,在一张 NVIDIA A100 GPU (80 GB) 中完成。

而在测试数据集方面,我们选取了分类任务(情感分类ISEAR,事实核查FEVER,情感分析RT-Polarity/CR/SST-2),多项选择任务(世界常识Openbook)和 QA任务(人类真实问题NaturalQuestions,含知识库的百科问答Wikifact,语言理解和推理bAbI)

基于上述这些数据集,我们在上表中实验了3对大小模型。为了引入成本因素,我们将报告准确率的AUC,并将其除以 。同时,我们的结果假设了一个简单的成本方案 ,这点与商业API的价格和其他成本方面的工作保持一致。最后,对于上表,加粗的结果表示最佳性能,下划线的结果表示第二好的性能。

将上表的所有任务结果求取平均后,我们得到了准确率曲线,如下图。

通过观察实验结果,作者也给出了一些结论。

  • 在所有 9 个任务和 3 个 LLM 组合中(共27组配置),Margin Sampling 仅对 2 个没有实现最佳或第二佳的性能。作者认为,Margin Sampling 的性能会随着小型LLM性能的提高而提高,小型LLM在特定任务中表现太差,导致了 Margin Sampling 的性能波动。

  • FrugalGPT 平均而言是表现第二好的策略。然而,在更具挑战性的多项选择任务 Openbook 上,它的表现比随机基线差;在 QA 任务中的表现也不一致。作者认为,FrugalGPT 的辅助模型更擅长简单的分类问题,在困难问题上则有所欠缺。

  • Routing 和 HybridLLM 似乎在 QA 任务中表现良好,而在分类任务中表现较差。我们注意到,HybridLLM 的平均性能在GPT模型对上与随机基线性能相同,这是一个令人惊讶的发现。

作者也合并上述9个不同任务的数据,来模拟多任务情况。实验结果如下表,Margin Sampling 依然取得了最佳结果。

最后,为了确保 Margin Sampling 的鲁棒性,作者尝试从改变辅助模型的训练数据比例和改变成本配置两方面进行实验。

结果表明,使用一倍的数据量训练辅助模型后,Margin Sampling 仍然具有竞争力,如下表。

而在控制的前提下,改变的值,也基本不会影响 Margin Sampling 的性能表现。

总结

在本文中,作者提出了一种全新的大小模型协同级联方法 Margin Sampling,它无需使用任何辅助模型,仅靠小型 LLM 生成第一个 token 的 margin 值即可作出判断。

实验表明,这种方法具有优秀的表现和强大的鲁棒性,在大小LLM性能与成本的权衡上,提供了令人惊喜的思路!

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

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

相关文章

若依Ruoyi微服务版,通过docker-compose部署流程和部分坑记录

1 各个子微服务,yml文件修改,如nacos地址等等 【有坑,看下面】 2 后端服务打成jar包,mvn package命令 3 前端项目打包 4 docker目录下有个copy.sh文件,运行,将jar 包复制到 docker相应目录下,总…

接收区块链的CCF会议--NDSS 2025 截止7.10 附录用率

会议名称:Network and Distributed System Security Symposium (NDSS) CCF等级:CCF A类学术会议 类别:网络与信息安全 录用率:2024年接收率19.5% Submissions are solicited in, but not limited to, the following areas: Ant…

RabbitMQ:深入理解高性能消息队列

RabbitMQ:深入理解高性能消息队列 文章目录 RabbitMQ:深入理解高性能消息队列前言一、RabbitMQ概述二、RabbitMQ的核心概念三、RabbitMQ的工作原理一、生产者发送消息二、交换机转发消息三、队列存储消息四、消费者接收并处理消息 四、RabbitMQ的使用场景…

DOTA-Gly-Asp-Tyr-Met-Gly-Trp-Met-Asp-Phe-NH2,1306310-00-8,是一种重要的多肽化合物

一、试剂信息 名称:DOTA-Gly-Asp-Tyr-Met-Gly-Trp-Met-Asp-Phe-NH2CAS号:1306310-00-8结构式: 二、试剂内容 DOTA-Gly-Asp-Tyr-Met-Gly-Trp-Met-Asp-Phe-NH2是一种重要的多肽化合物,其CAS号为1306310-00-8。该多肽包含一个DO…

ICLR 2024 杰出论文开奖了!录用率31%,两篇国内论文获荣誉提名

朋友们,ICLR 2024开奖了!5月7日至11日,今年的大会在奥地利维也纳展览会议中心举行。 ICLR(国际表征学习大会)是公认的深度学习领域国际顶级会议之一,属于CCF A类,主要专注于深度学习和强化学习等…

Unity 浮点数的精度问题

文章目录 前言一、精度问题1、数值不相等2、数值计算不确定3、不同设备计算结果不同 二、解决方法:总结 前言 说到浮点数精度,大家想到的就是double比float的精度高,想要高精度就用double类型。两者最明显的区别就是所占位数的不同&#xff…

java驱动bat脚本执行mysql恢复备份根据自定义mysql备份名

我有个需求,需要根据mysql备份的地址,恢复mysql数据 就是说我把sql备份了,然后需要通过java代码触发执行恢复的mysql脚本,但是需要传一个备份的路径 直接上代码 java代码如下: public static void main(String[] a…

22 | MySQL有哪些“饮鸩止渴”提高性能的方法?

短连接风暴 第一种方法:先处理掉那些占着连接但是不工作的线程。 kil id 第二种方法:减少连接过程的消耗。 让数据库跳过权限验证阶段,重启数据库,并使用–skip-grant-tables 参数启动。 慢查询性能问题 索引没有设计好 创建索引都支持 Online DDL 了,对于那种高峰期数…

hexo 博客插入本地图片时遇到的坑

哈喽大家好,我是咸鱼。 最近一直在折腾博客的事,说是 hexo 极易上手,我觉得只仅限于在安装部署的时候,随着对 hexo 的深入使用,发现遇到的问题还是挺多的。 那今天来讲一下我在把本地图片插入到 hexo 博客文章中遇到…

树莓派4b红外检测

1.红外检测连接图 2.红外检测工作原理 红外传感器的工作原理类似于物体检测传感器。该传感器包括一个红外LED和一个红外光电二极管,因此通过将这两者结合起来,可以形成一个光耦合器。 红外LED是一种发射红外辐射的发射器。该LED看起来与标准LED相似&a…

Games101-动画与模拟(求解常微分方程,刚体与流体)

Single Particle Simulation 规定了任何一个物体任何时刻的速度,知道它的初始位置,求它某个时间后的位置? 如果一个物体是匀速直线运动,用初始位置加上速度和时间的乘积即可 如上图,如果想描述一个粒子在一个速度场&am…

JAVA中的泛型、file类、IO流

泛型 什么是: 1、定义时通过一个标识,表示类型;2、Jdk5.0之后添加的 没有会造成的问题: 1、类型不安全; 2、强制转换比较繁琐; 1、E: list中使用;用指定的类型去替换E&#xff…

ASP.NET小型企业办公耗材库存管理软件的设计与实现

摘 要 库存管理系统是将企业的存和转等企业的经营业务有机的结合起来,达到数据共享、降低成本、提高效率。本系统前台采用.NET,后台数据库采用SQL Server 2000,语言采用C#。本系统实现的主要功能有库存查询、进货作业、领料作业、库存盘点、损坏处理等…

【shell】shell利用随机数生成指定范围的随机数及随机获取数组中元素

shell默认内置环境变量RANDOM echo $RANDOM 生成1~9的随机数 echo $RANDOM%91 %后面是多少,就是最大是多少 随机获取数组中的一个元素 array"3 4 44 8" random$(($RANDOM%41)) echo random:$random j0 for i in $array dojexpr $j 1if [ "$j&…

【平台开发】MTK6833——cache操作记录

CPU Cache 用的是一种叫 SRAM(Static Random-Access Memory,静态随机存储器) 的芯片。 通常分为L1,L2,L3三层缓存。 CPU 并不会直接和每一种存储器设备直接打交道,而是每一种存储器设备只和它相邻的存储器…

Linux---HTTP协议

HTTP HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,主要用于在Web浏览器和Web服务器之间传输数据。 一、认识URL 平时我们俗称的 " 网址 " 其实就是说的 URL http请求样例 看起来是一行一…

ubuntu20文件安装和卸载cuda11.6

搜索cuda 11.6 nvidia,进入官网https://developer.nvidia.com/cuda-11-6-0-download-archive 选择linux --> runfile 用安装包安装 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sudo s…

uniapp 小程序图片懒加载组件 ImageLazyLoad

预览图 组件【ImageLazyLoad】代码 <template><viewclass"image-lazy-load":style"{opacity: opacity,borderRadius: borderRadius rpx,background: background,transition: opacity ${time / 1000}s ease-in-out,}":class"image-lazy-loa…

MySQL中的批量更新实战

MySQL中的批量更新实战 表结构 mysql> desc dept; --------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------------- | deptno | int(11) …

第二代增强-采购订单抬头子屏幕增强

文章目录 第二代增强-采购订单抬头子屏幕增强需求查找增强点创建项目增强子屏幕定义全局变量编写出口函数代码激活增强运行结果查看创建的采购订单底表数据 第二代增强-采购订单抬头子屏幕增强 需求 查找增强点 创建项目 增强子屏幕 定义全局变量 *&---------------------…