GPT-4o与Gemini 1.5:大语言模型的上下文记忆能力评估

2024-06-12 17:04

本文主要是介绍GPT-4o与Gemini 1.5:大语言模型的上下文记忆能力评估,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GPT-4o与Gemini 1.5:大语言模型的上下文记忆能力评估

在大语言模型(LLM)的应用中,能够在大量上下文信息中找到并理解详细信息变得越来越重要。所谓的“大海捞针”测试便是衡量LLM在此类任务中表现的关键基准。在本文中,我将对OpenAI和Google的顶级LLM进行独立分析,测量它们基于上下文的理解能力。

什么是“大海捞针”测试?

“大海捞针”测试是针对大语言模型的一种评估方法,测试过程中会将特定信息(“针”)嵌入一大段无关文本(“大海”)中。然后,LLM需要回答一个问题,该问题要求从大量上下文中提取“针”信息。这种测试用于评估LLM的上下文理解能力和信息检索能力。在开发基于上下文的LLM应用程序时,这一能力至关重要。

随着自定义知识的集成变得越来越流行,所谓的检索增强生成(RAG)系统也随之兴起。为了进一步推动长上下文窗口的趋势,Google最近宣布了Gemini模型的新功能,可以为单个查询输入100万个tokens。

数据集生成

我们需要一个脚本,用于创建“针在大海中”数据集。该脚本允许我输入两个关键元素:

  1. 上下文(大海): 这是嵌入独特信息的文本。
  2. 独特信息(针): 这是需要在大量上下文中识别的具体信息。

数据集生成过程如下:

  1. 起点选择: 脚本首先在大段文本中随机选择一个起点。这个起点通常在文本的第10%到第40%之间。
  2. 针的放置: 然后在大海中插入独特信息(针)。它的位置也随机分布,但限制在大海长度的第20%到第80%之间。

一般来说,LLM最容易记住提示的开始和结尾信息。这个算法策略性地将针放置在上下文的特定百分比范围内,以确保评估能够捕捉模型识别和提取全范围文本数据的能力,而不仅仅是从提示更容易记住的边缘信息中提取。

以下是数据集生成算法的代码片段:

def create_haystack_with_needle(context: str, needle: str) -> str:import random# 确定大海的长度和针的位置context_length = len(context)start_pos = random.randint(int(context_length * 0.1), int(context_length * 0.4))insert_pos = random.randint(int(context_length * 0.2), int(context_length * 0.8))# 创建包含针的上下文haystack_with_needle = context[:insert_pos] + needle + context[insert_pos:]return haystack_with_needle

评估方法

在此次评估中,我使用了《哈利·波特》作为上下文(大海),而针则是一个虚构的电话号码。我为每个上下文长度(包括1000、2000、4000、8000、12000和16000字符)创建了100个大海。
包含1000字符的一个大海的示例,其中在第80个百分位位置插入了针(黄色部分)

context = "在哈利·波特的故事中,有一个重要的电话..."
needle = "123-456-7890"
haystack_with_needle = create_haystack_with_needle(context, needle)

不同的LLM任务是返回虚构电话号码。回复中是否包含虚构电话号码用于标记模型的回答准确性。使用的提示如下:

def create_needle_prompt(needle_text: str) -> str:prompt = f'''##### INSTRUCTION #####What is the fictive phone number to Lars Wiik according to the context?Only provide me what I want, nothing else.You can only respond with at max 20 words.##### CONTEXT #####{needle_text}'''return prompt

性能结果

此次评估包含以下模型:

  • gpt-4o-2024–05–13
  • gpt-4-turbo-2024–04–09
  • gpt-4–0613
  • gpt-3.5-turbo-0125
  • gemini-1.5-pro-preview-0514
  • gemini-1.5-flash-preview-0514
  • gemini-1.0-pro-002

每个模型都在不同上下文长度(1k、2k、4k、8k、12k、16k)上运行100次不同的“大海”测试。以下是结果准确率的折线图:

注意:你看不到gpt-4o和gpt-4–0613,因为它们被gpt-4-turbo-2024–04–09(100%准确率)隐藏了!

随着上下文窗口变长,由于噪声增加,提取特定信息变得更加困难。因此,性能预期会随着上下文窗口的增大而下降。从图中可以看出,OpenAI的模型在性能上与Google的模型有明显区别。Google的模型在8k上下文长度后准确率趋于平稳,约为50%。而OpenAI的模型在此测试中表现明显出色,其中gpt-4o、gpt-4-turbo-2024–04–09和gpt-4–0613是表现最好的模型。

结论

“针在大海中”评估可以用于测量大语言模型在使用长上下文时的理解和信息检索能力。在此次分析中,我们观察到OpenAI的模型和Google的Gemini系列在性能上的差异,其中OpenAI的gpt-4、gpt-4o和gpt-4-turbo得分最高。尽管Google最近增强了Gemini的能力,使其能够处理多达100万个tokens,但OpenAI的模型显示出更一致的能力,从大文本中准确检索特定信息。

对于用户和开发者来说,模型的选择可能取决于他们应用的具体需求。尽管如此,这些评估提供了宝贵的见解,帮助我们理解这些先进语言模型在复杂任务中的实际表现。未来,随着技术的进一步发展和改进,我们期待看到更多的创新和性能提升。

这篇关于GPT-4o与Gemini 1.5:大语言模型的上下文记忆能力评估的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054808

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

C语言 将“China”译成密码

将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。编译程序用付赋初值的方法使c1,c2,c3,c4,c5这五个变量的值分别为“C”,“h”,“i”,“n”,“a”,经过运算,使c1,c2,c3,c4,c5分别变成“G”,“l”,“m”,“r”,“e”。分别用put

OpenCompass:大模型测评工具

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型数据侧总结大模型token等基本概念及参数和内存的关系大模型应用开发-华为大模型生态规划从零开始的LLaMA-Factor

模型压缩综述

https://www.cnblogs.com/shixiangwan/p/9015010.html

C语言入门系列:探秘二级指针与多级指针的奇妙世界

文章目录 一,指针的回忆杀1,指针的概念2,指针的声明和赋值3,指针的使用3.1 直接给指针变量赋值3.2 通过*运算符读写指针指向的内存3.2.1 读3.2.2 写 二,二级指针详解1,定义2,示例说明3,二级指针与一级指针、普通变量的关系3.1,与一级指针的关系3.2,与普通变量的关系,示例说明 4,二级指针的常见用途5,二级指针扩展到多级指针 小结 C语言的学习之旅中,二级

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更可靠的信息,以便做出及时的准备和响应。为了应对这一挑战,微软研究院开发了首个大规模大气基础模型 Aurora,其超高的预测准确率、效率及计算速度,实现了目前最先进天气预测系统性能的显著