許多技術(shù)公司都在大肆宣揚(yáng)自己擁有比其他公司更好的處理transformer算法的解決方案。但其實(shí)業(yè)界transformer的基準(zhǔn)測試尚未推出。
Generative AI(GAI)的蓬勃發(fā)展已經(jīng)顛覆了整個(gè)AI世界,似乎是這樣。
大語言模型(LLM),如ChatGPT所示,大多局限于語言建模和文本生成。但transformer(一種支撐LLM和其他GAI應(yīng)用的總體深度學(xué)習(xí)架構(gòu))提供了一種可用于文本、語音、圖像、3D和視頻等數(shù)據(jù)流或任何傳感數(shù)據(jù)的模型。
Nvidia汽車部門副總裁Danny Shapiro提到了GAI的多功能性,他說:“AI領(lǐng)域新的神奇之處在于它的無限性。而我們現(xiàn)在只觸及到了表面?!?/p>
與任何新興技術(shù)一樣,硅谷也充斥著科技公司大肆宣揚(yáng)其革命性解決方案的聲音。坊間傳聞,硅谷也在爭相用transformer取代基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的模型。其中一種猜測提到了一家robotaxi公司,該公司剛剛淘汰了其內(nèi)部設(shè)計(jì)的汽車芯片,并急于開發(fā)一種可以處理transformer的新款芯片。
Quadric是一家機(jī)器學(xué)習(xí)推理IP公司,Untether AI則將其硬件宣傳為是“通用推理加速器”,這兩家公司都在兜售可處理transformer的技術(shù)。Quadric說日本的Denso和Megachip是其客戶,而Untether AI則說通用是其技術(shù)開發(fā)合作方之一。
Quadric的CMO Steve Roddy認(rèn)為,transformer話題“在過去幾周內(nèi)真正活躍了起來”。他說:“顯然,transformer總體上已經(jīng)初具規(guī)模了,因?yàn)槊總€(gè)人都在玩生成式圖像或ChatGPT等等。但到目前為止,LLM類型的東西都是在云端運(yùn)行的,因?yàn)樗鼈兩婕皵?shù)十億個(gè)參數(shù)。”
Qualcomm因素??
Roddy說:“盡管如此,人們現(xiàn)對‘設(shè)備端(on-device)’的transformer的關(guān)注要迫切得多。他猜測,引發(fā)這一變化的是Qualcomm。Qualcomm上月宣布了其2024年計(jì)劃,即在智能手機(jī)和PC上提供Meta的新聊天工具、基于Llama 2的AI。
Qualcomm表示,其目的是“讓開發(fā)者能夠利用Snapdragon平臺的AI功能,迎來全新的、令人興奮的GAI應(yīng)用”。Qualcomm的這一聲明讓Roddy和其他行業(yè)玩家感到不安。為什么要等到2024年?
越來越多的人猜測,Apple可能會率先采用設(shè)備端的transformer。今年秋季發(fā)布的新款iPhone能否實(shí)現(xiàn)這一目標(biāo)?這是人們無法證實(shí)的猜測。
Gartner認(rèn)為,GAI主導(dǎo)了有關(guān)AI的討論,利用ChatGPT等系統(tǒng)以非常實(shí)際的方式提高了開發(fā)者和知識工作者的工作效率,該公司上周宣布,市場趨勢正在將GAI推向“Hype Cycle中的預(yù)期膨脹高峰”。
工程咨詢公司BDTI總裁、Edge AI and Vision Alliance創(chuàng)始人Jeff Bier在被問及一些公司吹噓的transformer芯片時(shí)持謹(jǐn)慎態(tài)度。他說:“我們已經(jīng)看到了相當(dāng)可信的說法。但我們尚未對這些說法進(jìn)行獨(dú)立驗(yàn)證。就實(shí)際應(yīng)用而言,transformer在很大程度上仍然處于領(lǐng)先地位?!?/p>
BDTI從事處理器基準(zhǔn)測試(benchmarking)。不過,他說:“我們還沒有對transformer或LLM進(jìn)行任何處理器基準(zhǔn)測試……我們剛剛收到第一批請求?!?/p>
什么是transformer???
首先,了解transformer模型到底是什么很重要。
在處理輸入流時(shí),與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,transformer模型基于不同算法,使用不同的方法。該模型側(cè)重于“關(guān)系”。
在自然語言處理(如ChatGPT)中,transformer模型(最初應(yīng)用于LLM)是一種神經(jīng)網(wǎng)絡(luò),用于查找和跟蹤輸入句子之間的關(guān)系,從而學(xué)習(xí)上下文和含義。
BDTI的高級工程師Mihran Touriguian說:“transformer非常適合查找輸入之間的關(guān)系。即使輸入之間的關(guān)系在時(shí)間或地點(diǎn)上相距甚遠(yuǎn),該模型也能發(fā)揮作用?!?/p>
人們對transformer的興趣之所以如此高漲,是因?yàn)樗鼈兣c輸入流無關(guān)。Touriguian解釋說,該模型不僅可以應(yīng)用于語言,還可以應(yīng)用于視頻或被分割成塊的單一大型圖像。
與其他模型相比,transformer的優(yōu)勢在于能找到圖像中多個(gè)時(shí)間或位置輸入之間的“關(guān)系”。Touriguian指出:“如果你的應(yīng)用中使用了不同類型的傳感器,那么transformer就非常適合。這些‘傳感器’可以是圖像、文本或語音。Transformer非常適合將不同的數(shù)據(jù)流結(jié)合到一個(gè)應(yīng)用中?!?/p>
與數(shù)據(jù)類型無關(guān)??
以往的神經(jīng)網(wǎng)絡(luò)模型需要單獨(dú)的算法或拓?fù)浣Y(jié)構(gòu)來處理每種數(shù)據(jù)類型。Touriguian說:“在后端或前端,你可以將信息組合起來進(jìn)行預(yù)測?!?/p>
與此相反,“transformer與輸入類型無關(guān)”,他解釋道?!耙虼耍憧梢詫a(chǎn)生數(shù)據(jù)的多種類型傳感器輸入transformer。transformer基本上可以找到它們之間的關(guān)系,例如語音、圖像和標(biāo)題(文本)之間的關(guān)系。”
例如,在車載應(yīng)用中,關(guān)鍵的輸入數(shù)據(jù)流來自各種類型的傳感器,攝像頭、雷達(dá)和激光雷達(dá)都至關(guān)重要。Transformer如果能像承諾的那樣發(fā)揮作用,就能將來自不同傳感器的信息結(jié)合起來,為汽車提供更好的決策和解決方案。
但,我們還沒有做到??????
然而,現(xiàn)實(shí)世界還沒有實(shí)現(xiàn)這一愿景。要實(shí)現(xiàn)這一目標(biāo),transformer必須先進(jìn)行大量的準(zhǔn)備工作,即對輸入數(shù)據(jù)進(jìn)行預(yù)處理。Touriguian說,你需要“對輸入的類型進(jìn)行規(guī)范化”,這個(gè)過程被稱為“嵌入(embedding)”,它捕捉并存儲語言或其他數(shù)據(jù)流的意義和關(guān)系。它們是模型比較不同標(biāo)記或數(shù)據(jù)輸入的方式。
Touriguian說,在神經(jīng)網(wǎng)絡(luò)中,來自任何傳感器的任何輸入都必須轉(zhuǎn)換為包含一定數(shù)量元素的矢量。這種規(guī)范化是transformer在多種類型傳感器上運(yùn)行的關(guān)鍵步驟。
Transformer面臨的另一個(gè)障礙是其所依賴的龐大的參數(shù)和權(quán)重(數(shù)以億計(jì))。不過,Touriguian表示,最近這些參數(shù)已經(jīng)縮小到與CNN模型相當(dāng)?shù)拇笮?。他補(bǔ)充道,在精度方面,transformer與基于CNN的模型相同或略勝一籌。
然而,值得注意的是,研究人員和開發(fā)者已經(jīng)意識到,通過結(jié)合CNN和transformer的優(yōu)勢,他們可以取得更好的結(jié)果,Touriguian指出,“CNN部分在圖像上的表現(xiàn)非常出色,因?yàn)镃NN關(guān)注的是相鄰像素之間的關(guān)系。同時(shí),在此基礎(chǔ)上,transformer基本上可以找到這些鄰域與圖像中其他區(qū)域之間的關(guān)系?!?/p>
Transformer在車載領(lǐng)域中的應(yīng)用????????
Transformer可以應(yīng)用在哪里以及如何應(yīng)用,似乎沒有限制,從銷售工具、聊天框、翻譯到設(shè)計(jì)/工程、工廠和倉儲……
例如,ChatGPT可以在車載中最明顯的應(yīng)用之一,就是讓新手司機(jī)無需閱讀數(shù)百頁的使用手冊,就能向汽車問:“嘿,XX,我該如何換輪胎?”
訓(xùn)練數(shù)據(jù)是另一個(gè)重要的應(yīng)用領(lǐng)域。Nvidia的Shapiro舉例說,GAI生成合成數(shù)據(jù)的能力可以用來向汽車的感知系統(tǒng)輸入“一堆停車標(biāo)志的圖像”(有的上面有涂鴉,有的已經(jīng)風(fēng)化、生銹,有的被樹木遮擋)。
他補(bǔ)充說,ViT、SwinTransformer、DETR、Perceiver等流行的視覺transformer目前已廣泛應(yīng)用于自動駕駛軟件棧中。此外,GPT等LLM DNN可用于座艙應(yīng)用,以自然、直觀的方式向車內(nèi)的人提供信息。他表示,Nvidia Drive“能夠在車內(nèi)部署運(yùn)行這些復(fù)雜的視覺transformer和LLM”。
Transformer硬件需要什么?????????????????????
Bier指出,如今,一些專注于邊緣或嵌入式處理的AI硬件更加專業(yè)化,更偏愛CNN等成熟模型。另一些則更加靈活,更容易適應(yīng)transformer。
Bier強(qiáng)調(diào)說:“這種適應(yīng)性取決于兩點(diǎn)。一是架構(gòu)本身。另一個(gè)是支持它的軟件工具和庫?!?/p>
憑借其GPNPU架構(gòu)Chimera所獨(dú)有的IP,Quadric是一家聲名顯赫的AI IP供應(yīng)商,其架構(gòu)被宣傳為能夠“運(yùn)行任何機(jī)器學(xué)習(xí)圖形,包括最新的視覺transformer”。
Quadric聲稱,Chimera結(jié)合了神經(jīng)加速器(NPU)和DSP的最佳特性,提供經(jīng)典代碼和圖形代碼的混合。Quadric的Roddy強(qiáng)調(diào)說,這對軟件開發(fā)者尤為重要,因?yàn)樗麄兿M爸恍杌旌虾推ヅ漕A(yù)構(gòu)建的應(yīng)用代碼構(gòu)件”。
Roddy認(rèn)為,Quadric的優(yōu)勢在于它能夠運(yùn)行不同的內(nèi)核來完成不同的任務(wù)(經(jīng)典的DSP代碼任務(wù)、經(jīng)典神經(jīng)網(wǎng)絡(luò)kernel(包括檢測器和驗(yàn)證器),以及介于兩者之間的類似CPU的任務(wù)),所有這些都可以在Quadric的“單處理器”上完成。Roddy解釋說:“無需多個(gè)引擎。實(shí)際只有一個(gè)處理器、一個(gè)執(zhí)行流水線、一個(gè)代碼流,所有這些都編譯在一起?!?/p>
這與許多芯片設(shè)計(jì)者對機(jī)器學(xué)習(xí)出現(xiàn)的反應(yīng)形成了鮮明對比。他們部署了一大塊NPU加速器,并將新的加速器添加到SoC上已有的DSP和CPU內(nèi)核中。
Roddy說,他們意識到無法在CPU或DSP上運(yùn)行最新版本的ResNet(Residual Neural Network),“因?yàn)樗珡?qiáng)大了”。這導(dǎo)致大多數(shù)公司創(chuàng)建了一個(gè)復(fù)雜的架構(gòu),迫使程序員“每年都要進(jìn)行越來越高的抽象”,并對每個(gè)塊的內(nèi)存大小和工作負(fù)載分區(qū)進(jìn)行“細(xì)致入微的思考”。結(jié)果導(dǎo)致了漫長的開發(fā)周期。
然后是transformer。
對于正在努力開發(fā)AI硬件的芯片公司來說,這無疑又是一記響亮的耳光。對于芯片設(shè)計(jì)師和程序員來說,本已復(fù)雜的局面變得更加混亂。Quadric說:“Transformer打破了你對傳統(tǒng)NPU加速器的認(rèn)知?!?/p>
Quadric認(rèn)為,與以往的神經(jīng)網(wǎng)絡(luò)算法相比,視覺transformer“在網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu)和構(gòu)件運(yùn)算符方面大不相同”。該公司建議,“如果你的傳統(tǒng)NPU無法處理視覺transformer,那么Quadric的GPNPU會更好”。
DNN以外的數(shù)學(xué)?????????????????
Untether AI正在宣傳其芯片對transformer的適應(yīng)性。產(chǎn)品副總裁Bob Beachler說:“與兩三年前相比,我在視覺應(yīng)用中看到了更多的transformer式網(wǎng)絡(luò),當(dāng)時(shí)大家都專注于CNN。”
因?yàn)閁ntether AI“一直在研究自然語言處理”,而自然語言處理是一種attention transformer式網(wǎng)絡(luò)。Beachler稱:“我們可以把為自然語言處理投入的相同電路用于基于視覺的transformer應(yīng)用?!?/p>
當(dāng)被問及Untether AI是否只是運(yùn)氣好時(shí),Beacher回避了。他說,這個(gè)故事的寓意是“不要過度限制你的AI加速、AI應(yīng)用”。
他指出:“我也看到一些初創(chuàng)公司在嘗試進(jìn)行特定類型的數(shù)學(xué)運(yùn)算、棘手的數(shù)學(xué)變換。當(dāng)你開始這樣做時(shí),你可以進(jìn)行大量的數(shù)學(xué)變換,但你也開始失去精度。最終,你的芯片可能只能運(yùn)行一次?!?/p>
要設(shè)計(jì)出能處理transformer式算法的處理器,最重要的是什么?
除了在處理器中加入靈活性之外,Beachler還強(qiáng)調(diào),芯片必須處理DNN處理之外所需的所有數(shù)學(xué)運(yùn)算,“比如視頻縮放、激活和邊界框的非最大值抑制。所有這些類型的事情都需要一種更通用的方法”。
BDTI的Bier表示贊同。他說,需要牢記的一個(gè)關(guān)鍵是,“現(xiàn)實(shí)世界中的大多數(shù)應(yīng)用并不是簡單地獲取數(shù)據(jù)并將其輸入某種DNN。它們需要使用非神經(jīng)網(wǎng)絡(luò)技術(shù)(如經(jīng)典圖像和信號處理技術(shù))進(jìn)行某種預(yù)處理。然后,再應(yīng)用一個(gè)或多個(gè)DNN。然后再應(yīng)用額外的經(jīng)典算法,如跟蹤算法?!?/p>