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