自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

谷歌DeepMind打破十年算法封印,AlphaDev驚世登場,顛覆人類算法格局!

人工智能 新聞
「Alpha」家族再添新成員AlphaDev!谷歌大腦DeepMind合體后首發(fā)力作,全新AI系統(tǒng)將排序算法提速70%,C++排序庫十年來首次更改。AI創(chuàng)造AI的時代要來了?

今天,「Alpha」家族再添一名新成員:AlphaDev。

整個計算生態(tài)系統(tǒng)的基礎(chǔ),或?qū)⒈籄I創(chuàng)造的新算法顛覆!

谷歌大腦和DeepMind合體沒多久,就帶來這樣一個驚世之作。

AlphaDev不僅可以將排序算法提速70%,甚至在有的算法上,能比人類快3倍之多。

十多年來,C++排序庫首次更改。AI優(yōu)化世界代碼,又達新里程碑。

目前,最新研究已登上Nature。

圖片

論文地址:https://www.nature.com/articles/s41586-023-06004-9

通過強化學(xué)習(xí),AlphaDev發(fā)現(xiàn)了更加有效的算法,直接超越了科學(xué)家和工程師們幾十年來的精心打磨。

現(xiàn)在,新的算法已經(jīng)成為兩個標(biāo)準(zhǔn)C++編碼庫的一部分,每天都會被全球的程序員使用數(shù)萬億次。

有網(wǎng)友表示,終于來了,我們現(xiàn)在正在踏入未知領(lǐng)域:人工智能正在構(gòu)建人工智能!

強化學(xué)習(xí)打破十年算法瓶頸

如同AlphaZero、AlphaFold等前輩一樣,AlphaDev也直接掀起了一個領(lǐng)域的變革。

DeepMind計算機科學(xué)家、論文一作Daniel Mankowitz表示,「我們起初根本不相信?!?/span>

「說實話,我們沒有想到會取得更好的成績:這是一個非常短的程序,而這些類型的程序,此前已經(jīng)被研究幾十年了?!?/span>

當(dāng)前,GPT-4、Bard等大模型的參數(shù)指數(shù)級增長,對算力等資源的需求不斷增長。而過去50年里,人類不斷依靠芯片的改進以跟上步伐。

但隨著微芯片接近物理極限,改進代碼讓計算更強大、更持續(xù)變得至關(guān)重要。尤其是,對每天運行數(shù)萬億次代碼的算法愈重要。

今天,Google DeepMind在Nature發(fā)表的論文中,首次介紹了阿爾法家族的「新貴」AlphaDev。


AlphaDev發(fā)現(xiàn)了一種更快的排序算法,數(shù)十億人每天都在不知不覺中使用這些算法。

它們是一切的基礎(chǔ),從在線搜索結(jié)果,社交帖子,到計算機和手機數(shù)據(jù)處理方式。這些算法每天都要執(zhí)行數(shù)萬億次。

利用AI生成更好的算法,將改變我們對計算機編程的方式,并影響我們數(shù)字化社會的方方面面。

根據(jù)Nature論文中的數(shù)據(jù),AlphaZero所創(chuàng)造的算法能比人類的數(shù)據(jù)排序速度快三倍。

圖片

今天,Google DeepMind還開源了在主C++庫中的最新排序算法,所有人皆可用。

開源地址:https://reviews.llvm.org/D118029

什么是排序?

排序是一種以特定順序組織多個項目的方法。

比如按字母順序排列三個字母,從大到小排列五個數(shù)字,或者將包含數(shù)百萬條記錄的數(shù)據(jù)庫排序。

在人類歷史中,排序方法一直在演變。最早的例子可以追溯到二、三世紀(jì),那時的學(xué)者們在亞歷山大圖書館的書架上,靠純手工的方式,以字母順序排列擺放了數(shù)千本書。

工業(yè)革命后,我們發(fā)明了可以幫助分類的機器——制表機將信息存儲在穿孔卡上,用于收集1890年美國的人口普查結(jié)果。

而隨著20世紀(jì)50年代商業(yè)計算機的興起,出現(xiàn)了最早的計算機科學(xué)排序算法。

在今天,世界各地的代碼庫中都使用了許多不同的排序技術(shù)和算法,在線組織大量數(shù)據(jù)。

圖片

排序算法,也就是輸入一系列未排序的數(shù)字,然后輸出排序后的數(shù)字

這些算法,都已成為計算機科學(xué)的基石。

如今我們的算法,都需要計算機科學(xué)家和程序員投入幾十年的研究去開發(fā)。

這是因為,現(xiàn)有的算法效率如此之高,再往前的每一步改進,都是重大的挑戰(zhàn)。

這個艱難程度就好比找到一種節(jié)省電力能源的新方法,或者找到更高效的數(shù)學(xué)方法。

尋找新算法

AlphaDev的創(chuàng)新意義在于,它并不是通過改進現(xiàn)有算法,而是完全從頭開始發(fā)現(xiàn)了更快的算法。

而且,它竟然著手于大多數(shù)人類并沒有想到的地方——計算機匯編指令。

匯編指令用于創(chuàng)建二進制代碼。雖然開發(fā)者寫代碼時用的是C++等高級語言,但為了讓計算機理解,這些高級語言必須翻譯成「低級」的匯編指令。

圖片

我們一般用C++之類的高級編程語言寫代碼,然后使用編譯器將其轉(zhuǎn)換為低級CPU指令,即匯編指令。匯編器再將匯編指令轉(zhuǎn)換為可執(zhí)行的機器代碼

谷歌DeepMind的研究者相信,在這個較低的層級中存在許多可改進的空間,而這些改進在更高級的編程語言中可能很難發(fā)現(xiàn)。

在這個更低的級別上,計算機的存儲和操作都更靈活,因此如果再多做一些潛在的改進,就會對速度和能源產(chǎn)生巨大的影響。

圖片

圖A:一個最多排序兩個元素的C++算法   

圖B:代碼相應(yīng)的程序集

AlphaDev:匯編版AlphaZero

眾所周知,DeepMind的強化學(xué)習(xí)模型,在圍棋、國際象棋和將棋等游戲中,屢次擊敗世界冠軍。

而我們這次的主角——AlphaDev,基于的正是AlphaZero。

AlphaDev的工作方式與之前的AlphaZero相似,后者結(jié)合了計算機推理和直覺,在棋盤游戲中選擇每一步的走法。

只不過,AlphaDev并不會選擇下一步怎么走棋,而是選擇添加哪些指令。

圖片

為了訓(xùn)練AlphaDev來發(fā)現(xiàn)新的算法, DeepMind將排序問題轉(zhuǎn)化成了一個「匯編游戲」(Assembly Game)。

在每一輪中,AlphaDev都需要觀察它生成的算法以及中央處理器(CPU)中包含的信息,并通過在算法中添加一條指令來進行移動。

而這個匯編游戲非常困難,因為AlphaDev必須有效地搜索大量可能的指令組合,從而找到一個可以排序且比當(dāng)前最佳算法更快的算法。

其中「可能的指令組合」,甚至可以直接類比于宇宙中的粒子數(shù)量,或者國際象棋(10^120局)和圍棋(10^700局)中可能的走法組合。

更進一步的是,任何一個錯誤的移動,都可能會使整個算法無效。

最后,DeepMind會根據(jù)AlphaDev正確排序數(shù)字的能力以及完成排序的速度和效率給予獎勵,而AlphaDev則需要通過發(fā)現(xiàn)一個正確且更快的程序來贏得游戲。

圖片

圖A:匯編游戲。玩家AlphaDev以系統(tǒng)狀態(tài)st為輸入,并通過選擇一條匯編指令將其添加到已經(jīng)生成的算法中來進行一次移動。

圖B:獎勵計算。在每次移動后,生成的算法會接受測試,智能體將根據(jù)算法的正確性和響應(yīng)時間獲得獎勵。

具體來說,在進行深入思考(deliberation)時,AlphaZero會在每一個決策點琢磨下一步可能的行動,以及下一步的下一步的可能性。就像樹狀圖一樣,一步步往后推,算出哪些行動最有可能成功。

但問題在于,如果把每一個可能的情況分支都考慮到,所需的時間可能要比宇宙的年齡還長。因此,研究人員使用類似直覺(intuition)的東西來縮小范圍。

在每一步中,程序?qū)?dāng)前狀態(tài)輸入神經(jīng)網(wǎng)絡(luò)(一個復(fù)雜的、可調(diào)的數(shù)學(xué)函數(shù)),以找到最合適的行為。同時,在訓(xùn)練過程中,神經(jīng)網(wǎng)絡(luò)還會根據(jù)結(jié)果不斷進行更新。有時還會故意不選評分最高的行為來進行主動探索。

AlphaDev可以采取的行動一共有四種,包括比較不同值、移動數(shù)值到另一個位置、或者跳轉(zhuǎn)到程序的不同部分。

在執(zhí)行完每一步之后,再試圖對一組列表進行排序,并根據(jù)正確排序的列表中的數(shù)值數(shù)量獲得獎勵。

如此這般,這般如此,一直到排完整個列表,或者達到程序長度限制,從頭開始一個新的程序。

C++運行速度提升70%

AlphaDev發(fā)現(xiàn)新的排序算法,為LLVM libc++排序庫帶來了明顯的改進。

對于較短的序列,速度提高了70%,而對于超過250,000個元素的序列,速度只提高了約1.7%。

研究人員專注于改進3-5個元素較短的序列排序算法。

這些算法是使用最廣泛的算法之一,因為它們經(jīng)常作為更大排序函數(shù)的一部分被多次調(diào)用。

改進這些算法可以為任何數(shù)量的項目的排序提升整體的速度。

圖片

為了使新的排序算法為所有人可用,研究人員還將其進行了逆向工程,并將其翻譯成「程序猿」最常用的一種編碼語言C++。

目前,這些算法現(xiàn)在可以在LLVM libc++標(biāo)準(zhǔn)排序庫中找到。

散列函數(shù)效率提升30%

在發(fā)現(xiàn)更快的排序算法之后,DeepMind測試了AlphaDev是否能夠推廣并改進不同的計算機科學(xué)算法——散列(Hash)。

散列是計算中的一種基本算法,用于檢索、存儲和壓縮數(shù)據(jù)。就像圖書管理員使用分類系統(tǒng)來找到特定的書籍一樣,散列算法幫助用戶知道他們正在尋找的內(nèi)容以及確切的位置。

這些算法將特定的key(例如用戶姓名「Jane Doe」)進行散列處理,也就是,將原始數(shù)據(jù)轉(zhuǎn)換為唯一的字符串(例如1234ghfty)。然后,計算機會使用這個散列值來快速檢索與鍵相關(guān)的數(shù)據(jù),而不是搜索所有數(shù)據(jù)。

結(jié)果顯示,當(dāng)應(yīng)用于散列函數(shù)的9到16字節(jié)范圍時,AlphaDev發(fā)現(xiàn)的算法比傳統(tǒng)算法快30%。

現(xiàn)在,DeepMind也將新的散列算法發(fā)布到了開源的Abseil庫中。據(jù)了解,這個算法預(yù)計每天都會被使用數(shù)萬億次。

兩種新策略:「swap move」和「copy move」

AlphaDev不僅發(fā)現(xiàn)了更快的算法,還發(fā)現(xiàn)了新的方法。

它的排序算法包含新的指令序列,每次應(yīng)用時都會保存一條指令。這可能會產(chǎn)生巨大的影響,因為這些算法每天被使用數(shù)萬億次。

研究人員將其稱之為「AlphaDev swap move」和「AlphaDev copy move」。

最新方法讓人想起AlphaGo讓人震驚的「第37步」。

2016年那場人機大戰(zhàn)中,AlphaGo下了一顆違反人類直覺的棋,一個簡單的肩沖,擊敗了傳奇圍棋選手李世石。

圖片

通過這兩種策略,AlphaDev跳過了一個步驟,以一種看起來錯誤,但實際上是快捷方式連接項目。

這表明,AlphaDev有能力發(fā)現(xiàn)原創(chuàng)性解決方案,并挑戰(zhàn)了我們對如何改進計算機科學(xué)算法的思考方式。

如下圖示例原始sort3實現(xiàn),有min(A, B, C),使用AlphaDev Swap Move,AlphaDev發(fā)現(xiàn),你只需要min(A, B)。

圖片

再比如,原始實現(xiàn)用max(B, min(A ,C, D))中較大的排序算法對8個元素進行排序。

AlphaDev發(fā)現(xiàn)使用其「swap and copy moves」時只需要max(B, min(A, C))。

圖片

優(yōu)化全世界的代碼,一次一個算法

通過優(yōu)化和推出全球開發(fā)者使用的改進排序和散列算法,AlphaDev證明了,它有能力概括和發(fā)現(xiàn)世界級的新算法。

Google DeepMind認(rèn)為,AlphaDev是朝著開發(fā)AGI工具邁出的一步,這些工具有助于優(yōu)化整個計算生態(tài)系統(tǒng),還能解決其他有益于社會的問題。

不過,研究人員也承認(rèn),目前AlphaDev在低級匯編指令優(yōu)化能力非常強,但是隨著算法的發(fā)展也存在局限性。

為了讓開發(fā)者更可用,AlphaDev用高級語言(如C++)優(yōu)化算法的能力正在探索中。

AlphaDev的新發(fā)現(xiàn),如「AlphaDev swap move」和「AlphaDev copy move」,不僅表明它可以改進算法,還可以找到新的解決方案。

研究人員希望,這些發(fā)現(xiàn)能激勵研究人員和開發(fā)人員創(chuàng)造技術(shù)和方法,進一步優(yōu)化基礎(chǔ)算法,以創(chuàng)建一個更強大、更可持續(xù)的計算生態(tài)系統(tǒng)。

網(wǎng)友熱評

英偉達科學(xué)家Jim Fan對AlphaDev做了一個深度總結(jié):

排序算法是所有關(guān)鍵軟件的基礎(chǔ)。DeepMind的AlphaDev將小序列(3-5項)的排序速度提高了70%。要點:

-  主要的RL算法是基于最初下圍棋Go、Chess & Shogi的AlphaZero。同樣的想法也適用于搜索程序!

- 研究人員沒有對C代碼進行優(yōu)化,而是對匯編代碼進行優(yōu)化。這是一個刻意的選擇,去低級別的擠壓每一條指令的保存。

- 匯編代碼然后被逆向工程為C++,并在LLVM中開源。

- 即使表征網(wǎng)絡(luò)使用了Transformer,它也不是一個基礎(chǔ)模型。整個流程只適用于排序,對于其他任務(wù)如散列,必須重新訓(xùn)練。

圖片

在使用ML的算法發(fā)現(xiàn)方面取得了另一個重要的里程碑!

圖片

AlphaDev是DeepMind的一個改變游戲規(guī)則的人工智能,它創(chuàng)新了核心計算機科學(xué)算法。它正在重新構(gòu)想排序方法,短序列的速度可提高70%。甚至散列算法的發(fā)現(xiàn)速度提高了30%。強化學(xué)習(xí)正在重塑算法的格局!

圖片

還有網(wǎng)友稱,在我們對語言模型感到興奮之余,也不要忘記其他深度學(xué)習(xí)算法的成功故事:AlphaZero、AlphaFold,以及現(xiàn)在的AlphaDev。

圖片

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2023-06-09 09:32:52

DeepMindC++庫算法

2011-08-23 10:49:44

算法

2021-05-10 07:30:33

Google技術(shù)谷歌

2012-06-19 09:50:16

2013-11-11 12:56:52

通達信科OA

2023-06-20 16:13:37

研究模型

2009-12-23 09:57:13

十大IT公司

2012-04-01 13:36:07

2025-04-23 15:27:20

AI人工智能生物學(xué)

2021-04-25 21:32:37

數(shù)據(jù)庫架構(gòu)技術(shù)

2022-04-27 15:12:51

云計算市場

2023-08-14 08:22:51

論文AI

2023-06-12 13:35:11

2011-11-25 09:36:53

2009-11-25 10:31:33

2022-03-28 11:41:21

物聯(lián)網(wǎng)物聯(lián)網(wǎng)市場智能電網(wǎng)

2024-04-01 07:00:00

模型AI

2019-12-13 16:08:57

戴爾

2018-12-26 16:41:21

云計算AI云服務(wù)

2022-05-27 17:10:51

知識圖譜谷歌
點贊
收藏

51CTO技術(shù)棧公眾號