南大等最新QD-BEV:高效量化解決方案助力多視角3D檢測(cè) !
本文經(jīng)自動(dòng)駕駛之心公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
基于鳥(niǎo)瞰圖(BEV)的多視角3D檢測(cè)最近取得了顯著改進(jìn)。然而,最先進(jìn)模型的巨大內(nèi)存消耗使得它們難以在車輛上部署,而非同小可的延遲將影響流式應(yīng)用的真實(shí)感知。
盡管量化技術(shù)在減輕模型方面的廣泛應(yīng)用,但作者在本文中展示,直接在BEV任務(wù)中應(yīng)用量化會(huì)導(dǎo)致1 )訓(xùn)練不穩(wěn)定,2)造成無(wú)法容忍的性能下降。
為了解決這些問(wèn)題,作者的方法QD-BEV引入了一種新穎的視圖引導(dǎo)蒸餾(VGD)目標(biāo),它可以在穩(wěn)定量化感知訓(xùn)練(QAT)的同時(shí),通過(guò)利用圖像特征和BEV特征來(lái)增強(qiáng)模型性能。
作者的實(shí)驗(yàn)表明,QD-BEV在保持相似甚至更好的準(zhǔn)確度的同時(shí),比之前的方法具有顯著的效率提升。
在nuScenes數(shù)據(jù)集上,4位權(quán)重和6位激活量化的QD-BEV-Tiny模型僅用15.8 MB的模型大小就實(shí)現(xiàn)了37.2%的NDS,比BevFormer-Tiny模型提高了1.8%,模型壓縮比為8倍。在 Small 和Base變體上,QD-BEV模型也表現(xiàn)出色,分別實(shí)現(xiàn)了47.9% NDS(28.2 MB)和50.9% NDS(32.9 MB)。
1 Introduction
基于鳥(niǎo)瞰圖(BEV)的多視角3D檢測(cè)由于其潛在的自動(dòng)駕駛能力,已成為自動(dòng)駕駛的重要研究方向。根據(jù)輸入傳感器,以前的工作可以分為基于激光雷達(dá)的方法和僅基于相機(jī)的方法。與基于激光雷達(dá)的方法相比,僅基于相機(jī)的方法具有部署成本低、更接近人眼、更容易獲取駕駛環(huán)境中的視覺(jué)信息等優(yōu)點(diǎn)。然而,即使使用僅基于相機(jī)的方法,運(yùn)行最先進(jìn)的BEV模型的計(jì)算和內(nèi)存成本仍然很高,使得它們難以部署到車輛上。例如,BEVFormer-Base在單個(gè)NVIDIA V100 GPU上的推理延遲為540毫秒(相當(dāng)于1.85幀/秒),這對(duì)于通常需要30幀/秒的實(shí)際應(yīng)用來(lái)說(shuō)是不可行的。由于相當(dāng)大的延遲會(huì)損害流式感知,因此探索和設(shè)計(jì)基于BEV的僅相機(jī)3D目標(biāo)檢測(cè)的輕量級(jí)模型尤為重要。
量化可以減少用于表示深度神經(jīng)網(wǎng)絡(luò)中的權(quán)重和激活的比特寬度,從而在提高模型推理速度的同時(shí),大幅節(jié)省模型大小和計(jì)算成本。然而,直接應(yīng)用量化會(huì)導(dǎo)致性能顯著下降。與在圖像分類和2D目標(biāo)檢測(cè)任務(wù)中量化標(biāo)準(zhǔn)方法表現(xiàn)突出相比,由于存在多視角和多維度信息(例如,BEVFormer[23]中使用的時(shí)域信息和空域信息),多相機(jī)3D檢測(cè)任務(wù)要復(fù)雜和困難得多。因此,BEV網(wǎng)絡(luò)的架構(gòu)往往變得更復(fù)雜,具有更深的卷積神經(jīng)網(wǎng)絡(luò) Backbone 以從多視角提取圖像信息,以及用于編碼和解碼BEV域特征的 Transformer 。不同神經(jīng)架構(gòu)的存在、多個(gè)目標(biāo)和來(lái)自不同模態(tài)的知識(shí)極大地挑戰(zhàn)了標(biāo)準(zhǔn)量化方法,降低了它們的穩(wěn)定性和準(zhǔn)確性,甚至使整個(gè)訓(xùn)練過(guò)程發(fā)散。在圖1中,作者展示了在BEVFormer-Tiny模型上應(yīng)用W4A6量化時(shí)的訓(xùn)練曲線??梢钥闯?,量化感知訓(xùn)練(QAT)在不同時(shí)期的性能波動(dòng)顯著,而作者所提出的QD-BEV方法顯示出穩(wěn)定的上升趨勢(shì)。作者在第5節(jié)進(jìn)行更多實(shí)驗(yàn)以驗(yàn)證QD-BEV的有效性。
為了解決標(biāo)準(zhǔn)QAT的問(wèn)題,在這項(xiàng)工作中,作者首先對(duì)量化BEV網(wǎng)絡(luò)進(jìn)行了系統(tǒng)的實(shí)驗(yàn)和分析。然后,作者設(shè)計(jì)了一種量化感知的視角引導(dǎo)蒸餾方法,該方法既解決了穩(wěn)定性問(wèn)題,又提高了緊湊型BEV模型的最終性能。作者提出的視角引導(dǎo)蒸餾可以更好地利用來(lái)自圖像域和BEV域的信息進(jìn)行多視角3D目標(biāo)檢測(cè)。這顯著優(yōu)于無(wú)法聯(lián)合處理BEV網(wǎng)絡(luò)中不同類型損失的先前蒸餾方法。具體來(lái)說(shuō),如圖2所示,作者首先將FP(浮點(diǎn))模型作為教師模型,將量化模型作為學(xué)生模型,然后分別計(jì)算圖像特征和BEV特征的KL散度。最后,作者利用映射關(guān)系,通過(guò)相機(jī)的外部參數(shù)有機(jī)地結(jié)合圖像特征和BEV特征,實(shí)現(xiàn) VGD。需要注意的是,在QD-BEV中,作者沒(méi)有使用額外的訓(xùn)練數(shù)據(jù)或更大的強(qiáng)大教師網(wǎng)絡(luò)來(lái)調(diào)整精度,但 QD-BEV 模型仍然能夠在模型大小和計(jì)算要求顯著較小的情況下超越先前的 Baseline 。
作者的貢獻(xiàn)如下:
- 作者對(duì)量化BEV模型進(jìn)行了系統(tǒng)實(shí)驗(yàn),揭示了阻礙標(biāo)準(zhǔn)量化感知訓(xùn)練方法在BEV上的主要問(wèn)題。
- 作者特別為BEV模型設(shè)計(jì)了視角引導(dǎo)蒸餾(VGD),它聯(lián)合利用了圖像域和BEV域的信息。VGD在解決標(biāo)準(zhǔn)QAT的穩(wěn)定性的同時(shí),提升了最終性能。
- 作者的W4A6量化的QD-BEV-Tiny模型僅擁有15.8 MB的模型大小,卻達(dá)到了37.2%的NDS,比8倍大的BevFormer-Tiny模型性能高出1.8%。
2 Related Works
Camera-only 3D object detection
在僅使用相機(jī)的3D目標(biāo)檢測(cè)任務(wù)中,基于鳥(niǎo)瞰圖(BEV)涌現(xiàn)出了許多優(yōu)秀的方法。先前的工作,如LSS [31]和BEVDet [14],采用自下而上的方式將圖像特征投影到BEV空間?;贒ETR 和 Deformable DETR [48],DETR3D [38]通過(guò)Backbone + FPN + 解碼器的架構(gòu)將2D目標(biāo)檢測(cè)擴(kuò)展到3D空間。此外,PETR [24]在DETR3D [38]的基礎(chǔ)上引入了3D位置編碼。在BEVFormer [23]中,作者使用密集的BEV Query 在BEV空間與多視角圖像空間之間交換信息。通過(guò)具有時(shí)間自注意力和空間交叉注意力的 Transformer 結(jié)構(gòu)提取時(shí)間和空間信息,獲得了更穩(wěn)定的BEV特征?;贐EVFormer中的時(shí)間交互,最近的工作PETRv2 [25]和BEVDet4D [13]取得了進(jìn)一步的改進(jìn)。除了上述工作之外,BEVDepth 和BEVstereo 分別是單目深度估計(jì)和立體視覺(jué)在鳥(niǎo)瞰圖(BEV)領(lǐng)域的兩種最先進(jìn)的方法,它們利用BEV表示的獨(dú)特特性實(shí)現(xiàn)了高精度和高效率。
Quantization
為了減少模型大小,量化方法使用低比特寬度來(lái)表示神經(jīng)網(wǎng)絡(luò)中的權(quán)重和激活值。通過(guò)使用低精度矩陣乘法或卷積,量化還可以使推理過(guò)程更快、更高效。給定一個(gè)預(yù)訓(xùn)練模型,直接進(jìn)行量化而不進(jìn)行任何微調(diào)的方法稱為后訓(xùn)練量化(PTQ)。盡管有其優(yōu)點(diǎn),但低比特寬度的PTQ仍然會(huì)導(dǎo)致顯著的準(zhǔn)確度下降。因此,提出了量化感知訓(xùn)練(QAT)來(lái)訓(xùn)練模型以更好地適應(yīng)量化。與PTQ相比,QAT方法[9, 7, 40]成本更高,但有可能獲得更高的準(zhǔn)確度。此外,在超低量化比特寬度(例如,4比特)的情況下,即使是QAT也無(wú)法彌合準(zhǔn)確度差距。解決這一問(wèn)題的有希望的方向是使用混合精度量化[46, 36, 39],其中某些敏感層保持較高精度以恢復(fù)準(zhǔn)確度。雖然有效,但混合精度量化在通用計(jì)算機(jī)(CPU和GPU)上的支持目前尚不成熟,可能會(huì)導(dǎo)致額外的延遲開(kāi)銷。
盡管標(biāo)準(zhǔn)量化方法在卷積神經(jīng)網(wǎng)絡(luò)上已經(jīng)取得了很好的結(jié)果,但近期的研究[27, 44]提到,它可能在其他神經(jīng)架構(gòu)(如 Transformer )中表現(xiàn)不佳。在BEV網(wǎng)絡(luò)中同時(shí)存在卷積塊和 Transformer ,使得它們對(duì)傳統(tǒng)量化方法提出了挑戰(zhàn)。
Distillation
模型蒸餾通常使用大型模型作為教師來(lái)訓(xùn)練一個(gè)緊湊的學(xué)生模型。在訓(xùn)練學(xué)生模型時(shí),不是使用類別標(biāo)簽,關(guān)鍵思想是利用教師產(chǎn)生的軟概率來(lái)指導(dǎo)學(xué)生的訓(xùn)練。之前的蒸餾方法探索了不同的知識(shí)來(lái)源(例如,[12, 22, 30]使用邏輯值,即軟概率)。教師模型的選擇也進(jìn)行了研究,其中[41, 34]使用多個(gè)教師模型,而[8, 43]應(yīng)用自蒸餾,無(wú)需額外的教師模型。其他先前的努力在不同的應(yīng)用上應(yīng)用了不同的設(shè)置進(jìn)行蒸餾。關(guān)于鳥(niǎo)瞰圖(BEV)網(wǎng)絡(luò),之前的工作[6]試圖通過(guò)蒸餾將激光雷達(dá)信息傳授給基于相機(jī)的網(wǎng)絡(luò),但在作者純基于相機(jī)的設(shè)置中,對(duì)激光雷達(dá)數(shù)據(jù)的額外要求使其變得不可行。此外,BEV網(wǎng)絡(luò)中存在不同類型的損失使得標(biāo)準(zhǔn)的蒸餾方法無(wú)效。任意或次優(yōu)的知識(shí)來(lái)源組合也會(huì)使得訓(xùn)練不穩(wěn)定,表現(xiàn)不佳,甚至發(fā)散。
3 Method
Overview of QD-BEV pipeline
本研究旨在提高現(xiàn)有頂尖的鳥(niǎo)瞰圖(BEV)模型的效率。作者從廣泛使用的BEVFormer模型[23]出發(fā),采用逐步的量化感知訓(xùn)練過(guò)程,分階段進(jìn)行(具體細(xì)節(jié)在3.2節(jié)介紹)。作者進(jìn)一步通過(guò)一種新穎的視圖引導(dǎo)的蒸餾過(guò)程來(lái)提升其穩(wěn)定性和性能,這在圖2中進(jìn)行了突出展示,其中作者使用浮點(diǎn)教師模型來(lái)促進(jìn)作者量化的QD-BEV學(xué)生模型的學(xué)習(xí)。具體來(lái)說(shuō),輸入的多攝像頭圖像分別輸入到教師模型和學(xué)生模型中,然后使用網(wǎng)絡(luò)的圖像 Backbone 和圖像 Neck 部分來(lái)提取多攝像頭圖像特征。在網(wǎng)絡(luò) Transformer 部分之后,提取BEV特征,并分別使用教師模型和學(xué)生模型的兩個(gè)部分來(lái)計(jì)算圖像蒸餾損失和BEV蒸餾損失。然后通過(guò)攝像頭的額外參數(shù)將這兩個(gè)蒸餾損失融合起來(lái),實(shí)現(xiàn)作者獨(dú)特的視圖引導(dǎo)蒸餾機(jī)制。作者在3.3節(jié)提供了視圖引導(dǎo)蒸餾過(guò)程的詳細(xì)公式。
Quantization-aware training
在對(duì)稱線性量化中,量化器將權(quán)重和激活映射為帶有縮放因子的整數(shù)。以k位均勻量化可以表示為:
其中是被量化的浮點(diǎn)數(shù),是中最大的絕對(duì)值,是量化后的整數(shù)。在這項(xiàng)工作中,作者進(jìn)行了系統(tǒng)的實(shí)驗(yàn)來(lái)分析量化在BEV網(wǎng)絡(luò)上的性能。對(duì)于PTQ,作者在推理階段直接將上述量化應(yīng)用于預(yù)訓(xùn)練模型。對(duì)于QAT,作者使用直通估計(jì)器(STE)[2]來(lái)定義上述量化操作的向前和向后過(guò)程,然后作者訓(xùn)練模型以更好地適應(yīng)量化。如第1節(jié)和第2節(jié)所述,考慮到標(biāo)準(zhǔn)的QAT可能由于BEV模型的特性導(dǎo)致發(fā)散,作者應(yīng)用了分階段逐步QAT,作者在四個(gè)階段( Backbone 、 Neck 、編碼器和解碼器)中逐步降低權(quán)重精度,基于BEVFormer [23]的設(shè)計(jì)。這種逐步QAT的性能在圖3中有所展示。并且作者在4.2.2節(jié)中比較了逐步QAT與標(biāo)準(zhǔn)QAT的有效性。
View-guided distillation
與傳統(tǒng)的單領(lǐng)域蒸餾方法相比,作者的方法利用了BEV(鳥(niǎo)瞰圖)和圖像領(lǐng)域的互補(bǔ)特性,它們提供了不同的視角并捕捉場(chǎng)景的不同方面。BEV領(lǐng)域提供了一個(gè)自上而下的視圖,能夠準(zhǔn)確感知和識(shí)別周圍環(huán)境,例如道路的結(jié)構(gòu)、車輛的位置和車道標(biāo)記。另一方面,圖像領(lǐng)域提供了更真實(shí)的視覺(jué)信息,捕捉豐富的場(chǎng)景細(xì)節(jié)和顏色信息。在以下各節(jié)中,作者將詳細(xì)介紹VGD:在第3.3.1節(jié)中介紹圖像特征蒸餾的計(jì)算,第3.3.2節(jié)中介紹BEV特征蒸餾,以及第3.3.3節(jié)中結(jié)合前兩個(gè)蒸餾損失的觀點(diǎn)引導(dǎo)蒸餾。
3.3.1 Image feature distillation
在給定一對(duì)對(duì)齊的教師和學(xué)生模型的情況下,作者首先計(jì)算圖像特征上的逐元素蒸餾損失。作者將圖像 Neck 輸出作為要提煉的圖像特征。為了提高蒸餾損失的平滑性,作者遵循之前的嘗試[33]使用基于KL散度的蒸餾損失。具體來(lái)說(shuō),作者將學(xué)生模型和教師模型的展平圖像特征視為邏輯值,通過(guò)具有溫度的softmax函數(shù)將其轉(zhuǎn)換為概率分布,如方程式(2)中定義。
然后,作者分別計(jì)算每個(gè)攝像頭的輸出之間的KL散度,以獲得圖像特征蒸餾損失,如方程式(3)。
其中B代表批量大小,W、H、C分別表示圖像特征的寬度、高度和通道數(shù)。和分別表示教師模型和學(xué)生模型的圖像特征。
3.3.2 BEV feature distillation
作者首先將學(xué)生模型和教師模型的鳥(niǎo)瞰圖(BEV)特征轉(zhuǎn)換為概率分布,這一過(guò)程與圖像特征的轉(zhuǎn)換相同。然后作者根據(jù)公式(4)計(jì)算鳥(niǎo)瞰圖特征上每一點(diǎn)的KL散度。
其中B代表批大小,C指的是BEV特征的通道數(shù)。和分別表示教師模型和學(xué)生模型的鳥(niǎo)瞰圖特征。作者將得到一個(gè)形狀為的損失。
3.3.3 View-guided distillation objective
在前兩節(jié)中,作者獲得了每個(gè)攝像頭在圖像特征上的損失以及BEV特征上每個(gè)點(diǎn)的對(duì)應(yīng)損失。在nuScenes數(shù)據(jù)集上,攝像頭的外部參數(shù)是已知的,因此作者可以獲得每個(gè)攝像頭對(duì)應(yīng)于BEV特征的分布范圍。然后作者生成可以應(yīng)用于圖像特征的視角BEV Mask ,這與在BEVFormer [23]中定義的是相同的。是一個(gè)具有四個(gè)維度的張量:攝像頭數(shù)量、批處理大小、BEV大小 和3D高度,每個(gè)元素具有二進(jìn)制值。通過(guò)沿最后一個(gè)維度(3D高度)計(jì)算平均值,作者可以將BEV Mask 在2D平面上展開(kāi)為BEV大小 。然后,為每個(gè)攝像頭計(jì)算的 可以擴(kuò)展到對(duì)應(yīng)于BEV特征上每個(gè)點(diǎn)的損失,作者將其稱為 :
其中 表示哈達(dá)瑪積。
最后,作者使用 來(lái)獲得等式 (6) 中的視圖引導(dǎo)蒸餾目標(biāo):
視圖引導(dǎo)蒸餾的整個(gè)流程如算法1所示。
算法1 漸進(jìn)量化感知的VGD視圖引導(dǎo)蒸餾
4 Experiments
在本節(jié)中,作者首先詳細(xì)闡述實(shí)驗(yàn)設(shè)置,然后在BEV網(wǎng)絡(luò)上評(píng)估PTQ和QAT方法?;谶@些結(jié)果的分析,作者提出了QD-BEV來(lái)克服標(biāo)準(zhǔn)PTQ和QAT的不足,并且作者專門在不同的設(shè)置和約束下將作者的結(jié)果與之前的工作進(jìn)行比較。
Experimental settings
4.1.1 Dataset
作者使用nuScenes數(shù)據(jù)集[3]對(duì)作者的 Proposal 方法進(jìn)行了具有挑戰(zhàn)性的3D檢測(cè)任務(wù)評(píng)估,這是一個(gè)由Motional(前身為nuTonomy)團(tuán)隊(duì)開(kāi)發(fā)的大規(guī)模公開(kāi)自動(dòng)駕駛數(shù)據(jù)集。該數(shù)據(jù)集包含了在波士頓和新加坡收集的1000個(gè)手動(dòng)挑選的20秒駕駛場(chǎng)景,其中750個(gè)用于訓(xùn)練,100個(gè)用于驗(yàn)證,150個(gè)用于測(cè)試。數(shù)據(jù)集中的圖像來(lái)自6個(gè)具有已知內(nèi)外參數(shù)的相機(jī)。
4.1.2 Evaluation metrics
在nuScenes 3D測(cè)試數(shù)據(jù)集上,主要的測(cè)量指標(biāo)是平均精度(mAP),以及獨(dú)特的評(píng)估指標(biāo)nuScenes檢測(cè)得分(NDS)。NDS是一個(gè)包含多方面信息的綜合評(píng)估指標(biāo)。其他指標(biāo)包括平均平移誤差(mATE)、平均尺度誤差(mASE)、平均方向誤差(mAOE)、平均速度誤差(mAVE)和平均屬性誤差(mAAE)。為了評(píng)估鳥(niǎo)瞰圖(BEV)網(wǎng)絡(luò)的效率,作者使用模型大小和BOPS作為度量標(biāo)準(zhǔn)。模型大小是存儲(chǔ)特定網(wǎng)絡(luò)所需的內(nèi)存,它由模型中的參數(shù)總量以及存儲(chǔ)這些參數(shù)的量化位寬決定。BOPS測(cè)量一個(gè)網(wǎng)絡(luò)推理的總位操作數(shù)[35]。它是評(píng)估量化神經(jīng)網(wǎng)絡(luò)計(jì)算的一個(gè)常見(jiàn)指標(biāo)。對(duì)于一個(gè)具有層的模型,定義和分別為第層權(quán)重和激活值使用的位寬,那么作者有:
其中是計(jì)算第層的總乘累加操作數(shù)。為了更好地展示作者的QD-BEV模型相對(duì)于浮點(diǎn)模型的優(yōu)勢(shì),作者引入了sAP[19](流式平均精度)作為評(píng)估作者模型性能的一個(gè)指標(biāo)。sAP是一個(gè)動(dòng)態(tài)指標(biāo),它將隨著新數(shù)據(jù)的到達(dá)而更新,這使得它非常適合評(píng)估實(shí)時(shí)場(chǎng)景下的模型。
4.1.3 Baselines & Implementation Details
作者主要與BEVFormer [23]提出的不同輸入圖像分辨率的浮點(diǎn)基準(zhǔn)模型進(jìn)行比較(具體來(lái)說(shuō),分別是BEVFormer-Tiny、BEVFormer-Small和BEVFormer-Base)。對(duì)于量化基準(zhǔn),作者應(yīng)用先前的PTQ方法DFQ [29]以及QAT方法PACT [7]和HAWQv3 [40]對(duì)BEVFormer模型進(jìn)行量化,并與QD-BEV進(jìn)行比較。
對(duì)于浮點(diǎn)模型,作者使用了BEVFormer的開(kāi)源庫(kù),并采用了兩種不同的 Backbone 網(wǎng)絡(luò):ResNet50和ResNet101-DCN。作者在權(quán)重上采用逐通道的對(duì)稱線性量化,在激活上采用逐層的量化,這些都是先前量化方法的標(biāo)準(zhǔn)設(shè)置。由于在作者的設(shè)置中幾乎沒(méi)有相關(guān)的工作可供參考,作者讓作者的訓(xùn)練采用與BEVFormer原始訓(xùn)練策略相同的方案,即每個(gè)步驟訓(xùn)練24個(gè)周期,使用AdamW優(yōu)化器,初始學(xué)習(xí)率設(shè)為2e-4,線性預(yù)熱500次迭代,然后使用余弦退火。
Analysis on BEV Quantization
4.2.1 PTQ results
作者首先在表1中分析了不同模塊對(duì)量化的敏感性。可以看出,網(wǎng)絡(luò)的主體部分和編碼器部分對(duì)量化更為敏感,而 Neck 和解碼器部分的量化對(duì)準(zhǔn)確度僅帶來(lái)輕微的干擾。作者要指出的是,基于敏感性分析,可以應(yīng)用混合精度量化來(lái)更好地保護(hù)敏感模塊,但鑒于這超出了本文的研究范圍,作者將其作為未來(lái)的工作。
然后,作者分析了不同量化位寬對(duì)最終性能的影響。表2顯示,直接應(yīng)用少于8位精度的PTQ會(huì)導(dǎo)致顯著的準(zhǔn)確度下降,特別是當(dāng)量化到W4A4時(shí),結(jié)果幾乎變成了純?cè)肼?,大約0 mAP。從表2可以觀察到,為了在實(shí)現(xiàn)超低比特量化時(shí)保持準(zhǔn)確度,進(jìn)行QAT是必要的。
4.2.2 QAT結(jié)果
表4:與先前方法或 Baseline 相比的QD-BEV結(jié)果。
為了解決PTQ嚴(yán)重的準(zhǔn)確度退化問(wèn)題,作者應(yīng)用QAT以更好地使模型適應(yīng)4位量化。在所有實(shí)驗(yàn)中,直接將整個(gè)網(wǎng)絡(luò)量化到目標(biāo)位寬的標(biāo)準(zhǔn)QAT方法會(huì)導(dǎo)致不穩(wěn)定的QAT過(guò)程,在大模型中會(huì)引起梯度爆炸或準(zhǔn)確度迅速下降(例如,W4A6的BEVFormer-Base僅有0.07 mAP)?;谶@一觀察,作者假設(shè)標(biāo)準(zhǔn)QAT中引入的量化擾動(dòng)太大,無(wú)法恢復(fù)。因此,作者應(yīng)用漸進(jìn)式QAT來(lái)限制訓(xùn)練過(guò)程中的量化擾動(dòng)。表3比較了在相同訓(xùn)練周期數(shù)下漸進(jìn)式QAT與標(biāo)準(zhǔn)QAT的性能。作者可以看到,在BEVFormer-Tiny和BEVFormer-Small中,漸進(jìn)式QAT一致優(yōu)于標(biāo)準(zhǔn)QAT(高達(dá)5% mAP),在BEVFormer-Base上取得了更大的性能提升。為了更好地驗(yàn)證作者的分析,作者在圖3中繪制了前60個(gè)周期的漸進(jìn)式QAT訓(xùn)練曲線,其中對(duì)BEVFormer-Tiny進(jìn)行W4A6量化。作者將漸進(jìn)式QAT分為4個(gè)階段,并在每個(gè)階段迭代量化一個(gè)新的模塊。可以看出,在每階段的開(kāi)始,NDS都會(huì)下降,對(duì)應(yīng)于量化每個(gè)新模塊引入的量化擾動(dòng)。
盡管漸進(jìn)式QAT有其優(yōu)點(diǎn),但作者要注意的是,它仍然存在訓(xùn)練不穩(wěn)定和性能下降的問(wèn)題。如圖1所示,對(duì)應(yīng)于圖3的最后20個(gè)周期,漸進(jìn)式QAT在達(dá)到平臺(tái)期后持續(xù)上下波動(dòng),而VGD的訓(xùn)練曲線顯示出更為穩(wěn)定上升的趨勢(shì)。
Main Results of QD-BEV
為了獲得更好的準(zhǔn)確性和穩(wěn)定性,作者應(yīng)用了以浮點(diǎn)模型為教師、量化模型為學(xué)生的視圖引導(dǎo)蒸餾。圖3展示了VGD對(duì)BEVFormer-Tiny進(jìn)行W4A6量化時(shí)的影響。需要注意的是,在最初的60個(gè)周期內(nèi),作者將VGD與逐步量化訓(xùn)練(QAT)分開(kāi),以便更清晰地比較和說(shuō)明,實(shí)際上VGD是一個(gè)即插即用的功能,可以始終與QAT聯(lián)合應(yīng)用,正如作者在最后20個(gè)周期中所做的那樣。得益于圖像域和BEV域的知識(shí),QD-BEV網(wǎng)絡(luò)能夠完全恢復(fù)量化退化,甚至超越浮點(diǎn) Baseline 。如表4所示,該模型的NDS和mAP不僅優(yōu)于先前的浮點(diǎn) Baseline ,也優(yōu)于量化網(wǎng)絡(luò)。由于目前還沒(méi)有緊湊型BEV網(wǎng)絡(luò)的現(xiàn)有結(jié)果,作者在BEVFormer上實(shí)施了標(biāo)準(zhǔn)量化方法DFQ [29],HAWQv3 [40]和PACT [7]作為比較。對(duì)于DFQ(DFQ是一種PTQ方法,較低的位寬會(huì)導(dǎo)致無(wú)法容忍的準(zhǔn)確度下降),作者應(yīng)用W8A8量化,對(duì)于QAT方法和QD-BEV模型,作者使用W4A6量化。作為比較,QD-BEV僅用32.9 MB的模型大小就能達(dá)到0.509的NDS,與BEVFormer-T-DFQ(0.340 NDS)的大小相似,但比BEVFormer-Tiny(126.8 MB,0.354 NDS)小得多。
作者在PETR [24]和BEVDepth [21]模型上進(jìn)行了初步測(cè)試,使用的是圖5中的作者的方法。性能雖未達(dá)到BEVFormer的水平,但仍然超越了傳統(tǒng)量化方法,盡管結(jié)果各異,但這也突顯了該方法潛力。
在圖4中,作者展示了QD-BEV-Base模型在nuScenes驗(yàn)證數(shù)據(jù)集上的可視化結(jié)果,并與BEVFormer-Tiny的結(jié)果和 GT 情況進(jìn)行了比較??梢钥闯?,QD-BEV-Base檢測(cè)到了更多的目標(biāo),并且3D框預(yù)測(cè)比BEVFormer-Tiny更準(zhǔn)確。更多可視化結(jié)果在補(bǔ)充材料中提供。
Streaming perception result
表5:在BEVDepth[21]和PETR[24]上的QD-BEV結(jié)果。
在自動(dòng)駕駛的背景下,流式感知[19]對(duì)于使模型能夠?qū)崟r(shí)快速、精確地做出決策至關(guān)重要。高延遲會(huì)降低流式感知的效果,因?yàn)樗鼤?huì)導(dǎo)致感知數(shù)據(jù)與神經(jīng)網(wǎng)絡(luò)輸出之間的延遲。為了增強(qiáng)流式感知,量化是一項(xiàng)必要的技巧,它壓縮了模型大小,減少了計(jì)算負(fù)載,并加快了推理過(guò)程。在表6中,作者展示了量化在自動(dòng)駕駛場(chǎng)景中對(duì)sAP指標(biāo)的重要影響。如作者所見(jiàn),與浮點(diǎn)模型和量化 Baseline 相比,QD-BEV模型在sAP上顯示出一致的改進(jìn)。
5 Ablation study
在圖5中,作者進(jìn)行了一項(xiàng)消融研究,比較了在僅使用圖像特征上的蒸餾、僅使用BEV特征上的蒸餾以及作者提出的視圖引導(dǎo)蒸餾。所提到的方法稱為CWD [33]。為了公平比較,作者使用了相同的預(yù)訓(xùn)練權(quán)重和超參數(shù),如溫度和學(xué)習(xí)率。從圖中可以看出,視圖引導(dǎo)蒸餾明顯優(yōu)于CWD方法。無(wú)論是在mAP還是NDS曲線上,VGD都呈現(xiàn)出更明顯且穩(wěn)定的上升趨勢(shì),并取得了更好的最終結(jié)果。
6 Conclusion
在本工作中,作者系統(tǒng)地研究了在BEV網(wǎng)絡(luò)上的PTQ和QAT,并展示了它們面臨的主要問(wèn)題。
基于作者的分析,作者提出了一種視圖引導(dǎo)的蒸餾(VGD)方法,該方法可以通過(guò)利用圖像域和BEV域的信息來(lái)穩(wěn)定QAT過(guò)程并提升最終性能。
將VGD作為一種即插即用的功能,在量化的BEV模型中聯(lián)合應(yīng)用,QD-BEV可以縮小精度差距,甚至超越浮點(diǎn) Baseline 。
在nuScenes數(shù)據(jù)集上,僅15.8 MB模型大小的4位權(quán)重和6位激活量化的QD-BEV-Tiny模型達(dá)到了37.2%的NDS,相較于BevFormer-Tiny,在模型壓縮8倍的情況下性能提高了1.8%。