隨著ChatGPT的火爆,AGI(Artificial General Intelligence,通用人工智能)逐漸看到了爆發(fā)的曙光。短短一個(gè)月的時(shí)間,所有的巨頭都快速反應(yīng),在AGI領(lǐng)域“重金投入,不計(jì)代價(jià)”。
AGI是基于大模型的通用智能;相對的,之前的各種基于中小模型的、用于特定應(yīng)用場景的智能可以稱之為專用智能。
那么,我們可以回歸到一個(gè)大家經(jīng)常討論的話題:向左(專用)還是向右(通用)?在芯片領(lǐng)域,大家針對特定的場景開發(fā)了很多專用的芯片。是否可以類似AGI的發(fā)展,開發(fā)足夠通用的芯片,既能夠覆蓋幾乎所有場景,還能夠功能和性能極度強(qiáng)大?
1 AGI發(fā)展綜述
1.1 AGI的概念
AGI通用人工智能,也稱強(qiáng)人工智能(Strong AI),指的是具備與人類同等甚至超越人類的智能,能表現(xiàn)出正常人類所具有的所有智能行為。
ChatGPT是大模型發(fā)展量變到質(zhì)變的結(jié)果,ChatGPT具備了一定的AGI能力。隨著ChatGPT的成功,AGI已經(jīng)成為全球競爭的焦點(diǎn)。
與基于大模型發(fā)展的AGI對應(yīng)的,傳統(tǒng)的基于中小模型的人工智能,也可以稱為弱人工智能。它聚焦某個(gè)相對具體的業(yè)務(wù)方面,采用相對中小參數(shù)規(guī)模的模型,中小規(guī)模的數(shù)據(jù)集,然后實(shí)現(xiàn)相對確定、相對簡單的人工智能場景應(yīng)用。
1.2 AGI特征之一:涌現(xiàn)
“涌現(xiàn)”,并不是一個(gè)新概念。凱文·凱利在他的《失控》中就提到了“涌現(xiàn)”,這里的“涌現(xiàn)”,指的是眾多個(gè)體的集合會涌現(xiàn)出超越個(gè)體特征的某些更高級的特征。
在大模型領(lǐng)域,“涌現(xiàn)”指的是,當(dāng)模型參數(shù)突破某個(gè)規(guī)模時(shí),性能顯著提升,并且表現(xiàn)出讓人驚艷的、意想不到的能力,比如語言理解能力、生成能力、邏輯推理能力等等。
對外行(比如作者自己)來說,涌現(xiàn)能力,可以簡單的用“量變引起質(zhì)變”來解釋:隨著模型參數(shù)的不斷增加,終于突破了某個(gè)臨界值,從而引起了質(zhì)的變化,讓大模型產(chǎn)生了許多更加強(qiáng)大的、新的能力。
如果想詳細(xì)了解大模型“涌現(xiàn)”能力的詳細(xì)分析,可以參閱谷歌的論文《Emergent Abilities of Large Language Models》。
當(dāng)然,目前,大模型發(fā)展還是非常新的領(lǐng)域,對“涌現(xiàn)”能力的看法,也有不同的聲音。例如斯坦福大學(xué)的研究者對大語言模型“涌現(xiàn)”能力的說法提出了質(zhì)疑,認(rèn)為其是人為選擇度量方式的結(jié)果。詳見論文《Are Emergent Abilities of Large Language Models a Mirage?》。
1.3 AGI特征之二:多模態(tài)
每一種信息的來源或者形式,都可以稱為一種模態(tài)。例如,人有觸覺、聽覺、視覺等;信息的媒介有文字、圖像、語音、視頻等;各種類型的傳感器,如攝像頭、雷達(dá)、激光雷達(dá)等。多模態(tài),顧名思義,即從多個(gè)模態(tài)表達(dá)或感知事物。而多模態(tài)機(jī)器學(xué)習(xí),指的是從多種模態(tài)的數(shù)據(jù)中學(xué)習(xí)并且提升自身的算法。
傳統(tǒng)的中小規(guī)模AI模型,基本都是單模態(tài)的。比如專門研究語言識別、視頻分析、圖形識別以及文本分析等單個(gè)模態(tài)的算法模型。
基于Transformer的chatGPT出現(xiàn)之后,之后的AI大模型基本上都逐漸實(shí)現(xiàn)了對多模態(tài)的支持:
首先,可以通過文本、圖像、語音、視頻等多模態(tài)的數(shù)據(jù)學(xué)習(xí);
并且,基于其中一個(gè)模態(tài)學(xué)習(xí)到的能力,可以應(yīng)用在另一個(gè)模態(tài)的推理;
此外,不同模態(tài)數(shù)據(jù)學(xué)習(xí)到的能力還會融合,形成一些超出單個(gè)模態(tài)學(xué)習(xí)能力的新的能力。
多模態(tài)的劃分是我們?nèi)藶檫M(jìn)行劃分的,多種模態(tài)的數(shù)據(jù)里包含的信息,都可以被AGI統(tǒng)一理解,并轉(zhuǎn)換成模型的能力。在中小模型中,我們?nèi)藶楦盍蚜撕芏嘈畔ⅲ瑥亩拗频腁I算法的智能能力(此外,模型的參數(shù)規(guī)模和模型架構(gòu),也對智能能力有很大影響)。
1.4 AGI特征之三:通用性
從2012年深度學(xué)習(xí)走入我們的視野,用于各類特定應(yīng)用場景的AI模型就如雨后春筍般的出現(xiàn)。比如車牌識別、人臉識別、語音識別等等,也包括一些綜合性的場景,比如自動駕駛、元宇宙場景等。每個(gè)場景都有不同的模型,并且同一個(gè)場景,還有很多公司開發(fā)的各種算法和架構(gòu)各異的模型??梢哉f,這一時(shí)期的AI模型,是極度碎片化的。
而從GPT開始,讓大家看到了通用AI的曙光。最理想的AI模型:可以輸入任何形式、任何場景的訓(xùn)練數(shù)據(jù),可以學(xué)習(xí)到幾乎“所有”的能力,可以做任何需要做的決策。當(dāng)然,最關(guān)鍵的,基于大模型的AGI的智能能力遠(yuǎn)高于傳統(tǒng)的用于特定場合的AI中小模型。
完全通用的AI出現(xiàn)以后,一方面我們可以推而廣之,實(shí)現(xiàn)AGI+各種場景;另一方面,由于算法逐漸確定,也給了AI加速持續(xù)優(yōu)化的空間,從而可以持續(xù)不斷的優(yōu)化AI算力。算力持續(xù)提升,反過來又會推動模型向更大規(guī)模參數(shù)演進(jìn)升級。
2 專用和通用的關(guān)系
牧本波動(Makimoto's Wave)是一個(gè)與摩爾定律類似的電子行業(yè)發(fā)展規(guī)律,它認(rèn)為集成電路有規(guī)律的在“通用”和“專用”之間變化,循環(huán)周期大約為10年。也因此,芯片行業(yè)的很多人認(rèn)為,“通用”和“專用”是對等的,是一個(gè)天平的兩邊。設(shè)計(jì)研發(fā)的產(chǎn)品,偏向通用或偏向?qū)S茫腔诳蛻魣鼍靶枨?,對產(chǎn)品實(shí)現(xiàn)的權(quán)衡。
但從AGI的發(fā)展來看,基于大模型的AGI和傳統(tǒng)的基于中小模型的專用人工智能相比,并不是對等的兩端左右權(quán)衡的問題,而是從低級智能升級到高級智能的問題。我們再用這個(gè)觀點(diǎn)重新來審視一下計(jì)算芯片的發(fā)展歷史:
專用集成電路ASIC是貫穿集成電路發(fā)展的一直存在的一種芯片架構(gòu)形態(tài);
在CPU出現(xiàn)之前,幾乎所有的芯片都是ASIC;但在CPU出現(xiàn)之后,CPU迅速的取得了芯片的主導(dǎo)地位;CPU的ISA包含的是加減乘除等最基本的指令,也因此CPU是完全通用的處理器。
GPU最開始的定位是專用的圖形處理器;自從GPU改造成了定位并行計(jì)算平臺的GP-GPU之后,輔以幫助用戶開發(fā)的CUDA的加持,從而成就了GPU在異構(gòu)時(shí)代的王者地位。
隨著系統(tǒng)復(fù)雜度的增加,不同客戶系統(tǒng)的差異性和客戶系統(tǒng)的快速迭代,ASIC架構(gòu)的芯片,越來越不適合。行業(yè)逐漸興起了DSA的浪潮,DSA可以理解成ASIC向通用可編程能力的一個(gè)回調(diào),DSA是具有一定編程能力的ASIC。ASIC面向具體場景和固化的業(yè)務(wù)邏輯,而DSA則面向一個(gè)領(lǐng)域的多種場景,其業(yè)務(wù)邏輯部分可編程。即便如此,在AI這種對性能極度敏感的場景,相比GPU,AI-DSA都不夠成功,本質(zhì)原因就在于AI場景快速變化,但AI-DSA芯片迭代周期過長。
從長期發(fā)展的角度看,專用芯片的發(fā)展,是在給通用芯片探路。通用芯片,會從各類專用計(jì)算中析取出更加本質(zhì)的足夠通用的計(jì)算指令或事務(wù),然后把之融合到通用芯片的設(shè)計(jì)中去。比如:
CPU完全通用,但性能較弱,所以就通過向量和張量等協(xié)處理器的方式,實(shí)現(xiàn)硬件加速和性能提升。
CPU的加速能力有限,于是出現(xiàn)了GPU。GPU是通用并行加速平臺。GPU仍然不是性能最高的加速方式,也因此,出現(xiàn)了Tensor Core加速的方式。
Tensor Core的方式,仍然沒有完全釋放計(jì)算的性能。于是,完全獨(dú)立的DSA處理器出現(xiàn)。
智能手機(jī)是通用和專用的一個(gè)經(jīng)典案例:在智能手機(jī)出現(xiàn)之前,各種各樣的手持設(shè)備,琳瑯滿目;智能手機(jī)出現(xiàn)之后,這些功能專用的設(shè)備,就逐漸消失在歷史長河中。
通用和專用,并不是,供設(shè)計(jì)者權(quán)衡的,對等的兩個(gè)方面;從專用到通用,是低級到高級的過程。短期來看,通用和專用是交替前行;但從更長期的發(fā)展來看,專用是暫時(shí)的,通用是永恒的。
3 通用處理器是否可行?
CPU是通用的處理器,但隨著摩爾定律失效,CPU已經(jīng)難堪大用。于是,又開始了一輪專用芯片設(shè)計(jì)的大潮:2017年,圖靈獎獲得者John Hennessy和David Patterson就提出“體系結(jié)構(gòu)的黃金年代”,認(rèn)為未來一定時(shí)期,是專有處理器DSA發(fā)展的重大機(jī)會。
但這5-6年的實(shí)踐證明,以DSA為代表的專用芯片黃金年代的成色不足。反而在AI大模型的加持之下,成就了通用GPU的黃金年代。
當(dāng)然,GPU也并不完美:GPU的性能即將,如CPU一樣,到達(dá)上限。目前,支持GPT大模型的GPU集群需要上萬顆GPU處理器,一方面整個(gè)集群的效率低下,另一方面集群的建設(shè)和運(yùn)行成本都非常的高昂。
是否可以設(shè)計(jì)更加優(yōu)化的處理器,既具有通用處理器的特征,盡可能的“放之四海而皆準(zhǔn)”,又可以更高效率更高性能?這里我們給一些觀點(diǎn):
我們可以把計(jì)算機(jī)上運(yùn)行的系統(tǒng)拆分為若干個(gè)工作任務(wù),如一些軟件進(jìn)程或相近軟件進(jìn)程的組合可以看做是一個(gè)工作任務(wù);
廣泛存在的二八定律:系統(tǒng)中的工作任務(wù),并不是完全隨機(jī)的,很多工作業(yè)務(wù)是相對確定的,比如虛擬化、網(wǎng)絡(luò)、存儲、安全、數(shù)據(jù)庫、文件系統(tǒng),甚至人工智能推理,等等;并且,即使應(yīng)用層的比較隨機(jī)的計(jì)算任務(wù),仍然會包含大量確定性的計(jì)算成分,例如一些應(yīng)用包含安全、視頻圖形處理、人工智能等相對確定的計(jì)算部分。
我們把處理器(引擎)按照性能效率和靈活性能力,簡單的分為三個(gè)類型:CPU、GPU和DSA。
類似“塔防游戲”,依據(jù)二八定律,把80%的計(jì)算任務(wù)交給DSA完成,把16%的工作任務(wù)交給GPU來完成,CPU負(fù)責(zé)剩余4%的其他工作。CPU很重要的工作是兜底。
依據(jù)性能/靈活性的特征,匹配到最合適的處理器計(jì)算引擎,可以在實(shí)現(xiàn)足夠通用的情況下,實(shí)現(xiàn)最極致的性能。
4 通用處理器的歷史和發(fā)展
如果我們以通用計(jì)算為準(zhǔn),計(jì)算架構(gòu)的演進(jìn),可以簡單的劃分為三個(gè)階段,即從同構(gòu)走向超異構(gòu),再持續(xù)不斷的走向超異構(gòu):
第一代通用計(jì)算:CPU同構(gòu)。
第二代通用計(jì)算:CPU+GPU異構(gòu)。
第三代(新一代)通用計(jì)算:CPU+GPU+DSAs的超異構(gòu)。
4.1 第一代通用計(jì)算:CPU同構(gòu)
Intel發(fā)明了CPU,這是第一代的通用計(jì)算。第一代通用計(jì)算,成就了Intel在2000前后持續(xù)近30年的霸主地位。
CPU標(biāo)量計(jì)算的性能非常弱,也因此,CPU逐漸引入向量指令集處理的AVX協(xié)處理器以及矩陣指令集的AMX協(xié)處理器等復(fù)雜指令集,不斷的優(yōu)化CPU的性能和計(jì)算效率,不斷的拓展CPU的生存空間。
4.2 第二代通用計(jì)算:CPU+GPU異構(gòu)
CPU協(xié)處理器的做法,本身受CPU原有架構(gòu)的約束,其性能存在上限。在一些相對較小規(guī)模的加速計(jì)算場景,勉強(qiáng)可用。但在AI等大規(guī)模加速計(jì)算場景,因?yàn)槠湫阅苌舷掭^低并且性能效率不高,不是很合適。因此,需要完全獨(dú)立的、更加重量的加速處理器。
GPU是通用并行計(jì)算平臺,是最典型的加速處理器。GPU計(jì)算需要有Host CPU來控制和協(xié)同,因此具體的實(shí)現(xiàn)形態(tài)是CPU+GPU的異構(gòu)計(jì)算架構(gòu)。
NVIDIA發(fā)明了GP-GPU,以及提供了CUDA框架,促進(jìn)了第二代通用計(jì)算的廣泛應(yīng)用。隨著AI深度學(xué)習(xí)和大模型的發(fā)展,GPU成為最炙手可熱的硬件平臺,也成就了NVIDIA萬億市值(超過Intel、AMD和高通等芯片巨頭的市值總和)。
當(dāng)然,GPU內(nèi)部的數(shù)以千計(jì)的CUDA core,本質(zhì)上是更高效的CPU小核,因此,其性能效率仍然存在上升的空間。于是,NVIDIA開發(fā)了Tensor加速核心來進(jìn)一步優(yōu)化張量計(jì)算的性能和效率。
4.3 第三代(面向未來的)通用計(jì)算:CPU+GPU+DSAs超異構(gòu)
技術(shù)發(fā)展,永無止境。第三代通用計(jì)算,即多種異構(gòu)融合的超異構(gòu)計(jì)算,面向未來更大算力需求場景的挑戰(zhàn):
首先,有三個(gè)層次的獨(dú)立處理引擎。即CPU、GPU和DSA。(相應(yīng)的,第一代CPU只有一個(gè),第二代異構(gòu)計(jì)算有兩個(gè)。)
多種加速處理引擎,都是和CPU組成CPU+XPU的異構(gòu)計(jì)算架構(gòu)。
超異構(gòu)不是簡單的多種異構(gòu)計(jì)算的集成,而是多種異構(gòu)計(jì)算系統(tǒng)的,從軟件到硬件層次的,深度融合。
超異構(gòu)計(jì)算,要想成功,必須要實(shí)現(xiàn)足夠好的通用性。如果不考慮通用性,超異構(gòu)架構(gòu)里的相比以往更多的計(jì)算引擎,會使得架構(gòu)碎片化問題更加嚴(yán)重。軟件人員無所適從,超異構(gòu)就不會成功。
(正文完)