【多模態&LLM】LLaVA系列算法架構演進:LLaVA(1.0->1.5->Next(1.6)->NeXT(Video))
LLaVA
模型架構目標是結合預訓練LLM和視覺模型的能力,llava使用Vicuna作為的LLM (語言解碼器),CLIP作為視覺編碼器。

訓練過程分兩階段:

LLaVA 1.5
LLaVA1.5是LLaVA改進版本,主要在網絡結構、數據集規模上進行改進。
LLaVA 1.5模型結構還是之前的llava模型結構,但是做了一些小修改:
- 將視覺-語言連接器由線性投影修改成一個兩層的mlp(前期文章的NVLM-D也是兩層的mlp鏈接視覺-語言模型);
- 將224分辨率的視覺編碼器修改為336pix的視覺編碼器(帶有MLP投影的CLIP-ViT-L-336px)。其余還是llava的模型結構。
另外,LLaVA 1.5在sft數據、相應格式上做了些改進,有興趣看看原文。LLaVA 1.5還引入了高分辨率輸入,這種方法允許模型擴展到任意分辨率,同時保持數據效率。
LLaVA-1.5-HD。通過將圖像分割成網格并獨立編碼,對LLaVA-1.5進行更高分辨率的縮放。這使得模型能夠縮放到任何分辨率,而無需對ViT執行位置嵌入插值。還拼接下采樣圖像的特征,以向LLM提供全局上下文。
當將圖像分辨率擴展到448×448時,LLaVA-1.5-HD在所有基準測試上的整體性能進一步提高,特別是在需要圖像細節感知任務上。
LLaVA 1.5 致力于解決的主要問題為:怎樣在受控的環境下設計多模態大模型(MLLM),以及如何在 LLaVA 框架內進行視覺指令的調優工作。確切而言,其研究重點聚焦于通過簡易的調整來優化 LLaVA 的性能表現,進而令其在多項基準測試中取得最先進的成果。
LLaVA-NeXT(LLaVA-1.6)
與LLaVA-1.5相比,LLaVA-NeXT有幾個改進:
- 將輸入圖像分辨率提高到 4 倍像素。這使其能夠掌握更多視覺細節。它支持三種寬高比,最高分辨率為 672x672、336x1344、1344x336。
- 通過改進的視覺指令調整數據混合,實現更好的視覺推理和 OCR 能力。
- 更好的視覺對話,適用于更多場景,涵蓋不同的應用。更好的世界知識和邏輯推理。
- 使用SGLang進行高效部署和推理。
- 語言模型側:使用更大更強的LLM來提升多模態能力:基于最新的LLaMA3 8B、Qwen-1.5 72B 和Qwen-1.5 110B,LLaVA-NeXT可以繼承更好的視覺世界知識和邏輯推理能力。
LLaVA-NeXT(Video)
相比LLaVA-NeXT改進點:
- 使用 AnyRes 實現零樣本視頻表示能力: AnyRes 技術可以自然地將高分辨率圖像表示為經過預先訓練的 VIT 能夠消化的多個圖像,并將它們形成一個串聯序列。該技術可以自然推廣到表示視頻(由多個幀組成),從而使僅經過圖像訓練的 LLaVA-Next 模型在視頻任務上表現出色。值得注意的是,這是 LMM 首次展示出強大的零樣本模態遷移能力。
AnyRes:從多塊到多幀:LLaVA-NeXT 中引入的AnyRes算法在處理任何高分辨率圖像時實現了性能效率和操作成本之間的最佳平衡。它將圖像分割成具有各種配置的子圖像網格,例如 {2x2, 1x{2,3,4}, {2,3,4}x1}。說明 AnyRes 將一組圖像消化為一系列連接的視覺標記,從而實現統一的圖像和視頻輸入,這自然支持從多圖像到多幀的演變只需進行細微調整,LLaVA-NeXT 便可以處理以 {1xN} 網格排列的N 個視頻幀。假設每幀包含 24x24 個標記,則視頻的總標記數將為 24x24xN。但是,考慮到 LLM 的“max_token_length”限制為 4096,確保 24x24xN + 文本標記數 < 4096 以避免無意義的輸出至關重要。這需要在每幀的標記數和總幀數之間進行仔細的平衡。例如,應用步幅為 2 的空間池化可將每幀的標記數從 24x24 減少到 12x12,最多可容納 16 幀。我們的研究結果表明,在 16 幀中配置 12x12 個標記可獲得最佳性能。但是,16 幀可能不足以捕捉大多數視頻的精髓。接下來,我們重點關注如何讓 LLaVA-NeXT 處理更多幀。 - 具有長度泛化的推理可改善較長視頻的性能。線性縮放技術可實現長度泛化,從而使 LLaVA-NeXT 能夠有效處理超出 LLM 的“max_token_length”限制的長視頻。
長度泛化:從多幀到長視頻:受到 LLM 中處理長序列的最新進展的啟發,例如在旋轉位置嵌入 (RoPE) 中實現線性縮放,我們在 LLaVA-NeXT 中應用了類似的縮放方法。例如,通過引入縮放因子 2,我們有效地將模型的“max_token_length”容量翻倍,使其能夠處理最多 8192 個 token 的序列。借助這種技術,LLaVA-NeXT 可以處理最多 56 幀,每幀 token 數為 12x12,大大擴展了模型在分析較長視頻序列方面的適用性。長度泛化的說明,用于處理具有更多幀的長序列,其中推理中的序列長度可能比訓練中的序列長度更長。這種線性縮放的調整不僅有利于處理更多幀,而且為 LLaVA-NeXT 在綜合視頻分析中的應用開辟了新的途徑,為該領域的未來研究樹立了先例。 - 強大的視頻理解能力。(1)LLaVA-Next-Image結合了上述兩種技術,與針對視頻進行調整的開源 LMM 相比,其零樣本性能更出色。(2)LLaVA-Next-Video是對視頻數據進行進一步監督微調 (SFT) 的 LLaVA-Next-Image,與 LLaVA-Next-Image 相比,其視頻理解能力更佳。(3)LLaVA-Next-Video-DPO使用直接偏好優化 (DPO) 將模型響應與 AI 反饋對齊,性能顯著提升。
LLaVA-Next-Video-DPO(AI反饋直接偏好優化):基于 人類反饋的強化學習 (RLHF) 的最新進展有效地指導LLMs生成更誠實、有用且無害的內容。它們在多式聯運環境中的有效性仍然有限。關鍵的障礙在于(1)開發一個強大的獎勵系統,能夠區分偏好的響應和不太偏好的響應,以及(2)從人類那里獲取高質量的偏好數據既昂貴又費力,特別是對于多幀的視頻輸入。作為一種經濟高效的替代方案,我們最近的研究 LLaVA-Hound考慮了使用LLM獎勵的人工智能反饋。DPO 用于基于LLM生成的偏好數據來訓練 LMM,其中視頻以其詳細的字幕作為支持證據。按照相同的方法,基于更強的 SFT LMM LLaVA-NeXT-Video 探索 DPO,從而形成最終模型 LLaVA-NeXT-Video-DPO。 - 使用SGLang進行高效部署和推理。它使視頻任務的推理速度提高了 5 倍,從而實現了更具可擴展性的服務,例如百萬級視頻重新字幕。
參考文獻
- Visual Instruction Tuning,https://arxiv.org/pdf/2304.08485
- Improved Baselines with Visual Instruction Tuning,https://arxiv.org/pdf/2310.03744
- LLaVA-NeXT: Improved reasoning, OCR, and world knowledge,https://llava-vl.github.io/blog/2024-01-30-llava-next
- A Strong Zero-shot Video Understanding Model,https://llava-vl.github.io/blog/2024-04-30-llava-next-video




































