多模態大模型

vanilla阿草發表於2024-04-27

想了很久,最後還是寫了這篇。

LLaVA

貢獻

  1. 多模態指令資料。當下關鍵的挑戰之一是缺乏視覺與語言組成的指令資料。本文提出了一個資料重組方式,使用 ChatGPT/GPT-4 將影像 - 文字對轉換為適當的指令格式;
  2. 大型多模態模型。研究者透過連線 CLIP 的開源視覺編碼器和語言解碼器 LLaMA,開發了一個大型多模態模型(LMM)—— LLaVA,並在生成的視覺 - 語言指令資料上進行端到端微調。實證研究驗證了將生成的資料用於 LMM 進行 instruction-tuning 的有效性,併為構建遵循視覺 agent 的通用指令提供了較為實用的技巧。使用 GPT-4,本文在 Science QA 這個多模態推理資料集上實現了最先進的效能。
  3. 開源。研究者向公眾釋出了以下資產:生成的多模式指令資料、用於資料生成和模型訓練的程式碼庫、模型檢查點和視覺化聊天演示。

方法

  • 使用 LLaMA 模型作為 Language Model \(f_φ\)
  • 使用線性層 \(W\) 將影像特徵連線到詞嵌入空間。在LLaVA 1.5中,該部分被替換為MLP。
  • 使用 ViT-L/14 作為 Vision Encoder \(g(·)\)

對於輸入影像 \(X_v\) 與輸入大語言模型的視覺標記 \(H_v\),有:

\[H_v = W \times Z_v = W \times g(X_v) \]

訓練過程

LLaVA的訓練分為兩個階段:

階段1:特徵對齊的預訓練。

  • 只更新投影矩陣:在這個階段,只有連線視覺編碼器和語言模型的投影矩陣被更新。
  • 基於CC3M子集:這一階段的訓練是基於CC3M資料集的一個子集進行的。

階段2:端到端的微調。更新投影矩陣和LLM:在這個階段,投影矩陣和大型語言模型(LLM)都會被更新。

結果

GPT-4V

CloseAI 的 GPT-4V 沒有那麼多公開的技術細節,只能看看他能做什麼、能達到什麼效果。

MiniGPT-4

MiniGPT-4 僅使用一個投影層將一個凍結的視覺編碼器(BLIP-2)與一個凍結的 LLM(Vicuna)對齊。其實和LLaVA是差不多的。

VITRON

前面的那些模型都不能輸出影像,這個是能輸出影像的。

光看這個框架圖是不是就明白了?它透過訓練不同的Projection融合並讓後面可以生成的影像。

模型架構

  • Core LLM Block:Vicuna (7B, version 1.5)
  • 輸入:
    • 文字:常規LLM Embedding
    • 影像:CLIP ViT-L/14@336px,patch_size=14
    • 影片:先獨立處理每個幀,再平均池化
    • 指令:與arXiv:2312.10032一致
  • Backend:看圖中的表

模型訓練

第一步,視覺-語言對齊。LLM frozen,只訓練Projection。
we utilize datasets comprising ‘image-caption’ pairs (CC3M [84]), ‘video-caption’ pairs (Webvid [5]), and ‘region-caption’ pairs (RefCOCO [36])

第二步,時空視覺訓練。透過LoRA微調LLM,使LLM能夠“將影像的細粒度空間性和影片的詳細時間性結合起來”。簡單的說就是對其影片和影像。這一步又包括了影像空間標註、影片時空標註和Grounding-aware 視覺QA三步組成。

第三步,面向呼叫的指令調優輸出。

效果展示

影像與影片分割:

視覺理解與生成:

相關文章