人工智能時(shí)代的算力挑戰(zhàn)

陳永偉2023-02-20 21:38

陳永偉/文

最近,OpenAI推出的聊天機(jī)器人ChatGPT真可謂是紅到發(fā)紫。無論是做技術(shù)的、做投資的,還是普通網(wǎng)友,好像不聊幾句ChatGPT就顯得落伍了。當(dāng)然,在一片對(duì)ChatGPT的追捧當(dāng)中,也有一些不同的意見。比如,圖靈獎(jiǎng)得主、Meta的首席AI科學(xué)家楊立昆(YannLe-Cun)就在社交媒體上發(fā)帖說:從底層技術(shù)看,ChatGPT并沒有什么創(chuàng)新。與其說它是一次巨大的技術(shù)革新,倒不如說它是一個(gè)工程上的杰作。

楊立昆的這番言論一出,就遭遇到了網(wǎng)友的一片嘲諷,很多人甚至毫不客氣地說,作為Meta的AI掌門人,這完全就是一種“吃不到葡萄說葡萄酸”的狡辯。由于Meta先前在同類產(chǎn)品上的失敗經(jīng)歷,所以面對(duì)如此洶洶的輿論,楊立昆也是百口莫辯,只能就此噤聲,不再對(duì)ChatGPT進(jìn)一步發(fā)表評(píng)論。

不過,如果我們認(rèn)真回味一下楊立昆的話,就會(huì)發(fā)現(xiàn)他的話其實(shí)是非常有道理的:雖然從表現(xiàn)上看,現(xiàn)在的ChatGPT確實(shí)非常驚艷,但從根本上講,它依然是深度學(xué)習(xí)技術(shù)的一個(gè)小拓展。事實(shí)上,與之類似的產(chǎn)品在幾年前已經(jīng)出現(xiàn)過,所不同的是,ChatGPT在參數(shù)數(shù)量上要遠(yuǎn)遠(yuǎn)多于之前的產(chǎn)品,其使用的訓(xùn)練樣本也要大得多。而它卓越的性能,其實(shí)在很大程度上只是這些數(shù)量優(yōu)勢(shì)積累到了一定程度之后產(chǎn)生的質(zhì)變。

有意思的是,如果我們回顧一下深度學(xué)習(xí)的歷史,就會(huì)發(fā)現(xiàn)這種利用神經(jīng)網(wǎng)絡(luò)進(jìn)行機(jī)器學(xué)習(xí)的思路其實(shí)在上世紀(jì)50年代就有了,可以稱得上是人工智能領(lǐng)域最古老的理論之一。早在1958年,羅森布拉特就曾經(jīng)用這個(gè)原理制造了一臺(tái)機(jī)器來識(shí)別字符。然而,在很長的一段時(shí)間內(nèi),這個(gè)理論卻一直無人問津,即使現(xiàn)在被尊為“深度學(xué)習(xí)之父”的杰弗里·辛頓(GeoffreyHinton)也長期遭受孤立和排擠。究其原因,固然有來自當(dāng)時(shí)在人工智能領(lǐng)域占主導(dǎo)地位的“符號(hào)主義”的打壓,但更為重要的是,當(dāng)時(shí)的深度學(xué)習(xí)模型確實(shí)表現(xiàn)不佳。

直到本世紀(jì)初,這一切才發(fā)生了改變。長期蟄伏的深度學(xué)習(xí)理論終于翻身成為了人工智能的主流,一個(gè)個(gè)基于這一理論開發(fā)的模型如雨后春筍一般出現(xiàn)。從打敗圍棋高手的AlphaGo到識(shí)別出幾億種蛋白質(zhì)結(jié)構(gòu)的AlphaFold,從可以瞬間生成大師畫作的Dall-E、StableDiffusion到當(dāng)今如日中天的ChatGPT,所有的這些在短短的幾年之間涌現(xiàn)了。

那么,到底是什么原因讓深度學(xué)習(xí)在過去的幾年中扭轉(zhuǎn)了長期的頹勢(shì),讓它得以完成了從異端到主流的轉(zhuǎn)換?我想,最為關(guān)鍵的一點(diǎn)就是算力的突破。

算力及其經(jīng)濟(jì)效應(yīng)

所謂算力,就是設(shè)備處理數(shù)據(jù)、輸出結(jié)果的能力,或者簡而言之,就是計(jì)算的能力。它的基本單位是用“每秒完成的標(biāo)準(zhǔn)操作數(shù)量”(standardizedoperationspersecond,簡稱SOPS)來進(jìn)行衡量。不過,由于現(xiàn)在的設(shè)備性能都非常高,因而在實(shí)踐中用SOPS來衡量算力已經(jīng)變得不那么方便。相比之下,“每秒完成的百萬次操作數(shù)”(millionoper-ationspersecond,簡稱MOPS)、“每秒完成的十億次操作數(shù)”(gigaoperationspersecond,簡稱GOPS),以及“每秒完成的萬億次操作數(shù)”(teraoperationspersecond,簡稱TOPS)等單位變得更為常用。當(dāng)然,在一些文獻(xiàn)中,也會(huì)使用某些特定性能的設(shè)備在某一時(shí)間段內(nèi)完成的計(jì)算量來作為算力的單位——其邏輯有點(diǎn)類似于物理學(xué)中用到的“馬力”。比如,一個(gè)比較常用的單位叫做“算力當(dāng)量”,它就被定義為一臺(tái)每秒運(yùn)算千萬億次的計(jì)算機(jī)完整運(yùn)行一天所實(shí)現(xiàn)的算力總量。

那么,算力的意義究竟何在呢?關(guān)于這個(gè)問題,阿格拉沃爾(AjayAgrawal)、甘斯(JoshuaGans)和戈德法布(AviGoldfarb)在他們合著的《預(yù)測(cè)機(jī)器》(PredictionMachines,中文譯名為《AI極簡經(jīng)濟(jì)學(xué)》)中,曾經(jīng)提出過一個(gè)有啟發(fā)的觀點(diǎn):算力的成本將關(guān)系到AI模型的“價(jià)格”。經(jīng)濟(jì)學(xué)的原理告訴我們,在給定其他條件的前提下,人們對(duì)一種商品的需求量取決于該商品的價(jià)格。而對(duì)于兩種性能相近,具有替代關(guān)系的商品來說,具有更低價(jià)格的那種商品會(huì)在市場(chǎng)上具有更高的競爭力。將這一點(diǎn)應(yīng)用到人工智能領(lǐng)域,我們就可以找到深度學(xué)習(xí)理論為什么在幾十年中都不被待見,卻在最近幾年中實(shí)現(xiàn)爆發(fā)的原因。

雖然深度學(xué)習(xí)的理論并不算困難,但是為了實(shí)現(xiàn)它,要投入的運(yùn)算量是十分巨大的。在算力低下的時(shí)代,算力的單位成本非常高。在羅森布拉特提出深度學(xué)習(xí)思想雛形的那個(gè)年代,一臺(tái)計(jì)算機(jī)的體積幾乎和一間房子那么大,但即便如此,讓它運(yùn)算一個(gè)大一點(diǎn)的矩陣都還需要很長時(shí)間。雖然理論上我們也可以用深度學(xué)習(xí)來訓(xùn)練大模型并達(dá)到比較好的效果,但這樣的成本顯然是沒有人能夠承受的。而相比之下,符號(hào)學(xué)派的模型對(duì)于計(jì)算量的要求要小得多,因此這些模型的相對(duì)價(jià)格也要比深度學(xué)習(xí)模型來得低。在這種情況下,深度學(xué)習(xí)理論當(dāng)然不會(huì)在市場(chǎng)上有競爭力。但是,當(dāng)算力成本大幅度降低之后,深度學(xué)習(xí)模型的相對(duì)價(jià)格就降了下來,它的競爭力也就提升了。從這個(gè)角度看,深度學(xué)習(xí)在現(xiàn)階段的勝利其實(shí)并不是一個(gè)純粹的技術(shù)事件,在很大程度上,它還是一個(gè)經(jīng)濟(jì)事件。

改進(jìn)算力的方法

那么,決定算力的因素有哪些呢?

為了直觀起見,我們不妨以計(jì)算數(shù)學(xué)題來對(duì)此進(jìn)行說明:如果我們要提高在單位時(shí)間內(nèi)計(jì)算數(shù)學(xué)題的效率,有哪些方法可以達(dá)到這一目的呢?我想,可能有以下幾種方法是可行的:一是找更多人一起來計(jì)算。如果一個(gè)人一分鐘可以算一個(gè)題,那么十個(gè)人一分鐘就可以算十個(gè)題。這樣,即使每個(gè)人的效率沒有提升,隨著人數(shù)的增加,單位時(shí)間內(nèi)可以計(jì)算的數(shù)學(xué)題數(shù)量也可以成倍增加。二是改進(jìn)設(shè)備。比如,最早時(shí),我們完全是依靠手算的,效率就很低。如果改用計(jì)算器,效率會(huì)高一點(diǎn)。如果使用了Excel,效率就可能更高。三是將問題轉(zhuǎn)化,用更好的方法來計(jì)算。比如,計(jì)算從1加到100,如果按照順序一個(gè)個(gè)把數(shù)字加上去,那么可能要算很久。但是,如果我們像高斯那樣用等差數(shù)列求和公式來解這個(gè)問題,那么很快就可以計(jì)算出結(jié)果。

將以上三個(gè)方案對(duì)應(yīng)到提升算力問題,我們也可以找到類似的三種方法:一是借助高性能計(jì)算和分布式計(jì)算;二是實(shí)現(xiàn)計(jì)算模式上的突破;三是改進(jìn)算法——盡管嚴(yán)格地說這并不能讓算力本身得到提升,但是它卻能讓同樣的算力完成更多的計(jì)算,從某個(gè)角度看,這就好像讓算力增加了一樣。

1、高性能計(jì)算和分布式計(jì)算

從根本上講,高性能計(jì)算和分布式計(jì)算都是通過同時(shí)動(dòng)用更多的計(jì)算資源去完成計(jì)算任務(wù),就好像我們前面講的,用更多的人手去算數(shù)學(xué)題一樣。所不同的是,前者聚集的計(jì)算資源一般是聚集在本地的,而后者動(dòng)用的計(jì)算資源則可能是分散在網(wǎng)上的。

(1)高性能計(jì)算

先看高性能計(jì)算。高性能計(jì)算中,最為重要的核心技術(shù)是并行計(jì)算(ParallelComputing)。所謂并行計(jì)算,是相對(duì)于串行計(jì)算而言的。在串行計(jì)算當(dāng)中,計(jì)算任務(wù)不會(huì)被拆分,一個(gè)任務(wù)的執(zhí)行會(huì)固定占有一塊計(jì)算資源。而在并行計(jì)算中,任務(wù)則會(huì)被分解并交給多個(gè)計(jì)算資源進(jìn)行處理。打個(gè)比方,串行計(jì)算過程就像是讓一個(gè)人獨(dú)立按照順序完成一張?jiān)嚲恚⑿杏?jì)算則像是把試卷上的題分配給很多人同時(shí)作答。顯然,這種任務(wù)的分解和分配可以是多樣的:既可以是把計(jì)算任務(wù)分給多個(gè)設(shè)備,讓它們協(xié)同求解,也可以是把被求解的問題分解成若干個(gè)部分,各部分均由一個(gè)獨(dú)立的設(shè)備來并行計(jì)算。并行計(jì)算系統(tǒng)既可以是含有多個(gè)處理器的超級(jí)計(jì)算機(jī),也可以是以某種方式互連的若干臺(tái)獨(dú)立計(jì)算機(jī)構(gòu)成的集群。

從架構(gòu)上看,并行計(jì)算可以分為同構(gòu)并行計(jì)算(homogeneousparallelcomputing)和異構(gòu)并行計(jì)算(heterogeneousparallelcomputing)。顧名思義,同構(gòu)并行計(jì)算是把計(jì)算任務(wù)分配給一系列相同的計(jì)算單元;異構(gòu)并行計(jì)算則是把計(jì)算任務(wù)分配給不同制程架構(gòu)、不同指令集、不同功能的計(jì)算單元。比如,多核CPU的并行運(yùn)算就屬于同構(gòu)并行,而CPU+GPU的架構(gòu)就屬于異構(gòu)并行。

對(duì)比于同構(gòu)并行,異構(gòu)并行具有很多的優(yōu)勢(shì)。用通俗的語言解釋,這種優(yōu)勢(shì)來自于各種計(jì)算單元之間的“術(shù)業(yè)專攻”,在異構(gòu)架構(gòu)之下,不同計(jì)算單元之間的優(yōu)勢(shì)可以得到更好的互補(bǔ)。正是由于這個(gè)原因,異構(gòu)并行計(jì)算正得到越來越多的重視。

比如,現(xiàn)在越來越多的設(shè)備當(dāng)中,都采用了將GPU和CPU混搭的架構(gòu)。為什么要這么做呢?為了說明白這一點(diǎn),我們需要略微介紹一下CPU和GPU的結(jié)構(gòu):從總體上看,無論是CPU還是GPU,都包括運(yùn)算器(ArithmeticandLogicUnit,簡稱ALU)、控制單元(ControlUnit,簡稱CL)、高速緩存器(Cache)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。但是,這些成分在兩者中的構(gòu)成比例卻是不同的。

在CPU當(dāng)中,控制單元和存儲(chǔ)單元占的比例很大,而作為計(jì)算單位的ALU比例則很小,數(shù)量也不多;而在GPU當(dāng)中則正好相反,它的ALU比例很大,而控制單元和存儲(chǔ)單元?jiǎng)t只占很小的一個(gè)比例。這種結(jié)構(gòu)上的差異就決定了CPU和GPU功能上的區(qū)別。CPU在控制和存儲(chǔ)的能力上比較強(qiáng),就能進(jìn)行比較復(fù)雜的計(jì)算,不過它可以同時(shí)執(zhí)行的線程很少。而GPU則相反,大量的計(jì)算單位讓它可以同時(shí)執(zhí)行多線程的任務(wù),但每一個(gè)任務(wù)都比較簡單。打個(gè)比喻,CPU是一個(gè)精通數(shù)學(xué)的博士,微積分、線性代數(shù)樣樣都會(huì),但盡管如此,讓他做一萬道四則運(yùn)算也很難;而GPU呢,則是一群只會(huì)四則運(yùn)算的小學(xué)生,雖然他們不會(huì)微積分和線性代數(shù),但人多力量大,如果一起開干,一萬道四則運(yùn)算分分鐘就能搞定。

由于GPU的以上性質(zhì),它最初的用途是作為顯卡,因?yàn)轱@卡負(fù)責(zé)圖形和色彩的變換,需要的計(jì)算量很大,但每一個(gè)計(jì)算的復(fù)雜性都不高。當(dāng)深度學(xué)習(xí)興起之后,人工智能專家們發(fā)現(xiàn)GPU其實(shí)也很適合用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。因?yàn)樵谏疃葘W(xué)習(xí)模型中,最主要的運(yùn)算就是矩陣運(yùn)算和卷積,而這些運(yùn)算從根本上都可以分解為簡單的加法和乘法。這樣一來,GPU就找到了新的“就業(yè)”空間,開始被廣泛地應(yīng)用于人工智能。但是,GPU并不能單獨(dú)執(zhí)行任務(wù),所以它必須搭配上一個(gè)CPU,這樣的組合就可以完成很多復(fù)雜的任務(wù)。這就好像讓一個(gè)能把握方向的導(dǎo)師帶著很多肯賣力的學(xué)生,可以干出很多科研成果一樣。正是在這種情況下,異構(gòu)并行開始成為了高性能計(jì)算的流行架構(gòu)模式。

不過,異構(gòu)架構(gòu)也是有代價(jià)的。相對(duì)于同構(gòu)架構(gòu),它對(duì)于應(yīng)用者的編程要求更高。換言之,只有當(dāng)使用者可以更好地把握好不同計(jì)算單元之間的屬性,并進(jìn)行有針對(duì)性的編程,才可能更好地利用好它們。

除此之外,我們還必須認(rèn)識(shí)到,哪怕是借助異構(gòu)架構(gòu),通過并行運(yùn)算來提升運(yùn)算效率的可能也是有限的。根據(jù)阿姆達(dá)爾定律(Amdahl’sLaw),對(duì)于給定的運(yùn)算量,當(dāng)并行計(jì)算的線程趨向于無窮時(shí),系統(tǒng)的加速比會(huì)趨向于一個(gè)上限,這個(gè)上限將是串行運(yùn)算在總運(yùn)算中所占比例的倒數(shù)。舉例來說,如果在一個(gè)運(yùn)算中,串行運(yùn)算的比例是20%,那么無論我們?cè)诓⑿羞\(yùn)算部分投入多少處理器,引入多少線程,其加速比也不會(huì)突破5。這就好像,如果我要寫一本關(guān)于生成式AI的書,可以將一些資料查找的工作交給研究助手。顯然,如果我有更多的研究助手,寫書的進(jìn)度也會(huì)加快。但這種加快不是無限的,因?yàn)樽罱K這本書什么時(shí)候?qū)懲?,還要看我自己“碼字”的速度。

(2)分布式計(jì)算

采用聚集資源的方式來增強(qiáng)算力的另一種思路就是分布式計(jì)算。和高性能計(jì)算主要聚集本地計(jì)算單位不同,分布式計(jì)算則是將分散在不同物理區(qū)域的計(jì)算單位聚集起來,去共同完成某一計(jì)算任務(wù)。比如,劉慈欣在他的小說《球狀閃電》中就提到過一個(gè)叫做SETI@home的科研計(jì)劃(注:這個(gè)項(xiàng)目是真實(shí)存在的),這個(gè)計(jì)劃試圖將互聯(lián)網(wǎng)上閑置的個(gè)人計(jì)算機(jī)算力集中起來處理天文數(shù)據(jù),這就是一個(gè)典型的分布式計(jì)算用例。

分布式計(jì)算的一個(gè)典型代表就是我們現(xiàn)在經(jīng)常聽說的云計(jì)算。關(guān)于云計(jì)算的定義,目前的說法并不統(tǒng)一。一個(gè)比較有代表性的觀點(diǎn)來自于美國國家標(biāo)準(zhǔn)和技術(shù)研究所(NIST),根據(jù)這種觀點(diǎn),“云計(jì)算是一種按使用量付費(fèi)的模式。這種模式對(duì)可配置的IT資源(包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù))共享池提供了可用的、便捷的、按需供應(yīng)的網(wǎng)絡(luò)訪問。在這些IT資源被提供的過程中,只需要投入很少的管理和交流工作”。

這個(gè)定義很抽象、很學(xué)院派,我們可以用一個(gè)通俗的比喻來對(duì)其進(jìn)行理解。在傳統(tǒng)上,用戶主要是通過調(diào)用自有的單一IT資源,這就好比每家每戶自己發(fā)電供自己用;而云計(jì)算則好像是(用大量算力設(shè)備)建了一個(gè)大型的“發(fā)電站”,然后將“電力”(IT資源)輸出給所有用戶來用。

根據(jù)云服務(wù)提供者所提供的IT資源的不同,可以產(chǎn)生不同的“云交付模式”(CloudDeliveryModel)。由于IT資源的種類很多,因此對(duì)應(yīng)的“云交付模式”也就很多。在各類新聞報(bào)道中,最常見的“云交付模式”有三種:

第一種是IaaS,它的全稱是“基礎(chǔ)設(shè)施作為服務(wù)”(Infrastructure-as-a-Service)。在這種交付模式下,云服務(wù)的提供者供給的主要是存儲(chǔ)、硬件、服務(wù)器和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施。

第二種是PaaS,它的全稱是“平臺(tái)作為服務(wù)”(Platform-as-a-Service)。在這種交付模式下,云服務(wù)的提供者需要供應(yīng)的資源更多,以便為使用者提供一個(gè)“就緒可用”(ready-to-use)的計(jì)算平臺(tái),以滿足他們?cè)O(shè)計(jì)、開發(fā)、測(cè)試和部署應(yīng)用程序的需要。

第三種是SaaS,也就是“軟件作為服務(wù)”(Software-as-a-Service)。在這種交付模式下,云服務(wù)提供者將成品的軟件作為產(chǎn)品來提供給用戶,供其使用。

有了以上不同的云交付模式,用戶就可以根據(jù)自己的需要來選擇相應(yīng)的IT資源。比如,如果元宇宙的用戶需要更多的算力或存儲(chǔ),而本地的機(jī)器無法滿足,那么就可以通過從云端來獲取“外援”。一個(gè)云端GPU不夠,那就再來幾個(gè),按需取用,豐儉由人,既方便,又不至于產(chǎn)生浪費(fèi)。

需要指出的是,盡管從理論上看云計(jì)算可以很好地承擔(dān)巨大運(yùn)算和存儲(chǔ)需求,但其缺陷也是很明顯的。比較重要的一點(diǎn)是,在執(zhí)行云計(jì)算時(shí),有大量的數(shù)據(jù)要在本地和云端之間進(jìn)行交換,這可能會(huì)造成明顯的延遲。尤其是數(shù)據(jù)吞吐量過大時(shí),這種延遲就更加嚴(yán)重。對(duì)于用戶來說,這可能會(huì)對(duì)其使用體驗(yàn)產(chǎn)生非常負(fù)面的效果。

那么怎么才能克服這個(gè)問題呢?一個(gè)直觀的思路就是,在靠近用戶或設(shè)備一側(cè)安放一個(gè)能夠進(jìn)行計(jì)算、存儲(chǔ)和傳輸?shù)钠脚_(tái)。這個(gè)平臺(tái)一方面可以在終端和云端之間承擔(dān)起一個(gè)中介的作用,另一方面則可以對(duì)終端的各種要求作出實(shí)時(shí)的回應(yīng)。這個(gè)思想,就是所謂的邊緣計(jì)算。由于邊緣平臺(tái)靠近用戶,因而其與用戶的數(shù)據(jù)交換會(huì)更加及時(shí),延遲問題就可以得到比較好的破解。

2、超越經(jīng)典計(jì)算——以量子計(jì)算為例

無論是高性能計(jì)算還是分布式計(jì)算,其本質(zhì)都是在運(yùn)算資源的分配上下功夫。但正如我們前面看到的,通過這種思路來提升算力是有很多障礙的。因此,現(xiàn)在很多人希望從計(jì)算方式本身來進(jìn)行突破,從而實(shí)現(xiàn)更高的計(jì)算效率。其中,量子計(jì)算就是最有代表性的例子。

我們知道,經(jīng)典計(jì)算的基本單位是比特,比特的狀態(tài)要么是0,要么是1,因此經(jīng)典計(jì)算機(jī)中的所有問題都可以分解為對(duì)0和1的操作。一個(gè)比特的存儲(chǔ)單元只能存儲(chǔ)一個(gè)0或者一個(gè)1。而量子計(jì)算的基本單位則是量子比特,它的狀態(tài)則可以是一個(gè)多維的向量,向量的每一個(gè)維度都可以表示一個(gè)狀態(tài)。這樣一來,量子存儲(chǔ)器就比經(jīng)典的存儲(chǔ)器有很大的優(yōu)勢(shì)。

考慮一個(gè)有 N物理比特的存儲(chǔ)器,如果它是經(jīng)典存儲(chǔ)器,那么它只能存儲(chǔ)2的N次方個(gè)可能數(shù)據(jù)當(dāng)中的任一個(gè);而如果它是量子存儲(chǔ)器,那么它就可以同時(shí)存儲(chǔ)2的N次方個(gè)數(shù)據(jù)。隨著 N的增加,量子存儲(chǔ)器相對(duì)于經(jīng)典存儲(chǔ)器的存儲(chǔ)能力就會(huì)出現(xiàn)指數(shù)級(jí)增長。例如,一個(gè)250量子比特的存儲(chǔ)器可能存儲(chǔ)的數(shù)就可以達(dá)到2的250次方個(gè),比現(xiàn)有已知的宇宙中全部原子數(shù)目還要多。

在進(jìn)行量子計(jì)算時(shí),數(shù)學(xué)操作可以同時(shí)對(duì)存儲(chǔ)器中全部的數(shù)據(jù)進(jìn)行。這樣一來,量子計(jì)算機(jī)在實(shí)施一次的運(yùn)算中可以同時(shí)對(duì)2的N次方個(gè)輸入數(shù)進(jìn)行數(shù)學(xué)運(yùn)算。其效果相當(dāng)于經(jīng)典計(jì)算機(jī)要重復(fù)實(shí)施2的N次方次操作,或者采用2的N次方個(gè)不同處理器實(shí)行并行操作。依靠這樣的設(shè)定,就可以大幅度節(jié)省計(jì)算次數(shù)。

為了幫助大家理解,我們可以打一個(gè)并不是太恰當(dāng)?shù)谋确剑和孢^動(dòng)作游戲的朋友大多知道,在游戲中,我們扮演的英雄經(jīng)常可以使用很多招數(shù),有些招數(shù)只能是針對(duì)單一對(duì)象輸出的;而另一些招數(shù)則可以針對(duì)全體敵人輸出。這里,前一類的單體輸出招數(shù)就相當(dāng)于經(jīng)典計(jì)算,而后一類的群體輸出招數(shù)就相當(dāng)于量子計(jì)算。我們知道,在面對(duì)大量小怪圍攻的時(shí)候,一次群體輸出產(chǎn)生的效果可以頂?shù)蒙虾芏啻螁误w輸出的招數(shù)。同樣的道理,在一些特定情況下,量子計(jì)算可以比經(jīng)典計(jì)算實(shí)現(xiàn)非常大的效率提升。

舉例來說,大數(shù)因式分解在破解公開密鑰加密的過程中有十分重要的價(jià)值。如果用計(jì)算機(jī),采用現(xiàn)在常用的Shor算法來對(duì)數(shù)N進(jìn)行因式分解,其運(yùn)算的時(shí)間將會(huì)隨著N對(duì)應(yīng)的二進(jìn)制數(shù)的長度呈現(xiàn)指數(shù)級(jí)增長。1994年時(shí),曾有人組織全球的1600個(gè)工作站對(duì)一個(gè)二進(jìn)制長度為129的數(shù)字進(jìn)行了因式分解。這項(xiàng)工作足足用了8個(gè)月才完成。然而,如果同樣的問題換成用量子計(jì)算來解決,那么整個(gè)問題就可以在1秒之內(nèi)解決。量子計(jì)算的威力由此可見一斑。

但是,在看到量子計(jì)算威力的同時(shí),我們也必須認(rèn)識(shí)到,至少到目前為止,量子計(jì)算的威力還只能體現(xiàn)對(duì)少數(shù)幾種特殊問題的處理上,其通用性還比較弱。事實(shí)上,現(xiàn)在見諸報(bào)道的各種量子計(jì)算機(jī)也都只能執(zhí)行專門算法,而不能執(zhí)行通用計(jì)算。比如,谷歌和NASA聯(lián)合開發(fā)的D-Wave就只能執(zhí)行量子退火(QuantumAnnealing)算法,而我國研發(fā)的光量子計(jì)算機(jī)“九章”則是專門被用來研究“高斯玻色取樣”問題的。盡管它們?cè)诟髯缘膶I(yè)領(lǐng)域表現(xiàn)十分優(yōu)異,但都還不能用來解決通用問題。這就好像游戲中的群體攻擊大招,雖然攻擊范圍廣,但是對(duì)每個(gè)個(gè)體的殺傷力都比較弱。因此,如果遇上大群的小怪,群體攻擊固然厲害,但如果遇上防御高、血條厚的Boss,這種攻擊就派不上用處了。

從這個(gè)角度看,如果我們希望讓量子計(jì)算大發(fā)神威,就必須先找出適合量子計(jì)算應(yīng)用的問題和場(chǎng)景,然后再找到相應(yīng)的算法。與此同時(shí),我們也必須認(rèn)識(shí)到,雖然量子計(jì)算的研發(fā)和探索十分重要,但是它和對(duì)其他技術(shù)路徑的探索之間更應(yīng)該是互補(bǔ),而不是替代的關(guān)系。

3、通過改進(jìn)算法節(jié)約算力

如果說,通過高性能計(jì)算、分布式計(jì)算,以及量子計(jì)算等手段來提升算力是“開源”,那么通過改進(jìn)算法來節(jié)約算力就是“節(jié)流”。從提升計(jì)算效率、減少因計(jì)算而產(chǎn)生的經(jīng)濟(jì)、環(huán)境成本而言,開源和節(jié)流在某種程度上具有同等重要的價(jià)值。

在ChatGPT爆火之后,大模型開始越來越受到人們的青睞。由于在同等條件下,模型的參數(shù)越多、訓(xùn)練的數(shù)據(jù)越大,它的表現(xiàn)就越好,因此為了追求模型的更好表現(xiàn),現(xiàn)在的模型正在變得越來越大。我們知道,現(xiàn)在的ChatGPT主要是在GPT-3.5的基礎(chǔ)上訓(xùn)練的。在它出現(xiàn)之前,GPT共經(jīng)歷了三代。GPT-1的參數(shù)大約為1.17億個(gè),預(yù)訓(xùn)練數(shù)據(jù)為5GB,從現(xiàn)在看來并不算多;到了GPT-2,參數(shù)量就增加到了15億個(gè),預(yù)訓(xùn)練數(shù)據(jù)也達(dá)到了40GB;而到了GPT-3,參數(shù)量則已經(jīng)迅速膨脹到了駭人的1750億個(gè),預(yù)訓(xùn)練數(shù)據(jù)也達(dá)到了45TB。為了訓(xùn)練GPT-3,單次成本就需要140萬美元。盡管OpenAI并沒有公布GPT-3.5的具體情況,但可以想象,它的參數(shù)量和預(yù)訓(xùn)練數(shù)據(jù)上都會(huì)比GPT-3更高。為了訓(xùn)練這個(gè)模型,微軟專門組建了一個(gè)由1萬個(gè)V100GPU組成的高性能網(wǎng)絡(luò)集群,總算力消耗達(dá)到了3640“算力當(dāng)量”——也就是說,如果用一臺(tái)每秒計(jì)算一千萬億次的計(jì)算機(jī)來訓(xùn)練這個(gè)模型,那么大約需要近十年才能完成這個(gè)任務(wù)。

如果任由這種“一代更比一代大”的趨勢(shì)持續(xù)下去,那么在未來幾年,對(duì)算力的需求將會(huì)出現(xiàn)爆炸性的增長。一項(xiàng)最新的研究估計(jì),在5年之后,AI模型需要的算力可能會(huì)是現(xiàn)在的100萬倍。很顯然,由此產(chǎn)生的經(jīng)濟(jì)和環(huán)境成本將會(huì)是十分驚人的。

令人欣慰的是,目前已經(jīng)有不少研究者希望改進(jìn)算法、優(yōu)化模型來減少對(duì)算力的需求,并且已經(jīng)取得了一定的成就。比如,就在今年1月3日,來自奧地利科學(xué)技術(shù)研究所 (ISTA)的研究人員埃利亞斯·弗朗塔(EliasFrantar)和丹·阿里斯特爾(DanAlistarh)合作進(jìn)行了一項(xiàng)研究,首次針對(duì) 100至 1000億參數(shù)的模型規(guī)模,提出了精確的單次剪枝方法SparseGPT。SparseGPT可以將GPT系列模型單次剪枝到 50%的稀疏性,而無需任何重新訓(xùn)練。以目前最大的公開可用的GPT-175B模型為例,只需要使用單個(gè)GPU在幾個(gè)小時(shí)內(nèi)就能實(shí)現(xiàn)這種剪枝。不僅如此,SparseGPT還很準(zhǔn)確,能將精度損失降到最小。在進(jìn)行了類似的修剪之后,這些大模型在訓(xùn)練時(shí)所需要的計(jì)算量就會(huì)大幅減少,其對(duì)算力的需求也就會(huì)相應(yīng)下降。

關(guān)于提升算力、

支持人工智能發(fā)展的政策思考

隨著ChatGPT引領(lǐng)了新一輪的人工智能熱潮,市場(chǎng)上對(duì)算力的需求也會(huì)出現(xiàn)爆炸性的增長。在這種情況下,為了有力支撐人工智能的發(fā)展,就必須要通過政策的手段引導(dǎo)算力供給的大幅度增加。而要實(shí)現(xiàn)這一點(diǎn),以下幾方面的工作可能是最為值得重視的。

第一,應(yīng)當(dāng)加快對(duì)算力基礎(chǔ)設(shè)施的建設(shè)和布局,提升對(duì)全社會(huì)算力需求的支持。如前所述,從目前看,分布式計(jì)算,尤其是其中的云計(jì)算是提升算力的一個(gè)有效之舉。而要讓云計(jì)算的效應(yīng)充分發(fā)揮,就需要大力建設(shè)各類算力基礎(chǔ)設(shè)施。唯有如此,才可以讓人們隨時(shí)隨地都可以直接通過網(wǎng)絡(luò)獲得所需的算力資源。

這里需要指出的是,在布局算力基礎(chǔ)設(shè)施的時(shí)候,應(yīng)當(dāng)慎重考慮它們的地域和空間分布,盡可能降低算力的成本。我們知道,不同的地區(qū)的土地、水、電力等要素的價(jià)格是不同的,這決定了在不同地區(qū)生產(chǎn)相同的算力所需要的成本也不盡相同。因此,在建設(shè)算力基礎(chǔ)設(shè)施時(shí),必須統(tǒng)籌全局,盡可能優(yōu)化成本。需要指出的是,我國正在推進(jìn)的“東數(shù)西算”工程就是這個(gè)思路的一個(gè)體現(xiàn)。由于我國東部各種資源的使用成本都要高于西部,因此在西部地區(qū)建立算力設(shè)施,就會(huì)大幅降低算力的供給成本,從而在全國范圍內(nèi)達(dá)到更優(yōu)的配置效率。

第二,應(yīng)當(dāng)加強(qiáng)與算力相關(guān)的硬件技術(shù)及其應(yīng)用的研發(fā),為增加算力供應(yīng)提供支持。與算力相關(guān)的硬件技術(shù)既包括基于經(jīng)典計(jì)算的各種硬件,如芯片、高性能計(jì)算機(jī)等,也包括超越經(jīng)典計(jì)算理論,根據(jù)新計(jì)算理論開發(fā)的硬件,如量子計(jì)算機(jī)等。從供給的角度看,這些硬件是根本,它們的性能直接關(guān)系到算力提供的可能性界限。因此,必須用政策積極促進(jìn)這些硬件的攻關(guān)和研發(fā)。尤其是對(duì)于一些“卡脖子”的項(xiàng)目,應(yīng)當(dāng)首先加以突破。

這里需要指出的是,在進(jìn)行技術(shù)研發(fā)的同時(shí),也應(yīng)該積極探索技術(shù)的應(yīng)用。例如,我們現(xiàn)在已經(jīng)在量子計(jì)算領(lǐng)域取得了一些成果,但是由于用例的缺乏,這些成果并沒有能夠轉(zhuǎn)化為現(xiàn)實(shí)的應(yīng)用。從這個(gè)意義上講,我們也需要加強(qiáng)對(duì)技術(shù)應(yīng)用的研究。如果可以把一些計(jì)算問題轉(zhuǎn)化成量子計(jì)算問題,就可以充分發(fā)揮量子計(jì)算機(jī)的優(yōu)勢(shì),實(shí)現(xiàn)計(jì)算效率的大幅提升。

第三,應(yīng)當(dāng)對(duì)算法、架構(gòu)等軟件層面的要素進(jìn)行優(yōu)化,在保證AI產(chǎn)品性能的同時(shí),盡可能減少對(duì)算力的依賴。從降低AI計(jì)算成本的角度看,降低模型的算力需求和提升算力具有同等重要的意義。因此,在用政策的手段促進(jìn)算力供給的同時(shí),也應(yīng)當(dāng)以同樣的力度對(duì)算法、架構(gòu)和模型的優(yōu)化予以同等的激勵(lì)。

考慮到類似的成果具有十分巨大的社會(huì)正外部性,因此用專利來保護(hù)它們并不是最合適的。因此,可以積極鼓勵(lì)對(duì)取得類似成功的人員和單位給予直接的獎(jiǎng)勵(lì),并同時(shí)鼓勵(lì)他們將這些成果向全社會(huì)開源;也可以考慮由政府出面,對(duì)類似的模型產(chǎn)品進(jìn)行招標(biāo)采購。如果有個(gè)人和單位可以按照要求提供相應(yīng)的成果,政府就支付相應(yīng)的費(fèi)用,并對(duì)成果進(jìn)行開源。通過這些舉措,就可以很好地激勵(lì)人們積極投身到改進(jìn)模型、節(jié)約算力的事業(yè)中,也可以在有成果產(chǎn)出時(shí),讓全社會(huì)及時(shí)享受到這些成果。

總而言之,在人工智能突飛猛進(jìn)的時(shí)代,算力可能是決定人工智能發(fā)展上限的一個(gè)關(guān)鍵因素。唯有在算力問題上實(shí)現(xiàn)突破,人工智能的發(fā)展才可能有根本保障。

 

版權(quán)聲明:以上內(nèi)容為《經(jīng)濟(jì)觀察報(bào)》社原創(chuàng)作品,版權(quán)歸《經(jīng)濟(jì)觀察報(bào)》社所有。未經(jīng)《經(jīng)濟(jì)觀察報(bào)》社授權(quán),嚴(yán)禁轉(zhuǎn)載或鏡像,否則將依法追究相關(guān)行為主體的法律責(zé)任。版權(quán)合作請(qǐng)致電:【010-60910566-1260】。

熱新聞