焦點(diǎn)速遞!編程的終結(jié):經(jīng)典計(jì)算機(jī)領(lǐng)域正迎來劇變

發(fā)布時間:2023-01-11 12:41:34  |  來源:騰訊網(wǎng)  

我們大多數(shù)人都是恐龍,等待著流星的撞擊。

撰文 | Matt Welsh

本文作者M(jìn)att Welsh (mdw@mdw.la)是一家最近成立的初創(chuàng)公司Fixie.ai(致力于開發(fā)人工智能功能來支持軟件開發(fā)團(tuán)隊(duì))的首席執(zhí)行官和聯(lián)合創(chuàng)始人。他曾是哈佛大學(xué)計(jì)算機(jī)科學(xué)教授、谷歌的工程總監(jiān)、蘋果的工程主管,以及OctoML的工程高級副總裁。他在加州大學(xué)伯克利分校獲得博士學(xué)位的時候,人工智能還不太會下國際象棋。


(相關(guān)資料圖)

本文The End of Programming?發(fā)表于 JANUARY 2023 | VOL. 66 | NO. 1 | COMMUNICATIONS OF THE ACM(《美國計(jì)算機(jī)協(xié)會通訊》),本文只代表著其中一種觀點(diǎn),但由權(quán)威刊出,說明這種觀點(diǎn)值得關(guān)注。

上世紀(jì)80年代,我長大了,開始在家中為Commodore VIC-20和Apple等個人電腦編程。我在大學(xué)里繼續(xù)學(xué)習(xí)計(jì)算機(jī)科學(xué)?(CS),并最終在伯克利獲得博士學(xué)位,我的大部分專業(yè)培訓(xùn)都植根于我稱之為“經(jīng)典”的CS:編程、算法、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)、編程語言。在經(jīng)典計(jì)算機(jī)科學(xué)中,最終目標(biāo)是將一個想法簡化為由Java、C++或Python等語言編寫的程序。經(jīng)典計(jì)算機(jī)科學(xué)中的每一個思想——無論多么復(fù)雜,從數(shù)據(jù)庫連接算法到令人難以置信而滑稽的Paxos共識協(xié)議——都可以表達(dá)為人類可讀、可理解的程序。

上世紀(jì)90年代初,當(dāng)我還在上大學(xué)的時候,我們還處于AI寒冬的深處,AI作為一個領(lǐng)域同樣被經(jīng)典算法所主導(dǎo)。我在康奈爾大學(xué)的第一份研究工作是和Dan Huttenlocher一起工作,他是計(jì)算機(jī)視覺領(lǐng)域的領(lǐng)軍人物(現(xiàn)在是麻省理工學(xué)院施瓦茨曼計(jì)算學(xué)院的院長)。1995年前后,在Huttenlocher 的計(jì)算機(jī)視覺的博士生課程中,我們從未討論過任何類似于深度學(xué)習(xí)或神經(jīng)網(wǎng)絡(luò)的東西,而是經(jīng)典算法,如Canny邊緣檢測、光流和Hausdorff距離。深度學(xué)習(xí)還處于起步階段,還沒有被認(rèn)為是主流人工智能,更不用說主流計(jì)算機(jī)科學(xué)了。

當(dāng)然,這是30年前的事情了,從那時起發(fā)生了很多變化,但有一件事沒有真正改變——計(jì)算機(jī)科學(xué)是一門“數(shù)據(jù)結(jié)構(gòu)、算法和編程”作為其核心的學(xué)科來教授的。如果再過30年,甚至10年,我們還在用這種方式研究計(jì)算機(jī)科學(xué),我會感到驚訝的。事實(shí)上,我認(rèn)為計(jì)算機(jī)科學(xué)作為一個領(lǐng)域正在經(jīng)歷一個巨大的變遷——我們中很少有人真正做好了準(zhǔn)備。

編程將被淘汰,我相信“寫程序” 的傳統(tǒng)觀念正在走向消亡。事實(shí)上,除了非常專業(yè)的應(yīng)用,我們所知道的大多數(shù)軟件將被經(jīng)過訓(xùn)練而不是編程的人工智能系統(tǒng)所取代。在需要一個“簡單”程序的情況下(畢竟,并不是所有的程序都需要一個運(yùn)行在GPU集群上、有數(shù)千億個參數(shù)的大模型),這些程序本身將由人工智能生成,而不是手工編碼。

我不認(rèn)為這個想法很瘋狂。毫無疑問,從(相對)原始的電氣工程洞穴中走出的最早的計(jì)算機(jī)科學(xué)先驅(qū)們堅(jiān)信,所有未來的計(jì)算機(jī)科學(xué)家都需要對半導(dǎo)體、二進(jìn)制算術(shù)和微處理器設(shè)計(jì)有深刻的理解才能理解軟件??爝M(jìn)到今天,我敢打賭99%的編寫軟件的人幾乎不知道CPU是如何工作的,更不用說晶體管設(shè)計(jì)的物理基礎(chǔ)了。進(jìn)一步地說,我相信未來的計(jì)算機(jī)科學(xué)家將遠(yuǎn)離“軟件”的經(jīng)典定義,他們將很難逆轉(zhuǎn)鏈表或?qū)崿F(xiàn)快速排序。(見鬼,我不確定我是否還記得如何實(shí)現(xiàn)快速排序。)

像CoPilot這樣的AI編碼助手只是觸及了我所描述的內(nèi)容的表面。在我看來,很明顯,未來所有的程序最終都將由AI來編寫,而人類充其量只能扮演監(jiān)督的角色。任何懷疑這一預(yù)測的人只需看看AI內(nèi)容生成的其他方面(如圖像生成)正在取得的驚人進(jìn)展。DALL-E v1和僅在15個月后宣布的DALL-E v2在質(zhì)量和復(fù)雜性上的差異是驚人的。如果說我在過去幾年的人工智能工作中學(xué)到了什么,那就是,人們很容易低估日益龐大的人工智能模型的力量。幾個月前還像是科幻小說的事情正在迅速成為現(xiàn)實(shí)。

(創(chuàng)造出令人驚艷的圖像, https://openai.com/dall-e-2/)

所以,我不只是在談?wù)撓馟ithub的CoPilot[1]取代程序員,而要說的是,用訓(xùn)練模型取代編寫程序的整個概念。在未來,計(jì)算機(jī)科學(xué)的學(xué)生將不需要學(xué)習(xí)諸如如何向二叉樹添加節(jié)點(diǎn)或C++代碼這樣的平凡技能。這種教育將會過時,就像教工程專業(yè)的學(xué)生如何使用計(jì)算尺一樣。

未來的工程師只需敲擊幾下鍵盤,就能啟動一個包含400億億個參數(shù)(

four-quintillion-parameter)的模型實(shí)例,這個模型已經(jīng)對人類知識的全部范圍(包括子集)進(jìn)行了編碼,并隨時準(zhǔn)備執(zhí)行機(jī)器要求的任何任務(wù)。讓機(jī)器做我們想做的事情的大部分腦力工作將是提出正確的示例、正確的訓(xùn)練數(shù)據(jù)和正確的方法來評估訓(xùn)練過程。像基于小樣本學(xué)習(xí)(few-shot learning)且能泛化的、這樣強(qiáng)大的模型只需要執(zhí)行任務(wù)的幾個好的示例。在大多數(shù)情況下,大規(guī)模的、人工管理的數(shù)據(jù)集將不再是必要的,大多數(shù)人“訓(xùn)練”一個AI模型將不會在PyTorch中運(yùn)行梯度下降循環(huán)(gradient descent loops)或類似的東西。他們只是教模型幾個示例,機(jī)器將完成其余的工作。

在這門新的計(jì)算機(jī)科學(xué)中——如果我們還稱之為計(jì)算機(jī)科學(xué)的話——機(jī)器將如此強(qiáng)大,并且已經(jīng)知道如何做很多事情,這一領(lǐng)域?qū)⒖雌饋聿幌褚粋€工程領(lǐng)域,而更像一個教育領(lǐng)域。也就是說,如何最好地教育機(jī)器,就像如何最好地教育學(xué)校里的孩子一樣。不過,與?(人類)?孩子不同的是,這些人工智能系統(tǒng)將駕駛我們的飛機(jī)、運(yùn)行我們的電網(wǎng),甚至可能統(tǒng)治整個國家。我認(rèn)為,當(dāng)我們的注意力轉(zhuǎn)向教授智能機(jī)器而不是直接編程時,絕大多數(shù)經(jīng)典CS就變得無關(guān)緊要了。傳統(tǒng)意義上的編程實(shí)際上將會消亡。

我認(rèn)為CS作為一個領(lǐng)域正在經(jīng)歷一場相當(dāng)大的劇變,我們中很少有人真正做好了準(zhǔn)備。

這一切將如何改變我們對計(jì)算機(jī)科學(xué)領(lǐng)域的看法?新的原子計(jì)算單元不再是處理器、內(nèi)存和I/O系統(tǒng),而是一個大規(guī)模的、預(yù)先訓(xùn)練過的、高度自適應(yīng)的AI模型。這對我們思考計(jì)算的方式來說是一個巨大的轉(zhuǎn)變——不再是一個可預(yù)測的、靜態(tài)的、受指令集、類型系統(tǒng)和可判定性概念支配的過程?;谌斯ぶ悄艿挠?jì)算早已跨越了靜態(tài)分析和形式證明的界限。我們正在迅速走向這樣一個世界,在這個世界里,計(jì)算的基本構(gòu)件是有氣質(zhì)的、神秘的、自適應(yīng)的代理。

沒有人真正了解大型人工智能模型是如何工作的,這一事實(shí)突顯了這種轉(zhuǎn)變。人們發(fā)表的研究論文實(shí)際上發(fā)現(xiàn)了現(xiàn)有大型模型的新行為,即使這些系統(tǒng)是由人類“設(shè)計(jì)”出來的。大型人工智能模型能夠做一些它們沒有受過明確訓(xùn)練的事情,這應(yīng)該會把Nick Bostrom[2]和其他擔(dān)心超級智能人工智能橫行的人嚇得魂飛魄滅?(這是正確的)。除了實(shí)證研究,我們目前沒有辦法確定當(dāng)前人工智能系統(tǒng)的局限性。至于未來更大更復(fù)雜的人工智能模型——祝我們好運(yùn)!

對于任何讀過現(xiàn)代機(jī)器學(xué)習(xí)論文的人來說,焦點(diǎn)從程序到模型的轉(zhuǎn)變應(yīng)該是顯而易見的。這些論文幾乎沒有提到創(chuàng)新背后的代碼或系統(tǒng):人工智能系統(tǒng)的構(gòu)建模塊是更高層次的抽象,如注意力層(attention layers)、標(biāo)記器(tokenizers)和數(shù)據(jù)集。即使是20年前的時間旅行者,也很難理解GPT-3論文[3](描述為該模型構(gòu)建的實(shí)際軟件)的三句話(three sentences):

“我們使用與GPT-2相同的模型和架構(gòu),包括其中描述的修改后的初始化、預(yù)歸一化和可逆標(biāo)記化,除了我們在Transformer Layer中使用交替的密集和局部稀疏注意力模式,類似于 稀疏矩陣(Sparse Transformer)。為了研究ML性能對模型大小的依賴關(guān)系,我們訓(xùn)練了8種不同大小的模型,從1.25億個參數(shù)到1750億個參數(shù),范圍超過三個數(shù)量級,最后一個是我們稱之為GPT-3的模型。先前的工作表明,在足夠的訓(xùn)練數(shù)據(jù)下,驗(yàn)證損失的縮放應(yīng)該近似于一個平滑冪律(power law)作為規(guī)模的函數(shù)。許多不同規(guī)模的訓(xùn)練模型允許我們測試這個假設(shè)的驗(yàn)證損失(validation loss)和下游語言任務(wù)?!?/p>

計(jì)算基礎(chǔ)定義的這種轉(zhuǎn)變帶來了巨大的機(jī)遇,也帶來了巨大的風(fēng)險。然而,我認(rèn)為現(xiàn)在是時候接受這是一個很有可能的未來,并相應(yīng)地發(fā)展我們的思想,而不是只是坐在這里等待流星撞擊。

參考文獻(xiàn)

[1] Berger, E. Coping with copilot. SIGPLAN PL Perspectives Blog, 2022; https://bit.ly/3XbJv5J

[2]?Bostrom, N. Superintelligence: Paths, Dangers, Strategies. Oxford University Press, 2014.

[3]?Brown, T. et al. Language models are few-shot learners. 2020; https://bit.ly/3Eh1DT5

[4]?Kojima, T. et al. Large language models are zero-shot reasoners. 2022; https://bit.ly/3Ohmlqo

[5]?Nye, M. et al. Show your work: Scratchpads for intermediate computation with language models. 2021; https://bit.ly/3TLnfMY

本文轉(zhuǎn)自微信公眾號“軟件質(zhì)量報道”,原標(biāo)題為《編程的終結(jié):經(jīng)典計(jì)算機(jī)科學(xué)的末日即將來臨》。

特 別 提 示

1. 進(jìn)入『返樸』微信公眾號底部菜單“精品專欄“,可查閱不同主題系列科普文章。

2. 『返樸』提供按月檢索文章功能。關(guān)注公眾號,回復(fù)四位數(shù)組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。

關(guān)鍵詞: 編程的終結(jié)經(jīng)典計(jì)算機(jī)領(lǐng)域正迎來劇變 編程語言 人工智能

 

網(wǎng)站介紹  |  版權(quán)說明  |  聯(lián)系我們  |  網(wǎng)站地圖 

星際派備案號:京ICP備2022016840號-16 營業(yè)執(zhí)照公示信息版權(quán)所有 郵箱聯(lián)系:920 891 263@qq.com