当前位置: 首页 > news >正文

北京大学:利用好不确定性,8B小模型也能超越GPT-4

大模型有一个显著的特点,那就是不确定性——对于特定输入,相同的LLM在不同解码配置下可能生成显著不同的输出。

比如问一问chatgpt“今天开心吗?”,可以得到两种不同的回答。

常用的解码策略有两种,一个是贪婪解码,即永远选择概率最高的下一个token,另一种就是采样方法,根据概率分布随机选择下一个token,常常使用温度参数平衡响应质量和多样性。

那么,这两种方式哪个更好呢?北大的一篇论文给出了答案:

贪婪解码在大多数任务中通常优于采样方法。

另外作者还发现,LLMs的这种不确定性具有巨大潜力。通过采用“Best-of-N”策略,从多个采样响应中挑选最优答案的方式,Llama-3-8B-Instruct在MMLU、GSM8K和HumanEval上均超越GPT-4-Turbo

这是否可以说明,即使小模型单次回答可能不够准确,但多试几次,从里面挑最好的,也能找到正确答案。就像多猜几次谜语,总有一次能猜对一样。一起来看看论文中怎么说的吧~

论文标题:
The Good, The Bad, and The Greedy: Evaluation of LLMs Should Not Ignore Non-Determinism

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

代码链接
https://github.com/Yifan-Song793/GoodBadGreedy

实验设置

基准测试

本文选择了多个基准测试如下表所示进行实验, 评测模型在通用指令跟随、知识、数学推理、编码等方面的能力。

模型选择

选择开源模型Llama-3-Instruct、Yi-1.5-Chat、Qwen-2-Instruct和Mistral以及闭源模型GPT-4-Turbo作为对比。还测试了同系列中不同规模的模型,如Qwen-2和Yi-1.5。为了更深入地分析,本文还评估了使用不同对齐方法训练的模型,以研究对齐技术的效果,包括DPO、KTO、IPO、ORPO、RDPO和SimPO等对齐方法。

方法选择

本文的目标是在不同的解码配置下比较LLMs的性能。作者选择了贪婪解码和采样生成(temperature=1.0,top-p=1.0)作为主要比较。

实验结果

下表展示了实验结果,其中贪婪解码超过采样平均值的分数用绿色突出显示,而低于采样解码的用红色标记。

从以上结果中可以总结出一些问题的答案。

贪婪解码和采样之间的性能差距有何不同?

贪心解码和采样方法之间始终存在性能差距。这种差距在专有模型和开源模型中都很明显,并且在多个基准测试中都有体现,包括指令执行、语言理解、数学推理和代码生成。

在WildBench测试中,各任务类别的性能差距也很显著,如下表所示。不同的解码配置甚至可能改变模型排名。例如,在Arena-Hard测试中,Qwen2-7B使用贪心解码时略优于Llama-3-8B;但使用采样解码时,Llama-3-8B可能超过Qwen2-7B。

什么时候贪婪解码比采样更好,反之亦然?为什么?

  1. 对于大多数评估任务和模型,贪心解码的表现优于采样。

  2. 对于包含相对简单的开放式创意任务的AlpacaEval,采样生成的响应更好。与GSM8K和HumanEval这类需要LLM解决特定数学或编程问题的推理任务不同,AlpacaEval中50%的实例是信息查询类任务,且为开放式基准测试,没有确定的答案,其实例与难度比Arena-Hard和WildBench更简单。

哪个基准在非确定性方面最一致/最不一致?

MixEval和MMLU在稳定性上表现尤为突出,这体现在无论是使用贪心解码还是采样方法,其性能差异很小,且不同采样间的结果波动也很低。这种高度稳定性主要得益于它们答案空间的严格限制:MMLU采用多项选择题形式,而MixEval则通过真实数据基准测试要求LLM给出简短答案,从而进一步压缩了输出范围。

相比之下,GSM8K和HumanEval在处理非确定性生成任务时显得不够稳定,最佳与最差采样结果之间的性能差异可能超过10分,显示出较大的波动性。

不同模型之间的表现有何差距?

GPT-4-Turbo在多种任务上展示了稳定的性能,贪心解码与采样方法间的性能差异微乎其微,同时采样质量也有所增强

然而,开源LLMs则展现出与众不同的特性。例如,Mistral-7B-Instruct-v0.2在AlpacaEval和Arena-Hard等开放式指令任务上,其行为模式与其他模型截然相反。同样地,Llama3-8B-Instruct在MMLU任务中,通过采样实现的性能甚至超越了贪心解码,这一表现也与众不同。

这些现象引发了对未来研究领域的深刻思考:

  1. 为何特定模型在特定任务上会展现出如此不同的行为?

  2. 这些独特性是否能为构建更稳健的LLM提供新的思路?

这些问题强调了深入探究LLM内部工作机制的重要性,这类研究有望显著提升我们对不同模型及其训练方式如何影响模型行为的理解。

各种因素如何影响非确定性?

那么各种因素又是如何影响非确定性的,这里作者调整缩放、对齐和解码参数进行实验。

Scaling对非确定性的影响

有人可能会认为,较大的LLMs在解码时的不确定性会更低,从而导致采样时的性能差异较小。但从作者的实验结果来看,并非如此。作者使用Yi-1.5-Chat和Qwen2-Instruct系列来观察从0.5B到34B参数的性能差异。

参数扩展并不会导致较低的采样方差。Qwen2-7B-Instruct在AlpacaEval和HumanEval上的方差高于其较小的对应模型。并且不同大小的模型在不同任务上的性能差异显著,无法得出统一的结论。

对齐对非确定性的影响

对齐方法(如DPO)通过学习偏好数据来增强LLM。作者使用Llama-3-8B-Instruct作为训练起点,评估了DPO、KTO和SimPO等对齐方法的效果。如下图所示,应用这些方法后,贪婪解码和采样性能均受到影响。

在AlpacaEval、MMLU、GSM8K和HumanEval等任务中,标准差有所下降,这表明对齐可能会减少采样输出的多样性。然而,需注意,并非所有对齐方法都能始终如一地提高模型性能。例如,KTO和SimPO在MMLU上导致性能下降。此外,SimPO在MixEval基准上效果有限。

温度对非确定性的影响

对于采样生成,温度控制采样过程的随机性,较低的值使模型更具确定性,而较高的值使模型更随机。作者评估不同温度对非确定性生成的影响。

如上图所示,在AlpacaEval任务中,较高的温度会略微提高性能。在多项选择题的问答任务中,温度变化对性能的影响不显著。

值得注意的是,当温度极端升高至如1.5时,LLM在需要推理和代码生成的任务(如GSM8K和HumanEval)上显著受阻,模型解答问题变得困难。相反,在开放式指令任务(如AlpacaEval和ArenaHard)中,即便温度较高,模型依然能保持相对良好的表现。

重复对生成的影响

除了控制贪婪搜索和采样的参数,还有一个关键参数——重复惩罚,它也会影响生成过程。

重复惩罚通过调整新词是否重复出现在提示和已生成文本中的概率来工作。具体来说,值大于1.0时,模型倾向于使用更多新词;小于1.0时,则促进词语的重复。默认情况下,该参数设为1.0,以保持平衡。

如上图所示,大多数情况下建议保持默认值以获得最佳性能。但在AlpacaEval任务中,略微提高重复惩罚(如1.2)可能因GPT评审偏好简短答案而带来性能提升。

对于MixEval和MMLU,由于都鼓励简洁输出,重复惩罚的影响较小。而GSM8K数学推理任务则不同,最佳表现出现在重复惩罚设为0.9时,因数学推理常需重复问题中的数字和条件,过高设置反而降低性能。

非确定性生成中的表面模式

作者还对比了不同生成配置下各类任务的生成长度。如下图所示,贪心解码产生的响应比采样平均值短的情况用蓝色突出显示,反之则用紫色标记。

可以观察到贪婪解码生成的文本通常比采样生成的略短。在Yi系列模型处理AlpacaEval和GSM8K任务时,这一模式出现了变化,两种生成方法产生的响应长度几乎相当。

下图展示了Qwen2-7B-Instruct在GSM8K上贪婪解码与采样生成的效果差异。

结果显示,贪婪解码在解决GSM8K问题上表现显著优于采样生成(83.5% vs. 72.0%)。贪婪解码能有效且准确地解答问题,而采样生成则在多次尝试中错误率激增,达到89%,这表明采样方法可能在一定程度上削弱了LLMs的推理能力

LLMs的不确定性有何潜力

当前对LLMs的评估常局限于单一输出,这限制了对其全面能力的洞察。作者采用“Best-of-N”策略,即从多个采样响应中挑选最优答案。利用ArmoRM和FsfairX等先进奖励模型,对Llama-3-8B-Instruct的响应进行评分并排序,选取最高分作为输出。同时,设立“oracle”基准,以最佳响应为上限,评估策略潜力。

可以看到“Best-of-N”策略极大提升了LLMs性能,尤其是oracle选择下,Llama-3-8B-Instruct在MMLU、GSM8K和HumanEval上均超越GPT-4-Turbo。这凸显了小规模LLMs的强劲实力。

因此未来可以从两条路径强化小规模LLMs:

  1. 通过概率校准和优化偏好来提升答案质量

  2. 利用集成学习或自一致性等策略,从多个候选答案中精准挑选最佳项

结语

这篇文章给了我们一个重要的提示:当我们想要提升大模型的实力,或者更准确地评估它们的性能时,别忘了考虑解码方式这个关键因素。利用大模型自带的“不确定性”,我们可以找到更多创新的方法来推动技术进步。所以,不妨在设计和评估模型时,多琢磨琢磨解码方式,也许会带来意想不到的效果~

相关文章:

北京大学:利用好不确定性,8B小模型也能超越GPT-4

大模型有一个显著的特点,那就是不确定性——对于特定输入,相同的LLM在不同解码配置下可能生成显著不同的输出。 比如问一问chatgpt“今天开心吗?”,可以得到两种不同的回答。 常用的解码策略有两种,一个是贪婪解码&am…...

​​​​​​​哪些云服务商已通过了等保2.0合规性评估?​​​​​​​

已通过等保2.0合规性评估的云服务商 根据最新的搜索结果,以下是已通过等保2.0合规性评估的云服务商: 阿里云:阿里云的“电子政务云平台系统”是全国首个通过等保2.0国标测评的云平台,显示了其在云计算领域的安全合规能力。华为云…...

PHP在线加密系统源码

历时半年,它再一次迎来更新[飘过] 刚刚发的那个有点问题,重新修了一下 本次更新内容有点多 1. 更新加密算法(这应该是最后一次更新加密算法了,以后主要更新都在框架功能上面了) 2. 适配php56-php74 3. 取消批量加…...

OpenCV学习笔记 比较基于RANSAC、最小二乘算法的拟合

一、RANSAC算法 https://skydance.blog.csdn.net/article/details/134887458https://skydance.blog.csdn.net/article/details/134887458 二、最小二乘算法 https://skydance.blog.csdn.net/article/details/115413982...

前端JS特效第53集:带声音的烟花模拟绽放特效插件

带声音的烟花模拟绽放特效插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Firework Simulator v2&…...

好展位,抢先订!2025浙江(玉环)机械展

2025第18届浙江&#xff08;玉环&#xff09;机械工业展览会 时间地点&#xff1a;2025年4月25-28日 玉环会展中心 近年来&#xff0c;随着玉环工业经济的蓬勃发展&#xff0c;汽摩配件、阀门水暖五金产业、铜加工、眼镜配件、金属加工生产等行业&#xff0c;如同贪婪的巨人&…...

Java面试八股之Spring如何解决循环依赖

Spring如何解决循环依赖 在Spring框架中&#xff0c;循环依赖问题通常发生在两个或多个Bean相互依赖的情况下。Spring为了解决循环依赖问题&#xff0c;采用了不同的策略&#xff0c;这些策略主要取决于Bean的作用域以及依赖注入的方式。下面是一些关键点&#xff1a; 单例Be…...

如何为 SQL Server 设置强密码以增强安全性?

为 SQL Server 设置强密码是增强数据库安全性的重要步骤。以下是一些关键步骤和最佳实践&#xff1a; 1. 使用复杂密码 长度&#xff1a;密码应至少为 12 个字符。字符类型&#xff1a;包括大写字母、小写字母、数字和特殊字符&#xff08;如 !#$%^&*()&#xff09;。避免…...

C语言实现三子棋

通过一段时间的学习&#xff0c;我们已经能够较为熟练地使用分支语句&#xff0c;循环语句&#xff0c;创建函数&#xff0c;创建数组&#xff0c;创建随机数等。之前我们做过一个扫雷游戏&#xff0c;今天让我们再尝试创作一个三子棋游戏吧~ 一、三子棋游戏的思路 三子棋的游…...

昇思25天学习打卡营第XX天|RNN实现情感分类

希望代码能维持开源维护状态hhh&#xff0c;要是再文件整理下就更好了&#xff0c;现在好乱&#xff0c;不能好fork tutorials/application/source_zh_cn/nlp/sentiment_analysis.ipynb MindSpore/docs - Gitee.com...

linux深度学习环境配置(cuda,pytorch)

显卡驱动 首先查看linux服务器是否存在显卡驱动&#xff0c;可以输入以下命令 nvidia-smi如果没有直接显示下面的画面 则进行下面的步骤&#xff1a; ubuntu-drivers devices sudo ubuntu-drivers autoinstall上述步骤的意思是直接在线安装 然后重启linux服务器 reboot发现…...

SpringBoot教程(十九) | SpringBoot集成Slf4j日志门面

SpringBoot教程&#xff08;十九&#xff09; | SpringBoot集成Slf4j日志门面 一、概述二、前言三、引入依赖 (不需要额外引入了)四、自定义Logback的配置文件&#xff08;一般都需配置&#xff09;情况一&#xff1a;不配置任何关于logback的配置文件情况二&#xff1a;配置关…...

科普文:深入理解ElasticSearch体系结构

概叙 Elasticsearch是什么&#xff1f; Elasticsearch&#xff08;简称ES&#xff09;是一个分布式、可扩展、实时的搜索与数据分析引擎。ES不仅仅只是全文搜索&#xff0c;还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。 官网地址&#xff1a;…...

极限学习机(ELM)预测模型及其Python和MATLAB实现

### 一、背景 在机器学习和数据挖掘领域&#xff0c;预测模型旨在从过往数据中学习规律&#xff0c;以便对未知数据进行预测。随着数据量的激增和计算能力的提升&#xff0c;各种算法不断涌现。其中&#xff0c;极限学习机&#xff08;Extreme Learning Machine, ELM&#xff0…...

基于Python的哔哩哔哩国产动画排行数据分析系统

需要本项目的可以私信博主&#xff0c;提供完整的部署、讲解、文档、代码服务 随着经济社会的快速发展&#xff0c;中国影视产业迎来了蓬勃发展的契机&#xff0c;其中动漫产业发展尤为突出。中国拥有古老而又璀璨的文明&#xff0c;仅仅从中提取一部分就足以催生出大量精彩的…...

Java导出Excel给每一列设置不同样式示例

Excel导出这里不讲&#xff0c;方法很多&#xff0c;原生的POI可以参照 Java原生POI实现的Excel导入导出&#xff08;简单易懂&#xff09; 这里只说怎么给Excel每一列设置不同的样式&#xff0c;比如下面这样的 直接上代码 Overridepublic void exportTemplate(HttpServletRe…...

2.1、matlab绘图汇总(图例、标题、坐标轴、线条格式、颜色和散点格式设置)

1、前言 在 MATLAB 中进行绘图是一种非常常见且实用的操作,可以用来可视化数据、结果展示、分析趋势等。通过 MATLAB 的绘图功能,用户可以创建各种类型的图形,包括线图、散点图、柱状图、曲线图等,以及三维图形、动画等复杂的可视化效果。 在绘图之前,通常需要先准备好要…...

Datawhale AI夏令营 AI+逻辑推理 Task2总结

Datawhale AI夏令营 AI逻辑推理 Task2总结 一、大语言模型解题方案介绍 1.1 大模型推理介绍 ​ 推理是建立在训练完成的基础上&#xff0c;将训练好的模型应用于新的、未见过的数据&#xff0c;模型利用先前学到的规律进行预测、分类和生成新内容&#xff0c;使得AI在实际应…...

linux常使用的命令

关机命令 shutdown halt poweroff reboot grep 选项 参数 -l 显示所有包含关键字的文件名 -n 在匹配之前加上行号 -c 只显示匹配的行数 -v 显示不匹配的行 管道符 “|” 左边的输出作为右边的输入 例如&#xff1a;我们找个文件包含abc 但是不含有def的文件 grep …...

Ubuntu系统U盘安装与虚拟机安装

一、Ubuntu系统U盘安装 准备工作 下载Ubuntu镜像文件:从Ubuntu官方网站下载最新的LTS(长期支持)版本镜像文件(ISO),以确保系统的稳定性和长期支持。准备U盘:选择一个容量至少为8GB的U盘,并确保U盘中的数据已备份,因为接下来的操作会格式化U盘。制作启动U盘: Windows…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...