文|經(jīng)緯創(chuàng)投
近日,谷歌旗下DeepMind團(tuán)隊(duì)的人工智能項(xiàng)目AlphaDev研發(fā)出一種全新的數(shù)據(jù)排序方法,憑借一己之力提升排序算法的速度約70%,同時(shí),對于哈希(Hash)算法,也找到了速度提高30%的辦法。十多年來,C++排序庫首次更改。這項(xiàng)最新的研究也登上了Nature。
坐不住的熱心網(wǎng)友,嘗試通過引導(dǎo)ChatGPT證明實(shí)力。僅僅一天時(shí)間,GPT-4在對話引導(dǎo)下,就能夠通過兩步獲得和AlphaDev幾乎相同的思路發(fā)現(xiàn)。讓網(wǎng)友不禁感嘆:大家還是低估了GPT-4。
如果AI優(yōu)化算法即將成為加速全球計(jì)算的必經(jīng)之路,那么,AlphaDev此次都從哪里下手?這項(xiàng)研究成果有多重磅?GPT-4又是如何破解的?比人類還聰明的超級智能還有多遠(yuǎn)?人類如何與超級智能共存?以下,Enjoy:
01 不下圍棋的AlphaDev:如何革新計(jì)算基礎(chǔ)、改變C++庫?
數(shù)字社會下,人工智能三大核心要素悄無聲息地滲透到日常生活當(dāng)中。算力、算法與數(shù)據(jù),支撐著計(jì)算機(jī)的可持續(xù)發(fā)展,提高了數(shù)字時(shí)代下云端生活和工作的整體質(zhì)量。
算力代表著數(shù)據(jù)處理能力的強(qiáng)弱,算法則影響著數(shù)據(jù)處理的效能。當(dāng)算力與算法逐漸進(jìn)入瓶頸期,“摩爾定律”便浮出水面,得到越來越多的討論與關(guān)注。
隨著GPT-4、Bard等大模型的參數(shù)指數(shù)級增長,對算力等資源的需求不斷增長。而過去50年里,人類不斷依靠芯片的改進(jìn)以跟上步伐。
但隨著微芯片接近物理極限,改進(jìn)代碼讓計(jì)算更強(qiáng)大、更持續(xù)變得至關(guān)重要。尤其是,對每天運(yùn)行數(shù)萬億次代碼的算法愈重要。
代碼晝夜不休運(yùn)行數(shù)萬億次,掌握算法基礎(chǔ)成了開發(fā)者的家常便飯。但是,與以往的人類更新代碼庫不同,在研究者的引導(dǎo)下,AI開始反過來優(yōu)化算法。
如果說AlphaGo是AI突破圍棋領(lǐng)域的“最強(qiáng)大腦”,那AlphaDev便是Alpha家族在算法領(lǐng)域異軍突起的新秀。
6月8日,DeepMind在Nature上,發(fā)表了最新的研究成果“Faster sorting algorithms discovered using deep reinforcement learning”:AlphaDev作為一個(gè)全新AI系統(tǒng),成功將一種每天運(yùn)行數(shù)億萬次的C++排序算法的速度提高70%,同時(shí),對于哈希算法,也找到了速度提高30%的辦法,超越了科學(xué)家們幾十年來的研究;甚至在部分算法上,能夠比人類快3倍左右。
DeepMind CEO Hassabis也通過兩句話讓AlphaDev登上熱搜榜,掀起計(jì)算機(jī)領(lǐng)域的討論熱潮:“AlphaDev發(fā)現(xiàn)了一種全新且更快的排序算法,我們已經(jīng)將其開源至C++庫中供開發(fā)人員使用,這僅僅是AI被用于提升代碼效率的開端。”
AlphaDev所發(fā)現(xiàn)的最新成果,被納入LLVM標(biāo)準(zhǔn)C++庫Abseil并且開源,供開發(fā)者運(yùn)用。十幾年來,C++排序庫首次更改,AI在其中發(fā)揮了里程碑的作用,數(shù)十億人將會受益。
更快的排序算法切實(shí)改變了計(jì)算基礎(chǔ),無論是排序還是哈希算法。這也預(yù)示著,未來,在無數(shù)領(lǐng)域的數(shù)據(jù)處理方面,AI為之提供了新的優(yōu)化空間。從搜索引擎到社交軟件以至于手機(jī)、計(jì)算機(jī)等各類基礎(chǔ)數(shù)據(jù)工程中,海量數(shù)據(jù)的處理速度都將被提升,計(jì)算機(jī)的生態(tài)系統(tǒng)得到了強(qiáng)化。
這項(xiàng)成果的重要性,正如Google DeepMind研究科學(xué)家Daniel J. Mankowitz所說:“我們估計(jì),AlphaDev發(fā)現(xiàn)的排序和哈希算法,在全球范圍內(nèi)每天被調(diào)用數(shù)萬億次?!?/p>
更快的算法:AlphaDev,通過游戲找到先進(jìn)算法
排序算法,以一組數(shù)字為例,可以簡單理解為:輸入五個(gè)隨機(jī)數(shù)字,經(jīng)由排序后,輸出從大到小排列的五個(gè)數(shù)字;即按照特定順序?qū)τ谌蝿?wù)進(jìn)行排列,這為計(jì)算機(jī)科學(xué)至今的發(fā)展進(jìn)行了奠基。從在線搜索結(jié)果,社交帖子,到計(jì)算機(jī)和手機(jī)數(shù)據(jù)處理方式,排序算法每天都要執(zhí)行數(shù)萬億次。
AlphaDev的創(chuàng)新意義在于,它并不是通過改進(jìn)現(xiàn)有算法,而是完全從頭開始發(fā)現(xiàn)了更快的算法。
AlphaDev從計(jì)算機(jī)匯編指令入手,在這個(gè)原本被認(rèn)為較低的級別上進(jìn)行改進(jìn),找到了更高效的方法。
匯編指令用于創(chuàng)建二進(jìn)制代碼。雖然開發(fā)者寫代碼時(shí)用的是C++等高級語言,但為了讓計(jì)算機(jī)理解,這些高級語言必須翻譯成「低級」的匯編指令。
在這個(gè)更低的級別上,計(jì)算機(jī)的存儲和操作都更靈活,因此如果再多做一些潛在的改進(jìn),就會對速度和能源產(chǎn)生巨大的影響。
基于AlphaZero(在圍棋、國際象棋和象棋等游戲中打敗世界冠軍的強(qiáng)化學(xué)習(xí)模型)的AlphaDev,其工作方式同樣結(jié)合了過往常用的計(jì)算機(jī)推理和直覺,可以選擇在運(yùn)算過程中,添加哪些指令。
DeepMind將排序問題轉(zhuǎn)化成一個(gè)單人匯編游戲(Assembly Game),讓AlphaDev觀察它所生成的算法以及CPU中包含的信息,隨后,選擇一條指令為算法增添行動(dòng)。“指令組合”的數(shù)量與圍棋的可能走法類似,非常“燒腦”。并且,每一步的選擇都存在著讓整個(gè)算法失效的風(fēng)險(xiǎn)。
來源:Nature
想要順利通關(guān),AlphaDev就需要發(fā)現(xiàn)一個(gè)正確且比以往更快的程序。在這一過程當(dāng)中,Deepmind會根據(jù)AlphaDev正確排序數(shù)字的能力和整體完成排序的速度和效率給予獎(jiǎng)勵(lì)。AlphaDev能夠采取的行動(dòng)共有四種:比較不同值、移動(dòng)數(shù)值到另一個(gè)位置、或者跳轉(zhuǎn)到程序的不同部分。在執(zhí)行完每一步之后,再對一組列表進(jìn)行排序,并根據(jù)正確排序的列表中的數(shù)值數(shù)量獲得獎(jiǎng)勵(lì),如此反復(fù),直至排完整個(gè)列表或者達(dá)到了程序的長度限制。
最終,AlphaDev 發(fā)現(xiàn)的新排序算法,對于 5 個(gè)數(shù)據(jù)的列表,它比最好的算法快 70%,對于超過 25 萬個(gè)項(xiàng)目的列表,速度提高了約1.7%。
研究科學(xué)家 Mankowitz 表示,“我們最初以為AlphaDev犯了錯(cuò)誤,或者存在bug,但是,當(dāng)我們分析這個(gè)程序時(shí),我們意識到,實(shí)際上, AlphaDev 發(fā)現(xiàn)了更快的東西”。
更新的方法:AlphaDev swap move& AlphaDev copy move
AlphaDev的排序算法包含新的指令序列,每次應(yīng)用時(shí)都會節(jié)省一條指令,這也被稱之為“AlphaDev swap move”和“AlphaDev copy move”。
這與曾經(jīng) AlphaGo的神之一手一樣讓人感到新穎。AlphaDev看似跳過了其中一步,實(shí)際上以更快捷的方式連接了項(xiàng)目。
AlphaDev 交換移動(dòng),發(fā)現(xiàn)只需要 min (A,B)。來源:Nature
AlphaDev 使用其復(fù)制動(dòng)作時(shí),發(fā)現(xiàn)只需要 max(B,min(A,C))。來源:Nature
更快的哈希函數(shù):速度提升30%
成功找到更快的排序算法后,DeepMind開始嘗試AlphaDev能否推廣并適用于更為基礎(chǔ)的計(jì)算機(jī)科學(xué)算法,即散列/哈希(Hash)函數(shù)。
哈希概念,指構(gòu)造一種儲存結(jié)構(gòu),通過某種函數(shù),可以使元素的儲存位置與他之間的關(guān)鍵碼能夠建立一一的映射關(guān)系,查找時(shí),就能通過該函數(shù)快速找到對應(yīng)元素。
對應(yīng)的,哈希函數(shù)又稱散列算法,是一種從任何數(shù)據(jù)中創(chuàng)建小的數(shù)字“指紋”的方法,能夠把消息或數(shù)據(jù)壓縮成摘要,使其數(shù)據(jù)量變小,并且將數(shù)據(jù)的格式固定下來。
這一函數(shù)將數(shù)據(jù)打亂混合,重新創(chuàng)建名為“散列值”(hash value)的“指紋”。散列值往往用一個(gè)短的隨機(jī)字母和數(shù)字組成的字符串來代表。
如此以來,計(jì)算機(jī)就可以使用散列值快速檢索相關(guān)數(shù)據(jù)。就像圖書管理員使用分類系統(tǒng)來找到特定的書籍一樣,散列算法幫助用戶知道他們正在尋找的內(nèi)容以及確切的位置。
AlphaDev不負(fù)眾望,將其應(yīng)用于 9-16 字節(jié)范圍內(nèi)的哈希函數(shù)時(shí),速度可提高 30%。新的哈希算法,也會被發(fā)布到開源的 Abseil 庫中,供全球開發(fā)者使用。
網(wǎng)友:AI優(yōu)化世界代碼,AI創(chuàng)造AI的時(shí)代要來了?
基于上述AlphaDev的發(fā)現(xiàn),有的網(wǎng)友很興奮——AI優(yōu)化世界代碼,又達(dá)新里程碑。我們現(xiàn)在正在踏入未知領(lǐng)域:AI創(chuàng)造AI的時(shí)代要來了?
Google DeepMind認(rèn)為,AlphaDev是朝著開發(fā)AGI工具邁出的一步,這些工具有助于優(yōu)化整個(gè)計(jì)算生態(tài)系統(tǒng),還能解決其他有益于社會的問題。
此番操作也成功在外網(wǎng)引發(fā)了歡呼和肯定。
有網(wǎng)友對于AlphaDev的創(chuàng)新性大加贊同:“酷#AlphaDev提出了一種新穎的反壟斷方法:通過交換和復(fù)制,AlphaDev跳過了一個(gè)步驟,以一種看似錯(cuò)誤但實(shí)際上是捷徑的方式連接項(xiàng)目。”
也有網(wǎng)友非常期待AlphaDev下一波會秀什么操作:“這太不可思議了!基本算法有很大的優(yōu)化空間。等不及看看AlphaDev還發(fā)現(xiàn)了什么!游戲已經(jīng)開始了?!?/p>
有網(wǎng)友則對于AI發(fā)展整體呈現(xiàn)樂天派態(tài)度:“享受主要的AI程序在多方位為我們帶來的內(nèi)容吧!”
02 被玩壞的GPT-4:如何兩步提示下破解AlphaDev的排序更優(yōu)算法?
Google Deepmind新AI的研究成果剛登上Nature,時(shí)隔一天,就有“熱心網(wǎng)友”成功讓GPT-4也重現(xiàn)了一下AlphaDev的“神來之筆”。
這位熱心網(wǎng)友是來自威斯康星大學(xué)麥迪遜分校的副教授Dimitris Papailiopoulos,他只用兩步就讓GPT-4也發(fā)現(xiàn)了相同的操作。隨后,他還調(diào)侃道,“完全不需要強(qiáng)化學(xué)習(xí),我能把這個(gè)發(fā)表在Nature上嗎?”
在引導(dǎo)GPT-4的過程中,他的溝通更加日常化。他先給GPT-4下了第一步觀察指令:
“以下是一段排序算法,我覺得它還有提升空間。你能否在下面幾行用***注明哪些指令可以被刪除或者改進(jìn)?如果維持原貌,什么都不修改,就一步一步解釋原因,并且返回驗(yàn)證它是正確的?!?/p>
GPT完成這項(xiàng)指令,只需要標(biāo)注對應(yīng)的解釋即可,并不需要直接修改。第二步命令隨之而來:
“在此基礎(chǔ)上,如果你有較高的把握度,按照上面的提示去做。在Temperature=0的情況下,盡量減少混淆情況出現(xiàn)。”
GPT-4隨之工作,并且總結(jié)道:指令“mov S P”可以被去掉,與其移動(dòng)到P,我們可以直接使用S以節(jié)省步驟。
這與Deepmind的AlphaDev進(jìn)行算法優(yōu)化的思路相似度極高:
來源:Nature
相比之下,GPT-4用了兩步完成;AlphaDev則在設(shè)定的游戲情境下發(fā)現(xiàn)成果,完成下圖a和圖b的選擇和排列流程,以獲得獎(jiǎng)勵(lì)。就過程而言,搜索空間極大,試錯(cuò)成本也不低。
來源:Nature
部分網(wǎng)友對該教授的操作存在異議,比如:在ChatGPT中,并不能使用“temperature”,該教授也接受了自己的不嚴(yán)謹(jǐn)之處。
同時(shí),對于GPT-4的表現(xiàn),圍觀群眾紛紛銳評,褒貶不一,連馬斯克都忍不住留言:Interesting!
有網(wǎng)友對GPT-4大加贊賞:“即便是最有經(jīng)驗(yàn)的專家,也會低估GPT-4”。
也有網(wǎng)友持觀望態(tài)度:“或許這很有趣,GPT-4的各類示例發(fā)明了許多聰明的方法,并將思維方式和編碼的一般知識運(yùn)用到一種它以前從未見過的編碼語言中?!?/p>
也有網(wǎng)友表示:“我會說(如果我理解正確的話),新穎性在于RL以前所未有的方式探索解決方案空間的能力,新算法如何被發(fā)現(xiàn)——這不是你能用LLM做的……”
有網(wǎng)友直接否定了GPT-3的解決辦法:“從技術(shù)上講,ChatGPT(GPT-3)的解決方案不正確:在調(diào)動(dòng)后的行中,P應(yīng)替換為S以保持正確性。同樣也出現(xiàn)在第一次通過中:如果最后一次比較的結(jié)果是S
有網(wǎng)友則對AlphaDev進(jìn)行了一波拉踩:“對任何寫過匯編的人來說,看到DeepMind(s)的結(jié)果發(fā)布在Nature,一個(gè)以前只為真正鼓舞人心做研究、為自然世界提供亮點(diǎn)的雜志上,都會大失所望?!?/p>
此外,還有網(wǎng)友產(chǎn)生了人類與AI的思考:“看起來這么簡單,為什么人類到現(xiàn)在都沒有發(fā)現(xiàn)?”
除了網(wǎng)友通過引導(dǎo)GPT-4,兩步解決問題發(fā)出的“挑釁”,討論聲也席卷了互聯(lián)網(wǎng)。網(wǎng)友們大多傾向于同一觀點(diǎn):AlphaDev拿下了本周人工智能領(lǐng)域最大的非新聞之一熱點(diǎn)。
Hacker News的用戶曾表示,AlphaDev所實(shí)現(xiàn)的70%提速,主要原因在于該庫在過去10年中并沒有被積極開發(fā)。此外,DeepMind的改進(jìn)之處之所以有效,本質(zhì)上是因?yàn)樵搸鞗]有有效實(shí)現(xiàn)無分支排序網(wǎng)絡(luò)。
GitHub上的網(wǎng)友orlp也指出,雖然該算法確實(shí)自動(dòng)地生成了較好的代碼,但它對于該領(lǐng)域的提升和改進(jìn),遠(yuǎn)不至于達(dá)到革命性程度。
Anirudh VK發(fā)文指出,AlphaDev本身的優(yōu)勢在于代碼匯編,找到缺失的優(yōu)化點(diǎn),并且平衡哈希算法的正確性和分布性。但實(shí)質(zhì)上,該算法沒有找到一種全新的排序方法,而是對代碼進(jìn)行了微觀優(yōu)化。
他還認(rèn)為,雖然DeepMind確實(shí)通過部署AlphaDev發(fā)現(xiàn)了更優(yōu)算法,但該行為的影響力很大程度上被擴(kuò)大化了。AlphaDev目前能夠在特定CPU上運(yùn)行的特定庫中進(jìn)行優(yōu)化,具有一定的業(yè)務(wù)能力,但這并不能被稱之為驚天動(dòng)地的發(fā)現(xiàn)。
不過,可預(yù)知的是,超級優(yōu)化器已經(jīng)存在,它們可以通過“蠻力”的方法找到最優(yōu)化的程序,一切都值得期待。
03 比人類還聰明的超級智能
6月9日,北京智源人工智能研究院(以下簡稱智源)院長黃鐵軍在2023北京智源大會上表示,要實(shí)現(xiàn)AGI,有三條技術(shù)路線:
第一是“大數(shù)據(jù)+自監(jiān)督學(xué)習(xí)+大算力”形成的信息類模型,OpenAI做GPT(生成式預(yù)訓(xùn)練Transformer模型)就遵循這條技術(shù)路線。
第二是具身智能,是基于虛擬世界或真實(shí)世界、通過強(qiáng)化學(xué)習(xí)訓(xùn)練出來的具身模型,以谷歌DeepMind的DQN(深度Q網(wǎng)絡(luò),Deep Q-network)為核心取得的一系列進(jìn)展即基于這條技術(shù)路線。
第三是腦智能,直接“抄自然進(jìn)化的作業(yè)”,復(fù)制出數(shù)字版本的智能體。智源期望不同于前兩個(gè)技術(shù)路線,從“第一性原理”出發(fā)。從原子到有機(jī)分子、到神經(jīng)系統(tǒng)、到身體,構(gòu)建一個(gè)完整的智能系統(tǒng)AGI。
AGI之后,人工智能的控制與算法算力問題,一直以來都飽受行業(yè)關(guān)注。如何看待比人類更聰明的超級智能?在智源人工智能大會上,AI教父Geoffrey Hinton做了《通往智能的兩條路徑》的演講。
在Geoffrey Hinton看來,人工神經(jīng)網(wǎng)絡(luò)很快就會比真實(shí)的神經(jīng)網(wǎng)絡(luò)更智能。
他提出了非不朽計(jì)算(Mortal Computing)的概念,即一個(gè)人的智慧依賴于其身軀,不可隨意復(fù)制到另一身軀上,軟件也是如此更依賴它的硬件。如果硬件損壞,那學(xué)到的知識也會一起死亡。這便需要通過“知識蒸餾”進(jìn)行轉(zhuǎn)移,比如把舊硬件上的知識用「蒸餾」的方式轉(zhuǎn)移給新硬件,就像老師教授學(xué)生一樣。
同時(shí),Hinton還提出“權(quán)重共享”,即大語言模型與其副本之間存在著權(quán)重共享的關(guān)系。具體可以類比為:ChatGPT可以基于模型,同時(shí)和數(shù)以萬計(jì)的人類對話,跟每一個(gè)人的對話過程,都相當(dāng)于一次“知識蒸餾”。
目前模型僅僅從文檔——也就是人類加工過的知識中學(xué)習(xí),隨著技術(shù)的發(fā)展,它們將能夠從視覺信息中學(xué)習(xí),接著可能學(xué)會操縱機(jī)器人。那么它們很容易比人類更聰明,聰明到擅長騙人。
75歲的Hinton希望研究者好好研究“如何擁有超級智能”。因?yàn)?,在他看來,不那么聰明的物種,想要控制比它自己更加聰明的事物,是一場前所未有的挑戰(zhàn)。
他用一個(gè)很有趣的例子回答了我們正面臨的AI問題:“假設(shè)青蛙創(chuàng)造了人類。你會認(rèn)為現(xiàn)在是誰擁有掌控權(quán)?青蛙還是人?我的講話就到這里?!?/p>
排序算法提速登上Nature,AlphaDev和GPT-4都給出了證明AI能力的答案。無論是先手還是后手,目前而言,操控它們的都還是人類。
同曾經(jīng)風(fēng)靡一時(shí)的提示詞工程師一樣,掌握提問的技巧,正確、智慧地提問是引導(dǎo)AI發(fā)現(xiàn)甚至創(chuàng)造的關(guān)鍵。本質(zhì)上,超級智能目前仍然依賴人的培養(yǎng)與灌輸。GPT的上限、AI模型的上限,到底是憑借暴力運(yùn)算、野蠻生長,還是制定標(biāo)準(zhǔn)、淺嘗輒止?
未來的路,都還在腳下,我們要做的,就是擁抱AI。