近日,ChatGPT因大規(guī)模封號及關(guān)閉Plus付費會員的申請引發(fā)大家熱議。
有網(wǎng)友說這是因為計算資源不夠了,已經(jīng)不單是靠錢能解決得了的問題,地球上已經(jīng)沒有足夠的算力來滿足ChatGPT的運行需求了。
AI的發(fā)展真的會被算力所限制嗎?它和芯片又有怎樣的關(guān)系?
01
芯片:算力決定智力
AI的“三駕馬車”是數(shù)據(jù)、算法和算力。
我們將數(shù)據(jù)送入AI算法,由算法學(xué)習(xí)數(shù)據(jù)中的規(guī)律,這意味著要進行無數(shù)次運算。運算的背后是芯片提供的算力支持。
如果我們回顧AI算法的發(fā)展歷史,可以發(fā)現(xiàn),AI算法的發(fā)展史同樣也是芯片公司的發(fā)展史。
從1999年的第一顆GPU,到2008年NVIDIA公司推出的第一顆可用于AI的GPU——Tegra,再到最近幾年涌入AI領(lǐng)域的、百花齊放的各類芯片方案(例如,基于AVX-512指令集擴展的Intel至強CPU,NVIDIA全新的Volta GPU架構(gòu),賽靈思的Vitis AI推理平臺),算力的提高極大地提高了AI的智力水平,讓AI可以解決更加復(fù)雜、多樣化的問題,也為我們進入AIGC時代鋪平道路。
可以看到,在過去的20年中,數(shù)據(jù)的規(guī)模、算法的參數(shù)量、芯片的算力三者相輔相成,共同將AI推動到了當(dāng)前階段,衍生出了不同類型的AIGC。
因此,本文就以2023年的巨星級產(chǎn)品ChatGPT為例來說明芯片是如何為AIGC提供算力的。
ChatGPT的參數(shù)量達到了1750億個量級。ChatGPT展現(xiàn)出的超強智力的背后是昂貴、巨量的算力資源。
讓我們問ChatGPT兩個問題,用它的回答來開始這一節(jié)的敘述(如圖1和圖2所示)。
圖1
圖2
下面從兩個角度來解釋AIGC和芯片的關(guān)系:①在AIGC領(lǐng)域中,現(xiàn)在用什么芯片?②隨著AIGC的發(fā)展,對芯片會有什么新的需求?
02
在AIGC領(lǐng)域中,現(xiàn)在用什么芯片
1.何為“訓(xùn)練(Training)”和“推理(Inference)”
ChatGPT是通過“訓(xùn)練”得到答案的,那么什么是“訓(xùn)練”?
AIGC的實現(xiàn)過程分為兩個環(huán)節(jié):訓(xùn)練和推理。
訓(xùn)練是用大規(guī)模的數(shù)據(jù)來訓(xùn)練出復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型。
通過對數(shù)據(jù)的標(biāo)記,以及深度學(xué)習(xí)中的監(jiān)督(Supervised),使最終得到的神經(jīng)網(wǎng)絡(luò)模型具有訓(xùn)練者需要的、特定的功能。
在具體的實現(xiàn)過程中,大數(shù)據(jù)作為輸入源,經(jīng)過神經(jīng)網(wǎng)絡(luò)算法解算,可以得到一個輸出結(jié)果。
顯然,這種單向的計算,對神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建起不到作用。我們需要構(gòu)建一個反向的、從輸出到輸入的機制,才能形成負(fù)反饋,調(diào)整神經(jīng)網(wǎng)絡(luò)模型,達到“訓(xùn)練”的效果。
這個反向的機制可以是有監(jiān)督學(xué)習(xí)(Supervised Learning),即算法工程師給出參數(shù),或者無監(jiān)督學(xué)習(xí)(Unsupervised Learning),讓算法通過自回歸或自編碼器來對輸入信息進行學(xué)習(xí)。
推理是利用訓(xùn)練好的模型,通過輸入新數(shù)據(jù)來獲取結(jié)論。
因此,通俗地講,“訓(xùn)練”的實質(zhì)就是計算—反饋—調(diào)整—計算的往復(fù)過程,這一過程在不同的模型中有不同的實現(xiàn)方式;“推理”的實質(zhì)是針對某個應(yīng)用場景的輸入—計算—輸出的過程。
顯而易見,訓(xùn)練所需要的計算量和算力資源是遠大于推理的,而推理所需要考慮的,除了算力本身,還有功耗、成本,以及與應(yīng)用場景的匹配。
AI芯片通常有以下3種類別:云端訓(xùn)練芯片、云端推理芯片、端側(cè)推理芯片。其代表公司見表1。
表1
可以注意到,由于訓(xùn)練對算力的要求極高,芯片的功耗較大,因此訓(xùn)練往往放在云端,并沒有“端側(cè)訓(xùn)練芯片”。?
2.云端訓(xùn)練芯片:ChatGPT是怎樣“練”成的
ChatGPT的“智能”感是通過使用大規(guī)模的云端訓(xùn)練集群實現(xiàn)的。
目前,云端訓(xùn)練芯片的主流選擇是NVIDIA公司的GPU A100。GPU(Graphics Processing Unit,圖形處理器)的主要工作負(fù)載是圖形處理。
GPU與CPU不同。從傳統(tǒng)意義上來說,CPU作為一個通用處理器而存在,可以全面承擔(dān)調(diào)度、計算和控制任務(wù)。
GPU的內(nèi)核更小、更專用,例如在圖像渲染中涉及大量的矩陣乘法和卷積運算,為了滿足計算負(fù)載要求,GPU擁有CPU所不具備的大規(guī)模并行計算架構(gòu)。根據(jù)NVIDIA公司官網(wǎng)的描述,CPU和GPU的區(qū)別見表2。
表2
(1)始于1985年,從VPU到GPU。
最早的圖形處理器是1985年ATI公司(2006年被AMD公司收購)發(fā)布的一款芯片。當(dāng)時,ATI公司并未將其命名為GPU,而是叫VPU(Video Processing Unit,視頻處理器),直到AMD公司收購ATI公司,它們的產(chǎn)品名稱才更改為GPU。
圖3所示為ATI公司于1986年發(fā)布的CW16800-A圖形處理器產(chǎn)品。
圖3
“GPU”這個名字實際上來源于1999年NVIDIA公司將其發(fā)布的GeForce 256命名為GPU。隨著NVIDIA公司的發(fā)展,GPU也與圖形處理器概念等同,成了現(xiàn)代計算芯片的一大類型。
雖然GPU是為圖像處理而生的,但深度學(xué)習(xí)的計算類型和圖形渲染有很多的共通點。在圖形渲染中,芯片需要不停地計算移動對象的軌跡,這需要大量的并行數(shù)學(xué)運算,而機器學(xué)習(xí)/深度學(xué)習(xí)涉及大量的矩陣/張量運算。因此,GPU的并行處理架構(gòu)也能夠很好地滿足AI計算的要求。
(2)2006年,跨時代的計算平臺CUDA。
僅有芯片層面的配置是不夠的,軟件接口的適配及生態(tài)的構(gòu)建也非常重要。這就不得不提到統(tǒng)一計算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)。
2006年,NVIDIA公司首次推出CUDA。從這個詞組本身的設(shè)計上可以看出,CUDA的最初開發(fā)人員是希望CUDA能成為不同平臺之間的統(tǒng)一計算接口。
到目前為止,CUDA已經(jīng)成為連接NVIDIA公司所有產(chǎn)品線的通用平臺,上面沉淀了非常全面的API和算法框架庫。
因此,CUDA生態(tài)成了NVIDIA公司面對其他GPU廠商時,最大的競爭優(yōu)勢之一。
那么,是不是所有的訓(xùn)練任務(wù)都只能夠由NVIDIA公司的GPU來做?
雖然目前NVIDIA公司的GPU是訓(xùn)練芯片的主流選擇,但答案是否定的,就像在本文開頭ChatGPT的回答:“OpenAI并不固定使用某一種芯片,而是根據(jù)模型訓(xùn)練的具體需求,選擇適當(dāng)?shù)挠嬎闫脚_”。
這里嘗試使用表3來闡釋訓(xùn)練芯片的選擇。
表3
3.云端推理芯片:與云端的ChatGPT對話
按照AI芯片的分類,我們使用AIGC應(yīng)用的過程本質(zhì)上是一個推理過程。例如,在與ChatGPT對話時,我們輸入一句話,這句話經(jīng)過算法的運算,輸出一個結(jié)果,這就是我們看到的回答。
因此,人們在使用ChatGPT這種AIGC應(yīng)用(推理)時,理論上,對芯片的性能要求不需要像訓(xùn)練那么高。
以當(dāng)前ChatGPT的應(yīng)用場景為例,目前ChatGPT運行在云端,用戶每一次與它對話都是一次推理過程。這個過程目前運行在OpenAI的計算集群——Azure AI超算平臺上,這是微軟在2020年開發(fā)者大會上公布的擁有28.5萬個CPU核心、1萬個GPU,每個GPU擁有400Gb/s網(wǎng)絡(luò)帶寬的超級計算機。
雖然推理對算力的要求比訓(xùn)練稍低,但需要的算力資源仍然非常夸張。不過,由于兩者計算的實質(zhì)不同,訓(xùn)練本身類似于大力出奇跡,而推理是一個應(yīng)用的過程,因此推理更容易被優(yōu)化和加速。未來,AIGC應(yīng)用所需的云端推理資源將會大幅降低。
4.端側(cè)推理芯片:從云端芯片到終端芯片
目前,我們還不能在端側(cè)運行ChatGPT這樣的LLM,原因有以下幾個方面:
第一,ChatGPT本身仍然在迭代,并且對話者輸入的文字也是它迭代的原料。
第二,作為一個新模型,ChatGPT對于在終端部署的優(yōu)化不足(這非常好理解,現(xiàn)階段這也不是重點),導(dǎo)致對終端芯片的要求過高(主要是內(nèi)存空間)。
隨著LLM的進一步完善,未來我們有可能將它下載到終端,用終端的計算資源來運行,這樣就可以實現(xiàn)離線運算。經(jīng)過優(yōu)化后的ChatGPT算法,對終端芯片的性能要求可能不會特別高。PC芯片,無論是Intel的還是Apple的M系列芯片,都可以承擔(dān)這樣的推理任務(wù)。
圖5所示為Intel的酷睿處理器。
隨著AIGC應(yīng)用逐漸成熟,成本進一步降低,它與IoT場景的結(jié)合將會進一步深入。
一方面,我們可以基于PC和手機,在云端使用各種各樣的AIGC應(yīng)用。在這個場景中,模型有可能離線運行在本地,也有可能采用本地+網(wǎng)絡(luò)結(jié)合的方式運行。
另一方面,基于LLM衍生出來的針對特定場景的小模型可能會有意想不到的應(yīng)用。筆者猜想,在掃地機、智能機器人、智能音箱等我們熟悉的智能終端中,都有可能應(yīng)用到LLM的衍生模型,那我們有可能看到在未來會有越來越多的終端芯片需要提高對AI算法的支持性。與資金門檻和技術(shù)門檻極高的云端芯片相比,終端芯片普及的趨勢將會給更多的芯片公司帶來機會。
03
隨著AIGC的發(fā)展,對芯片會有什么新的需求
1.摩爾定律和安迪-比爾定律:基礎(chǔ)算力提高和負(fù)載算力節(jié)約
芯片界有兩個很有意思的定律,即摩爾定律和安迪-比爾定律。
前者是指集成電路上可容納的晶體管數(shù)目約每18個月便會增加一倍。
后者來源于20世紀(jì)90年代計算機會議上的一個小笑話,“安迪給的,比爾就會拿走”,安迪是Intel的前任CEO安迪·葛洛夫,比爾是微軟的CEO比爾·蓋茨。這句話的意思是新的軟件總會耗盡硬件所提高的計算能力。
因此,云端芯片的計算能力將會繼續(xù)提高,展現(xiàn)方式可能是現(xiàn)有硅基芯片的繼續(xù)迭代,也有可能是存算一體、光計算、量子計算的突破。
由于芯片的成本過高,軟件側(cè)和硬件側(cè)都會努力降低對算力的需求。我們已經(jīng)看到類似的事情在不斷發(fā)生:在硬件側(cè),例如谷歌針對神經(jīng)網(wǎng)絡(luò)計算開發(fā)了名為TPU的專用芯片,其在特定場景下的運行成本大幅低于同等性能的GPU;在軟件側(cè),ChatGPT作為一個對話模型,是專門為聊天而設(shè)計的,而GPT-3是一個大型通用語言模型。
目前,OpenAI并未公布ChatGPT的參數(shù)規(guī)模,但我們可以從ChatGPT的兄弟模型——InstructGPT上觀察到軟件優(yōu)化對計算資源的節(jié)省。
圖6展示了InstructGPT和GPT-3參數(shù)規(guī)模的區(qū)別。
(a) ????????????????????????????????????????????(b)
圖7-6
在對話場景中,InstructGPT 僅使用了精選的 13 億個參數(shù)[如圖6(a)所示]就達到了與GPT-3使用千億個量級的參數(shù)[如圖6(b)所示])結(jié)果相當(dāng)甚至更好的回復(fù)質(zhì)量。這意味著精選數(shù)據(jù)質(zhì)量,深挖Transformer模型,將會有巨大的降本潛力。
在我們可見的未來,基礎(chǔ)算力的提高和負(fù)載資源的節(jié)約將會同時發(fā)生,而兩者究竟會擦出什么樣的火花,十分值得期待。
2.成本降低迫在眉睫
雖然ChatGPT一炮而紅,但是其高昂的運營成本是其大規(guī)模產(chǎn)業(yè)化應(yīng)用的最大障礙之一。
業(yè)界已經(jīng)充分關(guān)注到了ChatGPT的成本問題,并提出各個方向的優(yōu)化措施:①硬件側(cè):NVIDIA公司的A100的升級版H100顯卡能提供更高性價比的算力;Intel在Vision 2022大會上公布的新款云端AI專用芯片Habana Gaudi 2和Greco,有可能針對OpenAI的場景做了特質(zhì)化加速。②軟件側(cè):以Colossal-AI(潞晨科技的AI大模型開發(fā)系統(tǒng))為例,其宣稱能使Stable Diffusion模型的顯存消耗降低至之前的1/46。
編輯:黃飛
?
評論
查看更多