低资源低成本评估大型语言模型(LLMs)
随着新的大型语言模型(LLMs)的持续发展,从业者发现自己面临着众多选择,需要从数百个可用选项中选择出最适合其特定需求的模型、提示[40]或超参数。例如,Chatbot Arena基准测试平台积极维护着近100个模型,以对用户指定的开放式查询进行基准测试。同样,AlpacaEval排行榜对805个问题上的200多个模型进行了基准测试。
Chatbot Arena基准测试平台:https://arena.lmsys.org/
AlpacaEval排行榜:https://github.com/tatsu-lab/alpaca_eval。
对大型语言模型(LLMs)进行广泛的评估需要在时间、计算和财务资源上进行重大投资。截至2024年5月20日,完全评估(表示为完整评估)AlpacaEval[官方包含的153个模型的估计成本接近800美元;使用Mistral-7B[评估205个零样本提示在784个GSM8K问题上需要78.2个Nvidia A6000 GPU小时。
尽管对测试集中的所有数据点进行全面评估是惯例,但从业者通常只关心整体性能排名。通常,目标是识别出表现最佳的方法或简单地说是最好的方法,而忽略排名较低的替代方案。因此,尽管对每个方法在数据集中的每个数据点进行全面评估是彻底的,但当目标仅仅是识别出更优的方法时,这可能不是成本效益的。
本文关注有限预算下的评估问题,即在给定预算内找到最佳方法。本文提出两种主动选择算法UCB-E和UCB-E-LRF。第一个算法是经典UCB-E [2]的扩展,用于解决多臂老虎机问题;第二个算法UCB-E-LRF,利用了评分矩阵内在的低秩性质。
1 相关背景
1.1 大型语言模型(LLM)应用评估工作流程
一个典型的大型语言模型(LLM)应用评估工作流程包括三个步骤:推理、评分和性能聚合,其中前两个步骤LLM可以扮演重要角色。
- 推理:给定一个数据集和一个基于LLM的方法,这个方法的输出是通过LLM生成的。每种方法可以是不同的LLM,用于基准测试不同的LLM性能,相同的LLM与不同的提示用于提示工程,或者不同的配置,如温度、解码策略等,用于超参数调整。
- 评分:不同方法的输出通过一个评分函数,即度量标准来评分。评分函数可以是规则基础的(如精确字符串匹配、BLEU 、ROUGE ),基于LLM的(如BERTScore 、LLM法官),或基于人类的,即用户研究。根据任务和数据集格式,研究人员采用了不同类型的评分函数。
- 性能聚合:每个方法的性能通过数据集中的所有示例进行聚合,通常通过对数据集中所有示例的简单平均值来实现。
1.2 符号和问题公式化 (Notations and Problem Formulation)
1.2.1 符号
- F = {f1, …, fn}:方法集合,包含 n 个不同的方法。
- X = {x1, …, xm}:例子集合,包含 m 个不同的例子。
- e : F × X → [0, 1]:评分函数,输入一个方法和一个例子,输出一个介于 0 到 1 之间的分数,表示该方法在该例子上的表现。
- E ∈ [0, 1]n×m:评分矩阵,其中 Ei,j = e(fi, xj) 表示方法 fi 在例子 xj 上的分数。
- µi = 1/m * Σ(Ei,j):方法 fi 的平均分数,通过对其在所有例子上的分数求平均得到。
- i∗ = arg max µi:最佳方法,即在所有方法中平均分数最高的方法。
1.2.2 问题公式化
给定一个固定的评估预算 T,一个方法集合 F 和一个例子集合 X,我们需要设计一个评估算法 A,该算法可以在 T 次评估预算内,最大化找到最佳方法 i∗ 的概率 PA(A(T, F, X) = i∗)。
2 UCB-E 算法及UCB-E-LRF 算法
2.1 UCB-E 算法
基于 UCB-E 算法,估计每个方法的置信上限,并选择置信上限最高的方法进行评估。
2.1.1 步骤
- 初始化每个方法的置信上限 Bi 和已评估示例集合 Si。
- 在每个步骤 t,选择置信上限 Bi 最大的方法 fit。
- 从未评估的示例集合中均匀随机选择一个示例 xjt。
- 对方法示例对 (fit, xjt) 进行推理,获取评分 e(fit, xjt) 并更新评分矩阵 Eobs。
- 更新置信上限 Bi 和已评估示例集合 Si。
- 重复步骤 2-5,直到达到预算 T。
优点: 理论上保证找到最佳方法的概率随着评估次数的增加而指数衰减。
缺点: 忽略了评分矩阵的低秩特性,可能导致效率不如 UCB-E-LRF。
2.2 UCB-E-LRF 算法
基于 UCB-E 算法,并结合低秩分解 (LRF) 来估计未评估方法示例对的评分。
2.2.1 步骤
- 随机选择 T0 个方法示例对进行评估,构建初始评分矩阵 Eobs 和观察矩阵 O。
- 使用 LRF 算法估计评分矩阵 ˆE 和不确定性矩阵 R。
- 在每个步骤 t,选择置信上限 Bi 最大的方法 fit。
- 从未评估的示例集合中,选择与 fit 相关的不确定性 Rit,jt 最大的 b 个示例 xjt。
- 对 b 个方法示例对进行推理,获取评分 e(fit, xjt) 并更新评分矩阵 Eobs 和观察矩阵 O。
- 使用 LRF 算法重新估计评分矩阵 ˆE 和不确定性矩阵 R。
- 更新置信上限 Bi。
- 重复步骤 3-7,直到达到预算 T。
优点: 利用 LRF 估计未评估方法示例对的评分,可以更有效地分配预算,提高找到最佳方法的概率。
缺点: 需要设置 LRF 的超参数,例如秩 r、集成大小 K、预热预算 T0 和批处理大小 b。
2.3 两种算法的比较
- 在较简单的数据集(例如 AlpacaEval)上,UCB-E 表现更好,因为方法之间的差距较大,不需要 LRF 估计未评估示例对的评分。
- 在较难的数据集(例如 GSM8K Prompts 和 PIQA Prompts)上,UCB-E-LRF 表现更好,因为方法之间的差距较小,LRF 可以更有效地估计未评估示例对的评分。
3 实验
3.1 数据集
3.1.1 AlpacaEval
- 数据集规模: 154 x 805 (方法 x 示例)
- 方法 (F): 包含 154 个不同的 LLM 模型,用于评估不同的 LLM 性能。
- 评分函数 (e): 使用 GPT-4-turbo 作为 LLM 判官,将每个模型的响应与基线模型 GPT-4-turbo 的响应进行比较,并给出分数。
- H1 值: 966
- 数据来源: 从 AlpacaEval 官方仓库收集,截至 2024 年 5 月 20 日。
3.1.2 AlpacaEval (Drop Annotator)
- 数据集规模: 153 x 805 (方法 x 示例)
- 方法 (F): 与 AlpacaEval 相同,但排除了 GPT-4-turbo 作为 annotator 模型。
- 评分函数 (e): 与 AlpacaEval 相同。
- H1 值: 4462
- 数据来源: 从 AlpacaEval 官方仓库收集,截至 2024 年 5 月 20 日。
- 设计目的: 去除 annotator 模型的偏见,使学习更具挑战性,并更有趣。
3.1.3 Grade School Math 8K (GSM8K)
- 数据集规模: 205 x 784 (方法 x 示例)
- 方法 (F): 包含 205 个不同的 prompt,用于模拟 prompt engineering 场景。
- 评分函数 (e): 使用正则表达式匹配 LLM 生成的最终答案与真实答案 (GSM8K) 或真实选择 (PIQA)。
- H1 值: 107445
- 数据来源: 使用 GPT-4 生成 prompt,并使用 Mistral-7B 模型进行推理和评分。
3.1.4 GSM8K Models 和 PIQA Models
- 数据集规模: 122 x 1000 (GSM8K Models) 和 103 x 1000 (PIQA Models)
- 方法 (F): 包含不同的 LLM 模型及其采样配置,用于模拟模型选择和超参数调整场景。
- 评分函数 (e): 与 GSM8K Prompts 和 PIQA Prompts 相同。
- H1 值: 20562 (GSM8K Models) 和 10273 (PIQA Models)
- 数据来源: 使用 11 个公开可用的 LLM 模型及其不同的采样配置,并使用随机选择的 1000 个问题进行评分。
3.1.5 PIQA Prompts 和 PIQA Models
- 数据集规模: 177 x 1546 (PIQA Prompts) 和 103 x 1000 (PIQA Models)
- 方法 (F): 与 GSM8K Prompts 和 GSM8K Models 相同。
- 评分函数 (e): 与 GSM8K Prompts 和 GSM8K Models 相同。
- H1 值: 66284 (PIQA Prompts) 和 10273 (PIQA Models)
- 数据来源: 使用 GPT-4 生成 prompt,并使用 Tulu-7B 模型进行推理和评分。
3.2 评估指标
- Top 1 精确度 (Top 1 Precision): 评估算法预测最佳方法的能力,考虑性能差距和统计显著性两种情况。
- NDCG (Normalized Discounted Cumulative Gain): 评估算法对前 10 个高绩效方法的排序能力。
3.3 基线算法
- Row Mean Imputation: 均匀随机选择方法示例对进行评估,并计算每个方法的平均评分。
- Filled Subset: 对每个示例随机选择所有方法进行评估,并计算每个方法的平均评分。
- LRF: 使用 LRF 估计未评估方法示例对的评分,并计算每个方法的平均评分。
3.4 实验结果
- 算法比较: UCB-E 和 UCB-E-LRF 在所有数据集上都显著优于基线算法,可以更快地达到相同的性能水平。
- UCB-E vs. UCB-E-LRF: 在较简单的数据集上,UCB-E 表现更好;在较难的数据集上,UCB-E-LRF 表现更好。
相关文章:

低资源低成本评估大型语言模型(LLMs)
随着新的大型语言模型(LLMs)的持续发展,从业者发现自己面临着众多选择,需要从数百个可用选项中选择出最适合其特定需求的模型、提示[40]或超参数。例如,Chatbot Arena基准测试平台积极维护着近100个模型,以…...

什么是RPC?有哪些RPC框架?
定义 RPC(Remote Procedure Call,远程过程调用)是一种允许运行在一台计算机上的程序调用另一台计算机上子程序的技术。这种技术屏蔽了底层的网络通信细节,使得程序间的远程通信如同本地调用一样简单。RPC机制使得开发者能够构建分…...

HTTP有哪些请求方式?
GET:请求指定的资源。例如,用于获取网页内容。POST:向指定资源提交数据(例如表单提交)。POST请求的数据通常在请求体中。PUT:将请求体中的数据放置到请求URI指定的位置,如果该资源不存在则创建&…...

接口测试课程结构
课程大纲 如图,接下来的阶段课程,依次专项讲解如下专题,能力级别为中级,进阶后基本为中高级: 1.接口基础知识; 2.抓包工具; 3.接口工具; 4.mock服务搭建(数据模拟服务&am…...

leetcode--从中序与后序遍历序列构造二叉树
leeocode地址:从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder …...

西瓜杯CTF(1)
#下班之前写了两个题,后面继续发 Codeinject <?php#Author: h1xaerror_reporting(0); show_source(__FILE__);eval("var_dump((Object)$_POST[1]);"); payload 闭合后面的括号来拼接 POST / HTTP/1.1 Host: 1dc86f1a-cccc-4298-955d-e9179f026d54…...

Kafka 典型问题与排查以及相关优化
Kafka 是一个高吞吐量的分布式消息系统,但在实际应用中,用户经常会遇到一些性能问题和消息堆积的问题。本文将介绍 Kafka 中一些典型问题的原因和排查方法,帮助用户解决问题并优化 Kafka 集群的性能。 一、Topic 消息发送慢,并发性…...

C# 策略模式(Strategy Pattern)
策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。 // 策略接口 public interface IStrategy { void Execute(); } // 具体策略A public class ConcreteStrategyA : IStra…...

【初阶数据结构】1.算法复杂度
文章目录 1.数据结构前言1.1 数据结构1.2 算法1.3 如何学好数据结构和算法 2.算法效率2.1 复杂度的概念2.2 复杂度的重要性 3.时间复杂度3.1 大O的渐进表示法3.2 时间复杂度计算示例3.2.1 示例13.2.2 示例23.2.3 示例33.2.4 示例43.2.5 示例53.2.6 示例63.2.7 示例7 4.空间复杂…...

(图文详解)小程序AppID申请以及在Hbuilderx中运行
今天小编给大家带来了如何去申请APPID,如果你是小程序的开发者,就必须要这个id。 申请步骤 到小程序注册页面,注册一个小程序账号 微信公众平台 填完信息后提交注册 会在邮箱收到 链接激活账号 确认。邮箱打开链接后,会输入实…...

科技创新引领水利行业升级:深入分析智慧水利解决方案的核心价值,展望其在未来水资源管理中的重要地位与作用
目录 引言 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心价值 1. 精准监测与预警 2. 优化资源配置 3. 智能运维管理 4. 公众参与与决策支持 三、智慧水利在未来水资源管理中的重要地位与作用 1. 推动水利行业转型升级 2. 保障国家水安全 3. 促进生态文明建设…...

ExcelVBA运用Excel的【条件格式】(三)
ExcelVBA运用Excel的【条件格式】(三)前面知识点回顾1. 访问 FormatConditions 集合 Range.FormatConditions2. 添加条件格式 FormatConditions.Add 方法语法表达式。添加 (类型、 运算符、 Expression1、 Expression2)其中 TextOperator:***&am…...

coco数据集格式计算mAP的python脚本
目录 背景说明COCOeval 计算mAPtxt文件转换为coco json 格式自定义数据集标注 背景说明 在完成YOLOv5模型移植,运行在板端后,通常需要衡量板端运行的mAP。 一般需要两个步骤 步骤一:在板端批量运行得到目标检测结果,可保存为yol…...

Linux学习——Linux中无法使用ifconfg命令
Linux学习——Linux中无法使用ifconfg命令? 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅…...

二分查找3
1. 有序数组中的单一元素(540) 题目描述: 算法原理: 二分查找解题关键就在于去找到数组的二段性,这里数组的二段性是从单个数字a开始出现然后分隔出来的,如果mid落入左半部分那么当mid为偶数时nums[mid1]…...

从零开始学习嵌入式----C语言框架梳理与后期规划
目录 一、环境搭建. 二、见解 三、C语言框架梳理 四、嵌入式学习规划流程图(学习顺序可能有变) 一、环境搭建. C语言是一门编程语言,在学习的时候要准备好环境。我个人比较喜欢用VS,具体怎么安装请百度。学习C语言的时候,切忌…...

ESP32 步进电机精准控制:打造高精度 DIY 写字机器人,实现流畅书写体验
摘要: 想让你的 ESP32 不再仅仅是控制灯光的工具吗? 本文将带你使用 ESP32 开发板、步进电机和简单的机械结构打造一个能够自动写字的机器人。我们将深入浅出地讲解硬件连接、软件代码以及控制逻辑,并提供完整的项目代码和电路图,即使是 Ardu…...

传知代码-图神经网络长对话理解(论文复现)
代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 情感识别是人类对话理解的关键任务。随着多模态数据的概念,如语言、声音和面部表情,任务变得更加具有挑战性。作为典型解决方案,利用全局和局部上下文信息来预测对话中每…...

部署前端项目
常见部署方式有:静态托管服务、服务器部署 1. 静态托管服务 使用平台部署代码,比如 GitHub。 | 创建一个仓库,仓库名一般是 yourGithubName.github.io。 | 将打包后的静态文件文件上传到仓库。 | 在“Settings”(选项࿰…...

使用POI实现Excel文件的读取(超详细)
目录 一 导入poi相关的maven坐标 二 实现创建并且写入文件 2.1实现步骤 2.2实现代码 2.3效果展示 编辑 2.4注意 三 实现从Excel文件中读取数据 3.1实现步骤 3.2实现代码 3.3结果展示 一 导入poi相关的maven坐标 <!-- Apache poi --><dependency><gro…...

Debezium系列之:记录一次数据库某张表部分数据未同步到hive表的原因
Debezium系列之:记录一次数据库某张表部分数据未同步到hive表的原因 一、背景二、查找数据丢失流程三、数据丢失原因四、解决方法一、背景 反馈mysql数据库中某张表的数据没有同步到hive中,现在需要排查定位下原因数据丢失一般常见需求排查的方向: 数据是否采集到hdfs上采集…...

爆破器材期刊
《爆破器材》简介 《爆破器材》自1958年创刊以来,深受广大读者喜爱,是中国兵工学会主办的中央级技术刊物,在国内外公开发行,近几年已发行到10个国家和地区。《爆破器材》杂志被美国著名检索机构《化学文摘》(CA&a…...

Nginx Websocket 协议配置支持
前后分离的 Web 架构应用,在开发环境启动是可以直接连接支持 websocket 协议,因为没有中间件做转发处理。 当我们对前端进行编译后,通过 nginx 反向代理访问时,需要在nginx 配置文件中增加一些特定的头信息,让服务端识…...

【生成式对抗网络】GANs在数据生成、艺术创作,以及在增强现实和虚拟现实中的应用
一、GANs在数据生成中的应用 生成对抗网络(Generative Adversarial Networks, GANs)在数据生成领域具有显著的应用价值。GANs通过生成器(Generator)和判别器(Discriminator)两个相互竞争的神经网络&#x…...

大模型面试(三)
这次是某家公司的一个电话面试,问的过程还比较简单直接。 问:我们在大模型开源项目的应用上遇到了什么困难? 这个。。有两个困难,一个是RAG的优化,一开始RAG是比较慢的,而且召回率不高; 后来…...

pycharm中快捷键汇总
Pycarm指令汇总 Ctrl鼠标 单击,能直接查看其用法 Ctrl/ 快速注释 CtrlC 在pycharm的terminal中可以停止运行, 其他的地方可以复制。 CtrlV 粘贴 CtrlA 全选 CtrlP 查看()中需要填写什么参数 Altenter 自动不补全所需要的库...

TCP/IP协议族结构和协议
TCP/IP协议族是互联网及许多其他网络的基础,它由一系列相互关联的协议组成,用于实现网络通信。TCP/IP协议族采用ARPANET参考模型,大致可以分为四个层次:链路层、网络层、传输层和应用层。每个层次都有特定的协议和功能,确保数据能够从一个网络设备传输到另一个网络设备。 …...

大模型一些概念的理解 - 线性层、前向传播、后向传播
文章目录 前言一、线性层1. 什么是线性层?2. 通俗解释3. 示例 二、前向传播1. 什么是前向传播?2. 通俗解释3. 示例 三、后向传播1. 什么是后向传播?2. 通俗解释3. 具体步骤 四、示例五、在 PyTorch 中的后向传播 前言 最近提问里有问到一些名…...

AWS 云安全性:检测 SSH 暴力攻击
由于开源、低成本、可靠性和灵活性等优势,云基础设施主要由基于linux的机器主导,然而,它们也不能幸免于黑客的攻击,从而影响云的安全性。攻击Linux机器最流行的方法之一是通过SSH通道。 什么是 SSH 安全外壳协议(Sec…...

7.9数据结构
思维导图 作业 doubleloop.h #ifndef __DOUBLELOOP_H__ #define __DOUBLELOOP_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct node {union{int len;datatype data;};struct node *pri;//前驱指针struct node *next;//后继指针…...