多模態大模型:基礎架構
文|龐德公
編輯|郭嘉
大模型技術論文不斷,每個月總會新增上千篇。本專欄精選論文重點解讀,主題還是圍繞着行業實踐和工程量產。若在某個環節出現卡點,可以回到大模型必備腔調或者 LLM 背後的基礎模型重新閱讀。而最新科技(Mamba,xLSTM,KAN)則提供了大模型領域最新技術跟蹤。若對於具身智能感興趣的請移步具身智能專欄。技術宅麻煩死磕 AI 架構設計。當然最重要的是訂閱 “魯班模錘”。
多模態大型語言模型(MLLM)是人工智能領域的前沿創新,它結合了語言和視覺模型的功能,可以處理複雜的任務,如視覺問答和圖像字幕。這些模型利用大規模預訓練,集成了多種數據模態,以顯著提高其在各種應用程序中的性能。
架構概覽
較爲常見的 MLLM 框架可以分爲三個主要模塊:接收且有效編碼的多模態編碼器、多模態之間數據對齊的投影器、和接收對齊信號並執行推理的大語言模型。當然各種項目總有自己的差異化設計,例如 Chameleon 或者 Octo。<可以隨鏈接查看!>
MLLM 的主要的優化方向,在於處理高分辨率圖像、壓縮視覺標記(token)、多模態對齊、高效結構和利用緊湊語言模型等。
上圖是一些 MLLM 的部分例子,將其中的基座 LLM、視覺編碼器、圖像分辨率和投影器列具出來。
視覺編碼器
來看看視覺編碼器,與主流 MLLM 實踐一致,基本上都是選擇 CLIP<鏈接查看詳情!> 的預訓練模型。這種方法有助於更好地對齊視覺和文本輸入的特徵空間。視覺編碼器在 MLLM 參數中所佔比例相對較小,因此與語言模型相比,輕量級優化不是剛需。
單一的編碼器肯定無法在不同的任務中始終表現出色,將各種偏差的數據編碼器進行聯動則能夠產生令人驚訝的相似結果。
BRAVE 的深度消融實驗證明了上述的結論。BRAVE 按順序連接了 K 個不同視覺編碼器的特徵(上圖左)。之後這些串聯特徵被 MEQ-Former 進一步提煉(上圖右)。
多個視覺編碼器的確有助於捕捉廣泛的視覺表徵,從而增強模型對視覺數據的理解。Cobra 將 DINOv2 和 SigLIP 集成爲其視覺主幹,其原理是將 DINOv2 的低級空間特徵與 SigLIP 提供的語義屬性相結合將提高後續任務的性能。SPHINX-X 採用兩個視覺編碼器 DINOv2 和 CLIP-ConvNeXt。
鑑於這些基礎模型已經通過不同的學習方法(自監督與弱監督)和網絡架構(ViT 與 CNN)進行預訓練,應該能夠提供互補和複雜的視覺表徵。
這些術語將在後續的文章中逐一講解!可以關注 “具身智能” 專欄!
輕量級視覺編碼器 Vision Transformer 架構在實際應用中由於硬件和環境限制而面臨挑戰。ViTamin 代表一種輕量級視覺模型,專門針對視覺和語言模型量身定製。依照下圖所示,通過兩層的 MBC 外加一層的注意力塊完成視覺編碼,然後和文本一起進行對比學習。
值得一提,ViTamin-XL 的參數數量只有 436M,卻達到了 ImageNet zero-shot 82.9% 的準確率,超過了 EVA-E 的準確率 82.0%。要知道 EVA-E 的參數數量爲 4.4B。
視覺投影器
視覺投影器的目的在於將視覺嵌入(Visual embeddings)等輸入映射到文本空間(Text Embeddings)中。換句話說也就是將不同模態進行對齊。
-
投影,相信讀者最直觀的就是線性投影儀或多層感知器(MLP)來實現,可以理解就是最普通的神經網絡。比如幾層的神經網與非線性激活函數組合而成。
-
部分的投影基於注意力機制。BLIP2 引入 Q-Former,這是一種輕量級轉換器,它使用一組可學習的查詢向量從凍結的視覺模型中提取視覺特徵。
Q-former 基於對比學習進行訓練,上圖右側展示了由 Flamingo 提出的感知重採樣器(Perceiver Resampler)考慮在交叉注意力中使用 earned Queries(上圖彩色序列塊)作爲 Q,而圖像特徵展開與 Q 連接起來,在交叉注意力中充當 K 和 V。
上圖爲 BLIP-2 的第二階段架構,通過這種方式,在 Learned Queries 的相應位置的轉換器輸出被作爲視覺特徵的聚合表示,從而將可變長度的視頻幀特徵標準化爲固定大小的特徵。
- 部分的投影基於 CNN。MobileVLMv2 提出了 LDPv2,這是一種新的投影。由三部分組成:特徵轉換、Token 壓縮和位置信息增強。通過使用逐點卷積層、平均池化和具有跳躍連接的 PEG 模塊,LDPv2 實現了更高的效率,與原始 LDP 相比,參數減少了 99.8%,處理速度略快。
- 最後還有基於大名鼎鼎的 Mamba,VL-Mamba 在其視覺語言投影儀中實現了 2D 視覺選擇性掃描(VSS)技術,促進了不同學習方法的融合。
- 和所有武功都有最後一式一樣,投影可以採用混合架構。Honeybee 提出了兩種視覺投影儀的組合,即 C-Abstractor 和 D-Abstractor,它們遵循兩個主要設計原則:(i)在視覺 Token 數量生成方面提供適應性,以及(ii)有效地維護本地上下文。下圖詳細的展示了 Honeybee 的投影混合架構:
C-Abstractor,或卷積抽象器,專注於通過採用卷積架構來熟練地對局部上下文進行建模。該結構由 L 個 ResNet 塊組成,然後緊接着是額外的 L 個 ResNet 塊,這有助於將視覺特徵抽象爲任意平方數量的視覺標記。而 D-Abstractor 是基於 Deformable 注意力的 Abstractor。
視覺 Token 壓縮
MLLM 在需要複雜識別的任務中面臨着相當大的挑戰,尤其是帶有 OCR 的場景。儘管提高圖像分辨率可以解決,然而增加視覺 Token 的數量給 MLLM 帶來了巨大的計算負擔,這主要是由於 Transformer 架構中計算成本與輸入 Token 數量呈二次比例,因此如何優化則成爲這個領域很熱門的主題。
直接使用高分辨率視覺編碼器進行細粒度感知的成本高,並且不符合實際使用要求。爲了讓 MLLM 能夠感知細節且實現低分辨率的編碼能力,一般會利用全局視圖進行圖片規模的壓縮以及通過拆分衍生局部的圖像塊 (Patch)。
LLaVA-UHD 提出了一種圖像模塊化策略,將原生分辨率的圖像劃分爲更小的可變大小切片,以實現高效和可擴展的編碼。注意下圖左側,這個框架自動的選擇最優的切分方案。
此外,InternLM-XComposer2-4KHD 引入了一種通過自動佈局排列動態調整分辨率的策略,不僅可以保持圖像的原始縱橫比,還可以自適應地改變 Patch 佈局和計數,從而提高圖像信息提取的效率。
通過對不同分辨率的圖像實施自適應輸入策略,可以在感知能力和效率之間實現平衡。如上圖所示,說白了就是將原圖壓縮和切塊一起進行編碼。
Mini-Gemini 由兩個編碼器組成,一個用於高分辨率圖像,另一個用於低分辨率視覺嵌入。它提出了 patch 的信息挖掘,它使用低分辨率的視覺嵌入作爲查詢,通過交叉注意力從高分辨率候選者那裏檢索相關的視覺線索。
Scaling on Scales 表明,多尺度較小模型的學習能力與較大模型相當,並且預訓練較小的模型可以在 MLLM 基準測試上匹配甚至超過較大模型的優勢,同時計算效率更高。
S2-Wrapper 是一種簡單的機制,它可以以無參數的方式將任何預訓練的視覺模型擴展到多個圖像尺度。以 ViT-B 爲例,S2-Wrapper 將輸入圖像插值到不同的尺度(例如 2242 和 4482),然後將每個尺度分割成幾個與默認輸入大小相同的子圖像(4482→4×2242)。對於每個尺度,所有子圖像都被輸入到同一個模型中,輸出(例如 4×162)被合併到整個圖像的特徵圖中(322)。不同尺度的特徵圖被平均池化到原始空間大小(162)並連接在一起。最終的多尺度特徵具有與單尺度特徵相同的空間形狀,但有更高維度(例如 1536 vs 768)。
小結
MLLM 的主要問題是資源需求,訓練這些模型需要大量的計算資源,通常只有擁有大量預算的大型企業才能使用。例如,在 NVIDIA A100 GPU 上訓練像 MiniGPT-v2 這樣的模型需要超過 800 個 GPU 小時,這對於許多學術研究人員和小公司來說成本是巨大的。此外,推理的高計算成本進一步加劇了這個問題,使得在邊緣計算等資源受限的環境中部署這些模型變得困頓。OpenAI 的 GPT-4V 和谷歌的 Gemini 等模型通過大規模預訓練取得了顯著的性能,但它們的計算需求限制了它們的使用。
目前應對這些挑戰的方法集中在優化 MLLM 的效率上,需要 MLLM 採用多種創新技術來解決資源消耗問題。其中包括引入更輕的架構,旨在降低參數和計算複雜性。例如,MobileVLM 和 LLaVA-Phi 等模型使用視覺 Token 壓縮和高效的視覺語言投影器來提高效率。
通過採用 Token 壓縮和輕量級模型結構,這些模型實現了計算效率的顯著提高,並拓寬了其應用範圍。例如,與以前的型號相比,LLaVA-UHD 支持處理分辨率高達 6 倍的圖像,只需 94% 的計算量。這使得在學術環境中訓練這些模型成爲可能,一些模型只需 23 小時即可使用 8 個 A100 GPU 進行訓練。值得一提的是,這些效率的提高不是以犧牲性能爲代價的。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Afmw4aAx9EKTnl2-Rwme-A