MetaGPT開源SELA,用AI設計AI,效果超越OpenAI使用的AIDE
SELA 由 MetaGPT 開源社區(qū)合著,作者分別來自 DeepWisdom、UC Berkeley、港科廣、UCSD、華師、Stanford、港中深、Montreal & MILA 等機構。共同一作池一舟與林義章分別任職 DeepWisdom 實習研究員與研究員,他們均畢業(yè)于 UC Berkeley,林義章也是 Data Interpreter 的共同一作。共同通訊作者為 DeepWisdom 創(chuàng)始人兼 CEO 吳承霖(MetaGPT 代碼作者、論文通訊作者)和蒙特利爾大學與 MILA 實驗室的助理教授劉邦。
AI 智能體可以設計 AI 嗎?
當然可以!
SELA 用 MCTS 設計 AI 效果在 20 個數(shù)據(jù)集上達到了 SoTA。它可以自己從歷史設計與實驗中學習,設計出比之前更好的 AI,并且完全開源。
- arxiv:https://arxiv.org/abs/2410.17238
- 代碼:https://github.com/geekan/MetaGPT/tree/main/metagpt/ext/sela
過去,AI 模型的設計和優(yōu)化依賴大量專業(yè)知識和人力,過程耗時,易受個人經(jīng)驗影響。盡管 AutoML 技術有所進展,但現(xiàn)有系統(tǒng)只會對預定義的搜索空間進行組合搜索,與人類行為不一致。人類會提出動態(tài)搜索空間并求解。隨著大模型技術的發(fā)展,我們看到了大模型能自主設計和調(diào)優(yōu) AI 模型的希望。然而,實現(xiàn)這一目標面臨自主設計和持續(xù)調(diào)優(yōu)兩大挑戰(zhàn)。
過去幾個月,MetaGPT 團隊開源的 Data Interpreter 能夠自主完成多項機器學習任務,通過增強任務規(guī)劃、工具集成和推理能力,提升了成功率,但缺乏持續(xù)性調(diào)優(yōu)。weco.ai 團隊的 AIDE 引入了結果反饋,在 OpenAI 發(fā)布的 MLE-bench 中表現(xiàn)優(yōu)異,但由于采用貪婪搜索,往往只收斂到次優(yōu)結果。
SELA 由 MetaGPT 團隊聯(lián)合多所頂尖機構推出,是一個可以進行自動實驗的智能體。它全面超越了 AIDE 和 Data Interpreter ,在多項機器學習測試中表現(xiàn)卓越,展現(xiàn)出自動化設計與優(yōu)化 AI 模型的巨大潛力。
相比于傳統(tǒng) AutoML 框架和基于 LLM 的自動機器學習系統(tǒng),SELA 可以動態(tài)地構造搜索空間,而不是基于一個固定的搜索空間進行搜索,在動態(tài)流水線構造表現(xiàn)出了顯著優(yōu)勢。
同時,就像 AlphaGo 會根據(jù)棋局中對手的動作不斷提升,SELA 也會逐漸在多步中完成機器學習代碼,解決了 AIDE 只能進行一步優(yōu)化的問題。
下方動圖展示了 SELA 在醫(yī)療數(shù)據(jù)集(smoker-status)上的搜索過程,我們可以清晰地看到 SELA 在機器學習任務的各個階段進行了多次深入探索。隨著探索輪次的增加,節(jié)點的顏色逐漸加深,這象征著得分的持續(xù)提升。
具體來看,SELA 從最初的解決方案 94.3(根節(jié)點)出發(fā),通過探索性數(shù)據(jù)分析,敏銳地捕捉到數(shù)據(jù)集中潛藏的異常值,并通過數(shù)據(jù)預處理環(huán)節(jié),移除了這些異常值,將得分提升至 96.3。隨后,SELA 在另一次實驗中,通過相關性分析,精準地剔除了冗余特征并降低了數(shù)據(jù)維度,使得得分躍升至 97.2。
SELA 是如何實現(xiàn)這樣的效果的?
SELA 通過將問題描述和數(shù)據(jù)集信息輸入 LLM,生成潛在解決方案的搜索空間,并由 Monte Carlo Tree Search(MCTS)進行探索。LLM Agent 進一步規(guī)劃、編碼和執(zhí)行實驗,利用模擬反饋優(yōu)化搜索,形成迭代過程,最終產(chǎn)生優(yōu)化的實驗管道。這種方法模擬了人類專家的迭代和反饋驅動過程,提升了機器學習任務的性能和適應性。
在上面的流程中,研究者們提出了三個重要組件,分別是 1)基于 LLM 的 Insight Proposer;2)基于 MCTS 的搜索策略;3)執(zhí)行實驗方案的 LLM Agent,下面我們會詳細展開組件設計:
基于 LLM 的 Insight Proposer
Insight Proposer 負責接收問題描述和數(shù)據(jù)集信息,將機器學習過程細分為探索性數(shù)據(jù)分析、數(shù)據(jù)預處理、特征工程、模型訓練和模型評估五個關鍵階段。并利用大型語言模型為每個階段生成多樣化的 Insight。這些 Insight 被匯集在見解池中,構建起 SELA 的搜索空間。
基于 MCTS 的搜索策略
在 SELA 框架中,研究者們將解決機器學習問題的搜索空間看作一棵樹,每條從根到目標節(jié)點的路徑都表示一個由 Insight 組成的實驗配置。因此,尋找最佳解決方案的任務可以被視為在樹中搜索最優(yōu)路徑。
SELA 采用蒙特卡洛樹搜索(MCTS)作為核心決策引擎,通過選擇、擴展、模擬和反向傳播四個關鍵步驟,高效地探索和優(yōu)化解決方案。
- 選擇
在每次迭代中,SELA 使用 UCT 算法的修改版本 UCT-DP ,從搜索樹中選擇一個節(jié)點。與傳統(tǒng)的 MCTS 不同,SELA 面臨的挑戰(zhàn)在于模型訓練等過程引入的大量計算時間,因此高效的節(jié)點探索至關重要。SELA 通過盡早優(yōu)先探索更深入的節(jié)點,減少了探索每個未訪問節(jié)點的需要,允許在更少的迭代中到達更深的節(jié)點,使該方法更適合大規(guī)模機器學習實驗。
- 擴展
在擴展階段,將從所選節(jié)點實例化一組子節(jié)點以進行模擬,子節(jié)點繼承了父節(jié)點的所有屬性,并在此基礎上增加了新的洞察,以進一步探索和優(yōu)化解決方案。
- 模擬
擴展結束后,SELA 將從擴展的子節(jié)點中隨機采樣一個節(jié)點進行模擬,SELA 將首先獲取這條路徑對應的配置。這些配置隨后被交給負責實驗的 Agent 執(zhí)行,產(chǎn)生模擬分數(shù),該分數(shù)作為反向傳播的反饋。
- 反向傳播
在模擬結束后,SELA 會收集性能分數(shù)(例如,基于驗證集的分數(shù)),并通過樹結構進行反向傳播。這些分數(shù)從模擬節(jié)點傳遞到根節(jié)點,更新每個父節(jié)點的值和訪問計數(shù),從而在未來的搜索中優(yōu)先考慮那些代表更有前途解決方案的節(jié)點。同時,解決方案代碼也會反向傳播到樹中,并在更新期間根據(jù)父節(jié)點進行處理,保存為階段代碼。
執(zhí)行實驗方案的 LLM Agent
SELA 設計了一個 LLM Agent 用于執(zhí)行實驗方案,通過自然語言需求構建實用的 pipeline。Agent 首先將搜索模塊提供的 Insight 轉化為詳細計劃,然后根據(jù)計劃編寫并執(zhí)行代碼,生成最終的 Pipeline 和執(zhí)行分數(shù)。為提升效率,SELA 在階段級別進行代碼緩存,實現(xiàn)精細的代碼重用,避免重復勞動,并應對 LLM 的非確定性問題,確保實驗的一致性和可預測性。
實驗
基準測試
SELA 選取了 AutoML 的 13 個分類任務和 7 個回歸任務,以及 Kaggle 競賽的 20 個數(shù)據(jù)集進行評估。
所有數(shù)據(jù)集按相同比例切分,確保各框架接受相同數(shù)據(jù)?;?LLM 的框架(SELA、Data Interpreter 和 AIDE)采用相同配置和迭代次數(shù)。AutoGluon 和 AutoSklearn 均使用默認設置。由于 AutoGluon 結果是確定性所以只運行一次,其余實驗均運行三次。我們對每個數(shù)據(jù)集上不同框架的全部運行結果進行排名,以比較優(yōu)劣。
圖中展示了多個自動機器學習框架在不同數(shù)據(jù)集上的預測表現(xiàn),橫軸為與 SELA 最佳性能相比的標準化得分(NS)。結果顯示,SELA 在大多數(shù)數(shù)據(jù)集中表現(xiàn)優(yōu)異,其他框架如 AutoSklearn、AIDE、AutoGluon 和 Data Interpreter 在某些數(shù)據(jù)集上有競爭力,但整體上 SELA 展現(xiàn)出更為一致的高性能和適應性。
SELA 在所有框架中取得了最高的平均標準化分數(shù)和最佳排名,證明了其在多種數(shù)據(jù)類型和任務上的穩(wěn)健性和卓越表現(xiàn)。
消融實驗
研究者們設計了三個消融實驗,用來驗證 SELA 性能和策略的有效性。首先,是對探索次數(shù)的消融。實驗結果顯示,隨著探索次數(shù)的增加,SELA 有效利用了更多的探索機會,使平均性能顯著提升。
其次,LLM 的消融研究對比了 GPT-4o、Claude-3.5-Sonnet 和 DeepSeek-V2.5,結果表明 Claude-3.5-Sonnet 和 GPT-4o 表現(xiàn)穩(wěn)定且適應性強,而 DeepSeek-V2.5 在某些數(shù)據(jù)集上略遜色,但在 Click prediction 和 boston 數(shù)據(jù)集上表現(xiàn)相近,充分說明 SELA 在不同模型上均有出色表現(xiàn)。
此外,研究者們進一步驗證了 SELA 所采用的 MCTS(蒙特卡洛樹搜索)策略的卓越有效性。相較于 DataInterpreter(無搜索)和隨機搜索,MCTS 策略展現(xiàn)出了顯著的優(yōu)勢,這證明 SELA 最終采用的搜索策略是必要且有效的。
結語
SELA 提出了一種讓 AI 自主設計和持續(xù)優(yōu)化自身的方法,并全面地展示了其取得的不俗效果。研究者們認為,該工作表明了 AI 在這一方向的潛力,將為未來的相關研究提供有價值的參考。