百度自動研究系統刷新三項公開紀錄

AI research illustration: a microscope over a red sample beside node diagrams

百度文心團隊 11 月 9 日在技術部落格發表自動研究系統 ERNIE Evolve。依部落格描述,系統讓多個智慧代理分工推進一項研究:選定方向、提出假說、修改程式碼、執行評測、複核結果。團隊用它跑了四項公開最佳化任務,其中三項超越既有最佳成績;另外也在自家 ERNIE-5.5-Flash 的推理部署上做了三項優化。

五個角色,兩層迴圈

系統分為外層與內層。部落格的概括是:

「外層決定研究什麼,內層負責把一個方向做好。」

外層的 Director 從經驗庫與知識庫中挑選下一個要驗證的方向,並決定從哪一份程式碼起步,可以是原始程式碼、歷史最佳版本、中間版本,也可以是上游最新提交。內層的 Selector 每一輪選出一個候選版本作為起點,並寫下本輪假說,參考的除了分數,還有程式碼改動、失敗原因與歷史結果。Executor 則在隔離環境中修改程式碼。

後兩個角色負責把關。Evaluator 放在被最佳化的程式庫之外,所有智慧代理都看不到它,進步幅度超過雜訊門檻才會被接受;Reviewer 檢查改動有沒有偏離本輪方向、成績是不是鑽了評測漏洞,偏離方向的版本不能成為最佳版本,鑽漏洞的則直接作廢。自動最佳化系統最常見的毛病,是學會討好分數、程式碼本身卻沒有變好,這兩道關卡就是衝著這一點而來。

公開任務的成績

任務原最佳ERNIE Evolve
NanoChat AutoResearch(驗證集 BPB,越低越好)0.88780.8763
NanoGPT Speedrun Track 1(達標訓練時間)39.9 秒38.9 秒
NanoGPT Speedrun Track 3(達標訓練步數)2690 步2590 步
SOL-ExecBench(平均 SOL 分數,越高越好)0.8270.819

SOL-ExecBench 沒有拿到第一,但高於 Recursive 的 0.676 與 Hyra-1.0 的 0.736。公開任務的最佳化結果放在 GitHub 的 ernie-research/ERNIE-Evolve-Results 儲存庫,ERNIE Evolve 系統本身是否開源,部落格並未提及。

推理最佳化的一筆帳

工業任務的數字更大。崑崙芯 P800 的低延遲情境,系統跑了四輪、四個研究方向,生成速度達到基準線的 623.6%,並通過全部正確性檢查。部落格提到其中一項關鍵發現:原有通訊路徑並未實際啟用 DeepEP 低延遲通訊。六倍多的提速裡,有多少來自找出這處沒生效的設定、多少來自新的最佳化方法,部落格並未拆開說明。

確定性推理那一項,吞吐量提升 33.7%,單一 token 生成時間縮短 26%,首個 token 延遲縮短 12%,確定性維持不變,前後約 3 天。GPU 極致解碼一項,系統提出 7 個方向,其中 3 個帶來提升,解碼速度提高 14.9%,精度與基準線一致。

粗算一下:吞吐量多 33.7%,同樣的請求量所需的顯示卡數約為原來的 75%(1 ÷ 1.337)。如果這項優化能整體搬到線上叢集,省下的大約是四分之一的推理算力。三項任務各花了多少 GPU 小時,部落格並未揭露,這筆帳目前只能算出收益這一側,成本這一側是空的。

部落格對難度寫得很直白:

「基準線也已包含工程師針對確定性推理做的專項優化,剩下的改進單項往往只有 1% – 2%,與測量波動相當。」

不少假說被實驗證偽,例如單次跨卡通訊已接近延遲下限,這個方向就停在那裡。

團隊在文末提到,遞迴式自我改進(RSI)的擴展必須可控、可暫停,並接受安全評估與人工監督。從已揭露的任務來看,ERNIE Evolve 目前改的是訓練腳本與推理程式碼,還沒有碰到模型本身的訓練過程。

參考來源:百度文心 ERNIE 技術部落格、ERNIE-Evolve-Results 開源儲存庫、CocoLoop;核對四項公開任務成績與 ERNIE-5.5-Flash 三項推理優化幅度。