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