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]: 任務是真實的,資料是人工生成的。業務背景(包括商家名稱、費率、交易量、交易價值、欺詐率和費用)均系人工生成,不反映企業可能表現出的實際效能。例如,欺詐率是為了本次練習的目的而故意提高的。