



2024年3月,12 000多名觀眾急切地坐進了美國加利福尼亞州圣何塞的一座體育館。“我希望你們意識到,這不是一場音樂會。”黃仁勛開玩笑道。他是位于附近圣克拉拉的芯片制造公司英偉達(NVIDIA)的首席執(zhí)行官。
在接下來的半個小時里,黃仁勛向聽眾介紹了圖形處理器(GPU)的最新訊息,GPU是其公司的標志性計算機芯片,也是過去十年里人工智能(AI)進步的關鍵。黃仁勛舉起該公司2022年的產品,霍珀“超級芯片”(Hopper)。“霍珀改變了世界。”他說。他吊人胃口地停頓片刻,隨即展示出另一塊便利貼大小、閃耀的黑色長方形物體:“而這是布萊克韋爾(Blackwell)。”臺下一片歡呼。
早在2022年,霍珀芯片就在機器學習表現基準測試(MLPerf)中大獲全勝,從圖像分類到語音識別,它在各個類別中都擊敗了競爭對手。MLPerf由一系列測試組成,有時被稱為人工智能界的奧林匹克競賽。霍珀芯片甫一上市,那些希望為自家人工智能增效的公司就將其認定為了首選芯片。如今,英偉達承諾,布萊克韋爾芯片在處理特定問題時的速度將比上一代產品快數倍。英偉達加速計算部門產品營銷總監(jiān)戴夫·薩爾瓦托(Dave Salvator)表示:“我認為布萊克韋爾芯片將通過更強大的性能以及芯片之間更高效的通信,將我們的人工智能性能提升到一個新的水平。”
在人們對人工智能的影響感到喜憂參半的同時,人工智能芯片市場仍在持續(xù)增長。目前,英偉達提供了80%以上的人工智能芯片;在2023年,它售出了55萬塊霍珀芯片。這些功能強大的芯片每塊至少售價3萬美元(約合22萬人民幣),主要用于數據中心而非個人電腦。2024年,英偉達的市值飆升至2萬多億美元(約合14萬億人民幣),成為全球市值第三高的公司,排在亞馬遜和谷歌母公司字母表(Alphabet)等巨頭之前。
英偉達的布萊克韋爾芯片是硬件開發(fā)浪潮的一部分,而這股浪潮是各家公司努力跟上并支持人工智能革命的結果。在過去的十年中,人工智能的大部分進步與其說是來自巧妙的編碼技巧,不如說是來自“越大越好”這一簡單的原則。大語言模型越來越多地使用更大的數據集進行訓練,也越來越需要更強的計算能力。據估計,美國公司開放人工智能(OpenAI)的最新模型GPT-4所需的算力是其前代模型的100倍。
元平臺(Meta)等公司已經建立了以英偉達GPU為基礎的數據中心。包括谷歌、IBM,以及眾多規(guī)模較小的公司在內的一系列其他公司,則都設計出了自家的人工智能芯片;元平臺目前也在開發(fā)自己的芯片。與此同時,研究人員也在嘗試各種芯片設計,其中一些是針對小型設備進行的優(yōu)化設計。隨著人工智能的應用場合不再局限于云計算中心,轉而進入移動設備,意大利米蘭理工大學的計算機工程師克里斯蒂娜 · 西爾瓦諾(Cristina Silvano)表示:“我認為GPU已經不夠用了。”
這些芯片都有一個共同點:它們采用了包括并行計算、更易訪問的內存和數字速記等各種技巧,以幫助它們克服傳統計算的速度障礙。
芯片的更新換代
過去十年的深度學習革命在很大程度上得益于對傳統計算主力——中央處理器(CPU)——的突破。
CPU本質上是一臺微小的命令執(zhí)行機器。加拿大多倫多大學的計算機工程師沃恩 · 貝茨(Vaughn Betz)解釋道:“簡單來講,它會查看一條指令,然后問自己,‘這條指令是要我做什么?’”在最基本的層面上,CPU通過翻轉晶體管來執(zhí)行指令,晶體管是簡單的電開關,用開來表示“1”,關來表示“0”。僅通過這種二進制操作,晶體管就可以執(zhí)行非常復雜的計算。
CPU的功率和效率主要取決于晶體管的尺寸——較小的晶體管翻轉速度更快,而且可以更密集地封裝在芯片上。如今,最先進的晶體管僅有45×20 納米大小,不比它的原子構件大多少。頂級CPU每平方毫米可封裝一億多個晶體管,每秒可執(zhí)行約一萬億次浮點運算。
自20世紀70年代以來,CPU的性能呈指數級增長。隨著晶體管的縮小,它們在芯片上的密度每兩年翻一番(這一趨勢被稱為摩爾定律),而更小的晶體管速度也變得更快(這是登納德縮放定律造成的結果)。CPU的進步太過迅猛,以至于定制設計其他類型的芯片變得毫無意義。加州大學洛杉磯分校的計算機工程師叢京生(Jason Cong)表示:“當你設計出一個特殊電路時,CPU的速度已經比之前快了兩倍。”但在2005年左右,更小的晶體管不再變得更快,而在過去幾年中,工程師開始擔憂無法將晶體管做得更小,因為這些設備漸漸觸及基本物理定律的極限。
CPU進展的放緩促使計算機工程師開始認真考慮其他類型的芯片。GPU的早期版本早在20世紀70年代末就已出現,其設計目的是為視頻游戲執(zhí)行重復計算,例如盡快渲染屏幕上像素的顏色。與CPU按順序處理指令不同,GPU能夠并行處理更多的指令。
一般來說,CPU有幾個功能強大的“核心”來執(zhí)行計算。每個獨立的處理單元接收指令,并由多個緩存提供支持,這些緩存可在短期內存儲數據。這種架構使得CPU非常適合復雜的計算。相比之下,GPU擁有數百或數千個較小的核心,每個核心配備的緩存等提供支持的輔助系統較少。大量的較小核心使得GPU能夠并行執(zhí)行許多簡單、重復的計算,速度遠快于CPU。(GPU所使用的這種不同計算方式需要不同的計算機代碼。薩爾瓦托指出,英偉達從事代碼編寫的軟件工程師數量是其硬件工程師數量的兩倍。)
多倫多大學的計算機科學家杰弗里·辛頓(Geoffrey Hinton)是神經網絡(受大腦啟發(fā)的算法)的早期倡導者之一。2012年,他向自己當時的學生亞歷克斯·克里澤夫斯基(Alex Krizhevsky)發(fā)起挑戰(zhàn),希望對方贏得一年一度的圖網競賽(ImageNet),該賽的目標是訓練計算機正確識別日常物體的圖像。當時,使用CPU的程序最多只能達到75%的準確率。克里澤夫斯基意識到,使用GPU訓練的神經網絡人工智能可能會做得更好,因為機器學習的基礎是簡單的重復計算。
克里澤夫斯基和他的合作者使用了兩塊GPU來訓練他們的神經網絡,即亞歷克斯網(AlexNet)。他們的人工智能擁有6000萬個參數(即人工智能模型用來進行預測的內部變量),這在當時是史無前例的。AlexNet在比賽中脫穎而出,準確率高達85%,它能夠可靠地區(qū)分相似的圖像(如豹和美洲豹),這一能力令世人驚嘆。一兩年后,圖網競賽的所有參賽者都開始使用GPU;自那時起,人工智能的研究者就開始大量地使用這些芯片。
盡管GPU和CPU一樣,仍然受到晶體管的限制,但它們的并行計算能力使它們能夠加快人工智能執(zhí)行任務的速度。為了訓練擁有1750億個參數的大語言模型GPT-3,OpenAI的研究人員不得不連續(xù)一個月運行1024塊GPU,耗資數百萬美元。這些GPU總共執(zhí)行了1023次浮點運算。而在同類CPU上,同樣的訓練需要花費數百到數千倍的時間。貝茨說:“有了更大的算力,你就可以訓練更大的網絡,這樣它們就會越來越好。”例如,2023年3月發(fā)布的GPT-4的參數量達到了驚人的1.8萬億個,比上一代模型增加了10倍。
雖然GPU在人工智能革命中起到了關鍵作用,但它們并不是唯一的主角。隨著人工智能應用的普及,人工智能芯片也在不斷涌現。
芯片的百花齊放
有時,給芯片輸入指令的時間并不充裕。現場可編程邏輯門陣列(FPGA)的發(fā)明使得計算機工程師可以對芯片電路進行編程,讓其遵循特定指令,而無需外部指令。貝茨表示:“像CPU或GPU這樣的芯片必須等待外部指令,而FPGA可以直接執(zhí)行。”
對叢京生來說,FPGA“就像一盒樂高積木”。無論是洗衣機傳感器,還是用于引導自動駕駛汽車的人工智能,工程師都可以將FPGA電路逐一構建成他們所能想象的任何設計。然而,與GPU等電路不可調整的人工智能芯片相比,FPGA的速度較慢,效率也較低。包括阿爾特拉(Altera,英特爾在圣何塞的子公司)在內的公司都將FPGA用于包括醫(yī)學成像在內的各種人工智能應用;研究人員發(fā)現它們在處理粒子對撞機數據等小眾任務時非常有用。西爾瓦諾說,FPGA的易編程性也使其非常適用于原型設計。她經常在開始著手煩瑣的芯片制造過程之前,先用FPGA設計人工智能芯片。
西爾瓦諾還致力于開發(fā)體積更小的人工智能芯片,提高它們的計算效率,從而改進移動設備。她說,要是能在手機上加裝一塊完整的GPU自然最好,但能源成本和價格讓這件事變得不可行。精簡的人工智能芯片可以通過處理人工智能應用的繁瑣任務(如圖像識別)來輔助手機的CPU,而無須向云端發(fā)送數據。
人工智能芯片處理的最費力的工作可能是乘法運算。2010年,谷歌遇到了一個問題:公司希望為大量的日常用戶進行語音轉錄。如果要訓練人工智能自動處理這項工作,除卻其他艱巨的任務外,還需要對大量數字進行乘法運算。“如果只使用CPU,我們的服務器數量就必須翻倍,”谷歌的計算機工程師諾曼·尤派(Norm Jouppi)說,“這聽起來不是什么好主意。”于是,尤派領導開發(fā)了一種名為張量處理器(TPU)的新型芯片,作為谷歌人工智能的運行平臺。
TPU專為支撐人工智能的算術運算而設計。當TPU接收到一條指令時,它可以執(zhí)行超過十萬次運算,而非僅執(zhí)行一次運算。(TPU的數學多任務處理能力是專門設計的電路和軟件的結果;如今,許多為人工智能應用設計的GPU——如布萊克韋爾芯片——也具備類似的能力。)TPU僅需有限指令就能執(zhí)行大量運算的能力令谷歌得以為其許多人工智能項目增速,而不僅僅限于語音轉錄服務。
為了進一步加速計算,許多人工智能芯片(如TPU和GPU)都使用了一種數字速記法。CPU通常以64位格式記錄數字,即64個0或1的槽位,每一個槽位都需要表示任何給定的數字。使用位數更少的數據格式可能會降低計算的精度,因此通用芯片都使用64位格式。
但是,貝茨指出,如果你能減少精度,“那么硬件就會變得更簡單、更小巧、功耗更低”。例如,列出DNA序列原則上只需要2位格式,因為遺傳信息只有四種可能性:堿基A、T、G或C(分別表示為00、01、10或11)。叢京生設計的一種使用2位格式比對基因組數據的FPGA芯片,比使用64位格式的同類CPU速度快了28倍。為了加速機器學習的計算速度,工程師降低了芯片的精度,TPU依賴于專門的16位格式。對于諸如布萊克韋爾這樣的最新一代芯片,用戶甚至可以從4位到64位的一系列格式中選擇最適合所需計算精度的格式。
芯片的前景廣大
人工智能芯片的另一個設計特點是:避免記憶過多。在執(zhí)行計算的微處理器和存儲數據的存儲器之間來回傳輸數據非常耗時耗能。為了解決這個問題,許多GPU在單個芯片上直接連接了大量內存——英偉達的布萊克韋爾芯片擁有大約200GB的內存。當人工智能芯片安裝在服務器中時,它們還可以共享內存,使單個芯片之間的聯網變得更加容易,也減少電力消耗。谷歌將近9000個TPU連接在了一個“集群”(pod)中。
這么多電子在電路中移動是個巨大的負擔,其耗電量不是個小問題。準確的數據很難確定,但據估計,GPT-3的訓練消耗了1300兆瓦時(MWh)的電力。(英國一個普通家庭的年耗電量約為3兆瓦時。)即使在訓練之后,使用人工智能應用程序仍然會消耗大量能源。盡管芯片設計的進步可以提高效率,但隨著模型規(guī)模的不斷擴大,人工智能的能源成本仍在逐年增加。
GPU等人工智能芯片的興起并不意味著CPU的終結。相反,即使是最基本的芯片類型之間的界限也在變得越來越模糊——現代CPU在并行計算方面比早期版本更勝一籌,而GPU也變得比過去更加多才多藝。“大家都在互相借鑒對方的技術。”貝茨表示。英偉達的布萊克韋爾芯片的某個版本直接將GPU與CPU配對使用,世界上最強大的超級計算機——位于美國田納西州橡樹嶺國家實驗室的“前沿”(Frontier)——則依賴于CPU和GPU的混合使用。
鑒于過去十年的變化速度,研究人員表示很難預測芯片的未來:未來可能會出現使用光而非電子的光學芯片或是量子計算芯片。與此同時,一些人表示,讓公眾更多地了解人工智能硬件有助于揭開這個領域的神秘面紗,并糾正大眾對人工智能無所不能的誤解。西爾瓦諾說:“你可以更好地向人們傳達,人工智能并不是什么魔法。”
尤派說,從根本上講,人工智能只是一堆電線和電子,不太可能占領世界。“你可以直接拔掉電源。”他說。他希望硬件能夠不斷改進,這反過來將有助于加速人工智能在科學領域的應用。“我對此充滿熱情,”尤派說,“我對未來的發(fā)展充滿期待。”
資料來源Nature