天天看點

Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算

作者:大資料文摘
Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算

大資料文摘授權轉載自學術頭條數字社會對計算和能源的需求正在不斷增加。在過去的五十年中,人類主要依靠硬體層面的改進來滿足這一點。然而,随着微晶片接近其實體極限,改進運作在其上的代碼以使計算更強大和可持續也變得至關重要。

對于每天運作數萬億次的算法而言,這一點尤為重要。因為它們支撐着從線上搜尋結果和社交文章的排名到計算機和手機上資料處理的一切。如今,Google DeepMind 推出了 AlphaDev,一種利用強化學習來發現改進的計算機科學算法的人工智能系統,其自主建構的算法,超越了科學家和工程師幾十年來打磨出來的算法,将一種每天在世界各地使用數萬億次的 C++ 算法的運作速度提高了 70%。相關研究論文以“Faster sorting algorithms discovered using deep reinforcement learning”為題,已發表在權威科學期刊 Nature 上。

Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算

(來源:Nature)

“說實話,我們沒有想到會取得更好的成績:這是一個非常短的程式,這些類型的程式已經被研究了幾十年,” 論文的第一作者、Google DeepMind 的研究科學家 Daniel Mankowitz 說道。Google DeepMind 表示,他們已經将該算法納入常用的 Libc++ 庫,這是十多年來對這部分排序算法庫的首次修改。這意味着,全球數百萬開發人員和公司現在可以将其用于從雲計算和線上購物到供應鍊管理的人工智能應用中。MIT 教授、CSAIL 首席營運官 Armando Solar-Lezama 在評論文章中寫道,“也許更值得注意的是,人工智能系統可以在不了解問題本身的情況下改進代碼。”

通過遊戲找到最佳算法

利用人工智能生成更好的算法,将改變我們程式設計的方式,影響我們日益數字化的社會的各個方面。排序算法是世界各地的計算機不斷使用的基本功能,是以,由人工智能創造的改進算法可以使數百萬程式運作得更快。據介紹,AlphaDev 基于 AlphaZero(一種強化學習模型,在圍棋、國際象棋等遊戲中擊敗了世界冠軍),通過 AlphaDev,Google DeepMind 展示了這個模型如何從遊戲轉移到科學挑戰,并從模拟轉向現實世界的應用。為了訓練 AlphaDev 來發現新算法,DeepMind 将排序轉化為一個單人“彙編遊戲”。在每個回合,AlphaDev 都會觀察它生成的算法和 CPU 中包含的資訊。然後,它通過選擇一條指令來為算法添加一步行動。這個彙編遊戲非常困難,因為 AlphaDev 必須有效地搜尋大量可能的指令組合,以找到一種比目前最佳算法更快的排序算法。可能的指令組合的數量與宇宙中的粒子數量或國際象棋和圍棋中可能的行動組合數量相似,一次錯誤的行動就可能會導緻整個算法無效。

Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算

在建構算法時,AlphaDev 逐漸添加一條指令,并通過将算法的輸出與期望結果進行比較來驗證其正确性。對于排序算法來說,這意味着無序的數字輸入,正确排序的數字輸出。Google DeepMind 根據 AlphaDev 正确排序數字的能力以及完成排序的速度和效率來獎勵它。AlphaDev 通過發現一個正确且更快的程式來赢得遊戲。最終,AlphaDev 建構了一個新算法,對于 5 個資料的清單,它比最好的算法快 70%,對于超過 25 萬個項目的清單,它比最好的算法快 1.7%。“我們最初以為它犯了一個錯誤,或者有一個 bug 或其他東西,但是,當我們分析這個程式時,我們意識到 AlphaDev 實際上已經發現了更快的東西,”Mankowitz 說。Mankowitz 表示,“優化每天被調用數萬億次的基本函數的代碼,有望帶來足夠大的好處,鼓勵人們嘗試執行更多這些函數,并将其作為解決摩爾定律放緩瓶頸的途徑之一。”對此,英國伯明翰大學教授 Mark Lee 認為,AlphaDev 很有意思,即使是 1.7% 的速度提升也很有用。但他也認為,即使在其他普通算法中發現類似的效率,也不能确定這種方法真的可以彌補摩爾定律的瓶頸,因為它不能在更複雜的軟體中取得同樣的收益。

建構通用人工智能工具的重要一步

目前,Google DeepMind 正在探索 AlphaDev 在 C++ 等進階語言中直接優化算法的能力,這對于開發人員來說将更加有用。Google DeepMind 在官方部落格中寫道,“通過優化和推出全球開發人員使用的改進排序和雜湊演算法,AlphaDev 展示了其具有真實世界影響的泛化和發現新算法的能力。我們将 AlphaDev 視為發展通用人工智能工具的一步,這些工具可以幫助優化整個計算生态系統,并解決其他有益于社會的問題。”

Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算

從玩遊戲到解決複雜的工程問題,人工智能工具正在為數十億人節省時間和精力。而這僅僅或許隻是一個開始。我們可以設想一個未來,在這個未來中,我們将有更快、更高效、更可持續的數字基礎設施,更多的通用人工智能工具将被用來幫助優化驅動我們數字世界的整個計算生态系統。

參考連結:https://www.nature.com/articles/s41586-023-06004-9https://www.nature.com/articles/d41586-023-01812-5https://www.nature.com/articles/d41586-023-01883-4https://www.deepmind.com/blog/alphadev-discovers-faster-sorting-algorithmshttps://www.deepmind.com/blog/optimising-computer-systems-with-more-generalised-ai-tools

Nature重磅:Google DeepMind推出AlphaDev,可自主建構C++排序算法,或将加速全球計算