Google DeepMind推出AlphaDev,自主構建算法,或將加速全球計算

數字社會對計算和能源的需求正在不斷增加。在過去的五十年中,人類主要依靠硬件層面的改進來滿足這一點。然而,隨着微芯片接近其物理極限,改進運行在其上的代碼以使計算更強大和可持續也變得至關重要。

對於每天運行數萬億次的算法而言,這一點尤爲重要。因爲它們支撐着從在線搜索結果和社交帖子的排名到計算機和手機上數據處理的一切。

如今,Google DeepMind 推出了 AlphaDev,一種利用強化學習來發現改進的計算機科學算法的人工智能系統,其自主構建的算法,超越了科學家和工程師幾十年來打磨出來的算法,將一種每天在世界各地使用數萬億次的 C++ 算法的運行速度提高了 70%。

相關研究論文以“Faster sorting algorithms discovered using deep reinforcement learning”爲題,已發表在權威科學期刊 Nature 上。

(來源:Nature)

“說實話,我們沒有想到會取得更好的成績:這是一個非常短的程序,這些類型的程序已經被研究了幾十年,” 論文的第一作者、Google DeepMind 的研究科學家 Daniel Mankowitz 說道。

Google DeepMind 表示,他們已經將該算法納入常用的 Libc++ 庫,這是十多年來對這部分排序算法庫的首次修改。這意味着,全球數百萬開發人員和公司現在可以將其用於從雲計算和在線購物到供應鏈管理的人工智能應用中。

MIT 教授、CSAIL 首席運營官 Armando Solar-Lezama 在評論文章中寫道,“也許更值得注意的是,人工智能系統可以在不瞭解問題本身的情況下改進代碼。”

通過遊戲找到最佳算法

利用人工智能生成更好的算法,將改變我們編程的方式,影響我們日益數字化的社會的各個方面。

排序算法是世界各地的計算機不斷使用的基本功能,因此,由人工智能創造的改進算法可以使數百萬程序運行得更快。

據介紹,AlphaDev 基於 AlphaZero(一種強化學習模型,在圍棋、國際象棋等遊戲中擊敗了世界冠軍),通過 AlphaDev,Google DeepMind 展示了這個模型如何從遊戲轉移到科學挑戰,並從模擬轉向現實世界的應用。

爲了訓練 AlphaDev 來發現新算法,DeepMind 將排序轉化爲一個單人“彙編遊戲”。在每個回合,AlphaDev 都會觀察它生成的算法和 CPU 中包含的信息。然後,它通過選擇一條指令來爲算法添加一步行動。

這個彙編遊戲非常困難,因爲 AlphaDev 必須有效地搜索大量可能的指令組合,以找到一種比當前最佳算法更快的排序算法。可能的指令組合的數量與宇宙中的粒子數量或國際象棋和圍棋中可能的行動組合數量相似,一次錯誤的行動就可能會導致整個算法無效。

在構建算法時,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 視爲發展通用人工智能工具的一步,這些工具可以幫助優化整個計算生態系統,並解決其他有益於社會的問題。”

從玩遊戲到解決複雜的工程問題,人工智能工具正在爲數十億人節省時間和精力。而這僅僅或許只是一個開始。

我們可以設想一個未來,在這個未來中,我們將有更快、更高效、更可持續的數字基礎設施,更多的通用人工智能工具將被用來幫助優化驅動我們數字世界的整個計算生態系統。