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