自動駕駛中基于 Transformer 的模型和硬件加速分析
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
題目:Transformer-based models and hardware acceleration analysis in autonomous driving: A survey
名稱:自動駕駛中基于 Transformer 的模型和硬件加速分析:一項調(diào)查
論文:https://arxiv.org/abs/2304.10891
0.摘要
近年來,Transformer架構(gòu)在各種自動駕駛應(yīng)用中表現(xiàn)出了良好的性能。另一方面,它在便攜式計算平臺上的專用硬件加速已成為真正自動駕駛汽車實際部署的下一個關(guān)鍵步驟。這份調(diào)查報告提供了一個全面的概述,基準,并分析了基于Transformer的模型,專門為自動駕駛?cè)蝿?wù)量身定制,如車道檢測,分割,跟蹤,規(guī)劃和決策。我們回顧了用于組織Transformer輸入和輸出的不同架構(gòu),例如編碼器-解碼器和僅編碼器結(jié)構(gòu),并探討了它們各自的優(yōu)點和缺點。此外,考慮到量化和運行時間等關(guān)鍵因素,我們深入討論了Transformer相關(guān)算子及其硬件加速方案。我們具體說明了卷積神經(jīng)網(wǎng)絡(luò)、Swin -Transformer和Transformer具有4D編碼器的層之間的算子級比較。本文還重點介紹了基于Transformer模型的挑戰(zhàn)、趨勢和當(dāng)前見解,并在長期自動駕駛應(yīng)用的背景下解決了其硬件部署和加速問題。
索引術(shù)語:Transformer,硬件加速,自動駕駛,深度學(xué)習(xí)
1.介紹
近年來,自動駕駛已經(jīng)成為一個快速發(fā)展的領(lǐng)域,旨在通過自動化和智能系統(tǒng)輔助人類駕駛員。自動駕駛技術(shù)的成功部署有望顯著提高交通系統(tǒng)的安全性和效率。在過去的二十年里,一系列數(shù)據(jù)驅(qū)動技術(shù)已經(jīng)被開發(fā)出來用于自動駕駛,從傳統(tǒng)的基于規(guī)則的方法[1]、[2]到先進的機器學(xué)習(xí)方法[3]。傳統(tǒng)的自動駕駛方法主要依靠解析表達式和二進制編碼交通規(guī)則的算法來感知環(huán)境、規(guī)劃軌跡和控制車輛;詳見2010年代早期到中期的綜述文章,例如,城市場景的方法[4],運動規(guī)劃和控制[5],[6],以及即時定位及建圖(SLAM)任務(wù)[7]。
然而,這些傳統(tǒng)方法在處理復(fù)雜的現(xiàn)實場景時經(jīng)常面臨挑戰(zhàn),例如動態(tài)對象、遮擋和不確定環(huán)境。相比之下,深度學(xué)習(xí)方法[8],特別是深度神經(jīng)網(wǎng)絡(luò)(DNN),在從數(shù)據(jù)中學(xué)習(xí)復(fù)雜模式和做出預(yù)測方面表現(xiàn)出色。例如,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[9]是一種使用卷積層檢測局部空間特征并分層組合以識別復(fù)雜模式的DNN,已廣泛應(yīng)用于自動駕駛應(yīng)用。在之前的調(diào)查中,已經(jīng)對不同自動駕駛?cè)蝿?wù)的深度學(xué)習(xí)方法進行了回顧和討論,包括一般性討論[3],[10],[11],[12],[13];使用強化學(xué)習(xí)的模型[14];目標檢測模型[15]、軌跡與行為預(yù)測模型[16]、[17]、多模態(tài)融合模型[18]、規(guī)劃與決策模型[19]、[20]、[21]、可解釋性人工智能模型[22]、場景生成模型[23]。
最近,Transformer架構(gòu)[24]在各種自動駕駛?cè)蝿?wù)中比傳統(tǒng)CNN模型表現(xiàn)出了令人印象深刻的性能。因此,人們對在便攜式硬件上部署Transformer模型和開發(fā)操作員級加速方案越來越感興趣。本文旨在對基于Transformer的模型的最新研究進行全面深入的概述,特別強調(diào)自動駕駛的算子級加速技術(shù)。
為了進一步提高基于CNN的方法在自動駕駛中的性能,引入了注意機制[25]。注意機制背后的主要思想是允許模型根據(jù)輸入的不同部分與當(dāng)前上下文的相關(guān)性來權(quán)衡它們。例如,在序列到序列模型的情況下,注意機制使解碼器能夠在生成目標序列時專注于源序列的特定部分。這種選擇性聚焦使模型能夠比傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)更有效地捕獲更長期的依賴關(guān)系和關(guān)系。如圖1所示,注意力機制可以被描述為一個函數(shù),該函數(shù)根據(jù)與給定查詢(Q)的兼容性計算一組輸入值(也稱為“值”(V))的加權(quán)和。注意機制使用注意評分函數(shù)計算每個鍵查詢對的注意分數(shù),然后使用Softmax函數(shù)對這些分數(shù)進行規(guī)范化以產(chǎn)生注意權(quán)重。這些權(quán)重用于計算值的加權(quán)和,這代表了注意力機制的輸出。注意機制通過選擇性地關(guān)注相關(guān)信息,提高了學(xué)習(xí)過程的效率和魯棒性。
圖1:左圖描繪了Self-Attention(或縮放點積注意),右圖顯示了包含幾個注意層的Multi-Head-Attention,如圖[24]所示。
Transformer架構(gòu)[24]最初是基于自然語言處理(NLP)任務(wù)的注意機制開發(fā)的,但它們模擬長期依賴關(guān)系和捕捉全局環(huán)境的能力,使它們在自動駕駛的感知任務(wù)中具有吸引力。它旨在處理和捕獲輸入數(shù)據(jù)中的依賴關(guān)系,從而消除了對循環(huán)或卷積層的需求,從而實現(xiàn)高度并行計算。典型的Transformer由編碼器-解碼器結(jié)構(gòu)組成。編碼器由一堆相同的層組成,每個層包含兩個主要組件:Multi-Head-Attention機制(如圖1所示)和位置編碼前饋神經(jīng)網(wǎng)絡(luò)。Multi-Head-Attention模塊使模型能夠同時權(quán)衡輸入序列中不同部分相對于彼此的重要性,從而捕獲長期依賴關(guān)系。Transformer架構(gòu)包含位置編碼,它注入有關(guān)輸入元素的相對或絕對位置的信息,因為Attention機制本身并不捕獲位置信息。
因此,Transformer架構(gòu)的硬件加速成為實現(xiàn)實際自動駕駛場景模型的一個重要領(lǐng)域。人工智能芯片上的硬件加速涉及使用專用處理器或?qū)S糜布卧獊肀韧ㄓ肅PU或GPU更有效地執(zhí)行特定操作。另一方面,Transformer算子是Transformer體系結(jié)構(gòu)的基本構(gòu)建塊,用于執(zhí)行基本的數(shù)學(xué)運算,例如矩陣乘法、注意力計算和前饋神經(jīng)網(wǎng)絡(luò)計算。Transformer算子的優(yōu)化對于充分利用硬件加速器的功能并實現(xiàn)基于Transformer的模型的快速、高效部署和執(zhí)行至關(guān)重要。通過定制這些運算符來利用AI芯片的優(yōu)勢,如并行性、低精度算法和專門的功能單元,Transformer模型的整體性能可以顯著提高。人工智能加速器通常采用低精度算術(shù)、數(shù)據(jù)壓縮和并行處理等技術(shù)來加快計算速度并降低功耗。
本文的其余部分組織如下。第二節(jié)介紹了基本的Transformer模型以及不同自動駕駛?cè)蝿?wù)中的各種Transformer變體。第三節(jié)介紹了便攜式AI設(shè)備中不同的Transformer編碼器-解碼器結(jié)構(gòu)、操作符和硬件加速進展。第四節(jié)討論了基于Transformer的深度學(xué)習(xí)實現(xiàn)的挑戰(zhàn)和趨勢,并給出了結(jié)論。
2.Transformer模型和任務(wù)
注意機制和Transformer架構(gòu)的發(fā)展歷史可以通過一系列關(guān)鍵的發(fā)展和里程碑式的論文來追溯,如圖2所示。[25]首先在神經(jīng)機器翻譯的背景下引入了注意機制,提出了一種源序列和目標序列之間的動態(tài)對齊方法。這種方法克服了早期序列到序列模型中固定長度上下文向量的局限性。Luong等人[26]通過提出局部關(guān)注和全局關(guān)注進一步改進了注意機制,前者關(guān)注較小的源序列子集,后者考慮所有源詞進行變長對齊上下文計算。
圖2:一個時間軸圖,說明了Attention機制和Transformer架構(gòu)研究的歷史和關(guān)鍵里程碑。
這條路線的一個里程碑是由Vaswani等人提出的,他們首次引入了Transformer體系結(jié)構(gòu)。這一創(chuàng)新顯著提高了各種NLP任務(wù)的性能。隨后,Devlin等人提出了BERT(來自Transformer的雙向編碼器表示),這是一個使用Transformer架構(gòu)進行雙向表示的預(yù)訓(xùn)練模型。當(dāng)對下游任務(wù)進行微調(diào)時,BERT在NLP任務(wù)中取得了前所未有的性能。
在另一項研究中,Radford等人提出了GPT(生成預(yù)訓(xùn)練Transformer)模型,該模型采用單向Transformer架構(gòu)進行語言模型預(yù)訓(xùn)練。在特定任務(wù)上對GPT進行微調(diào)產(chǎn)生了實質(zhì)性的性能改進,隨后的迭代(GPT-2、GPT-3和GPT-4)繼續(xù)推進最先進的技術(shù)。
最近,Dosovitskiy等人用vision Transformer (ViT)模型證明了Transformer架構(gòu)對計算機視覺任務(wù)的適用性。通過將圖像劃分為不重疊的小塊并使用線性嵌入,作者在圖像分類任務(wù)中取得了與傳統(tǒng)CNN模型相比具有競爭力的結(jié)果。ViT也是后續(xù)圖像處理任務(wù)中基于transformer的模型的基本架構(gòu)之一。
2.1 針對圖像處理的基礎(chǔ)模型
作為基于Transformer的圖像處理模型的先驅(qū)架構(gòu),ViT[29]用self-attention取代了傳統(tǒng)CNN的卷積層。如圖3所示,它將圖像劃分為一系列不重疊的patchs,然后將其輸入Transformer編碼器以學(xué)習(xí)圖像的表示。Transformer編碼器由幾個自關(guān)注層組成,然后是前饋層。自注意機制允許網(wǎng)絡(luò)關(guān)注圖像中相關(guān)的patchs,而忽略無關(guān)的patchs。為了使ViT適用于更大的圖像,作者引入了一種混合方法,將卷積層與self-attention層結(jié)合起來。卷積層用于降低圖像的空間分辨率,而自關(guān)注層用于捕獲patchs之間的遠程依賴關(guān)系。
圖3:ViT架構(gòu),左圖為圖像分割和位置嵌入過程,右圖為包含多頭關(guān)注層的標準編碼器架構(gòu),如圖[29]所示。
受ViT的啟發(fā),Swin-Transformer[30]引入了一種新的分層體系結(jié)構(gòu),將self-attention機制組織成多層次的層次結(jié)構(gòu),其中每一層由一組不重疊的patch組成。這種方法的動機是觀察到由于self-attention的二次復(fù)雜性,視覺Transformer具有有限的可擴展性。Swin-Transformer的主要創(chuàng)新之處在于使用了可移動的窗口,這使得patchs能夠關(guān)注相鄰的patchs,同時避免與相鄰的patchs重疊。這減少了計算自關(guān)注所需的計算次數(shù),并使體系結(jié)構(gòu)能夠擴展到更大的圖像尺寸。它還引入了一種新的標記化方案,將圖像劃分為固定大小的非重疊patchs,然后在層次結(jié)構(gòu)的每個級別將補丁遞歸分組為更大的“宏patchs”。這種方法有助于保存空間信息,并允許模型捕捉本地和全局背景。許多感知模型使用SwinTransformer作為主干來獲取圖像特征,如BEVFusion[31]、[32]和BEVerse[33]。
在自動駕駛應(yīng)用中,基于Transformer的架構(gòu)已被廣泛應(yīng)用于各種子任務(wù),包括物體檢測、車道檢測和分割、跟蹤和定位、路徑規(guī)劃和決策。此外,最近的研究還探索了Transformer在構(gòu)建自動駕駛端到端深度學(xué)習(xí)模型中的應(yīng)用。這些模型利用注意力機制進一步提高其專注于相關(guān)信息的能力,并在復(fù)雜的真實駕駛場景中有效執(zhí)行。在本節(jié)的其余部分中,我們將根據(jù)它們的任務(wù)回顧基于Transformer的模型,如表1所示。我們主要將任務(wù)分為三類:3D和一般感知任務(wù)(包括目標檢測,跟蹤和3D分割);2D和平面任務(wù)(包括車道檢測、分割和高清地圖生成);以及其他任務(wù)(包括軌跡預(yù)測、行為預(yù)測和端到端任務(wù))。
表1:各類Transformer在標準nvidia gtx3090 gpu上的基準性能。backbone描述每個模型的主干架構(gòu),parameter表示模型參數(shù)的大小。Gflops代表每秒千兆浮點運算,fps表示幀數(shù)每秒,map表示模型的平均精度。最后一列表示每個模型使用的基準數(shù)據(jù)集。
2.2 3D通用感知任務(wù)
第一類任務(wù)是3D和一般感知,包括目標檢測,跟蹤和3D分割任務(wù)。這是近年來基于Transformer的模型研究的熱門領(lǐng)域之一。這種類型的任務(wù)旨在分割、識別和跟蹤物體,如車輛、行人和環(huán)境中的其他元素。在各種基于transformer的模型中,DETR[67]是一個早期的重要模型,它啟發(fā)了許多后續(xù)作品,盡管它最初是為2D檢測而設(shè)計的。
DETR將目標檢測視為使用預(yù)生成框的預(yù)測問題,并消除了傳統(tǒng)的錨點。采用基于匈牙利算法的二分匹配方法直接預(yù)測一對一的目標集。已經(jīng)提出了變形DETR[68]等變體模型,通過引入變形注意來提高模型的收斂速度并解決查詢歧義問題。在DETR架構(gòu)的基礎(chǔ)上,DETR3D[34]將Transformer應(yīng)用于多個攝像機,用于鳥瞰(BEV)空間的3D物體檢測。它首先將點云數(shù)據(jù)(來自激光雷達)轉(zhuǎn)換為3D體素表示,然后將其輸入到改進的DETR架構(gòu)中,該架構(gòu)使用多尺度特征融合來捕獲全局和局部上下文信息。
FUTR[69]在架構(gòu)上也與DETR相似,但使用了多傳感器(圖像+激光雷達+雷達)。將多模態(tài)輸入融合成BEV特征,然后提升以實現(xiàn)3D BBOX。在FUTR的基礎(chǔ)上,FUTR3D[35]將3D目標檢測擴展到多模態(tài)融合。它在結(jié)構(gòu)上與DETR3D類似,但增加了一個模態(tài)不可知特征采樣器(maffs),能夠處理各種傳感器配置并融合不同的模態(tài),包括2D相機、3D激光雷達、3D雷達和4D成像雷達。
PETR[36],[37]是另一個最近的發(fā)展,使用位置嵌入變換進行多視圖3D物體檢測。將三維坐標位置信息編碼為圖像特征,生成三維位置感知特征。在推理過程中,可以離線生成三維位置坐標,并將其用作額外的輸入位置嵌入。
CrossDTR[38]結(jié)合了PETR和DETR3D的優(yōu)勢,創(chuàng)建了一個橫向視圖和深度引導(dǎo)框架,實現(xiàn)了與其他方法相當(dāng)?shù)木?,同時由于解碼器層數(shù)較少,提供了快速的處理時間。
BEVFormer[39]、[40]采用了不同的方法,采用時空Transfomer架構(gòu)實現(xiàn)統(tǒng)一的BEV表示,從而在不依賴多模態(tài)輸入的情況下提高性能。它結(jié)合了空間和時間融合,利用歷史信息來增強性能。BEVFormer利用時間自注意模塊從歷史BEV特征中提取特征,用于運動目標速度估計和遮擋目標檢測,并在垂直方向上擴展空間交叉注意,用于BEV Z方向的柱狀查詢。
相比之下,UVTR[41]側(cè)重于利用圖像和LiDAR輸入之間的跨模態(tài)交互來增強深度推斷,在沒有高度壓縮的情況下,在BEV中為每個模態(tài)生成單獨的體素空間,然后通過知識轉(zhuǎn)移和模態(tài)融合來融合多模態(tài)信息。該方法為擴大三維占位研究提供了有希望的方向。
在3D分割任務(wù)中,TPVFormer[42]通過將體積轉(zhuǎn)換為三個BEV平面,解決了基于Transformer的方法的效率問題,大大減少了計算負擔(dān),同時有效地預(yù)測空間中所有體素的語義占用。VoxFormer[43]利用2D圖像通過深度預(yù)測生成3D體素查詢建議,然后基于這些建議的2D圖像特征的3D體素查詢進行可變形的交叉注意查詢。然后,利用掩碼自編碼器自關(guān)注傳播信息,利用上樣本網(wǎng)絡(luò)對體素進行細化,生成語義占用結(jié)果。
SurroundOcc[44]從多視角和多尺度2D圖像特征中執(zhí)行了3D BEV特征查詢,并為其添加了3D卷積。Transformer層,并逐步上采樣的體積特征。當(dāng)生成多級BEV特征時,其三維卷積網(wǎng)絡(luò)可以將這些特征組合在一起,生成密集的空間占用。
在三維目標跟蹤任務(wù)中,大多數(shù)現(xiàn)有方法依賴于利用空間和外觀相似性的啟發(fā)式策略。然而,它們往往不能有效地模擬時間信息。最近基于Transformer的模型旨在緩解這個問題。例如,MOTR[45]擴展了DETR模型,構(gòu)建了一個多目標跟蹤(MOT)框架。它引入了一個“跟蹤查詢”來模擬整個視頻中的跟蹤實例,旨在利用視頻序列中的時間變化,并隱式地學(xué)習(xí)目標的長期時間變化,避免了對顯式啟發(fā)式策略的需要。與依賴基于運動和基于外觀的相似性啟發(fā)式和后處理技術(shù)的傳統(tǒng)方法不同,MOTR處理對象跟蹤時不需要跟蹤NMS或IoU匹配。
MUTR3D[46]通過基于空間和外觀相似性的跨相機和跨幀目標關(guān)聯(lián),同時進行檢測和跟蹤。這種方法利用3D軌跡查詢直接建模對象的3D狀態(tài)和外觀特征,隨著時間的推移和跨多個相機。在每一幀中,3D軌跡查詢從所有可見攝像機采樣特征,并學(xué)會啟動,跟蹤或終止軌跡。
基于Transformer的方法在3D和一般感知任務(wù)中取得了令人印象深刻的進展,強調(diào)了在更復(fù)雜和現(xiàn)實自治的更廣泛的感知任務(wù)中開發(fā)專門注意機制的潛力駕駛場景。
2.3 2D和平面任務(wù)
與3D任務(wù)類別相反,我們將第二個任務(wù)類別分類為2D和平面任務(wù),其中模型主要處理車道檢測,分割和高清地圖生成等任務(wù)。對于車道檢測任務(wù),我們進一步將模型分為兩組。第一組模型生成BEV特征,然后是CNN語義分割和檢測頭。
例如,BEVSegFormer[47]使用了交叉注意機制來查詢多視圖2D圖像特征。在Transformer之后添加語義解碼器,將查詢解碼為BEV道路語義分割結(jié)果。
PersFormer[48]使用CNN提取圖像特征,并將其分成兩條路徑。第一個路徑連接到基于CNN的二維車道檢測頭,第二個路徑使用逆透視映射(IPM)方法將透視圖(PV)視圖特征轉(zhuǎn)換為BEV視圖特征,連接到Transformer網(wǎng)絡(luò)進行BEV特征查詢和增強。第二組模型使用多項式、關(guān)鍵點、向量和折線等各種表示直接查詢和生成道路結(jié)構(gòu)。
例如,LSTR[49]用二階或三階多項式逼近平坦的單車道道路標記。使用Transformer查詢更新多項式的參數(shù),匈牙利匹配損失優(yōu)化了路徑相關(guān)的回歸損失。LSTR采用了輕量級的Transformer體系結(jié)構(gòu),以實現(xiàn)更高效的查詢。
CurveFormer[50]通過直接從2D圖像中生成車道線,而不需要特征視圖變換,加快了推理速度。采用Transformer解碼器,利用曲線查詢將三維車道檢測公式轉(zhuǎn)化為曲線傳播問題,利用曲線相交關(guān)注模塊計算曲線查詢與圖像特征的相似度。
除了車道檢測之外,Transformer架構(gòu)還用于分割任務(wù)。例如,TIiM[51]提供了一個用于瞬時映射的序列到序列模型,該模型將圖像和視頻轉(zhuǎn)換為開銷映射或BEV表示。通過假設(shè)圖像中的垂直掃描線與架空地圖中的射線之間存在一對一的對應(yīng)關(guān)系,TIiM被認為是一種數(shù)據(jù)高效和空間感知的方法。
Panoptic SegFormer[52]提出了一種結(jié)合語義分割和實例分割的Panoptic分割框架。提出了監(jiān)督掩碼解碼器和查詢解耦策略,實現(xiàn)了有效的分割。
對于高清地圖生成任務(wù),STSU[53]將車道表示為BEV坐標下的有向圖,并基于簡單多層感知器(MLP)學(xué)習(xí)Bezier控制點和圖連通性。采用DETR型查詢方法將前視攝像頭圖像轉(zhuǎn)換為BEV道路結(jié)構(gòu)。
VectorMapNet[54]是第一個實現(xiàn)高精度地圖端到端矢量化的Transformer網(wǎng)絡(luò)[70],使用BEV視圖中的稀疏折線原語建模幾何形狀。它采用兩階段的流水線,包括集合預(yù)測(用于檢測粗糙關(guān)鍵點)和序列生成(用于預(yù)測映射元素的下一個點)。
MapTR[55]開發(fā)了一個用于在線矢量化高精度地圖生成的框架,該框架將地圖元素建模為具有一組等效包絡(luò)的點集。引入分層查詢嵌入方案,靈活編碼實例級和點級信息,學(xué)習(xí)映射元素的結(jié)構(gòu)化二部匹配。
這些模型已被證明可以有效地將多視圖特征合并為統(tǒng)一的BEV視圖,從而促進端到端在線高精度地圖構(gòu)建,這對其他下游任務(wù)至關(guān)重要。
2.4 預(yù)測和決策
除了2D/3D感知任務(wù)外,Transformer架構(gòu)還用于預(yù)測、規(guī)劃和決策等其他任務(wù)。此外,最近的研究探索了使用Transformer構(gòu)建整個自動駕駛端到端深度神經(jīng)網(wǎng)絡(luò)模型,旨在將感知、規(guī)劃和控制統(tǒng)一到一個集成系統(tǒng)中。對于軌跡或行為預(yù)測,標準CNN模型的特征提取存在實際挑戰(zhàn),特別是其模擬遠程相互作用的能力有限。然后開發(fā)基于Transformer的模型來解決這個問題。
VectorNet[56]的開發(fā)是為了將這些幾何形狀(從道路標記或車輛軌跡)轉(zhuǎn)換為矢量格式輸入。它引入了一個分層圖神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)使用矢量表示對高清地圖和代理軌跡進行編碼,并利用單個道路組件的空間局部性并對其相互作用進行建模。
TNT[78]根據(jù)每條軌跡的端點定義車輛模式,將軌跡預(yù)測轉(zhuǎn)化為端點預(yù)測問題,簡化了軌跡預(yù)測。然而,作為一種基于錨點的技術(shù),TNT在預(yù)測端點之前需要啟發(fā)式錨點定義。
DenseTNT[57]通過直接預(yù)測端點的概率分布來克服這一限制,從而實現(xiàn)無錨點預(yù)測。mmTransformer[58]提出了一個堆疊的Transformer架構(gòu),通過一組固定的獨立提案在功能級別對多模態(tài)進行建模。然后制定了一項基于區(qū)域的培訓(xùn)戰(zhàn)略,以誘導(dǎo)所產(chǎn)生的建議的多模態(tài)。該策略在保證多模態(tài)行為輸出的同時降低了運動預(yù)測的復(fù)雜性。
AgentFormer[59]允許代理在特定時間的狀態(tài)直接影響另一個代理的未來狀態(tài),消除了在單一維度中編碼的中間特征的需要。這種方法可以同時學(xué)習(xí)時間信息和交互關(guān)系。它還確保代理的當(dāng)前關(guān)系通過不同時間的關(guān)系得到反映,從而減輕了在傳統(tǒng)Transformer注意機制中通常在相同輸入元素狀態(tài)下發(fā)生的時間和代理信息損失。對于更復(fù)雜的情況,其中輸入包含靜態(tài)和動態(tài)數(shù)據(jù)(例如,道路幾何形狀,車道連接,交通燈等),由于自關(guān)注和昂貴的位置前饋網(wǎng)絡(luò)對輸入序列長度的二次依賴,標準Transformer對廣泛的多維序列進行建模是具有挑戰(zhàn)性的。
WayFormer[60]通過分析輸入的融合前、融合后和分層融合來緩解這一問題,并在效率和質(zhì)量之間保持平衡。該方法避免了設(shè)計模態(tài)特定模塊的復(fù)雜過程,使模型更容易擴展和擴展。
最后,端到端模型被廣泛地歸類為規(guī)劃和決策任務(wù),因為端到端任務(wù)的最終目標是輸出決策信號。過去幾年出現(xiàn)了一些工作,例如,Transferuser[61]使用多個Transformer模塊進行數(shù)據(jù)處理、中間數(shù)據(jù)融合和特征圖生成。在整個特征提取器中應(yīng)用了多個分辨率(64×64, 32×32, 16×16和8×8)的數(shù)據(jù)融合,從而從圖像和LiDAR BEV流中輸出512維特征向量,然后通過元素求和將其組合在一起。該方法考慮了自駕車前方32米內(nèi)和兩側(cè)16米內(nèi)的傳感區(qū)域,從而包含了一個32m × 32m的BEV網(wǎng)格。網(wǎng)格被劃分為0.125m × 0.125m的塊,得到256 × 256像素的分辨率。
NEAT[62]提出了一種對場景的語義、空間和時間結(jié)構(gòu)進行有效推理的表示。它構(gòu)建了一個連續(xù)函數(shù),將BEV場景坐標中的位置映射到路點和語義,使用中間注意映射迭代壓縮高維二維圖像特征為緊湊的表示。
在Transferuser架構(gòu)的基礎(chǔ)上,Interuser[63]提出了一種單階段架構(gòu)來融合來自多模態(tài)多視圖傳感器的信息,獲得了更好的性能。該框架通過開發(fā)安全控制過濾器來約束Transformer輸出操作,從而增強了端到端模型的安全性。模型的安全敏感輸出包括10個路點路徑,而安全敏感輸出包括交通規(guī)則信息和具有7個特征的物體密度圖,如車輛、行人和自行車。些輸出是通過融合多視圖圖像輸入和激光雷達點云數(shù)據(jù)產(chǎn)生的,該數(shù)據(jù)覆蓋了自動駕駛汽車前方28米和兩側(cè)14米的區(qū)域。分析的區(qū)域尺寸為20m × 20m,劃分為1m × 1m的網(wǎng)格。除了Camera和LiDAR信號外,MMFN[64]還在端到端任務(wù)中使用了矢量化的高清地圖和雷達。探索了高清地圖作為網(wǎng)絡(luò)輸入的不同表示形式,并提出了融合四種類型數(shù)據(jù)的框架。另一項名為STP3的研究[65]提出了一種以自我為中心的對齊積累方案,該方案將2D轉(zhuǎn)換為3D并對齊目標特征。其預(yù)測模塊綜合了時刻t的障礙物信息和時刻tn的障礙物位置信息。
與上述主要為端到端任務(wù)設(shè)計的作品不同,UniAD[66]提出了一個面向規(guī)劃的框架。
本論文認為,以前的作品沒有考慮到規(guī)劃所需的某些組件,新的設(shè)計可以適當(dāng)?shù)亟M織之前的任務(wù),以方便規(guī)劃。
2.5 Transformer模型基準
我們在NVIDIA GPU 3090上對主要基于Transformer的模型進行基準測試,考慮輸入大小、運行時間、準確性和數(shù)據(jù)集等指標。如表2所示,對于使用Nuscenes數(shù)據(jù)集的3D物體檢測任務(wù)[73],由于結(jié)構(gòu)相似,DETR3D和FUTR3D表現(xiàn)出相當(dāng)?shù)男阅?。BEVFormer通過生成BEV特征和從這些特征查詢3D對象來優(yōu)于DETR3D。
PETR和CrossDTR使用CNN網(wǎng)絡(luò)將2D特征轉(zhuǎn)換為3D特征,加速了查詢過程,性能優(yōu)于DETR3D。與ResNet50相比,ResNet101的更高精度可歸因于其可變形卷積機制和增加的卷積深度,盡管以較慢的運行速度為代價[79]。另一方面,基于transformer的道路要素檢測研究呈現(xiàn)出更大的差異,對于2D車道(TuSimple)、3D車道(OpenLane)和局部地圖(Nuscenes)等任務(wù),存在不同的模型和評估標準。
Lane和local map Transformer查詢比目標檢測更快,因為關(guān)鍵點查詢更少,CNN骨干網(wǎng)更小,利用了更淺的層特征。如表底部所示,端到端Transformer是一個新興的研究領(lǐng)域。然而,它主要依賴于CARLA等非現(xiàn)實模擬器平臺中的模擬數(shù)據(jù)[77],這限制了它在現(xiàn)實場景和實際實現(xiàn)中的適用性。
3.Transformer架構(gòu)、算子和硬件加速
本節(jié)重點介紹Transformer組件、操作符和硬件加速分析。我們首先分析編碼器-解碼器結(jié)構(gòu),強調(diào)其在處理輸入數(shù)據(jù)和生成輸出預(yù)測中的作用。討論了關(guān)鍵組件,包括層歸一化,矩陣乘法和softmax。然后,我們探討了提高Transformer模型計算效率的方法,詳細介紹了應(yīng)用于算子(如softmax、層歸一化、激活函數(shù)和矩陣乘法)的定點算法的硬件加速技術(shù)。
3.1 編碼器-解碼器設(shè)計
盡管Transformer模型在自動駕駛應(yīng)用中實現(xiàn)了最先進的性能,但它們相當(dāng)大的存儲和計算開銷對便攜式或邊緣設(shè)備的部署和高效推理構(gòu)成了挑戰(zhàn)。
用于感知任務(wù)的Transformer模型主要利用BEV特征,而Encoder負責(zé)生成這些特征(圖4(b)和(d))。編碼器將BEV特征擴展成長度為信道的H * W矩陣,作為Transformer中的查詢。這些特征是利用相機外部矩陣從多視圖相機的二維特征中導(dǎo)出的。為了保留二維空間信息,將位置嵌入添加到Query中,然后將其作為Encoder的輸入(圖4(b))。為了更快的收斂,編碼器迭代之前的BEV特征,并將當(dāng)前查詢作為自關(guān)注的輸入。此外,車輛的位置姿態(tài)信息在像素級匹配前、后幀(圖4(d))。
在感知任務(wù)中,用Transformer塊替換CNN頭部,生成障礙物的3D邊界框,以及使用查詢生成2D/3D車道線和局部地圖(圖4(a)、(c)、(e)、(f))。對于3D障礙物感知任務(wù)有兩種類型的查詢:顯式和隱式。顯式查詢依賴于BEV特征(圖4(e)),而**隱式查詢直接使用來自多視圖相機的2D特征(**圖4(a))。隱式查詢減少了編碼器的計算需求。為了進一步減少Transformer的計算負荷,可以使用CNN架構(gòu)將攝像機視角視圖轉(zhuǎn)換為2D/3D BEV后查詢轉(zhuǎn)換后的BEV特征(圖4(c))。
車道和局部地圖任務(wù)主要利用BEV功能進行查詢,將車道和局部地圖的物理關(guān)鍵點作為查詢對象,并將其特征(xyz屬性)作為向量。與障礙物任務(wù)相比,道路信息查詢需要對BEV特征進行更高程度的網(wǎng)格細化;然而,BEV功能所需的距離范圍較低。車輛既要關(guān)注周圍的道路信息(通常為60米× 30米),也要關(guān)注障礙物(通常為100米× 100米),以及高速行駛時遠處的障礙物。由于道路信息是靜態(tài)的,因此可以使用具有歷史信息的前視攝像頭來構(gòu)建道路信息,而動態(tài)障礙物則需要側(cè)面攝像頭的參與。因此,Transformer的交叉注意機制可以根據(jù)這些需求靈活地設(shè)計和優(yōu)化不同的應(yīng)用程序。
3.2 不同架構(gòu)的算子
在上一節(jié)中,分析了Transformer用于感知任務(wù)的編碼器和解碼器的一般框架,其中最復(fù)雜的組件是編碼器結(jié)構(gòu)(圖4(d))。BEVformer采用這種結(jié)構(gòu),分別在空間和時間上融合多視角相機和歷史信息,使其成為自動駕駛應(yīng)用的復(fù)雜開源Transformer。我們現(xiàn)在根據(jù)運算符對編碼器進行拆解,以獲得后續(xù)硬件加速參考的詳細模型。
在本節(jié)中,我們特別比較了操作員級別的三種主要架構(gòu)層:ResNet [80], SwinTransformer和BEVFormer的編碼器。如圖5(a)所示,ResNet具有一個稱為瓶頸的基本單元,由包含類似瓶頸網(wǎng)絡(luò)的多個階段組成。這些網(wǎng)絡(luò)包括3x3卷積,1x1卷積,批歸一化(BN)和激活函數(shù)(ReLU,整流線性單元),要求適度的計算并行性和片上存儲器。在自動駕駛?cè)蝿?wù)中,ResNet通常用于2D相機圖像特征提取,作為骨干網(wǎng)絡(luò)。
圖5:ResNet和SwinTransformer中的圖層:(a) ResNet基本單元,稱為瓶頸,由1x1和3x3卷積、批歸一化(BN)和ReLU激活函數(shù)組成。(b)SwinTransformer的第一階段包括層歸一化、多頭自關(guān)注和前饋網(wǎng)絡(luò)(FFN)。自注意機制包括矩陣乘法、軟最大化、換位、連接和重塑操作。FFN包括一個全連接層和GELU激活函數(shù)。此外,SwinTransformer涉及額外的數(shù)據(jù)重組操作,如窗口分區(qū)和展開,使其結(jié)構(gòu)比ResNet更復(fù)雜。
圖5(b)顯示了由多個級單元組成的SwinTransformer,包括數(shù)據(jù)重排、層歸一化(LN)、矩陣乘法(32x32)、Softmax、完全連接(FC)層和激活函數(shù)(GELU,高斯誤差線性單元)。與ResNet相比,SwinTransformer具有更大的運算符多樣性和更大的矩陣乘法維度。在CNN網(wǎng)絡(luò)中,Softmax和FC層通常作為最后一層出現(xiàn)在每個SwinTransformer階段,因此需要在單元內(nèi)加速。雖然SwinTransformer可以取代ResNet作為自動駕駛?cè)蝿?wù)的骨干組件,但由于增益和加速性能之間的權(quán)衡,CNN網(wǎng)絡(luò)仍然是已部署產(chǎn)品的主流。作為基本的Transformer網(wǎng)絡(luò),Swin-Transformer作為各種NPU制造商硬件加速的初始參考,實現(xiàn)3 FPS/TOPS或更高的性能水平。
加速用于自動駕駛的Transformer的主要挑戰(zhàn)來自包含自注意和交叉注意模塊的編碼器和解碼器模型。
交叉注意是將向量從一個空間(PV)變換到另一個空間(BEV)的過程,它比自注意更為復(fù)雜。
如圖7所示,我們以BEVFormer的編碼器為例,它由時間自注意、空間交叉注意、LN和FFN組成。LN和FFN結(jié)構(gòu)類似于SwinTransformer,但具有更大的輸入和輸出特征尺寸,需要更大的計算能力??勺冃巫宰⒁饽K中的變形注意采用可學(xué)習(xí)的注意像素地址,需要從數(shù)據(jù)緩存中的相應(yīng)位置獲取數(shù)據(jù)。這個過程涉及大型矩陣乘法(512* 128)和對大量矩陣的操作,使其比SwinTransformer的自我關(guān)注更為復(fù)雜。
圖7:Transformer4D編碼器結(jié)構(gòu):BEVformer編碼器結(jié)構(gòu)編碼器層,與SwinTransformer相同,BEVformer編碼器具有層歸一化,F(xiàn)FN。
時間自我注意和空間交叉注意是兩種復(fù)雜的注意機制。時間自注意對由前一個BEV特征和當(dāng)前BEV特征初始化的BEV查詢進行變形注意,并進行自我信息校準。與SwinTransformer不同的是,有一個網(wǎng)格樣本會從相關(guān)位置收集特征,這些位置可以從特征和矩陣變換中學(xué)習(xí)??臻g交叉注意將有助于從2D環(huán)繞相機特征中查詢BEV特征,并采用可變形注意機制。該查詢是一個多級多攝像機查詢,因此增加了2個模塊,一個是攝像機掩模模塊,它將在BEV空間中生成每個攝像機掩模,一個是多級偏移模塊,它將獲得4級參考點偏移。除了圖層歸一化、激活、Softmax、矩陣乘法,BEVFormre編碼器還有很多數(shù)據(jù)重組過程,如重塑、分割、連接、排列等。BEVformer的結(jié)構(gòu)比SwinTransformer更復(fù)雜,加速也更困難。
時間自關(guān)注模塊使用自關(guān)注機制融合當(dāng)前和歷史的BEV特征??臻g交叉注意模塊與時間交叉注意模塊有相似之處,但由于數(shù)據(jù)操作操作較多,矩陣乘法維度較大(512* 256),多相機和多尺度特征的注意力像素地址檢索更為復(fù)雜。自動駕駛中感知任務(wù)的模型復(fù)雜度明顯高于SwinTransformer和傳統(tǒng)CNN骨干網(wǎng),導(dǎo)致對操作員加速和片上存儲的需求增加。
此外,在圖6中,我們展示了在可移植硬件上實現(xiàn)Transformer體系結(jié)構(gòu)的操作符列表示例。整個過程分為26個操作步驟,每個步驟都有各種指標報告,如操作類型、多頭次數(shù)、重復(fù)次數(shù)和操作時間(以微秒為單位)??梢钥吹?,第2-5項(Q、K、V和注意矩陣計算)、第11項(注意求解頭矩陣計算)、第21項(求解ffn矩陣計算)和第23項(線性矩陣計算)占據(jù)了大部分操作計數(shù)。
圖6:表格列出了將示例Transformer模型部署到可移植硬件的主要操作符。參數(shù)類別:
N表示輸入序列長度,也稱token長度,表示圖像中特征映射的HxW, C表示通道維數(shù),h表示Multi-head被分割成h個head, N encode表示encode重復(fù)的次數(shù),N decode表示decode重復(fù)的次數(shù)。我們將該過程分為26個操作員明智的步驟,并報告指標,包括操作類型,多頭數(shù)量,重復(fù)計數(shù)和操作員時間(微秒)。右邊較小的表顯示了主表的摘要。
3.3 算子加速分析
Transformer架構(gòu)包含大量的矩陣乘法算子和相應(yīng)的數(shù)據(jù)承載算子、Softmax算子、激活函數(shù)、LN算子。量化權(quán)重和輸入可以通過將浮點運算調(diào)優(yōu)為整數(shù)來加快推理速度[81],[82],[83]。我們設(shè)計了這些算子的定點硬件加速。
3.3.1 Softmax
Softmax函數(shù)在深度學(xué)習(xí)中應(yīng)用廣泛,經(jīng)常出現(xiàn)在輸出層。先前的工作[84],[85],[86]研究了DNN應(yīng)用中softmax的硬件加速,而一些研究也探索了基于vision transformer的softmax的量化和加速[87],[81]。給定x = [x0;x1;:::;xN 1],標準的softmax激活可以定義為:
為了防止分母中多項式求和溢出,需要在硬件加速時進行數(shù)值穩(wěn)定處理,我們定義m = max(x),并進行低精度處理,將底部的e替換為2,得到:
在在線運行過程中,我們重點關(guān)注并行化和存儲優(yōu)化,觀察到整個過程的時間復(fù)雜度為30 (n),空間復(fù)雜度為S(n + 1)。該方法需要三個循環(huán)并存儲N + 1個中間結(jié)果。為了進一步優(yōu)化過程,將全局最大值替換為局部最大值,使計算分兩次循環(huán)完成[87]。這將時間復(fù)雜度降低到20 (n),并減少了中間結(jié)果的存儲。
在定點測試中,輸入使用帶符號的S6.9和S5.2,而輸出使用無符號的U1.15和U1.7。中間累積結(jié)果∑j=0,N-1:2(xj-M),使用U10.10。試驗結(jié)果見表三。我們可以看到16位輸入和輸出的精度大約是1%。然而,8位輸入的精度明顯較低,8位輸出導(dǎo)致大量量化誤差。因此,作者建議使用16位量化輸入和輸出,以確保Softmax功能硬件加速的準確性。
3.3.2 層歸一化
層歸一化(LN)[88]、[89]與批歸一化的不同之處在于,它是跨通道而不是批量進行歸一化的,解決了Transformer模型在通道方向上的大量計算。歸一化技術(shù)有效地緩解了Transformer模型訓(xùn)練過程中的梯度消失和爆炸問題。此外,層歸一化涉及除法、平方、平方根等操作,層歸一化的替換以及Integer Transformer中的注意完全支持INT8推理[90]。
層歸一化的原始計算公式[91]為:
根據(jù)量化公式:
式中,XQ為量化的定點激活值,S為比例因子,zp為輸入零點。b和y是輸入?yún)?shù)(浮點數(shù))。
推導(dǎo)后,層歸一化計算公式為:
針對給定的公式,設(shè)計并測試了一個定點硬件加速器。測試使用8位U8和S7輸入,16位S8:7輸出,以及具有不同量化精度的中間結(jié)果。均值采用S8:7,標準差采用U8:6。我們在兩個不同的測試數(shù)據(jù)集(稱為case1和case2)上評估了性能,并在表iii(第4到第5行)中報告了結(jié)果。測試結(jié)果顯示S7和U8的輸出結(jié)果相當(dāng)。最大錯誤率主要發(fā)生在序列的最小值處。雖然絕對誤差值保持較小,但由于Golden相對較小,誤差百分比顯得較大價值。單獨地評估層規(guī)范化操作符表明,使用8位輸入可能會帶來一些風(fēng)險。但是,必須綜合評估對整個模型的影響,以確定其整體效果。
3.3.3 激活函數(shù)
激活函數(shù)調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)中神經(jīng)元之間的信號傳遞,包括線性函數(shù)(如x = f(x))和非線性函數(shù)(如Sigmoid, Tanh, Relu)。非線性函數(shù)對于解決復(fù)雜問題至關(guān)重要,因為單獨的線性函數(shù)只會產(chǎn)生輸入的線性組合。因此,神經(jīng)網(wǎng)絡(luò)采用非線性函數(shù)來更有效地建模和解決復(fù)雜的非線性問題。本研究開發(fā)了各種激活函數(shù)的不動點表示,如GELU[92]、Relu[93]、Leaky Relu[94]、ELU[95]、SELU[96]、Sigmoid[97]和Tanh。GELU作為討論激活函數(shù)的硬件定點設(shè)計的一個說明性示例。
原GELU計算公式[98]定義為:
同樣,利用逆量化公式,我們可以將GELU的計算轉(zhuǎn)化為:
按照與Softmax類似的方式,我們對分母執(zhí)行低精度替換,將以e為底改為以2為底,我們有:經(jīng)過一些推導(dǎo),我們可以得到GELU的近似公式:
我們基于近似公式開發(fā)了GELU函數(shù)的定點實現(xiàn)。我們對實現(xiàn)進行了測試,使用帶簽名的S6:9和S3:4作為輸入,使用帶簽名的S5:10和S3:4作為輸出。
測試結(jié)果顯示在表III中(最后三行)。對于16位輸入和輸出,平均誤差低于1%。然而,由于一些值接近于零,最大誤差不適用。
當(dāng)我們將輸入改為8位時,平均誤差增加到5%。進一步將輸出減小到8位導(dǎo)致平均誤差約為28%,表明輸出位寬度顯著影響結(jié)果的準確性。
表3:對Softmax、層歸一化(LN)和GELU操作符采用不同量化的定點,分別采用8位和16位的位寬I/O組合。分析與32位fp32 I/O結(jié)果相比的平均誤差和最大誤差。
3.3.4 矩陣乘法
矩陣乘法是Transformer的重要組成部分,占其計算負荷的80%以上。我們分析了各種公開可用的感知算法模型,發(fā)現(xiàn)這個比例很高[99]、[100]、[101]、[102]、[103]、[104]、[105]、[106]。
在Transformer中,乘法累加運算發(fā)生在通道方向上,每個通道都需要完成。通道長度可以達到256,需要在設(shè)計時考慮定點計算和溢出問題。我們的電路設(shè)計適用于INT4、INT8和INT16的定點算法,使用INT4乘法累加作為基本單元。通過使用移位操作,我們?yōu)镮NT8使用2個INT4單元,為INT16實現(xiàn)使用4個INT4單元。此外,我們實現(xiàn)FP8,包括E4M3和E5M2格式的乘法累加操作,使用2個INT4單元和旁路設(shè)計。FP8是一種IEEE浮點格式,已經(jīng)證明了與16位精度相當(dāng)?shù)挠?xùn)練精度,同時為Transformer和計算機視覺應(yīng)用提供了顯著的加速。中間結(jié)果采用FP16/FP32或Int32格式,部分和使用結(jié)合比例因子的Float格式。
矩陣乘法加速不僅需要定點設(shè)計,還需要精確的量化設(shè)計。為了解決這個問題,我們嘗試將量化設(shè)計剪裁為特定的數(shù)據(jù)和模型,作為它們對應(yīng)的量化值范圍和范圍不同。這種方法有助于防止溢出,這種溢出很容易由于乘-累加操作的大維度而發(fā)生。
3.3.5 章節(jié)小結(jié)
采用各種優(yōu)化技術(shù)改進基于Transformer的模型。數(shù)據(jù)重組算子,如重塑、排列、分割、連接和轉(zhuǎn)置,用于處理不規(guī)則數(shù)據(jù),依賴于片上存儲器作為中間結(jié)果存儲。軟件編譯優(yōu)化,包括操作符合并和操作符映射,來優(yōu)化這些操作符。模型量化是加速模型推理的關(guān)鍵技術(shù),用整數(shù)多項式近似方法或函數(shù)近似方法代替Transformer網(wǎng)絡(luò)中的非線性算子。替代量化方法,如指數(shù)量化,也考慮了矩陣乘法加速。模型結(jié)構(gòu)的改進,如使用有效的注意力機制[107]、[108]或輕量化結(jié)構(gòu)**,有助于進一步優(yōu)化。
研究了模型壓縮方法,如剪枝和知識蒸餾。修剪涉及從訓(xùn)練良好的模型中刪除不重要的參數(shù)或連接[109],[110],[111],各種方法側(cè)重于多頭自注意(MHSA),通道,token或整個Transformer結(jié)構(gòu)[112],[113],[114],[115],[116]。知識蒸餾將知識從大的教師模型轉(zhuǎn)移到小的學(xué)生模型[117],[118],[119]。將模型量化與知識蒸餾相結(jié)合可以減少內(nèi)存開銷,提高性能[120],[121],[122]。VisionTransformer蒸餾技術(shù)檢查了特征圖和注意力,其中**特征圖蒸餾將地圖劃分為小塊,并使用用于知識轉(zhuǎn)移的額外蒸餾令牌進行注意力蒸餾[**123],[124],[122]。
對Transformer硬件加速的研究主要集中在NLP模型,如BERT和視覺Transformer模型,如ViT。Transformer在自動駕駛領(lǐng)域的應(yīng)用在2022年迅速發(fā)展,這導(dǎo)致人們對其實施的興趣增加。然而,用于自動駕駛Transformer模型的硬件加速仍處于起步階段。
NPU制造商的現(xiàn)有基準測試顯示了SwinTransformer和VisionTransformer型號的加速性能,但關(guān)于DETR3D、PETR和BEVFormer等最新型號的加速性能的公開信息有限。隨著Transformer車型在自動駕駛領(lǐng)域的持續(xù)發(fā)展,主要NPU制造商和研究機構(gòu)正在積極探索這些車型的加速技術(shù),旨在將其部署到量產(chǎn)車輛中。在這項工作中,我們剖析了典型的自動駕駛模型,并為由此產(chǎn)生的操作員開發(fā)了定點實現(xiàn)。
4.挑戰(zhàn)和趨勢
基于Transformer的深度學(xué)習(xí)方法已經(jīng)顯示出改善自動駕駛系統(tǒng)的潛力,但它們面臨著收集高質(zhì)量訓(xùn)練數(shù)據(jù)、確保安全性和提供可解釋性等挑戰(zhàn)。多模態(tài)融合和可解釋性是該領(lǐng)域的發(fā)展趨勢,而基于Transformer的模型已經(jīng)成功地完成了感知和預(yù)測任務(wù)。前景包括優(yōu)化實時處理和開發(fā)端到端學(xué)習(xí)模型。然而,應(yīng)對挑戰(zhàn)和利用趨勢和前景需要持續(xù)的研究工作。
Transformer模型從最初的3D障礙物感知任務(wù)發(fā)展到現(xiàn)在的各種感知任務(wù)。未來的自動駕駛需要更高的系統(tǒng)安全性和確定性,單模態(tài)視覺感知在邊際增益方面已經(jīng)達到飽和。為了提高邊際增益,需要多模態(tài)融合,這對高級自動駕駛至關(guān)重要。為了滿足這一需求,未來可能會產(chǎn)生更大尺寸、多模態(tài)、多任務(wù)、4D時空輸入輸出的Transformer模型。這對模型訓(xùn)練和加速提出了新的挑戰(zhàn),需要在算法設(shè)計、硬件架構(gòu)和系統(tǒng)集成方面取得進展。
自動駕駛中的跟蹤、規(guī)劃和決策任務(wù)也開始從傳統(tǒng)的DNN模型過渡到基于Transformer的模型。考慮到Transformer模型日益復(fù)雜,這可能需要更好的硬件加速方案來提高硬件部署中的模型推理效率。一種有希望的方法是將多個級別和類型的Transformer模型級聯(lián)到端到端系統(tǒng)中。然而,這在加速整個系列模型方面提出了一個挑戰(zhàn),因為每個模型可能有獨特的硬件要求。
在基于感知的模型中,主要輸入是圖像或雷達數(shù)據(jù),通過CNN對其進行處理以提取特征。然后將這些特征輸入到BEV感知Transformer模型中,用于從BEV角度檢測障礙物和靜態(tài)地面標記。將BEV感知結(jié)果與高精度地圖結(jié)合,進一步編碼為網(wǎng)格格式,輸入到類似NLP的Transformer模型中,完成預(yù)測和規(guī)劃任務(wù)。
自動駕駛?cè)蝿?wù)中的Transformer模型除了具有基本模型的激活函數(shù)、LN、Softmax和大矩陣乘法加速度外,還具有一個特殊的Deformable Attention算子。其可學(xué)習(xí)的位置參數(shù)導(dǎo)致每次查詢相關(guān)數(shù)據(jù)存在一定的不規(guī)則性,增加了圖像數(shù)據(jù)對硬件的緩存壓力,使并行加速變得困難。除了優(yōu)化軟件編譯器調(diào)度外,還需要針對這些模型專門設(shè)計硬件。
Transformer模型的混合精度量化是加速模型的重要任務(wù),它直接影響到計算能力和存儲能力,是未來的主要研究方向之一。高比特量化保證了高精度,但需要更多的內(nèi)存和計算資源,而低比特量化精度較低,但減少了內(nèi)存和計算需求。
固定位量化無法在精度和計算能力之間實現(xiàn)細粒度的權(quán)衡,因此需要使用混合精度量化(MPQ)來實現(xiàn)有效的模型壓縮。MPQ采用了各種量化比特寬度,包括8位、16位、32位,甚至4位和2位。除了成熟的線性量化方法外,還考慮了基于FP8的對數(shù)量化等替代方法,其中基于FP8的量化和加速是一個突出的研究領(lǐng)域。
Transformer的注意機制在將一個空間序列轉(zhuǎn)換為另一個空間序列方面具有優(yōu)勢,我們知道矩陣乘法可以將一個向量從一個空間變換到另一個空間,大矩陣可以進行多維空間變換,這些矩陣中的參數(shù)是可學(xué)習(xí)的。經(jīng)過空間變換后,信息關(guān)系查詢變得更加容易。
注意中的網(wǎng)格樣本可以從相關(guān)像素中收集到需要的特征,并且網(wǎng)格樣本的位置也是可學(xué)習(xí)的。矩陣變換和網(wǎng)格采樣使Transformer非常適合需要將多視圖數(shù)據(jù)轉(zhuǎn)換為BEV格式的自動駕駛?cè)蝿?wù)。Transformer模型的參數(shù)和計算能力遠遠超過CNN網(wǎng)絡(luò),可以更好地泛化各種角落案例和對大型數(shù)據(jù)集的過擬合。然而,這也增加了模型的復(fù)雜性,需要仔細優(yōu)化以確保高效的性能。因此,有必要為自動駕駛中的Transformer模型開發(fā)更好的可解釋和可解釋的技術(shù),因為這些對于確保安全性和建立系統(tǒng)信任至關(guān)重要。例如,基于注意力的顯著性映射可以用來在視覺上突出顯示輸入數(shù)據(jù)中最重要的區(qū)域,例如攝像頭或激光雷達饋送,模型使用這些數(shù)據(jù)來做出駕駛決策。這將提供對模型決策過程的洞察,使工程師和用戶更好地理解和信任系統(tǒng)。
5.總結(jié)
本文全面概述了專為自動駕駛?cè)蝿?wù)量身定制的基于Transformer的模型。我們研究了用于組織Transformer輸入和輸出的不同架構(gòu),并評估了它們各自的優(yōu)點和缺點。深入探討Transformer相關(guān)算子及其硬件加速分析,考慮量化、定點運行等關(guān)鍵因素。對任務(wù)級和操作員級定點測試進行了基準比較。最后,我們強調(diào)了基于Transformer的模型中的挑戰(zhàn)、趨勢和當(dāng)前見解,并在實際應(yīng)用程序中長期Transformer部署的背景下討論了它們的硬件部署和加速問題。
原文鏈接:https://mp.weixin.qq.com/s/QIBO0ZYUQkjoARgHj1RYMg