生成式AI模型大PK——GPT-4、Claude 2.1和Claude 3.0 Opus

news2024/11/19 14:42:20

RAG(检索增强生成)系统的新评估似乎每天都在发布,其中许多都集中在有关框架的检索阶段。然而,生成方面——模型如何合成和表达这些检索到的信息,在实践中可能具有同等甚至更大的意义。许多实际应用中的案例证明,系统不仅仅要求从上下文中返回事实数据,还需要将这些事实合成一个更复杂的响应。

针对GPT-4、Claude 2.1和Claude 3 Opus(https://www.anthropic.com/news/claude-3-family)三种模型的生成能力进行了评估和比较。本文将详细介绍研究方法、研究结果以及在此过程中遇到的这些模型的细微差别,并说明为什么这些内容对使用生成式人工智能进行构建的人来说非常重要。

有兴趣的读者如果想重现上述实验的结果,那么实验中所需的一切都可以从GitHub存储库(https://github.com/Arize-ai/LLMTest_NeedleInAHaystack)中找到。

补充说明

  • 尽管最初的发现表明Claude的性能优于GPT-4,但随后的测试表明,随着战略提示工程技术的出现,GPT-4在更广泛的评估中表现出了卓越的性能。总之,RAG系统中固有的模型行为和提示工程当中还存在很多的问题。
  • 只需在提示模板中简单地添加一句“请解释自己,然后回答问题”,即可显著提高(超过两倍)GPT-4的性能。很明显,当LLM说出答案时,这似乎有助于进一步展开有关想法。通过解释,模型有可能在嵌入/注意力空间中重新执行正确的答案。

RAG阶段与生成的重要性

图1:作者创建的图表

虽然在一个检索增强生成系统中检索部分负责识别和检索最相关的信息,但正是生成阶段获取这些原始数据,并将其转换为连贯、有意义和符合上下文的响应。生成步骤的任务是合成检索到的信息,填补空白信息,并以易于理解和与用户查询相关的方式呈现。

在许多现实世界的应用中,RAG系统的价值不仅在于它们定位特定事实或信息的能力,还在于它们在更广泛的框架内集成和情境化信息的能力。生成阶段使RAG系统能够超越简单的事实检索,并提供真正智能和自适应的响应。

测试#1:日期映射

我们运行的初始测试包括从两个随机检索的数字中生成一个日期字符串:一个表示月份,另一个表示日期。模型的任务是:

  • 检索随机数#1
  • 隔离最后一位并递增1
  • 根据结果为我们的日期字符串生成一个月
  • 检索随机数#2
  • 从随机数2生成日期字符串的日期

例如,随机数4827143和17表示4月17日。

这些数字被放置在不同深度的不同长度的上下文中。模型最初在完成这项任务时经历了相当困难的时期。

图2:初始测试结果

虽然这两个模型都表现不佳,但在我们的初步测试中,Claude 2.1的表现明显优于GPT-4,成功率几乎翻了四倍。正是在这里,Claude模型的冗长本性——提供详细、解释性的回答——似乎给了它一个明显的优势,与GPT-4最初简洁的回答相比,结果更准确。

在这些意想不到的实验结果的推动下,我们在实验中引入了一个新的变量。我们指示GPT-4“解释自己,然后回答问题”,这一提示鼓励了类似于Claude模型自然输出的更详细的响应。因此,这一微小调整的影响还是深远的。

图3:有针对性提示结果的初始测试

GPT-4模型的性能显著提高,在随后的测试中取得了完美的结果。Claude模型的成绩也有所改善。

这个实验不仅突出了语言模型处理生成任务的方式的差异,还展示了提示工程对其性能的潜在影响。Claude的优势似乎是冗长,事实证明这是GPT-4的一种可复制策略,这表明模型处理和呈现推理的方式会显著影响其在生成任务中的准确性。总的来说,在我们的所有实验中,包括看似微小的“解释自己”这句话,都在提高模型的性能方面发挥了作用。

进一步的测试和结果

图4:用于评估生成的四个进一步测试

我们又进行了四次测试,以评估主流模型将检索到的信息合成并转换为各种格式的能力:

  • 字符串连接:将文本片段组合成连贯的字符串,测试模型的基本文本操作技能。
  • 货币格式:将数字格式化为货币,四舍五入,并计算百分比变化,以评估模型的精度和处理数字数据的能力。
  • 日期映射:将数字表示转换为月份名称和日期,需要混合检索和上下文理解。
  • 模运算:执行复数运算以测试模型的数学生成能力。

不出所料,每个模型在字符串连接方面都表现出了强大的性能,这也重申了以前的理解,即文本操作是语言模型的基本优势。

图5:货币格式化测试结果

至于货币格式化测试,Claude 3和GPT-4的表现几乎完美无瑕。Claude 2.1的表现总体上较差。准确度在标记长度上变化不大,但当指针更接近上下文窗口的开头时,准确度通常会更低。

图6:正式的来自Haystack网站的测试结果

尽管在一代测试中取得了出色的结果,但Claude 3的准确性在一个仅用于检索的实验中有所下降。从理论上讲,简单地检索数字也应该比操纵数字更容易——这使得性能的下降令人惊讶,也是我们计划进一步测试的领域。如果有什么不同的话,这种违反直觉的下降只会进一步证实这样一种观点,即在使用RAG开发时,检索和生成都应该进行测试。

结论

通过测试各种生成任务,我们观察到,虽然Claude和GPT-4这两个模型都擅长字符串操作等琐碎任务,但在更复杂的场景中,它们的优势和劣势变得显而易见(https://arize.com/blog-course/research-techniques-for-better-retrieved-generation-rag/)。LLM在数学方面仍然不太好!另一个关键结果是,“自我解释”提示的引入显著提高了GPT-4的性能,强调了如何提示模型以及如何阐明其推理对实现准确结果的重要性。

这些发现对LLM的评估具有更广泛的意义。当比较像详细的Claude和最初不那么详细的GPT-4这样的模型时,很明显,RAG评估(https://arize.com/blog-course/rag-evaluation/)标准必须超越以前仅重视正确性这一点。模型响应的冗长引入了一个变量,该变量可以显著影响他们的感知性能。这种细微差别可能表明,未来的模型评估应将平均答复长度视为一个值得注意的因素,从而更好地了解模型的能力,并确保更公平的比较。

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

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

相关文章

Docker安装Redis的详细教程

以下是一个使用Docker安装Redis的详细教程 1. 拉取Redis镜像 运行以下命令来从Docker Hub上拉取最新的Redis镜像: docker pull redis:latest如果您需要特定版本的Redis,可以指定版本号: docker pull redis:6.2.72. 运行Redis容器 以下命…

基于AT89C52单片机的智能窗帘系统

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89276984?spm1001.2014.3001.5503 C 源码仿真图毕业设计实物制作步骤07 智能窗户控制系统学院(部): 专 业: 班 级&…

前端响应式期末作品

网页设计成品_前端响应式 主题:租房网站,共6个html页面,包含首页,登录注册,租房新闻,租房精选,租房详情,数据可视化页面(可以修改内容) 采用技术:…

香橙派KunpengPro测评之使用C语言操控40pin引脚

香橙派KunpengPro测评之使用C语言操控40pin引脚 香橙派KunpengPro介绍香橙派实物图香橙派登录界面香橙派KunpengPro的登录界面香橙派KunpengPro的原始桌面香橙派KunpengPro内安装了VScode等软件香橙派KunpengPro的终端 香橙派硬件参数核心性能图形与显示接口丰富性扩展与兼容性…

刷代码随想录有感(81):贪心算法——分发饼干

题干&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int index s.size() - 1;int res 0;for(int i g.size() - 1; i > 0; i--){if(index >…

设计模型-系统架构师(三)

1、按照《中华人民共和国著作权法》的权利保护期&#xff0c;署名权和修改权 是永久保护的。 发表权、使用权和获取报酬权 保护期限 作者终生和死后的50年。 2、&#xff08;重要&#xff09;面向对象的分析模型主要由 顶层架构图、用例与用例图和&#xff08;&#xff09;构成…

远程户外监控组网方案,工业4G路由器ZR2000

户外监控无人值守4G工业路由器组网应用涉及工业自动化、数据传输和远程监控的重要领域。在户外没有光纤的情况下&#xff0c;想要让监控或传感器等设备联网&#xff0c;仅需一台4G工业路由器即可解决。以下是关于远程监控户外组网的详细分析与应用&#xff1a; 物联网应用场景 …

Java多线程(02)

一、如何终止线程 终止线程就是要让 run 方法尽快执行结束 1. 手动创建标志位 可以通过在代码中手动创建标志位的方式&#xff0c;来作为 run 方法的执行结束条件&#xff1b; public static void main(String[] args) throws InterruptedException {boolean flag true;Thr…

SERVER-----查询(1)

目录 Scott库下载&#xff1a; 一. 查询 1. 计算列 2. distinct 3. betwee... and... 4. in Scott库下载&#xff1a; 在大家学习数据库后期需要使用Scott库进行辅助学习&#xff0c;下面是我从一个叫做 yuhan_Li的博主那复制过来的&#xff0c;大家尽可能访问原文章吧&am…

南卡、韶音、Cleer开放式耳机如何选?全面对比测评拒绝智商税!

随着开放式耳机在生活中日益流行&#xff0c;市场上的多样化选择有时也伴随着质量参差不齐的问题&#xff0c;部分产品因成本控制而牺牲了材质和音质&#xff0c;给消费者在寻找高质量耳机时增添了困扰。 作为一名耳机评测领域的从业者&#xff0c;近期我投入大量精力对多款开…

基于STM32实现智能饮水机控制系统

目录 引言环境准备智能饮水机控制系统基础代码示例&#xff1a;实现智能饮水机控制系统 温度传感器数据读取水泵和加热器控制水位传感器数据读取用户界面与显示应用场景&#xff1a;家庭和办公室的智能饮水管理问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在S…

1---Linux下进程的概念(逻辑推导,全干货无废话)

一、进程和程序&#xff1a; 1.1什么是程序&#xff1f; 程序由代码、数据、逻辑、接口和文档组成的一组按特定顺序执行的计算机指令&#xff0c;用于实现特定功能或解决问题。程序存储在磁盘上。 1.2什么是进程&#xff1f; 进程是一个正在执行的程序实例&#xff0c;包含程…

数据库查询——kettle开发20

一、数据库查询 数据库查询就是数据库里面的左连接&#xff0c;左连接就是两张表执行左关联查询&#xff0c;把左边的表数据全部查询出来。 如图所示我们在进行数据库查询操作时&#xff0c;我们首先需建立数据库连接&#xff0c;输入表名和查询需要的关键字&#xff0c;最后…

LAMP源码编译安装——CentOS7

文章目录 LAMP是什么LAMP软件组件LinuxApacheMySQLPHP 源码安装Apache一、准备工作二、安装环境依赖包三、配置软件模块四、编译及安装五、优化配置文件路径六、添加httpd系统服务&#xff08;有两种方法&#xff09;方法一&#xff1a;方法二&#xff1a; 七、修改httpd 服务配…

WEB安全:Content Security Policy (CSP) 详解

Content Security Policy (CSP) 是一种强大的网页安全机制,用于防止跨站脚本 (XSS) 和其他注入攻击。通过设置一系列的内容安全策略,CSP 可以限制网页可以加载的资源,从而保护用户数据和网站的安全性。 什么是 XSS 攻击? 跨站脚本攻击 (XSS) 是一种常见的安全漏洞,攻击者…

Svad:一个鲁棒、低功耗、轻量级的语音活动检测与尖峰神经网络

SVAD: A ROBUST, LOW-POWER, AND LIGHT-WEIGHT VOICE ACTIVITY DETECTION WITH SPIKING NEURAL NETWORKS 第二章 目标说话人提取之《Svad:一个鲁棒、低功耗、轻量级的语音活动检测与尖峰神经网络》 文章目录 SVAD: A ROBUST, LOW-POWER, AND LIGHT-WEIGHT VOICE ACTIVITY DETE…

京东二面:Sychronized的锁升级过程是怎样的

引言 Java作为主流的面向对象编程语言&#xff0c;提供了丰富的并发工具来帮助开发者解决多线程环境下的数据一致性问题。其中&#xff0c;内置的关键字"Synchronized"扮演了至关重要的角色&#xff0c;它能够确保在同一时刻只有一个线程访问特定代码块或方法&#…

【Python】 从Python列表中获取唯一值

基本原理 在Python中&#xff0c;列表是一种非常灵活的数据结构&#xff0c;它允许存储不同类型的元素。然而&#xff0c;有时我们可能需要从列表中提取唯一的值&#xff0c;即去除重复的元素。这在处理数据集或进行数据分析时尤其有用。Python提供了几种方法来实现这一目标。…

[SCTF2019]Who is he

unity 游戏&#xff0c;直接输入字符串 直接修改 if 判断&#xff0c;看能不能直接输出flag 修改了程序逻辑&#xff0c;但还是输出了 明明已经把这个 if 删了 不知道为什么还会输出这串字符 应该程序还有什么引入吧&#xff0c;看 wp 应该先查一下程序的动态链接库 DLL 是…

渗透测试工具Cobalt strike-1.CS介绍与配置

Cobalt Strike是一款美国Red Team开发的渗透测试神器&#xff0c;常被业界人称为CS。最近这个工具大火&#xff0c;成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式&#xff0c;集成了提权&#xff0c;凭据导出&#xff0c;端口转发&#xff0c;socket代理&#x…