MetaGPT開源SELA,用AI設計AI,效果超越OpenAI使用的AIDE

机器之心發表於2024-11-02

圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

SELA 由 MetaGPT 開源社群合著,作者分別來自 DeepWisdom、UC Berkeley、港科廣、UCSD、華師、Stanford、港中深、Montreal & MILA 等機構。共同一作池一舟與林義章分別任職 DeepWisdom 實習研究員與研究員,他們均畢業於 UC Berkeley,林義章也是 Data Interpreter 的共同一作。共同通訊作者為 DeepWisdom 創始人兼 CEO 吳承霖(MetaGPT 程式碼作者、論文通訊作者)和蒙特利爾大學與 MILA 實驗室的助理教授劉邦。

AI 智慧體可以設計 AI 嗎?

當然可以!

SELA 用 MCTS 設計 AI 效果在 20 個資料集上達到了 SoTA。它可以自己從歷史設計與實驗中學習,設計出比之前更好的 AI,並且完全開源。

  • arxiv:https://arxiv.org/abs/2410.17238
  • 程式碼:https://github.com/geekan/MetaGPT/tree/main/metagpt/ext/sela

圖片

過去,AI 模型的設計和最佳化依賴大量專業知識和人力,過程耗時,易受個人經驗影響。儘管 AutoML 技術有所進展,但現有系統只會對預定義的搜尋空間進行組合搜尋,與人類行為不一致。人類會提出動態搜尋空間並求解。隨著大模型技術的發展,我們看到了大模型能自主設計和調優 AI 模型的希望。然而,實現這一目標面臨自主設計和持續調優兩大挑戰。

過去幾個月,MetaGPT 團隊開源的 Data Interpreter 能夠自主完成多項機器學習任務,透過增強任務規劃、工具整合和推理能力,提升了成功率,但缺乏持續性調優。weco.ai 團隊的 AIDE 引入了結果反饋,在 OpenAI 釋出的 MLE-bench 中表現優異,但由於採用貪婪搜尋,往往只收斂到次優結果。

SELA 由 MetaGPT 團隊聯合多所頂尖機構推出,是一個可以進行自動實驗的智慧體。它全面超越了 AIDE 和 Data Interpreter ,在多項機器學習測試中表現卓越,展現出自動化設計與最佳化 AI 模型的巨大潛力。

圖片

相比於傳統 AutoML 框架和基於 LLM 的自動機器學習系統,SELA 可以動態地構造搜尋空間,而不是基於一個固定的搜尋空間進行搜尋,在動態流水線構造表現出了顯著優勢。

圖片

同時,就像 AlphaGo 會根據棋局中對手的動作不斷提升,SELA 也會逐漸在多步中完成機器學習程式碼,解決了 AIDE 只能進行一步最佳化的問題。

圖片

下方動圖展示了 SELA 在醫療資料集(smoker-status)上的搜尋過程,我們可以清晰地看到 SELA 在機器學習任務的各個階段進行了多次深入探索。隨著探索輪次的增加,節點的顏色逐漸加深,這象徵著得分的持續提升。MetaGPT開源SELA,用AI設計AI,效果超越OpenAI使用的AIDE

具體來看,SELA 從最初的解決方案 94.3(根節點)出發,透過探索性資料分析,敏銳地捕捉到資料集中潛藏的異常值,並透過資料預處理環節,移除了這些異常值,將得分提升至 96.3。隨後,SELA 在另一次實驗中,透過相關性分析,精準地剔除了冗餘特徵並降低了資料維度,使得得分躍升至 97.2。

SELA 是如何實現這樣的效果的?

SELA 透過將問題描述和資料集資訊輸入 LLM,生成潛在解決方案的搜尋空間,並由 Monte Carlo Tree Search(MCTS)進行探索。LLM Agent 進一步規劃、編碼和執行實驗,利用模擬反饋最佳化搜尋,形成迭代過程,最終產生最佳化的實驗管道。這種方法模擬了人類專家的迭代和反饋驅動過程,提升了機器學習任務的效能和適應性。

圖片

在上面的流程中,研究者們提出了三個重要元件,分別是 1)基於 LLM 的 Insight Proposer;2)基於 MCTS 的搜尋策略;3)執行實驗方案的 LLM Agent,下面我們會詳細展開元件設計:

基於 LLM 的 Insight Proposer

Insight Proposer 負責接收問題描述和資料集資訊,將機器學習過程細分為探索性資料分析、資料預處理、特徵工程、模型訓練和模型評估五個關鍵階段。並利用大型語言模型為每個階段生成多樣化的 Insight。這些 Insight 被彙集在見解池中,構建起 SELA 的搜尋空間。

圖片

基於 MCTS 的搜尋策略

在 SELA 框架中,研究者們將解決機器學習問題的搜尋空間看作一棵樹,每條從根到目標節點的路徑都表示一個由 Insight 組成的實驗配置。因此,尋找最佳解決方案的任務可以被視為在樹中搜尋最優路徑。

SELA 採用蒙特卡洛樹搜尋(MCTS)作為核心決策引擎,透過選擇、擴充套件、模擬和反向傳播四個關鍵步驟,高效地探索和最佳化解決方案。

  • 選擇

在每次迭代中,SELA 使用 UCT 演算法的修改版本 UCT-DP ,從搜尋樹中選擇一個節點。與傳統的 MCTS 不同,SELA 面臨的挑戰在於模型訓練等過程引入的大量計算時間,因此高效的節點探索至關重要。SELA 透過儘早優先探索更深入的節點,減少了探索每個未訪問節點的需要,允許在更少的迭代中到達更深的節點,使該方法更適合大規模機器學習實驗。

  • 擴充套件

在擴充套件階段,將從所選節點例項化一組子節點以進行模擬,子節點繼承了父節點的所有屬性,並在此基礎上增加了新的洞察,以進一步探索和最佳化解決方案。

  • 模擬

擴充套件結束後,SELA 將從擴充套件的子節點中隨機取樣一個節點進行模擬,SELA 將首先獲取這條路徑對應的配置。這些配置隨後被交給負責實驗的 Agent 執行,產生模擬分數,該分數作為反向傳播的反饋。

  • 反向傳播

在模擬結束後,SELA 會收集效能分數(例如,基於驗證集的分數),並透過樹結構進行反向傳播。這些分數從模擬節點傳遞到根節點,更新每個父節點的值和訪問計數,從而在未來的搜尋中優先考慮那些代表更有前途解決方案的節點。同時,解決方案程式碼也會反向傳播到樹中,並在更新期間根據父節點進行處理,儲存為階段程式碼。

圖片

執行實驗方案的 LLM Agent

SELA 設計了一個 LLM Agent 用於執行實驗方案,透過自然語言需求構建實用的 pipeline。Agent 首先將搜尋模組提供的 Insight 轉化為詳細計劃,然後根據計劃編寫並執行程式碼,生成最終的 Pipeline 和執行分數。為提升效率,SELA 在階段級別進行程式碼快取,實現精細的程式碼重用,避免重複勞動,並應對 LLM 的非確定性問題,確保實驗的一致性和可預測性。

實驗

基準測試

SELA 選取了 AutoML 的 13 個分類任務和 7 個迴歸任務,以及 Kaggle 競賽的 20 個資料集進行評估。

所有資料集按相同比例切分,確保各框架接受相同資料。基於 LLM 的框架(SELA、Data Interpreter 和 AIDE)採用相同配置和迭代次數。AutoGluon 和 AutoSklearn 均使用預設設定。由於 AutoGluon 結果是確定性所以只執行一次,其餘實驗均執行三次。我們對每個資料集上不同框架的全部執行結果進行排名,以比較優劣。

圖片

圖中展示了多個自動機器學習框架在不同資料集上的預測表現,橫軸為與 SELA 最佳效能相比的標準化得分(NS)。結果顯示,SELA 在大多數資料集中表現優異,其他框架如 AutoSklearn、AIDE、AutoGluon 和 Data Interpreter 在某些資料集上有競爭力,但整體上 SELA 展現出更為一致的高效能和適應性。

圖片

SELA 在所有框架中取得了最高的平均標準化分數和最佳排名,證明了其在多種資料型別和任務上的穩健性和卓越表現。

消融實驗圖片

圖片

研究者們設計了三個消融實驗,用來驗證 SELA 效能和策略的有效性。首先,是對探索次數的消融。實驗結果顯示,隨著探索次數的增加,SELA 有效利用了更多的探索機會,使平均效能顯著提升。

其次,LLM 的消融研究對比了 GPT-4o、Claude-3.5-Sonnet 和 DeepSeek-V2.5,結果表明 Claude-3.5-Sonnet 和 GPT-4o 表現穩定且適應性強,而 DeepSeek-V2.5 在某些資料集上略遜色,但在 Click prediction 和 boston 資料集上表現相近,充分說明 SELA 在不同模型上均有出色表現。

此外,研究者們進一步驗證了 SELA 所採用的 MCTS(蒙特卡洛樹搜尋)策略的卓越有效性。相較於 DataInterpreter(無搜尋)和隨機搜尋,MCTS 策略展現出了顯著的優勢,這證明 SELA 最終採用的搜尋策略是必要且有效的。

結語

SELA 提出了一種讓 AI 自主設計和持續最佳化自身的方法,並全面地展示了其取得的不俗效果。研究者們認為,該工作表明瞭 AI 在這一方向的潛力,將為未來的相關研究提供有價值的參考。

相關文章