今天凌晨,GoogleDeepmind在官網發佈了,用於設計高級演算法的程式設計AI Agent——AlphaEvolve。
AlphaEvolve與Google的大模型Gemini實現深度整合,用於自動評估通用演算法的發現與最佳化,可以幫助開發人員快速設計出最好、高效的矩陣演算法。
簡單來說,大模型擅長生成各種想法和演算法,但是沒人知道這些到底行不行,而AlphaEvolve相當於“質檢員”,能夠按照特定標準來衡量這些想法是否可行。
Google在展示AlphaEvolve的能力時,就特意找了一道300多年的數學難題——親吻數問題。
這道題的歷史最早可以追溯到1694年,牛頓還和別人辯論、研究過。其難點在於給定維度的空間中,最多可以有多少個相同大小的球體同時接觸一個中心球體,這些球體之間不發生重疊。
而AlphaEvolve發現了由593個外層球體組成的結構型,並在11維空間中建立了新的下界,超越之前數學家們創造的記錄。
AlphaEvolve還能為複雜的數學問題提出新的解決方法。基於極簡程式碼框架,AlphaEvolve設計了一種基於梯度的新型最佳化程序的諸多元件,並行現了多種用於矩陣乘法的新演算法。
AlphaEvolve找到了一種用於4x4復值矩陣乘法的演算法,該演算法僅需48次標量乘法,改進了Strassen在1969年提出的演算法,後者此前被認為是該場景下的最佳演算法。這一發現表明,與Google之前專注於矩陣乘法演算法的研究成果AlphaTensor相比,取得了重大進展。
此外,Google使用AlphaEvolve來增強大模型的訓練和推理。AlphaEvolve將大規模矩陣乘法運算拆解為更易於處理的子問題,使Gemini模型架構中的核心計算效率提升了23%,整體訓練時間縮短了1%,節省大量成本。
AlphaEvolve還能對GPU底層指令進行最佳化。這是一個極其複雜的領域,通常編譯器已對其進行了深度最佳化,所以,人類工程師一般不會直接對其進行修改。
AlphaEvolve實現了基於Transformer的人工智慧模型中FlashAttention核心計算最高達32.5%的加速。這類最佳化有助於專家精準定位性能瓶頸,並能輕鬆地將最佳化成果整合到程式碼庫中,極大提高了工作效率。
任務定義與評估模組是AlphaEvolve的核心之一,主要負責明確使用者的需求,包括評估標準、初始解決方案以及背景知識。通過一個自動化的評估機制來衡量生成的解決方案的質量,這一機制以函數的形式存在,將解決方案對應到一組標量評估指標上。
這些指標通常是最大化的目標,例如,在數學問題中,如果目標是找到滿足特定屬性的最大可能圖,評估函數將呼叫進化程式碼生成圖,檢查屬性是否成立,然後返回圖的大小作為得分。
大模型整合與提示採樣模組負責建構上下文提示,這些提示包括明確的上下文資訊,例如,問題的詳細描述、方程式、程式碼片段或相關文獻;隨機格式化,通過機率分佈提供人類編寫的替代方案以增加多樣性;渲染的評估結果,包括程序、執行結果以及評估函數分配的分數;
以及元提示進化,由大模型本身在額外的提示生成步驟中建議的指令和上下文,這些內容與解決方案程序在單獨的資料庫中共同進化,為大模型提供了豐富的資訊,使其能夠生成更準確和有效的程式碼修改建議。
創造性生成與程式碼修改是AlphaEvolve另外一個核心模組,主要利用大模型的能力來生成程式碼修改建議。這些大模型能夠處理豐富的上下文資訊,並根據過去的嘗試和想法提出新的改進方案。
當AlphaEvolve要求大模型修改現有程式碼時,它會請求以特定格式的差異塊提供更改,這種格式允許對程式碼的特定部分進行針對性的更新。在某些情況下,如果程式碼非常短,或者需要完全重寫,AlphaEvolve可以配置為直接輸出整個程式碼塊,而不是使用差異格式。
評估與反饋模組負責跟蹤AlphaEvolve的進展,並選擇在後續代中傳播那些想法。每個由大模型提出的新解決方案都會被自動評估,這一過程本質上是簡單地在生成的解決方案上執行使用者提供的評估函數。
AlphaEvolve支援一些可選機制,使評估更加靈活和高效,例如,評估級聯,使用者可以指定一系列難度遞增的測試用例,只有在所有早期階段都取得足夠有希望的結果時,新解決方案才會進入下一個階段;
大模型生成的反饋,用於評估那些難以在使用者提供的評估函數ℎ中精確捕捉的解決方案特性;以及平行化評估,通過非同步呼叫評估叢集來分配這項工作,從而提高評估效率。
進化與資料庫管理負責儲存和管理在進化過程中生成的解決方案。這些解決方案儲存在一個進化資料庫中,其主要目標是在後續代中最佳地重新出現先前探索的想法。設計這種資料庫的一個關鍵挑戰是平衡探索和利用,以持續改進最佳程序,同時保持多樣性以鼓勵整個搜尋空間的探索。
AlphaEvolve的進化資料庫實現了一種演算法,該演算法受到MAP精英演算法和基於島嶼的種群模型的啟發。
分散式運算管道模組使AlphaEvolve能夠作為一個非同步計算管道運行。每個計算在等待另一個尚未完成的計算結果時都會阻塞。整個管道針對吞吐量進行了最佳化,而不是任何特定計算的速度,以最大化在特定總體計算預算內可以提出和評估的想法數量。
目前,有興趣的小夥伴可以去GoogleDeepmind官網申請使用AlphaEvolve,尤其是對於科研、數學、設計領域的小夥伴幫助很大。 (AIGC開放社區)