MetaGPT推出全新工作:打破數(shù)據(jù)壁壘,挑戰(zhàn)機器學習建模流程,數(shù)據(jù)科學家或將被取代?
01 研究背景
目前,由大型語言模型(LLM)驅動的智能體已經(jīng)證明了它們在處理復雜任務方面的顯著潛力。此外,通過賦予 LLM 代碼執(zhí)行能力來提升其問題解決能力正逐漸成為一種趨勢,這一點已經(jīng)通過 Code-Interpreter [1]、Open Interpreter [2]、TaskWeaver [3] 等工作得到了實踐驗證。
然而,在數(shù)據(jù)科學領域,面對數(shù)據(jù)的實時變化、任務間依賴關系復雜、流程優(yōu)化的專業(yè)性,以及執(zhí)行結果反饋的邏輯一致性識別等挑戰(zhàn),現(xiàn)有 LLM-based 智能體的性能仍有待提升。
MetaGPT 團隊聯(lián)合北京工業(yè)大學、復旦大學、華東師范大學、河海大學、加拿大蒙特利爾大學、KAUST、圣母大學、廈門大學、香港中文大學(深圳)、香港大學、耶魯大學、中國科學院深圳先進技術研究院、中國人民大學等多所頂尖高校和研究機構,共同推出了 Data Interpreter(https://arxiv.org/abs/2402.18679)。
這是一種全新的解決方案,旨在通過增強智能體的任務規(guī)劃,工具集成以及推理能力,直面數(shù)據(jù)科學問題的挑戰(zhàn)。
Data Interpreter 提出了三個關鍵技術:
1)動態(tài)規(guī)劃與層次圖結構,基于分層的圖結構進行任務和代碼規(guī)劃,有效管理任務間的復雜依賴,靈活應對數(shù)據(jù)科學任務的實時數(shù)據(jù)變化;
2)工具集成與進化,通過在代碼生成過程中自動集成代碼片段作為工具,動態(tài)嵌入了數(shù)據(jù)科學領域所需的領域知識;
3)基于驗證與經(jīng)驗驅動的推理,自動在反饋中增強邏輯一致性檢測,通過基于置信度的驗證提升執(zhí)行代碼的邏輯合理性,并借助經(jīng)驗庫增強推理能力。在各種數(shù)據(jù)科學和現(xiàn)實世界任務上的評估表明,與開源基線相比,Data Interpreter 在機器學習任務中表現(xiàn)出色,準確率從 0.86 提升至 0.95。此外,在 MATH 數(shù)據(jù)集上提高了 26%,在開放式任務中實現(xiàn)了顯著的 112% 提升。
▲ 在機器學習任務和現(xiàn)實世界的開放式任務中與各種開源框架進行比較,Data Interpreter 在多種任務上取得 sota
02 方法介紹
2.1 DYNAMIC PLANNING WITH HIERARCHICAL STRUCTURE
在數(shù)據(jù)科學領域,實時數(shù)據(jù)的動態(tài)變化和任務間復雜的變量依賴關系對大型語言模型(LLM)提出了重大挑戰(zhàn)。為了有效應對這些挑戰(zhàn),Data Interpreter 提出了一種創(chuàng)新解決方案:動態(tài)規(guī)劃與層次圖結構(DYNAMIC PLANNING WITH HIERARCHICAL STRUCTURE)。
這種方法借鑒了自動化機器學習中的層次規(guī)劃技術,通過層次結構將復雜的數(shù)據(jù)科學問題分解為易于管理的小任務,并進一步將這些任務轉化為具體的代碼執(zhí)行動作,從而實現(xiàn)細致的規(guī)劃與執(zhí)行。
▲ 分層結構:(a)一個有組織的任務和動作圖,展示了高層級機器學習項目的工作流程,包括實現(xiàn)項目目標所需的任務依賴和動作序列。(b)任務的有向無環(huán)圖(DAG),以機器操作狀態(tài)預測問題為例。任務圖展示了拆解的計劃任務,而動作圖(也稱為執(zhí)行圖)則根據(jù)計劃的任務圖執(zhí)行各個節(jié)點。每個節(jié)點的執(zhí)行代碼由 LLM 轉換。
這種動態(tài)規(guī)劃方法賦予了 Data Interpreter 在任務變化時的適應性,而有向無環(huán)圖(Directed acyclic graph)結構則在監(jiān)控和處理數(shù)據(jù)科學問題中的任務依賴關系方面展現(xiàn)出了高效性。通過這種方式,Data Interpreter 能夠有效地管理和優(yōu)化數(shù)據(jù)科學任務的執(zhí)行流程,提高了問題解決的準確性。
▲ 數(shù)據(jù)解釋器的動態(tài)計劃管理:(a)通過人工編輯進行計劃細化。左側圖像顯示了在圖上經(jīng)過人工編輯的任務,右側圖像則展示了細化后的計劃,包括更新后的任務 3.1'、3.2' 以及新增的任務 3.3。(b)對失敗任務的計劃進行細化。在任務執(zhí)行后,如果任務 3.3 失敗,細化后的計劃將整合已有的成功任務,用更新后的任務 3.3' 替換原任務 3.3,并引入新任務 4.1、4.2、4.3 和 5。
2.2 TOOL UTILIZATION AND GENERATION
在數(shù)據(jù)科學任務中,任務的多樣性與專業(yè)性要求基于 LLM 框架具備廣泛的工具調(diào)用能力?,F(xiàn)有的工具調(diào)用方式往往局限于 API 的形式,無法滿足任務多樣性帶來的動態(tài)需求。Data Interpreter 提出了工具集成與生成的方法。
通過工具推薦與組織,能夠根據(jù)任務描述,進行任務分類,從而有效選擇合適的工具集。在執(zhí)行階段,Data Interpreter 根據(jù)工具參數(shù)描述、工具方法描述文檔的結構化信息,動態(tài)嵌入和調(diào)整工具參數(shù),以適應任務的具體需求。
此外,Data Interpreter 還能夠通過自我進化,從執(zhí)行經(jīng)驗中抽象出工具的核心功能,形成通用的代碼片段,集成到工具函數(shù)庫之中。這些工具函數(shù)可以在未來的任務中重復使用,從而減少了調(diào)試頻率,提高了執(zhí)行效率。
▲ 數(shù)據(jù)解釋器中的工具使用流程:工具推薦最初根據(jù)任務分類來選擇工具。然后根據(jù)任務需求組合多個工具使用。
2.3 ENHANCING REASONING WITH VERIFICATION AND EXPERIENCE
解決數(shù)據(jù)科學問題需要嚴謹?shù)臄?shù)據(jù)與邏輯驗證過程,現(xiàn)有的研究在解決這一類問題的過程中,往往依賴于代碼執(zhí)行后的錯誤檢測或異常捕獲,這一方式往往會誤解代碼執(zhí)行正確即任務完成,無法發(fā)現(xiàn)邏輯錯誤,難以提升任務實現(xiàn)的有效性。
Data Interpreter 通過結合基于置信度的自動驗證(Automated Confidece-based Verification)策略,顯著提升了其在數(shù)據(jù)科學問題解決中的推理能力。ACV 策略要求 Data Interpreter 在執(zhí)行代碼后生成驗證代碼并執(zhí)行驗證,根據(jù)執(zhí)行驗證結果校驗任務和實現(xiàn)代碼的一致性,類似于白盒測試流程。
在需要更嚴謹數(shù)值反饋的場景中,如使用 LLM 進行數(shù)學推理,Data Interpreter 可以增加多次獨立驗證,并通過多次結果的置信度排序來進一步提升效果。
另一方面,Data Interpreter 利用經(jīng)驗池存儲和反思任務執(zhí)行過程中的經(jīng)驗和教訓,能夠從過去的成功和失敗中學習代碼知識,從而在面對新任務時做出更準確的決策。這種結合實時驗證和經(jīng)驗學習的方法,顯著增強了解釋器的推理能力,提升了任務的解決質量。
▲ 以 MATH 內(nèi)的一個任務說明基于置信度自動驗證流程:虛線框內(nèi)是自動驗證的過程,虛線框下方根據(jù)驗證對多個候選答案進行排序
03 實驗分析
在實驗部分,Data Interpreter 在多個數(shù)據(jù)科學和現(xiàn)實世界任務上進行了評估。與開源基線相比,它在機器學習任務中的表現(xiàn)出色,準確率從 0.86 提升至 0.95。在 MATH 數(shù)據(jù)集上,性能提升了 26%,在開放式任務中更是實現(xiàn)了 112% 的顯著提升。這一成果不僅為數(shù)據(jù)科學領域帶來了新的里程碑,也為 LLM 在實際應用中的潛力提供了有力的證明。
3.1 MATH
MATH benchmark [4] 涵蓋了從初等代數(shù)到微積分等廣泛的數(shù)學領域。這個基準測試不僅測試了模型對數(shù)學知識的掌握程度,還考察了它們在解決復雜數(shù)學問題時的推理能力。
為了評估 Data Interpreter 在這一領域的性能,研究團隊選擇了 MATH 基準測試中難度最高的 Level-5 問題,這些問題涉及計數(shù)和概率(C.Prob)、數(shù)論(N.Theory)、初等代數(shù)(Prealg)和微積分(Precalc)等四個類別。
如上圖所示,以 Accuracy 作為這個任務的評估指標,Data Interpreter 在 4 個類別上均取得了最好的成績。特別是在 N.Theory 中,帶有 Automated Confidence-based Verification(ACV)策略的 Data Interpreter達到了 0.81 的準確率。
3.2 ML-Benchmark
在機器學習的世界里,精準和效率是衡量一個模型成功與否的關鍵。為了測試 Data Interpreter 在這一領域的能力,研究團隊精心設計了 ML-Benchmark,這是一個集合了 Kaggle 網(wǎng)站上多種經(jīng)典機器學習任務的測試集。
這些任務不僅覆蓋了葡萄酒識別(WR)、Wisconsin 乳腺癌(BCW)、Titanic 生存預測等經(jīng)典問題,還包括了房價預測(House Prices)、Santander 客戶交易預測(SCTP)、識別與年齡相關的狀況(ICR)以及 Santander 價值預測挑戰(zhàn)賽(SVPC)等更具挑戰(zhàn)性的項目。
在與其他開源框架的較量中,Data Interpreter 展現(xiàn)了其卓越的性能。通過綜合任務完成率(CR)、歸一化性能得分(NPS)和綜合得分(CS)這三個關鍵指標,Data Interpreter 在七項任務上的平均得分高達 0.95,遠超 AutoGen 的 0.86,提升了 10.3%。特別是在 ICR 和 SVPC 這兩個數(shù)據(jù)集上,Data Interpreter 的表現(xiàn)尤為出色,分別比 AutoGen 提高了 24.7% 和 21.2%。
更令人印象深刻的是,Data Interpreter 是唯一一個在 Titanic、House Prices、SCTP 和 ICR 任務上得分均超過 0.9 的框架,這標志著它在機器學習任務中不僅能夠完成核心步驟,還能在執(zhí)行過程中持續(xù)優(yōu)化任務效果。
3.3 Open-ended tasks
在人工智能的世界里,真正的挑戰(zhàn)往往來自于那些開放式的任務,它們不僅要求模型具備廣泛的知識,還要求它們能夠靈活應對現(xiàn)實世界的復雜性。
為了測試 Data Interpreter 在這類任務中的表現(xiàn),研究團隊精心整理了一個包含 20 個任務的開放式任務基準。這些任務涵蓋了從光學字符識別(OCR)到迷你游戲生成(MGG)等多個領域,包括網(wǎng)絡搜索和爬蟲(WSC)、電子郵件自動回復(ER)、網(wǎng)頁模仿(WPI)、圖像背景去除(IBR)、文本轉圖像(T2I)、圖像到 HTML 代碼生成(I2C)等多樣化的挑戰(zhàn)。
在這個實驗中,Data Interpreter 與 AutoGen 和 Open Interpreter 這兩個基準模型進行了對比。每個框架對每個任務進行了三次實驗,以平均完成率作為評價標準。
結果顯示,Data Interpreter 在開放式任務上的平均完成率為 0.97,與 AutoGen 相比大幅提高了 112%。對于去除圖像背景(IBR)任務,所有三個框架都獲得了 1.0 的完整分數(shù)。
在 OCR 相關任務中,Data Interpreter 的平均完成率為 0.85,比 AutoGen 和 Open Interpreter 分別高出 26.8% 和 70.0%。在需要多個步驟并利用多模態(tài)工具/能力的任務中,例如網(wǎng)頁模仿(WPI)、圖像到 HTML 代碼生成(I2C)和文本轉圖像(T2I),Data Interpreter 是唯一能夠執(zhí)行所有步驟的方法。
而在電子郵件自動回復(ER)任務中,AutoGen 和 Open Interpreter 因為無法登錄并獲取郵箱狀態(tài),導致完成率較低,而 Data Interpreter 可以在執(zhí)行過程中動態(tài)調(diào)整任務,從而在完成率上達到 0.98。
3.3 Ablation
為了進一步探討相關方法的有效性,我們進行了消融實驗。
3.3.1 核心模塊
為評估各模塊性能,我們在 ML-Benchmark 上,使用了三種配置進行測試:
1)初始設置:基礎 ReAct 框架,包含簡單的任務理解提示詞以及支持代碼執(zhí)行流程;
2)增加了 Dynamic plan,包括分層規(guī)劃和每一步驟的動態(tài)管理,便于實時調(diào)整;
3)在 2)的基礎上增加了工具集成能力。如表 3 所示,Dynamic Plan 動態(tài)規(guī)劃顯著提高了 0.48 分。它通過準備數(shù)據(jù)集并實時跟蹤數(shù)據(jù)變化有助于獲得更優(yōu)性能,特別是完成率方面效果顯著。此外,工具的使用帶來了額外 9.84% 的改進,綜合得分達到了 0.94 分。
3.3.2 不同尺寸的LLMs
Data Interpreter 在包括 GPT-4-Turbo、GPT-3.5-Turbo 以及不同尺寸的 LLMs 上進行了實驗。
在機器學習的任務中,更大尺寸的 LLM,例如 Qwen-72B-Chat [5] 和 Mixtral-8x7B [6] 展現(xiàn)出與 GPT-3.5-Turbo 相當?shù)谋憩F(xiàn),而較小的模型則性能下降較多。
如下圖所示,結合 Yi-34B-Chat [7]、Qwen-14B-Chat [5] 和 Llama2-13B-Chat [8],甚至 DeepSeek-7B-Chat [9],Data Interpreter 可以有效地處理數(shù)據(jù)加載及分析等任務。然而,這些模型在執(zhí)行需要較高編碼能力的任務時面臨仍受到自身能力限制,通常導致流程無法完成。
在 open-ended task 中,Mixtral-8x7B 在 3 項任務上的完成率較高,但在網(wǎng)絡搜索和爬蟲(WSC)任務中表現(xiàn)不佳,難以準確地將完整結果輸出到 CSV 文件。與機器學習任務 ML-Benchmark 類似,規(guī)模較小的模型仍由于編碼能力受限而遇到執(zhí)行失敗問題。
▲ 在 ML-BenchMark 上使用不同尺寸 LLM 的評估。(左圖:完成率,右圖:綜合得分)
3.3.3 經(jīng)驗池大小
另外,我們還針對經(jīng)驗池的大小進行了消融實驗。按存儲任務級別的經(jīng)驗數(shù)量,分別設置經(jīng)驗池大小為 0,80 和 200,我們對比 Data Interpreter 在不同任務上所需的代碼 debug 次數(shù)和執(zhí)行成本的變化,結果如下所示:
隨著經(jīng)驗池從 1 增加至 200,平均的 debug 次數(shù)從 1.48 降低到了 0.32,執(zhí)行成本從 0.80 美元降低到了 0.24 美元,這說明經(jīng)驗的累計對于從自然語言描述任務到代碼生成能夠有明顯的幫助。
04 總結
目前,大型語言模型(LLM)驅動的智能體已經(jīng)在處理靜態(tài)和簡單任務上展現(xiàn)了令人矚目的能力。然而,當面對需要多步驟解決的復雜挑戰(zhàn)時,它們的表現(xiàn)往往不盡人意,比如機器學習任務。為了突破這一瓶頸,Data Interpreter 應運而生,它不僅在機器學習任務上取得了顯著進步,更在數(shù)學推理和開放式任務中達到了行業(yè)領先水平。
得益于以下三種技術的融合:動態(tài)規(guī)劃與層次圖結構、工具集成與生成、基于置信度驗證與經(jīng)驗驅動的推理增強。Data Interpreter 在數(shù)學推理任務,機器學習任務和復雜的開放性任務上達到了 sota 水平。
相對其他開源基線,Data Interpreter 在 MATH 數(shù)學推理任務中準確率提升了 26%,在 ML-Benchmark 機器學習任務中將得分從 0.86 提升至 0.95,在開放式任務 Open-ended tasks 中更是實現(xiàn)了 112% 的驚人提升。
這些結果不僅標志著基于 LLM 的智能體在數(shù)據(jù)科學領域的重大提升,也預示著 AI 技術在處理更復雜、更動態(tài)的任務時將更加得心應手,為人類社會帶來更多智能化的解決方案。
本文轉自 PaperWeekly ,作者:讓你更懂AI的
