DABStep: 多步推理数据代理基准测试
语言模型的能力越来越强,可以作为代理自主解决任务。有许多令人兴奋的用例,特别是在推理、代码和数据交叉领域。然而,缺乏针对实际问题的适当评估基准,阻碍了该领域的进展。
为了应对这一挑战,Adyen 和 Hugging Face 共同构建了多步推理数据代理基准测试 (DABstep)。DABstep 包含 450 多个数据分析任务,旨在评估最先进的 LLM 和 AI 代理的能力。
我们的研究结果表明,DABstep 对当前 AI 模型构成了重大挑战,最具能力的基于推理的代理仅达到 16% 的准确率,这凸显了该领域仍有显著进步空间。
DABstep 要求 AI 模型:
- 深入数据细节并保持严谨(无幻觉)
- 对自由格式文本和数据库进行推理
- 与实际用例(不仅仅是数学或代码)联系起来
在这篇博客文章中,我们将介绍基准测试的设计和构建,探讨评估结果,并讨论当前模型与有效解决复杂数据分析任务能力之间的显著差距。
动机
数据分析既是一门艺术也是一门科学,它需要技术技能、领域知识和创造力,因此很少是直截了当的。即使经验丰富的数据分析师也面临挑战,例如:
- 简单但耗时的任务:即使是简单的任务,其巨大的工作量也常常将直接的分析转化为数小时的重复性工作。
- 复杂的上下文和高认知负荷:有些任务需要分析师处理复杂的领域特定知识,这使得它们既耗时又耗脑。例如,(1) 阅读分布式、嵌套和复杂的文档;(2) 分析数据;(3) 推理结果;最后,提供将指导业务方向的建议。
- 技术敏锐度:如果数据具有高可用性、高质量且随时可用,数据分析可能是一项简单的任务。不幸的是,这种情况很少见,分析师需要深厚的技术能力来创建用于消费、转换和提供数据的管道。数据分析师经常承担正式属于数据工程的任务。
在像 Adyen 这样的公司中,分析师处理各种问题,从常规查询到需要创造力、精确度和迭代推理的复杂工作流程。如果能有一个能干的数据分析代理来自动化简单重复的任务并协助处理复杂任务,将使分析师工作更快、减轻精神压力,并专注于解决更有影响力的问题。这对于许多需要数据分析和洞察的行业(如金融)来说,将是一个关键时刻。
最近在“代理工作流”(即配备工具的 LLM 独立执行多步任务)方面的进展,在编码、开放问答、软件工程,甚至Kaggle 竞赛等领域都展现出巨大的前景。这些系统不仅仅是理论上的;它们已经推动了实际的生产力提升。
因此,问题变成了:代理工作流能否重塑我们进行数据分析的方式?
DABstep 简介
机器学习的进步得益于高质量的基准测试,这些基准测试能提供可靠的进步信号。因此,我们很高兴推出多步推理数据代理基准测试 (DABstep),这是一个用于评估和推进数据分析中代理工作流的新基准测试。
DABstep 的独特之处在于:
- 真实世界的用例:基于从 Adyen 实际工作负载中提取的 450 多个真实世界任务构建。这些任务不是人工合成的玩具问题;它们反映了分析师日常面临的挑战,这使得 DABstep 与 DS-1000 或 DS Bench 等其他基准测试[^1]区分开来。
- 结构化数据和非结构化数据的平衡:这些任务需要高级数据分析技能来处理结构化数据并理解非结构化数据中捕获的多个数据集和文档。
- 简单设置:与 SWE-bench 或 MLE-bench 等需要复杂配置的基准测试不同,DABstep 易于使用。使用模型生成答案只需要访问代码执行环境,参与者可以直接将答案提交到排行榜进行自动评估。
- 事实评估:任务被设计为客观评估,因此,任务输出的评估将始终映射到二元结果,即正确或错误,无需解释。
- 多步复杂性:DABstep 在一系列分析任务中测试系统,从常规查询到多步迭代工作流程。与专注于孤立问题的基准测试不同,DABstep 挑战模型在各种实际任务中进行端到端的代理推理。
DABstep 是如何实现所有这些并且保持一个易于运行的基准测试的呢?让我们来看看它的设计!
DABstep 内部包含什么?
DABstep 旨在实现低门槛使用、高质量评估和不断增加的难度级别。为此,我们将开放以下作为 DABstep 的一部分:数据集、任务、评估、实时排行榜和基线。
数据
分析师在处理实际问题时,面临的最大挑战之一是如何平衡领域知识和技术技能。为此,DABstep 包含非结构化数据和结构化数据,分别用于衡量领域知识和技术技能。
表 1 显示了我们随基准测试发布的一些数据集的快照。
名称 | 描述 |
---|---|
payments.csv | 包含 13.8 万笔(匿名)交易的支付数据集,其中包含围绕欺诈和风险用例的各种信号。 |
payments-readme.md | 支付数据集的文档 |
acquirer_countries.csv | 收单银行及其国家/地区表格 |
fees.json | 由 1000 种方案费用结构组成的广泛数据集。 |
merchant_category_codes.csv | 商户类别代码 (MCC) 表 |
merchant_data.json | 描述商户的表格 |
manual.md | 在金融领域,业务背景通常在网络、监管机构和处理商提供的 extenso 手册中概述。对于此基准测试的第一个版本,我们创建了一个 markdown 文件 (manual.md),它将必要的业务知识提炼为精确而简化的格式,以准确解决任务。 |
表 1:基准测试由各种数据集组成,涵盖金融支付等多个任务领域
一些结构化数据集包括 CSV 和 JSON 文件,代表真实世界的数据,例如交易遥测和业务元数据(例如,商家类别代码)。此外,我们还有非结构化数据,例如文档、长手册和详细手册,这些文档例如由网络、监管机构和处理商发布。
所有这些数据集均提取自 Adyen 的实际任务。
任务
基于 DABstep 中包含的新数据集,我们发布了几个难度递增的任务,旨在测试 AI 代理的准确性。
每个任务包含以下项:
- 一个向分析师提出挑战的问题。
- 一个表示任务难度的级别。
- 关于如何格式化答案以满足事实评估规范的指南。
所有任务都不能通过一次性代码解决;换句话说,它们不能仅通过推理解决,而是需要迭代式问题解决的顺序步骤。例如,代理至少需要知道相应数据集中存在哪些列才能回答问题。这与 GAIA、MATH 和 SimpleQA 等流行基准测试形成对比,在这些基准测试中,可以通过一次性代码正确回答多个问题。
图 1 显示了两个示例任务,图 2 显示了示例的人工参考解决方案。
名称 | 描述 |
---|---|
问题: 2023 年哪个卡组织平均欺诈率最高? 指导: 答案必须是卡组织名称。 [LLM/代理循环……] 答案: SwiftCharge |
问题: 针对 2023 年,重点关注商户 Crossfit Hanna,如果我们的目标是通过激励措施鼓励用户切换到不同的授权特征指示符来减少欺诈交易,那么根据最低可能费用,哪种选择最具成本效益? 指导: 答案必须是所选的 ACI(授权特征指示符)和相关成本,四舍五入到小数点后两位,格式为:{卡方案}:{费用}。 [LLM/代理循环……] 答案: E:346.49 |
图 1:左侧是来自 Easy Set 的风险/欺诈问题示例。解决方案需要引用至少 2 个数据源和 3 步代码。右侧是来自 Hard Set 的方案费用问题示例。解决方案需要引用至少 2 个数据源和多步代码。所包含的答案仅用于演示目的,并已从数据集中删除。
难度级别
该基准测试包含两个难度级别:
- 简单级别:这些任务作为热身,有助于验证设置、集成和研究方向。它们通常只需要一个结构化数据集和最少的上下文知识。平均而言,人类在这些任务上经过 3 小时以上的工作后能达到 62% 的基线,而 Llama 70B 零样本提示可以超过 90% 的准确率。
- 困难级别:这些任务需要更复杂的方法,涉及多个结构化数据集和领域特定知识。与简单级别不同,它们通常无法通过单次代码生成解决,需要多步推理。
作为多步推理问题的一个例子,以下代码显示了人工制作的困难级别任务参考解决方案的片段。总的来说,它被分解为四个(4)顺序步骤,包括各种支持宏的开发。为了编写此解决方案,代理必须具备特定的领域知识以及在迭代推理的顺序步骤中工作的能力。
图 2:困难级别问题“如果商户 {merchant} 在 2023 年初之前将其 MCC 代码切换到 {target_mcc},那么他们在 2023 年需要支付多少费用差额?”的 220 行参考解决方案。该解决方案需要多步归纳推理,对于单次代码生成来说很难。
泛化能力
关于我们希望如何通过基准测试来鼓励泛化的一些简短评论。
符号推理: 本着 GSM-Symbolic 的精神,任务的基数已通过时间范围、商家名称等的排列组合进行爆炸式增长。其基本原理是消除“幸运猜测”的机会,并验证核心推理(推理的可重复性)和泛化能力。
隐藏测试集: 我们选择不将数据集划分为验证集和测试集,而只发布一个保留的测试集。这是因为数据分析代理应该能够泛化到各种分析任务,而这些任务不一定包含在此基准测试版本中。
开发集: 鉴于这种严峻的泛化设置、基准测试的规模(450 个问题),并本着开发者友好的精神,我们还发布了一个开发集,它是完整测试集的一个代表性子集,包含答案。这个开发集的目的是允许研究人员在本地配置其 E2E 提交管道,包括评估和快速反馈循环,然后提交到正式排行榜。
为了测试广泛的泛化能力,DABstep 不应单独进行基准测试,而应与其他测试整体泛化和问题解决能力的基准测试(例如 MMLU、SuperGlue、GPQA)结合使用。
评估
为简化起见,我们选择了基于事实的答案评估系统。这意味着基准测试问题的答案应为简单的单词、数字或多项选择组合。这允许进行无偏见、可扩展且无模型的评估。(这与由判断 LLM 评估的自然语言答案提交不同)
鉴于此,我们不打算将答案格式化作为基准测试的重点。为此,我们实施了一系列灵活的评估方法,确保重点仍然是答案的准确性,而不是其格式。例如,我们使用自适应容差来比较数值,允许精度和格式的变化。字符串通过模糊匹配和相似度比率阈值进行规范化和比较。列表在规范化后逐元素评估。
实时排行榜
DABstep 在 Hugging Face 上设有一个实时排行榜,参与者可以提交他们的答案并即时获得评分。您可以立即获得反馈,并查看您在全球范围内的排名。
排行榜视图,显示排名靠前的提交。链接:DABstep 排行榜
基线
我们提供了一组针对流行的开源和闭源模型的基线评估。
图 3:封闭和开放模型/提供商在 Hard set 上的表现。* 推理模型在我们所有聊天模型统一使用的 ReAct 提示下表现不佳,因此我们不得不制作一个特殊的推理提示。请参见基线实现和提示此处详细信息。我们对 DeepSeek-V3 的商业产品进行了基准测试。
从图 3 中我们可以看到,即使是最好的代理也未能突破 20% 的准确率,这表明仍有很大的进步空间。
表现最好的代理是基于最新的推理模型,其中 o3-mini 以 16% 的准确率位居榜首,R1 以 13% 的准确率紧随其后**。最接近的基于聊天的模型是 Claude Sonnet,准确率为 12%,开源的 DeepSeek V3 准确率为 6%。
一个令人惊讶的发现是,尽管指令模型在 ReAct 提示下开箱即用表现良好,但推理模型却不然,准确率为 0%。常见的失败模式包括指令遵循不佳、代码语法无效、代码块关闭(缺少)、工具使用(不当)和单轮对话(即没有顺序步骤)。为了使推理模型在此基准测试上表现良好,需要对提示进行多次迭代。
作为基准测试一部分提供的基线是针对聊天和推理模型的标准化提示,因此,它们应被视为未优化且是性能的下限。
*我们不得不为推理模型设计一个特殊的提示,因为我们的统一 ReAct 提示虽然在聊天模型上表现出色,但在所有推理模型上表现异常糟糕。
** R1 性能是根据样本推断的,因为在发布时长时间中断。
此外,我们还跟踪了运行每个商业产品的完整基准测试的成本,并在下面的表 2 中进行了比较
名称 | 成本 | 每任务成本 |
---|---|---|
o1 | $435 | $0.967 |
Claude 3.5 Sonnet | $90 | $0.200 |
o3-mini | $85 | $0.198 |
GPT 4o | $50 | $0.111 |
Claude 3.5 Haiku | $35 | $0.078 |
GPT 4o-mini | $3 | $0.007 |
Deepseek R1 | $3 | $0.007 |
Deepseek V3 | $2 | $0.004 |
表 2:商业模型的成本。由于主观性/差异性,我们未包含开源模型的价格分析。图 4 探讨了成本/性能百分比。
我们在图 4 中通过考察准确性与成本的权衡来分析经济效益。
可以说,DeepSeek R1 的经济效益是理想的,因为性能和成本之间基本没有权衡。
现在,让我们看看如何自己运行这些基准并评估您自己的模型。
入门和基础设施
我们意识到与基准测试进行交互的代理研究需要执行环境并涉及成本。我们通过提供对 HuggingFace 的 Inference API 和 smolagents 的访问来降低门槛。借助这些工具,研究人员每天可获得 1000 次免费 LLM 请求,并可访问安全的本地代码执行环境。
为方便起见,我们提供了一个示例笔记本:一个零成本提交条目的即用型解决方案(quickstart.ipynb)。
通过消除障碍,DABstep 确保任何人,无论是经验丰富的研究人员还是好奇的新手,都可以为数据分析中代理工作流的进步做出贡献。
未来方向
我们对 DABstep 的发布感到非常兴奋,并认为它将有助于测试当前数据分析代理的水平。然而,本次发布只是第一步,我们计划随着时间的推移不断完善基准。
以人工智能目前的发展速度,我们预计该基准测试最终将在其当前状态下被视为已解决。然而,该基准测试旨在通过增加多个维度的难度来延长其有效性。我们将在基准测试的基础上进行构建,并完全向后兼容。以下是一些我们将改进基线的大方向。
任务: 当前任务范围非常狭窄,主要包括欺诈和支付费用。这只是真实世界的一个子集,因为还有许多其他维度和变量在起作用。未来,我们将扩展相同的基准,包括批准率(发卡机构拒绝)、认证下降和更长时间范围内的实时情况(例如季节性成分)等领域的任务。这将测试代理平衡多个变量并执行多维度权衡的能力。
领域: 该基准测试目前围绕金融领域的任务。但是,我们邀请来自其他领域的研究人员和从业人员,例如医疗、生物、保险、电信等,为基准测试贡献新的子集,以便我们可以评估跨多个领域的性能。
数据规模: 结构化数据最终将无法全部载入内存。它们将使用标准工具进行分析,要求分析师使用分布式计算引擎或调度工作流以供后续评估。
文档: 映射领域知识的非结构化数据将爆炸式增长,包含更多具有时间演变(例如,公告)、不同格式(例如,PDF)的文件,以及类似但不同逻辑的不同版本,这些逻辑映射每个方案、收单方或合作伙伴。上下文将达到一个步骤,逻辑上将不适合上下文窗口中当前和未来的令牌基数。
多模态: 代理还应变得多模态。为此,我们将通过需要通过解释和创建图表来提取逻辑的任务来增强基准。
相关工作
现有用于评估人工智能在数据分析方面表现的基准测试已经推动了该领域的发展,DABstep 正是在这些基础之上构建的。
DS Bench 评估了来自 Modeloff 竞赛的 466 个问题,这些问题主要为基于 Excel 的工作流设计。虽然对于小规模任务有效,但 Excel 不支持实际数据分析中常见的迭代式、代码驱动的工作流(例如 Jupyter notebook)。此外,对 GPT-4 作为评估器的依赖引入了偏差并降低了泛化能力。
DS 1000 测试了来自 StackOverflow 的基于 Python 的数据分析任务,经过精心策划以避免记忆。然而,其任务简短且一次性,缺乏真实数据集和迭代推理。这限制了其评估端到端工作流或多模态能力的能力。
致谢: Harm de Vries (Graidd)、Arjun Guha (东北大学)、Hanna van der Vlis (Adyen)
[^1]: 任务是真实的,数据是人工生成的。业务背景(包括商家名称、费率、交易量、交易价值、欺诈率和费用)均系人工生成,不反映企业可能表现出的实际性能。例如,欺诈率是为了本次练习的目的而故意提高的。