【论文精读】GAIA: A Benchmark for General AI Assistants

GAIA: A Benchmark for General AI Assistants

  • 前言
  • Abstract
  • 1 Introduction
  • 2 Related work
  • 3 GAIA
    • 3.1 A convenient yet challenging benchmark for general AI assistants
    • 3.2 Evaluation
    • 3.3 Composition of GAIA
    • 3.4 Building and extending GAIA
  • 4 LLMs results on GAIA
  • 5 Discussion
  • 6 Limitations
  • 7 Acknowledgements
  • 阅读总结

前言

一篇来自Meta、HuggingFace、AutoGPT联合投稿的Agent Benchmark的工作,为当前百花齐放的Agent领域带来了评测的标准。这篇工作详细介绍了GAIA的设计理念,展望了GAIA的未来,讨论了当前GAIA的不足,细读下来可以看到这些大佬们对于这个当前火热领域的热切期待。

Paperhttps://arxiv.org/pdf/2311.12983.pdf
Codehttps://huggingface.co/gaia-benchmark
FromarXiv 21 Nov 2023

Abstract

本文提出GAIA,一个通用AI助手的benchmark。GAIA提出真实世界的问题,需要一系列基本能力,如推理,多模态处理,网页浏览和一般工具使用等。GAIA的问题概念上对人类都很简单,但对于先进的AI模型却具有挑战,比如人类能够完成92%的任务而接入插件的GPT-4只能完成15%。GAIA的理念本质上背离了当前AI的发展趋势,即针对人类更加困难的任务。作者认为,AGI的出现取决于系统能否在此问题上表现出和人类相似的鲁棒性。作者在GAIA的方法下设计了466个问题及其答案,同时保留其中300个问题的答案,以便于之后的模型刷榜。

1 Introduction

现有的LLM知识丰富,与人类的喜好对齐,可以通过一些工具进行增强,然而评测这些系统是一个悬而未决的问题,LLM由于其不断涌现的新能力而常常刷榜。
为了研究更多挑战性的benchmarks,当前的趋势是寻找对人类更难的任务来挑战LLM,但是对于人类来说困难的任务对LLM来说不一定是困难的,可能的原因是数据污染。此外,开放式问题往往需要人工评估或者模型评估。随着任务越来越复杂,人工评估也变得困难,而模型评估又依赖于更强的模型,因此无法评估最先进的模型。
总而言之,需要新的benchmarks来评估现有的AI系统,除了对人类困难的任务外,也可以构建概念上简单的任务,但需要执行具有大组合空间的复杂动作序列,输出只有完成任务才能获得,并且易于验证。
本文提出通用AI助手benchmark GAIA,它包含466个精心设计的问题和答案,以及相关的设计方法。这些问题对LLM来说很有挑战性,大多数任务都需要复杂的生成。GAIA通过以下目标来避免LLMs评估的困难:

  1. 真实世界和富有挑战性的问题。
  2. 问题都是概念上对人类简单的任务,具有很好的解释性。
  3. 非游戏性。必须强制完成一系列步骤,无法走捷径。不用担心数据污染的问题。
  4. 易于使用。只接受zero-shot。

尽管LLM能够完成对人类来说困难的任务,但是在GAIA上表现不佳,即使可以外接工具,GPT-4对于最简单的任务成功率也不超过30%,对于最困难的任务一个也完成不了,而与此同时,人类的平均成功率是92%。本文介绍了GAIA的组成,设计以及如何提出问题和相关挑战,以便社区进行扩展。本文还分析了最新智能体的成功和不足,证明其潜力。作者公布了166个带注释的数据集,以及300个不带注释的问题集用于评测。作者希望这篇工作能够成为下一代AI系统的里程碑。

2 Related work

随着LLM能力的迅速提升,benchmark的测试以越来越快的速度变得饱和。几年前阅读理解还是一个具有挑战性的问题,2018年引入了通用语言理解评估benchmark GLUE,不到一年模型的能力在该数据集上就超过了人类。为了寻找更难的评估,一个方向是在各个领域专业水平知识的任务,比如MMLU,但是很快LLM就又超过了人类。更广泛的LLM对话能力上的评估包括:

  1. 汇编评估。容易因为数据泄露造成污染。
  2. 人工评估。耗时,难以扩展。
  3. 比当前LLM更强的模型评估。容易受到模型本身的限制。

因此,当前的评估方法仍然滞后,大多数评估依赖于封闭系统、特定的API调用或者给定的正确方法来评估。而GAIA依赖于现实世界的交互。

3 GAIA

3.1 A convenient yet challenging benchmark for general AI assistants

GAIA试图去规避LLMs的不足,它由466个人工标注的问题组成,基于文本,有时会有文件(图像、表格等),涉及各种需要助手的场景。这些问题的答案简短且唯一,易于验证。
在设计上,GAIA有四点原则:

  1. 针对概念上简单的问题。让LLM专注于基本能力(推理,多模态理解,工具使用),而不是专业技能。
  2. 可解释性。任务的概念简单,用户很容易理解模型的推理轨迹。
  3. 对记忆的鲁棒性。数据中不存在纯文本的结果答案,且不容易因为数据的泄露而污染评估(推理轨迹限制)。即使还是出现灾难性知识泄露问题,设计新的问题也是很容易的。
  4. 易用性。任务只是简单的提示,可能附带文件,问题的答案是真实的,并且简洁明确。

3.2 Evaluation

在这里插入图片描述

GAIA的设计使得评估自动化、快速且真实。每个问题都有一个正确答案,因此评估是通过模型的答案和ground truth之间的匹配完成的。系统的prompt模板如上图所示。

3.3 Composition of GAIA

image.png
在GAIA上获得分数需要先进的推理、多模态的理解、编码能力以及一般工具的使用,比如网页浏览。尽管网页浏览是GAIA的关键部分,但是作者不需要这些智能体执行点击以外的操作,比如上传文件,发表评论等,这些考虑留给未来的工作。
所有的问题可以根据所需的步骤和回答问题所需的工具数量分类为难度递增的三个等级。上图展示了不同类型问题的分布情况,每个工具总是和一个或者多个能力相关。三个等级粗略的定义如下:

  • Level 1。问题生成无需工具,或者至多一个工具,不超过5步。
  • Level 2。问题包含更多步骤(5-10),需要借助不同的工具。
  • Level 3。需要接近完美的助手才能解决,采取可能任意长度的步骤,使用任意数量的工具,并且接入真实世界。

image.png
不同等级的示例如上图所示,当然上面的定义并不绝对,有时候不到10步需要复杂互联网检索的任务也会被分到等级3。所有的任务尽可能涵盖各种主题领域和文化。

3.4 Building and extending GAIA

所有的数据都是人工创建的,旨在反映AI助手的实际用例。作者设计了初始的问题,并将它们作为范例提供给标注者以创建更多的问题。这些问题基于一个或多个事实来源,并且通常避免了歧义。当一个问题创建时,还需要标注问题的答案和元数据:需要多少工具,采取哪些步骤,需要多久回答等。一个典型的注释问题如下:在这里插入图片描述

GAIA的验证集请了两个新的注释者独立回答,回答的准确度达到了92%,如下表所示,这表明GAIA对于人类来说是简单的。
在这里插入图片描述

当事实来源托管在网络时,涉及的问题可能会出现问题。首先该事实可能会随着时间而改变,因此指定事实的版本日期很重要。其次部分网站对内容的访问有所限制,本文的问题确保问题托管在互联网上不受限制。

4 LLMs results on GAIA

通过GAIA来测试LLMs的能力只需要对模型进行提示。作者在图2中展示了预先定义好的prompt。作者对GPT4、GPT4-Turbo、GPT4带插件、AutoGPT以GPT4为backend的四款模型进行了测试,baseline是人类的标注和网页搜索。
image.png
结果如上图所示,更多的内容见上表。本文提出的不同难度级别和模型的表现相关,证明其有效性。人类在三种任务上都表现出色,而LLMs却表现不佳。总的来说,GAIA可以对有能力的LLM进行清晰的排名。从时间上来看,人类的耗时要比LLM慢得多,这证实了LLM智能体作为Agent竞争对手的潜力。
没有插件的GPT4和其他结果的差异表明,通过工具API增强LLM可以提高答案的准确性,证明该方向的研究具有巨大潜力。
AutoGPT的结果令人失望, 这种落差可能来自于对GPT4 API的依赖,在之后要重新评估。总的来说,人类和带有插件的GPT4之间的协作似乎提供了迄今为止最佳的分数和所需时间的比率。
image.png
上图显示了在水平1下,LLMs在不同能力任务上的表现,GPT4无法处理文件和多模态任务,但可以解决网页浏览的问题,主要是因为它记住了答案的信息片段。

5 Discussion

通过对GAIA的设计,引导我们去思考当前和未来的AI模型评估的范式。有如下值得讨论的问题:

  1. 闭源模型的可重复性。闭源模型会定期更改,或者某些插件不可用。
  2. 静态基准和动态基准。问题质量很关键,此外,需要采取一定的措施缓解GAIA被污染。
  3. 走向生成模型的统一评估。未来的模型可能会倾向于与其他能力集成,即多模态模型,而不是继续调用外部工具。在未来,多模态模型与GAIA的结合会进一步改善生成模型的评估。
  4. 部分自动化与完全自动化。完全自动化是深度学习一直努力实现的目标,这将会重塑社会经济格局。

6 Limitations

GAIA现如今还存在如下的限制:

  1. 缺少评价。不同的路径可能会导致正确的答案,但是没有简单方法可以直接评估这些答案。
  2. 设计问题的成本较高。作者系统AI系统与人类的偏好一致,因此问题的多样性和是否有根据至关重要。实际中,用户会提出一个不明确的问题,有用的助手会通过通过引用或者保留最值得信赖的来源来回答,二者都很难评估。
  3. 缺乏语言和文化的多样性。GAIA的任务都是以英文提出。希望在未来能够填补这一空白。

7 Acknowledgements

略。

阅读总结

一篇很新的关于LLMs评测的benchmark工作,对于当前火热的智能体领域带来了久违的氮泵。在GAIA之前,很多Agent的工作虽然都很出色,但是在实验部分常常受到诟病,因为没有一个领域的数据集,很多工作只能构建新的数据集进行微调,有时候甚至偏离了工作本身,或者自己构建一个新的领域数据集,但往往缺乏有效的对比,只能自娱自乐。因此GAIA这一benchmark的出现如同给基于LLM的Agent领域带来了久违的甘露,许多用于规划来解决实际问题Agent工作都可以通过这一数据集进行测评。GAIA的出现也是当前研究人员思想的一个转变,与其让模型不断去卷相对于人类来说特别困难的任务,不如让模型来像人一样解决现实中的问题,这样的工作落地下来才能为更多人所用。当前的GAIA还是颇具有难度的,如果不是多模态模型很难解决一些看似很简单的任务,随着多模态模型的发展,相信这个benchmark会大有用处。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

堆排序算法及实现

1、堆排序定义 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。 举例来说,对于n个元素的序列{R0, R1, ... ,…

重温经典struts1之常用标签

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 上一篇,我们学习了struts的基本概念,怎样搭建struts开发环境,从编写formbean,action到jsp页面,以及怎样将他…

用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知

背景 背景是这样的, 我的家里台式机常年 休眠, 并配置了 Wake On Lan (WOL) 方便远程唤醒并使用。 但是我发现, 偶尔台式机会被其他情况唤醒, 这时候我并不知道, 结果白白运行了好几天, 浪费了很多电。 所以我的需求是这样的: 🤔 电脑唤醒后(可能是开…

spider小案例~https://industry.cfi.cn/BCA0A4127A4128A4141.html

一、获取列表页信息 通过抓包发现列表页信息非正常返回,列表信息如下图: 通过观察发现列表页信息是通过unes函数进行处理的,我们接下来去看下该函数 该函数是对列表页的信息先全局替换"~"为"%u",然后再通过…

人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理,以及利用pytorch框架搭建模型…

阿里面试:如何保证RocketMQ消息有序?如何解决RocketMQ消息积压?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: 如何保证RocketMQ消息有序?如何解决RocketMQ消息…

Linux高级系统编程- 消息队列 与 内存共享

消息队列 消息队列是消息的链表,存放在内存中,由内核维护 特点: 1、消息队列中的消息是有类型的。 2、消息队列中的消息是有格式的。 3、消息队列可以实现消息的随机查询。消息不一定要以先进先出的次序读取,编程时 可以按消息的…

Python中的并发编程(3)线程池、锁

concurrent.futures 提供的线程池 concurrent.futures模块提供了线程池和进程池简化了多线程/进程操作。 线程池原理是用一个任务队列让多个线程从中获取任务执行,然后返回结果。 常见的用法是创建线程池,提交任务,等待完成并获取结果&…

Nginx正则表达式

目录 1.nginx常用的正则表达式 2.location location 大致可以分为三类 location 常用的匹配规则 location 优先级 location 示例说明 优先级总结 3.rewrite rewrite功能 rewrite跳转实现 rewrite执行顺序 语法格式 rewrite示例 实例1: 实例2&#xf…

2023年阿里云云栖大会-核心PPT资料下载

一、峰会简介 历经14届的云栖大会,是云计算产业的建设者、推动者、见证者。2023云栖大会以“科技、国际、年轻”为基调,以“计算,为了无法计算的价值”为主题,发挥科技平台汇聚作用,与云计算全产业链上下游的先锋代表…

网线市场现状与发展趋势预测

随着物联网、5G、云计算等技术的迅速发展,全球对于高速、稳定的网络需求急剧增长,这进一步推动了网线市场的发展。各种网络应用场景,从家庭到企业、数据中心到智能城市,都需要大量的高质量网线来支持数据传输和通信需求。本文将对…

LinuxBasicsForHackers笔记 -- 管理用户环境变量

查看和修改环境变量 env – 您可以通过从任何目录在终端中输入 env 来查看所有默认环境变量。环境变量的名称始终为大写,如 HOME、PATH、SHELL 等。 查看所有环境变量 set – 查看所有环境变量,包括 shell 变量、局部变量和 shell 函数(例…

Axure的安装及基本功能介绍

目录 一. Axure概述 二. Axure安装 2.1 安装包下载 2.2 安装步骤 三. Axure功能介绍​ 3.1 工具栏介绍 3.1.1 复制,剪切及粘贴 3.1.2 选择模式和连接 3.1.3 插入形状 3.1.4 点(编辑控点) 3.1.5 置顶和置底 3.1.6 组合和取消组合 …

利用Rclone将阿里云对象存储迁移至雨云对象存储的教程,对象存储数据迁移教程

使用Rclone将阿里云对象存储(OSS)的文件全部迁移至雨云对象存储(ROS)的教程,其他的对象存储也可以参照本教程。 Rclone简介 Rclone 是一个用于和同步云平台同步文件和目录命令行工具。采用 Go 语言开发。 它允许在文件系统和云存储服务之间或在多个云存储服务之间…

RE2文本匹配调优实战

引言 在RE2文本匹配实战的最后,博主说过会结合词向量以及其他技巧来对效果进行调优,本篇文章对整个过程进行详细记录。其他文本匹配系列实战后续也会进行类似的调优,方法是一样的,不再赘述。 本文所用到的词向量可以在Gensim训练…

如何用CHAT写方案?

问CHAT:帮我写一份航空无动力乐园的可执行方案 CHAT回复: 方案一:概念及地点筛选 航空无动力乐园是指以航空运动为主题,利用自然地形与风力进行滑翔、跳伞等无动力航空运动的户外休闲娱乐乐园。鉴于此,首需要确定乐园…

Java入门项目--蚂蚁爱购

简介 这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。 从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭建环境> 安装软件> 创建项目> 添加依赖和配置> 通过表生成代码> 编写Ja…

力扣111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:2 示例 2: 输入…

这样的Python自动化测试面试题,测开来了都不一定都会把!

十、接口自动化 10.1 接口自动化怎么测试 ( Python requestspytest 版本) 原来我们接口自动化是用 python request pytest 执行 接口自动化其实主要就是接口测试的基础上填加了断言,参数化,动态关联 做接口自动化之前,我们也会划分模块&#…

【数据结构】C语言实现堆(附完整运行代码)

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.项目功能演示(以大堆为例) 三.逐步实现项目功能模块及其逻辑详解 1.实现堆程序主函数 2.创建堆结构 3.堆的初始化 4.数据元素入堆 5.数据元素…