將多模態大模型稀疏化,3B模型MoE-LLaVA媲美LLaVA-1.5-7B
機器之心專欄
機器之心編輯部
對於大型視覺語言模型(LVLM)而言,擴展模型可以有效提高模型性能。然而,擴大參數規模會顯著增加訓練和推理成本,因爲計算中每個 token 都會激活所有模型參數。
基於此,來自北京大學、中山大學等機構的研究者聯合提出了一種新穎的 LVLM 訓練策略 ——MoE-Tuning。MoE-Tuning 可以構建參數數量驚人但計算成本恆定的稀疏模型,並有效解決通常與多模態學習和模型稀疏性相關的性能下降問題。該研究還提出了一種基於 MoE 的新型稀疏 LVLM 架構 ——MoE-LLaVA 框架。該框架獨特地在部署過程中通過路由算法僅激活 top-k 專家(expert),其餘專家保持非活動(inactive)狀態。
MoE-LLaVA 只有 3B 個稀疏激活參數,表現卻與 LLaVA-1.5-7B 在各種視覺理解數據集上相當,甚至在物體幻覺基準測試中甚至超越了 LLaVA-1.5-13B。通過 MoE-LLaVA,該研究旨在建立稀疏 LVLMs 的基準,併爲未來研究開發更高效和有效的多模態學習系統提供寶貴的見解。MoE-LLaVA 團隊已經開放了所有的數據、代碼和模型。
圖 1 MoE-LLaVA 在幻覺性能上和其他 LVLM 的比較
方法簡介
MoE-LLaVA 採用三階段的訓練策略。
圖 2 MoE-Tuning 的流程圖
如圖 2 所示,視覺編碼器(vision encoder)處理輸入圖片得到視覺 token 序列。利用一個投影層將視覺 token 映射成 LLM 可接受的維度。類似地,與圖片配對的文本經過一個詞嵌入層(word embedding layer)被投影得到序列文本 token。
階段 1:如圖 2 所示,階段 1 的目標是讓視覺 token 適應到 LLM,賦予 LLM 看懂圖片的實體有哪些的能力。MoE-LLaVA 採用一個 MLP 來將圖片 token 投影到 LLM 的輸入域,這意味着一個個圖片小 patch 被 LLM 當作僞文本 token。在這個階段,LLM 被訓練學會描述圖片,理解更高層次的圖片語義。在這個階段 MoE 層不會被應用到 LVLM 中。
圖 3 更具體的訓練框架和訓練策略
階段 2:用多模態的指令數據來微調是提高大模型能力和可控性的關鍵技術,並且在這個階段 LLM 被調整爲有多模態理解能力的 LVLM。在這個階段該研究加入更復雜的指令,包含圖片邏輯推理,文字識別等高級任務,要求模型有更強的多模態理解能力。通常來說,稠密模型的 LVLM 到此就訓練完成,然而研究團隊發現同時將 LLM 轉爲 LVLM 和把模型稀疏化是具有挑戰的。因此,MoE-LLaVA 將使用第二階段的權重作爲第三階段的初始化以降低稀疏模型學習的難度。
階段 3:MoE-LLaVA 將 FFN 複製多份作爲專家集合的初始化權重。當視覺 token 和文本 token 被喂入 MoE 層時,router 會計算每一個 token 和專家們的匹配權重,然後每個 token 會被送入最匹配的 top-k 個專家進行處理,最後根據 router 的權重加權求和匯聚成輸出。當 top-k 個專家被激活時,其餘的專家保持非活動狀態,這種模型構成了具有無限可能的稀疏通路的 MoE-LLaVA。
實驗
如圖 4 所示,由於 MoE-LLaVA 是第一個基於 LVLM 搭載 soft router 的稀疏模型,因此該研究將之前的模型歸納爲稠密模型。研究團隊在 5 個圖片問答 benchmark 上驗證了 MoE-LLaVA 的性能,並報告了激活的參數量和圖片分辨率。與 SOTA 方法 LLaVA-1.5 相比,MoE-LLaVA-2.7B×4 展現了強大的圖片理解能力,在 5 個 benchmark 上性能非常接近 LLaVA-1.5。其中 MoE-LLaVA 用 3.6B 的稀疏激活參數在 SQAI 上超過了 LLaVA-1.5-7B 1.9%。值得注意的是,由於 MoE-LLaVA 的稀疏結構,只需要 2.6B 的激活參數量就能全面超過 IDEFICS-80B。
圖 4 MoE-LLaVA 在 9 個 benchmark 上的性能
另外,研究團隊還關注到最近的小視覺語言模型 TinyGPT-V,MoE-LLaVA-1.8B×4 在相當的激活參數下在 GQA 和 VisWiz 分別超過 TinyGPT-V 27.5% 和 10%,這標誌着 MoE-LLaVA 強大的理解能力在自然視覺中。
爲了更全面地驗證 MoE-LLaVA 的多模態理解能力,該研究在 4 個 benchmark toolkit 上評估了模型性能。benchmark toolkit 是驗證模型能否能自然語言問答的工具包,通常答案是開放性的並且無固定模板。如圖 4 所示,MoE-LLaVA-1.8B×4 超過了 Qwen-VL,後者使用更大的圖片分辨率。這些結果都展示了 MoE-LLaVA 這一稀疏模型可以用更少的激活參數達到和稠密模型相當甚至超過的性能。
圖 5 MoE-LLaVA 在幻覺物體檢測上的性能評估
該研究採用 POPE 評估 pipeline 來驗證 MoE-LLaVA 的物體幻覺,結果如圖 5 所示,MoE-LLaVA 展現出最好的性能,意味着 MoE-LLaVA 傾向於生成與給定圖像一致的對象。具體的,MoE-LLaVA-1.8B×4 以 2.2B 的激活參數超過了 LLaVA。另外,研究團隊觀察到 MoE-LLaVA 的 yes ratio 佔比處於較均衡狀態,這表明稀疏模型 MoE-LLaVA 能夠根據問題做出正確的反饋。
圖 6 專家負載可視化
圖 6 展示了在 ScienceQA 上 MoE-LLaVA-2.7B×4-Top2 的專家負載。整體上,在訓練初始化時,所有的 MoE 層 中的專家的負載比較平衡。然而隨着模型逐漸被稀疏化,第 17 到 27 層的專家的負載突然增大,甚至幾乎包攬了所有 token。對於淺層的 5-11 層,主要是由專家 2、3、4 共同協作。值得關注的是,專家 1 幾乎只在第 1-3 層工作,隨着模型變深,專家 1 逐漸退出了工作。因此,MoE-LLaVA 的專家們學到了某種特定的模式,它能夠按照一定的規律進行專家分工。
圖 7 模態分佈可視化
圖 7 展示了不同專家的模態分佈。該研究發現 text 和 image 的路由分佈極其相似,例如當專家 3 在 17-27 層努力工作時,它所處理的 text 和 image 的佔比是相似的。這表明 MoE-LLaVA 對於模態並無明顯的偏好。
該研究還在 token level 上觀察了專家們的行爲,並在下游任務上跟蹤所有 token 在稀疏網絡中的軌跡。對 text 和 image 所有激活的通路,該研究採用 PCA 降維得到主要的 10 條通路,如圖 8 所示。研究團隊發現對於某個未見的 text token 或 image token,MoE-LLaVA 始終偏向於派發專家 2 和 3 來處理模型深層。專家 1、4 傾向於處理初始化的 token。這些結果能夠幫助我們更好地理解稀疏模型在多模態學習上的行爲,並探索未知的可能。
圖 8 激活通路可視化