利用 LLM 做多模態任務
大型語言模型 LLM(Large Language Model)具有很強的通用知識理解以及較強的邏輯推理能力,但其只能處理文本數據。雖然已經發布的 GPT4 具備圖片理解能力,但目前還未開放多模態輸入接口並且不會透露任何模型上技術細節。因此,現階段,如何利用 LLM 做一些多模態任務還是有一定的研究價值的。
本文整理了近兩年來基於 LLM 做 vision-lanuage 任務的一些工作,並將其劃分爲 4 個類別:
- 利用 LLM 作爲理解中樞調用多模態模型,例如 VisualChatGPT(2023)[1], MM-REACT(2023)[2];
- 將視覺轉化爲文本,作爲 LLM 的輸入,例如 PICA(2022)[3],PromptCap(2022)[4],ScienceQA(2022)[5];
- 利用視覺模態**影響 LLM 的解碼,**例如 ZeroCap[6],MAGIC[7];
- 凍住 LLM,**訓練視覺編碼器等額外結構以適配 LLM,**例如 Frozen[8],BLIP2[9],Flamingo[10],PaLM-E[11];
接下來每個類別會挑選代表性的工作進行簡單介紹:
一. 利用 LLM 作爲理解中樞調用多模態模型
以微軟 Visual ChatGPT[1] 爲例,它的目標是使得一個系統既能和人進行視覺內容相關的對話,又能進行畫圖以及圖片修改的工作。爲此,Visual ChatGPT 採用 ChatGPT 作爲和用戶交流的理解中樞,整合了多個視覺基礎模型(Visual Foundation Models),通過 prompt engineering (即 Prompt Manager)告訴 ChatGPT 各個基礎模型的用法以及輸入輸出格式,讓 ChatGPT 決定爲了滿足用戶的需求,應該如何調用這些模型,如圖 1 所示。
微軟另一個小組稍晚一段時間提出的 MM-REACT[2] 也是同樣的思路,區別主要在於 prompt engineering 的設計以及 MM-REACT 更側重於視覺的通用理解和解釋,包含了很多 Microsoft Azure API,例如名人識別、票據識別以及 Bing 搜索等。
二. 將視覺轉化爲文本,作爲 LLM 的輸入
以 PICA[3] 爲例,它的目標是充分利用 LLM 中的海量知識來做 Knowledge-based QA。給定一張圖和問題,以往的工作主要從外部來源,例如維基百科等來檢索出相關的背景知識以輔助答案的生成。但 PICA 嘗試將圖片用文本的形式描述出來後,直接和問題拼在一起作爲 LLM 的輸入,讓 LLM 通過 in-context learning 的方式直接生成回答,如圖 2 所示。
in-context learning 的效果比較依賴 example/demonstration 的質量,爲此 PICA 的作者利用 CLIP 挑選了和當前測試樣例在問題和圖片上最接近的 16 個訓練樣例作爲 examples。
三. 利用視覺模態影響 LLM 的解碼
以 MAGIC[3] 爲例,它的目標是讓 LLM 做 image captioning 的任務,它的核心思路是生成每一個詞時,提高視覺相關的詞的生成概率,公式如圖 3 所示。
該公式主要由三部分組成:1)LLM 預測詞的概率;2)退化懲罰(橙色);3)視覺相關性(紅色)。退化懲罰主要是希望生成的詞能帶來新的信息量。視覺相關性部分爲基於 CLIP 計算了所有候選詞和圖片的相關性,取 softmax 之後的概率作爲預測概率。
四. 訓練視覺編碼器等額外結構以適配 LLM
這部分工作是目前關注度最高的工作,因爲它具有潛力來 “以遠低於多模態通用模型訓練的代價將 LLM 拓展爲多模態模型”。DeepMind 於 2021 年發表的 Frozen,2022 年的 Flamingo 以及 Saleforce 2023 年的 BLIP2 都是這條路線,如圖 4 所示。
Frozen 訓練時將圖片編碼成 2 個 vision token,作爲 LLM 的前綴,目標爲生成後續文本,採用 Conceptual Caption 作爲訓練語料。Frozen 通過 few-shot learning/in-context learning 做下游 VQA 以及 image classification 的效果還沒有很強,但是已經能觀察到一些多模態 in-context learning 的能力。
Flamingo 爲了解決視覺 feature map 大小可能不一致(尤其對於多幀的視頻)的問題,用 Perceiver Resampler (類似 DETR 的解碼器)生成固定長度的特徵序列(64 個 token),並且在 LLM 的每一層之前額外增加了一層對視覺特徵進行注意力計算的 cross-attention layer,以實現更強的視覺相關性生成。Flamingo 的訓練參數遠高於 Frozen,因此採用了大量的數據:1)MultiModal MassiveWeb(M3W) dataset:從 43million 的網頁上收集的圖文混合數據,轉化爲圖文交叉排列的序列(根據網頁上圖片相對位置,決定在轉化爲序列後,token 在文本 token 系列中的位置);2)ALIGN (alt-text & image Pairs): 1.8 million 圖文對;3)LTIP (LongText & Image Pairs):312 million 圖文對;4)VTP (Video & Text Pairs) :27 million 視頻文本對 (平均一個視頻 22s,幀採樣率爲 1FPS)。類似 LLM,Flamingo 的訓練目標也爲文本生成,但其對於不同的數據集賦予不同的權重,上面四部分權重分別爲 1.0、0.2、0.2、0.03,可見圖文交叉排列的 M3W 數據集的訓練重要性是最高的,作者也強調這類數據是具備多模態 in-context learning 能力的重要因素。Flamingo 在多個任務上實現了很不錯的 zero-shot 以及 few-shot 的表現。
BLIP2 採用了類似於 Flamingo 的視覺編碼結構,但是採用了更復雜的訓練策略。其包含兩階段訓練,第一階段主要想讓視覺編碼器學會提取最關鍵的視覺信息,訓練任務包括 image-Text Contrastive Learning, Image-grounded Text Generation 以及 Image-Text Matching;第二階段則主要是將視覺編碼結構的輸出適配 LLM,訓練任務也是 language modeling。 BLIP2 的訓練數據包括 MSCOCO,Visual Genome,CC15M,SBU,115M 來自於 LAION400M 的圖片以及 BLIP 在 web images 上生成的描述。BLIP2 實現了很強的 zero-shot capitoning 以及 VQA 的能力,但是作者提到未觀察到其 in-context learning 的能力,即輸入樣例並不能提升它的性能。作者分析是因爲訓練數據裏不存在 Flamingo 使用的圖文交錯排布的數據。不過 Frozen 也是沒有用這類數據,但是也觀察到了一定的 in-context learning 能力。因此多模態的 in-context learning 能力可能和訓練數據、訓練任務以及位置編碼方法等都存在相關性。
總結
“利用 LLM 作爲理解中樞調用多模態模型” 可以方便快捷地基於 LLM 部署一個多模態理解和生成系統,難點主要在於 prompt engineering 的設計來調度不同的多模態模型;
“將視覺轉化爲文本,作爲 LLM 的輸入” 和 “利用視覺模態影響 LLM 的解碼” 可以直接利用 LLM 做一些多模態任務,但是可能上限較低,其表現依賴於外部多模態模型的能力;
“訓練視覺編碼器等額外結構以適配 LLM” 具有更高的研究價值,因爲其具備將任意模態融入 LLM,實現真正意義多模態模型的潛力,其難點在於如何實現較強的 in-context learning 的能力。
相關工作
- [1] Chenfei Wu, Shengming Yin, Weizhen Qi, Xiaodong Wang, Zecheng Tang, Nan Duan:
Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models. CoRR abs/2303.04671 (2023) - [2]“MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action.” (2023).
- [3] Zhengyuan Yang, Zhe Gan, Jianfeng Wang, Xiaowei Hu, Yumao Lu, Zicheng Liu, Lijuan Wang: An Empirical Study of GPT-3 for Few-Shot Knowledge-Based VQA. AAAI 2022: 3081-3089
- [4] Yushi Hu, Hang Hua, Zhengyuan Yang, Weijia Shi, Noah A. Smith, Jiebo Luo: PromptCap: Prompt-Guided Task-Aware Image Captioning. CoRR abs/2211.09699 (2022)
- [5] Pan Lu, Swaroop Mishra, Tony Xia, Liang Qiu, Kai-Wei Chang, Song-Chun Zhu, Oyvind Tafjord, Peter Clark, Ashwin Kalyan: Learn to Explain: Multimodal Reasoning via Thought Chains for Science Question Answering. CoRR abs/2209.09513 (2022)
- [6] Yoad Tewel, Yoav Shalev, Idan Schwartz, Lior Wolf: ZeroCap: Zero-Shot Image-to-Text Generation for Visual-Semantic Arithmetic. CVPR 2022: 17897-17907
- [7] Yixuan Su, Tian Lan, Yahui Liu, Fangyu Liu, Dani Yogatama, Yan Wang, Lingpeng Kong, Nigel Collier: Language Models Can See: Plugging Visual Controls in Text Generation. CoRR abs/2205.02655 (2022)
- [8] Maria Tsimpoukelli, Jacob Menick, Serkan Cabi, S. M. Ali Eslami, Oriol Vinyals, Felix Hill: Multimodal Few-Shot Learning with Frozen Language Models. NeurIPS 2021: 200-212
- [9] Junnan Li, Dongxu Li, Silvio Savarese, Steven C. H. Hoi: BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models. CoRR abs/2301.12597 (2023)
- [10] Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford, Serkan Cabi, Tengda Han, Zhitao Gong, Sina Samangooei, Marianne Monteiro, Jacob Menick, Sebastian Borgeaud, Andrew Brock, Aida Nematzadeh, SahandSharifzadeh, MikolajBinkowski, Ricardo Barreira, Oriol Vinyals, Andrew Zisserman, Karen Simonyan: Flamingo: a Visual Language Model for Few-Shot Learning.CoRR abs/2204.14198 (2022)
- [11] Danny Driess, Fei Xia, Mehdi S. M. Sajjadi, Corey Lynch, Aakanksha Chowdhery, Brian Ichter, Ayzaan Wahid, Jonathan Tompson, Quan Vuong, Tianhe Yu, Wenlong Huang, Yevgen Chebotar, Pierre Sermanet, Daniel Duckworth, Sergey Levine, Vincent Vanhoucke, Karol Hausman, Marc Toussaint, Klaus Greff, Andy Zeng, Igor Mordatch, Pete Florence: PaLM-E: An Embodied Multimodal Language Model. CoRR abs/2303.03378 (2023)
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://zhuanlan.zhihu.com/p/616351346