單卡就能訓的VLM來了!中科院提出MiniDrive:各項指標完爆當前SOTA~
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
寫在前面 & 筆者的個人理解
視覺語言模型(VLM)是自動駕駛中的通用端到端模型,通過問答交互實現預測、規劃和感知等子任務。然而大多數現有方法依賴于計算成本高昂的視覺編碼器和大型語言模型(LLM),這使得它們難以在現實世界場景和實時應用中部署。同時大多數現有的VLM缺乏處理多幅圖像的能力,因此難以適應自動駕駛中的環視感知。為了解決這些問題,我們提出了一個名為MiniDrive的新框架,該框架結合了我們提出的特征工程混合專家(FE-MoE)模塊和動態指令適配器(DI-Adapter)。FE MoE在輸入到語言模型之前,有效地將2D特征映射到視覺標記嵌入中。DI適配器使可視令牌嵌入能夠隨著指令文本嵌入而動態變化,解決了以前方法中同一圖像的靜態可視令牌嵌入問題。與之前的工作相比,MiniDrive在參數大小、浮點運算和響應效率方面實現了最先進的性能,輕量版本僅包含83M個參數。
- 開源鏈接:https://github.com/EMZucas/minidrive
總結來說,本文的主要貢獻如下:
- 本文開發了自動駕駛VLMs MiniDrive,它解決了自動駕駛系統VLMs中高效部署和實時響應的挑戰,同時保持了出色的性能。該模型的訓練成本降低,多個MiniDrive模型可以在具有24GB內存的RTX 4090 GPU上同時進行完全訓練;
- MinDrive首次嘗試利用大型卷積核架構作為自動駕駛視覺語言模型的視覺編碼器骨干,并能夠更高效、更快地提取不同圖像級別的2D特征。我們提出了特征工程混合專家(FE-MoE),它解決了從多個角度將2D特征高效編碼到文本標記嵌入中的挑戰,有效地減少了視覺特征標記的數量,并最大限度地減少了特征冗余;
- 本文通過殘差結構引入了動態指令適配器,解決了同一圖像在輸入到語言模型之前的固定視覺標記問題。DI適配器使視覺特征能夠動態適應不同的文本指令,從而增強跨模態理解;
- 我們在MiniDrive上進行了廣泛的實驗,與Drive LM上具有多視圖圖像輸入的自動駕駛VLM相比,實現了最先進的性能。此外,我們在CODA-LM上使用單幅圖像輸入的性能比普通開源VLM(>7B)平均高出13.2分。
相關工作回顧
Vision-Language Models
Transformer架構的成功推動了LLM的發展。在計算機視覺領域,Dosovitskiy等人提出了ViT,它將圖像劃分為補丁,并根據transformer架構對其進行處理,成功地將其應用于計算機視覺任務。Transformer架構可以有效地學習和表示圖像和自然語言。一項開創性的工作是CLIP,它將對比學習用于圖像-文本對齊訓練,展示了在圖像分類任務中優越的零樣本能力。Llava凍結了CLIP的視覺編碼器(ViT),并在視覺編碼器和LLM之間添加了一個線性投影層,旨在將視覺輸出表示映射到文本空間中。同樣BLIP-2通過更復雜的Q-Former對齊視覺和文本表示。InstructBLIP以BLIP-2為基礎,對公共視覺問答數據集進行指令微調。MiniGPT-4將凍結的視覺編碼器和Q-Former與類似凍結的LLM Vicuna相結合,將它們與單個投影層對齊。Llava-1.5v通過使用帶有多層感知器(MLP)投影層的CLIP-ViT-L-336px,并添加針對學術任務量身定制的VQA數據,通過簡單的響應格式化提示,在11個基準測試中實現了最先進的性能,顯著提高了數據效率。Phi-3-mini具有默認的4K上下文長度,并引入了使用LongRope技術擴展到128K上下文長度的版本,同時采用了類似于Llama-2的塊結構和相同的標記器,實現了輕量級的多模式模型。盡管這些多模態大型模型具有強大的功能,并且有輕量化設計的趨勢,但它們的參數數量超過10億,這使得在許多硬件平臺上的部署和實時使用具有挑戰性。因此,有必要研究和開發具有較小參數大小和較低計算成本的高效視覺語言模型。
Autonomous Driving Based on LLMs
LLM有效地增強了自動駕駛系統的可解釋性及其與人類的互動。這些優勢促使研究人員將自動駕駛的多模態數據納入LLM的訓練中,旨在為自動駕駛構建多模態大型模型。Chen等人將矢量化模態信息與LLaMA-7B對齊,以訓練自動駕駛的問答模型。訓練過程遵循兩階段方法:在第一階段,向量表示與凍結的LLaMA對齊,而在第二階段,LoRA用于微調語言模型。DriveGPT4也使用LLaMA作為其大型語言模型,使用CLIP作為視覺編碼器。它通過輸入視覺和文本信息來生成相應的答案。DriveGPT4操縱ChatGPT/GPT-4生成指令數據集,并在此數據集上進行訓練。然而DriveGPT4僅使用單視角圖像,限制了其在自動駕駛場景中處理更全面理解的能力。Wang等人開發了DriveMLM,該模型使用LLaMA-7B作為基礎語言模型,ViT-g/14作為圖像編碼器。該模型處理多視圖圖像、激光雷達點云、交通規則和用戶命令,以實現閉環駕駛。受大型語言模型中的思維鏈方法的啟發,Sha等人提出了一種用于駕駛場景的思維鏈框架,使用ChatGPT-3.5為自動駕駛提供可解釋的邏輯推理。Mao等人介紹了GPT Driver,它使用ChatGPT-3.5為自動駕駛汽車創建運動規劃器,GPT Driver通過將規劃器的輸入和輸出表示為語言令牌,將運動規劃作為語言建模任務進行刷新。Sima等人發布了DriveLM數據集,這是一個圖形化的視覺問答數據集,其中包含與感知、行為和自我車輛規劃相關的問答對,基于NuScenes數據集的多視圖圖像數據。為了建立基線,Li等人在這個新數據集上對BLIP-2進行了微調。EM-VLM4AD引入了門控池注意力(GPA),它將多個圖像聚合到一個統一的嵌入中,并將其與文本嵌入連接作為LLM的輸入,在DriveLM數據集上取得了有前景的結果。
雖然現有的工作提供了巨大的價值,并展示了強大的自動駕駛能力,但大多數模型都有超過10億個參數。它們主要基于GPT-3.5和LLaMA等大規模語言模型,并依賴于基于ViT架構構建的視覺編碼器,如CLIP、ViT-g/14和ViT-B/32。這導致了高昂的計算成本,使這些模型不適合在線場景。盡管有開發輕型自動駕駛車型的趨勢,但與大型車型相比,它們的性能仍然不足。
MinDrive方法詳解
MiniDrive是自動駕駛領域的一種視覺語言模型,旨在執行視覺問答任務。它通過接收圖像和用戶指令文本作為輸入來生成文本響應。在本節中,我們首先詳細介紹MiniDrive的整體框架,然后具體解釋每個模塊的技術細節和原理,包括視覺編碼器、特征工程混合專家(FE-MoE)和動態指令適配器(DI適配器)。
Model Architecture
圖2(a)展示了MiniDrive的整體結構。在MiniDrive中,主要有兩個分支:視覺和文本。在視覺方面,給定來自車輛的n幅圖像作為視覺編碼器的輸入,每幅圖像都接收一組深度2D特征表示。然后,這些特征被輸入到FE-MoE中,在那里,多個專家沿著通道維度c壓縮信息,并沿著高度h和寬度w維度擴展信息,以生成新的2D特征表示。在FE MoE中,Gate網絡確定哪些專家更適合處理每個圖像,為每個專家分配不同的權重值。最后,通過加權和來組合新的2D特征表示,以產生新的特征集Vmoe。壓扁Vmoe得到V。
Vision Encoder
如圖2(b)所示,視覺編碼器的骨干網絡基于大核神經網絡UniRepLKNet(Ding等人,2024),該網絡在多種模態上表現出色。它有效地利用了大型內核卷積的特性,無需深入網絡層即可實現廣泛的接受域。在保持高效計算的同時,它在各種任務中也達到或超過了當前最先進技術的性能。這種通用性和效率使其成為一個強大的模型,在廣泛的感知任務中具有潛力。如圖3所示,對UniRepLKNet的整體架構進行簡要回顧后發現,它主要由多個順序連接的Stage層組成。每個階段主要由一系列Lark Block和Smak Block組成。在MiniDrive中,我們使用UniRepLKNet作為視覺網絡的骨干,其中輸入圖像并從最后階段n獲得輸出特征圖F1。
Feature Engineering Mixture of Experts
在圖2(b)中,我們展示了FE-MoE的具體結構,該結構旨在處理來自多幅圖像的二維輸入特征。每個輸入圖像對應于視覺編碼器輸出的特征圖F1。為了進一步有效地處理每個圖像的2D特征表示,它們被輸入到FE-MoE中。首先,門網絡使用F1來獲得與樣本對應的專家選擇權重。Gate網絡主要由卷積層、最大池化層和線性層組成,如下式所示:
每個專家網絡主要由解卷積層、ReLU層和卷積層組成。解卷積層首先執行初始上采樣映射,增加特征圖寬度和高度的維度以擴展信息量,從而促進后續的映射學習。同時,它減少了原始特征圖中的通道數量,以最小化數據冗余并選擇最重要的二維特征表示信息,從而顯著簡化了后續視覺標記的數量。卷積層進一步變換特征,以提高專家的學習能力。公式如下:
在這種情況下,F2表示單個專家的輸出。假設圖像的第i個專家的權重為Wi,該專家的輸出為Fi,專家總數為N,則FE-MoE模型處理后的圖像特征Vmoe由以下公式表示:
Dynamic Instruction Adapter
在之前的視覺語言模型中,圖像表示在輸入語言模型之前是固定的,在進入語言模型進行計算之前,它們對應于各種文本表示。為了使圖像表示在輸入到語言模型之前能夠根據不同的文本表示進行動態轉換,從而提高跨模態理解,我們引入了動態指令機制并設計了動態指令適配器。我們使用文本輸入序列T作為鍵(k)和值(v),使用圖像輸入序列v作為查詢(q)。通過交叉注意,我們計算了融合了文本上下文信息的融合序列V。公式如下:
殘差通道中的序列通過殘差連接與投影層的輸出序列連接,作為輸入到語言模型之前的視覺表示。附加語言模型輸出的培訓見附錄。
實驗結果
定量結果
在表1中,我們將MiniDrive的評估結果與之前在測試集上的工作進行了比較,包括EM-VLM4AD和Drive Agent。就指標的整體性能而言,MiniDrive224和MiniDrive384都優于以前的方法,盡管DriveLM Agent在BLEU-4中覆蓋了我們,但它的參數計數明顯大于我們的,達到3.96B。
計算分析
本節主要比較MiniDrive和一系列現有視覺語言模型在參數計數、浮點運算(FLOP)和內存使用(GB)方面的差異。結果如表2所示。以224的輸入圖像分辨率為例,MiniDrive在所有三個方面都表現出了卓越的性能。
定性示例
在圖4中,我們展示了MiniDrive在三個不同任務中對看不見的樣本的實際響應。為了對MiniDrive對多視圖圖像輸入的感知進行可解釋性分析,我們分析了MiniDrive在各種場景下的激活圖。在圖4(a)中,MiniDrive演示了對多個圖像輸入的感知問答,藍色框表示用戶指令中“左后”位置引用的圖像。紅色框對應于MiniDrive的響應,主要關注該圖像,在指定位置識別“許多汽車、一輛卡車和一名行人”。在圖4(b)中,MiniDrive演示了如何為多個圖像輸入規劃問答。根據用戶的指令和空間術語“CAM_FRONT”,MiniDrive會聚焦在相應正面圖像左側的紅色框上。這種關注與人們在做出規劃決策時考慮的因素相一致,包括行車道標記和自我汽車左側的車輛。在圖4(c)中,MiniDrive演示了多個圖像輸入的預測性問答。根據用戶預測“左前”位置行人運動的指令,MiniDrive會關注相應位置圖像中的行人,并用紅色框突出顯示。綜上所述,MiniDrive在激活圖中關注的對象與人類駕駛員在駕駛過程中遵循的推理一致,表明MiniDrive具有一定程度的可靠性和可解釋性。
消融實驗
為了驗證每個模塊的有效性,我們設計了一系列消融實驗。在表3中,我們研究了FE-MoE和動態指令適配器(DI適配器)對MiniDrive的影響。當FE-MoE和動態指令適配器分別引入時,各種指標的結果都有所改善,當兩個模塊同時引入時,效果更好。這表明了模塊之間機制的有效性。其他消融實驗的詳細信息見附錄。
進一步分析
盡管MiniDrive被設計為用于接收多圖像輸入的自動駕駛問答模型,但它從多個圖像中提取、壓縮和重新學習信息,作為語言模型的文本令牌。然而它仍然可以用于單個圖像輸入任務。我們將其與CODA-LM上現有的主流開源和閉源通用模型進行了比較,如表4所示。很明顯,盡管MiniDrive只有83M個參數,但它表現出了卓越的性能,優于開源模型,接近閉源模型的性能。由于訓練數據的分布問題,我們認為這是MiniDrive識別“圓錐體”能力強的主要因素。
結論
本文介紹了MiniDrive,這是一種最先進的自動駕駛輕量級視覺語言模型。我們介紹了FE-MoE和DI-Adapter機制,提出了一種將2D卷積特征映射到語言模型的文本標記中的新方法。我們的模型在DriveLM和CODA-LM兩個數據集上取得了出色的結果。未來,我們的目標是開發一個具有視頻輸入的實時響應模型,以進一步推進自動駕駛技術。
限制
MiniDrive構建了專用于自動駕駛領域的VLM,并在當前的主流基準測試中取得了優異的成績。然而它仍然缺乏一定程度的泛化能力,我們認為這是由于訓練樣本的局限性造成的。現有的自動駕駛領域需要更多的公共數據集和開發工作。此外,MiniDrive的培訓主要集中在基于指令的數據集上,它仍然會遇到幻覺問題。