一文搞懂:從 “大模型 LLM” 過渡併入門“多模態大模型 MLLM”

背景

近幾年主要處理 NLP 相關的任務,從小模型到大模型 LLM,主要都是針對文本,最近有多模態模型 MLLM 處理的需求,迫切需要學習下多模態模型的整體情況,整理了此文。

本文適合有 NLP、大模型知識基礎,又想入門瞭解多模態大模型的同學。主要包括:多模態大模型的模型結構、訓練數據、訓練方法、評估方法等,側重於模型結構和算法邏輯。

主要參考資料

原本希望找最新(2025 年 6 月)的多模態大模型綜述,但找到的流行的資料都是 2024 年底的,主要包括如下兩篇,本文主要基於這兩篇文章進行整理:

  1. 《Understanding Multimodal LLMs》:https://magazine.sebastianraschka.com/p/understanding-multimodal-llms

  2. 《A Survey on Multimodal Large Language Models》:https://arxiv.org/pdf/2306.13549

主要名詞:

資料一:《Understanding Multimodal LLMs》

  1. MLLM 概念和使用場景

圖 1. MLLM 輸入輸出各種模態

MLLM 中的 Multimodal 指模型能處理多種模態,主要包括文本、音頻、圖像和視頻。文中說主要指模型的輸入包括多模態,實際上輸出也完全可以多模態,比如生成音頻、圖片和視頻。

使用場景很多,例如對給定的圖片或者視頻,輸出其內容描述,或者輸入圖片 & 要求的指令文本描述,抽取內容以 markdown 格式輸出等。

  1. 構建 MLLM 的通用方法

圖 2. MLLM 的兩種主要方法

主要有兩種方法:

方法 A:統一的 Embedding 解碼器架構

方法 B:跨模態的 Attention 架構

下文主要使用圖片作爲文本之外的模態爲例進行介紹。

2.1 方法 A:統一的 Embedding 解碼器架構

如圖 2 左邊部分,圖片的處理,類似 LLM 中處理文本的方式,使用圖片編碼器把圖片轉化爲 embediding 向量,然後和文本的 embedding 拼接在一起,輸入給 LLM 大模型。

2.1.1 理解圖片編碼器

先回顧一下文本轉化爲 embedding 的過程:

圖 3. 文本轉化爲 embedding 的過程

文本通過 Tokenizer 轉換爲一系列 token,一個 token 可能是一個、多個或者部分單詞或者文字,由具體的 Tokenizer 而定。然後 token 通過 Emdedding 層轉化爲一個一個 embedding 向量,就可以供 LLM 使用了。

圖 4. 圖片編碼器

圖像編碼器直接把圖片轉化爲多個圖片塊的 embedding,對應文本處理 tokenizer 和 embedding 模塊,編碼器內部如下:

圖 5. ViT 模型內部編碼器結構

圖 5 以 ViT 模型結構爲例,ViT 通常用於圖像分類,在 embedding 向量之後通過 MLP 層進行分類,此處我們主要關注輸出 embedding 之前的編碼器部分。圖片先分塊,然後通過線性層、Transformer 編碼,最後輸出 embedding 向量。其中線性層的作用是把分塊後的圖片映射到 embedding 需要的向量大小,再通過 Transformer 得到相同大小的 embedding。

圖 6. 圖片分塊後線性層的作用

當然,也可以在圖片編碼器後對 embedding 進行線性變換,把維度變換爲和文本 embedding 相同大小,以便拼接在一起輸入 LLM 處理。

圖 7. 對圖像編碼器輸出 embedding 進行維度變換

圖像編碼器通常是通過預訓練的 Transformer 模型,流行的有 CLIP 、OpenCLIP 。

2.2 方法 B:跨模態的 Attention 架構

此方法仍然使用方法 A 中討論的圖像編碼器,與方法 A 把圖片 embedding 和文本 embedding 拼接後輸入 LLM Transformer 不同,方法 B 把圖片 embedding 通過交叉注意力(cross-attention)接入 LLM Transformer 的自注意力模塊。

圖 8. 跨模態注意力架構,圖片 embedding 接入多頭注意力層

回顧一下圖 9 Transformer 經典結構中的注意力機制,解碼器 Decoder 中的 Q、K、V 進行多頭注意力計算,其中 K、V 來自編碼器 Encoder,Q 來自 Decoder。

圖 9. Transformer 結構

  1. 訓練方法

由於我們在後面第二大部分介紹 MLLM 綜述的時候會詳細描述模型訓練,本節簡要說明方法 A 和 B 的訓練方法。

圖 10. 方法 A、B 不同組件訓練過程中的凍結、解凍

類似純文本 LLM,MLLM 的訓練通常也包括預訓練和微調階段,但 MLLM 中的 LLM 部分通常使用已經預訓練和指令微調後的 LLM。

通常,在預訓練階段 LLM 凍結,僅訓練線性層的 projector 部分(見圖 10),在指令微調階段解凍 LLM 進行訓練。

本資料介紹了 10 個常見的 MLLM 模型,分別如下(到現在已經有半年時間,常見模型應該有變化,另行再調查):

資料二:《A Survey on Multimodal Large Language Models》

本綜述來自於中科大和騰訊實驗室。

主要內容包括:主流架構、訓練策略和數據、主流評估方法、可擴展點討論、多模態幻覺、擴展技術、挑戰和方向。我挑重點概括,側重前三點。

  1. 主流架構

整體架構如圖 11,雖然和資料一中圖 2 的方法 A 和 B 初看不一樣,其實本質是一樣的,我們後面解釋。

圖 11. MLLM 典型架構

資料一在文本之外的模態直接用圖片模態爲例來說明,本綜述中更嚴謹,輸入、輸出都示例了文本、圖像、音頻、視頻。

文本之外的模態先使用編碼器(Modality Encoder)編碼得到 embedding,然後通過一個連接器(Connector)連接文本和其他模態的 embedding,輸入給 LLM。輸出可以是文本,也可能有生成器生成其他模態數據。所以主要組件包括:Modality Encoder、Connector、LLM,下面分別展開說。

1.1 Modality Encoder

通常,不會從頭開始訓練編碼器,而是使用一個已經預訓練好、和別的模態對齊了的編碼器。例如,CLIP 就是一個在大規模 “圖片 - 文本” 對上經過預訓練,把圖片和文本對齊的編碼器。圖像模態主要使用的編碼器如下表 1。

表 1. 常用圖像編碼器

選擇編碼器主要考慮因素有:分辨率、參數大小、預訓練預料。很多工作已經表明,提高輸入圖片數據分辨率能顯著提高模型性能。提高的方法包括直接提高(用更高分辨率圖片微調編碼器、或者替換支持高分辨率的已預訓練好的編碼器)和分塊方法(把高分辨率圖片分塊,重用低分辨率編碼器)。相比之下,提高模型參數量和訓練數據組合沒有提高輸入分辨率重要。

1.2 預訓練的 LLM

架構圖中的 LLM 通常也是使用已經預訓練好的 LLM,而不是從頭訓練,這樣 LLM 以及擁有了廣泛的通用知識。常用 LLM 如表 2。

表 2. 常用開源 LLM

多數都使用 Transformer Decoder(Causal Decoder)結構,阿里的 Qwen 開源以來,增強了對中文世界的支持。通常,增加模型參數大小能相應提高模型水平。混合專家模型(MoE)也逐漸獲得越來越多的關注(特別是 DeepSeek 成功之後)。

1.3 模態接口(Connector)

連接器就是連接文本和其他模態的橋樑。個人理解,多模態模型本質就是對齊文本模態和其他模態,映射到同一個空間下,然後通過大規模的參數進行訓練學習。

連接器主要分爲兩種接口:token 級別 (token-level) 融合 和 特徵級別 (feature) 融合。這就對應了資料一中的方法 A 和 B,其中方法 A 爲 token 級別融合,方法 B 爲特徵級別融合,所以說本質上兩個資料說的是同一回事。

token 級別融合,多模態編碼器輸出的 embedding 和文本 token 的 embedding 拼接起來輸入到 LLM。Q-Former 通過 Q、K、V 方式學習,有一些方法直接使用 MLP 直接學習。

特徵級別融合,通過額外模塊使文本特徵和其他模態特徵深度融合,資料 B 中的交叉注意力方法只是一種。有實驗證明,token 級別融合比特徵級別融合在 VQA 基線上性能要好,作者認爲因爲使用交叉注意力機制的特徵級別融合需要更多的超參數搜索過程才能達到同等性能。

上述兩種融合方式都可歸納爲可學習的 Connector,就是通過訓練學習 Connector 的參數。還有一種不通過參數學習的方式,直接使用專家模型(Expert Model),把多模態數據轉爲語言。

  1. 訓練策略和數據

完整的 MLLM 訓練包括三個階段:預訓練、指令調優、對齊調優。

2.1 預訓練

預訓練的目的是爲了對齊不同模態,學習多模態的通用知識。預訓練階段主要使用大量的 “文本 - 圖像 / 音頻 / 視頻” 對進行訓練,文本是對圖像 / 音頻 / 視頻的說明。

表 3. 預訓練使用的數據模版

表 3 是一個用於預訓練的數據模版,使用預訓練模型預測圖片的描述。

訓練方法:主流方法是凍結多模態編碼器和 LLM,只訓練可學習的 Connector,目的是爲了不丟失已經預訓練獲取的知識。某些方法也解凍更多參數,比如編碼器中的參數,希望更多參數的學習提供對齊能力。

具體預訓練數據集,主要分爲粗粒度和細粒度高質量數據,如表 4,不再贅述。

表 4. 常見預訓練數據集

2.2 指令調優

指令調優和 LLM 中是同一個概念,只不過數據中增加了各種模態。指令指的是對任務的描述,例如 “把這段視頻的內容描述一下” 就是一個指令。指令調優的目的是讓模型更好地理解人類下達的指令和任務。

和指令調優可對比的學習範式有 3 種,如圖 12:

圖 12. 三種典型的學習範式

(A)是基於預訓練模型進行有監督微調,這種方式需要大量和任務相關的數據,比如翻譯、摘要等。

(B)通過提示詞工程提升模型預測效果,例如使用 few-shot 提供一些例子給模型。

(C)指令調優學習如何歸納未見過的任務,而不是去學習具體的任務。

表 5 是一個用於指令調優的模版數據,在數據的一開始給了具體的指令。不同的模版可定義各種不同的指令。

表 5. 多模態指令數據模版樣例

訓練方法:根據指令、輸入,使用模型預測輸出,讓輸出儘可能接近標籤值。

創建指令調優訓練數據的典型方法有三種:

研究表明,調優數據的質量並不比數量的重要性低,高的數據質量主要指增加指令的多樣性和任務的多樣性、複雜性。

2.3 對齊調優

主要指需要模型和人類偏好進行對齊,例如減少幻覺。

主要使用基於人類反饋的強化學習(RLHF,Reinforcement Learning with Human Feedback)和直接偏好優化(Direct Preference Optimization,DPO),和 LLM 相同,不再贅述。

可用於多模態對齊調優的數據集見表 6。

表 6. 對齊調優數據集

  1. 評估

主要根據評估問題集合進行分類,分爲封閉集和開放集。

封閉集:問題的答案提前預定義好,在一個有限的集合裏,答案可以通過一些基線指標進行判斷。

開放集:問題答案比封閉集更靈活,一般有三種評估方法:人工打分、GPT 模型打分、具體案例分析(case study)。

  1. 擴展點

最近的研究從 MLLM 基礎能力擴展到更廣泛場景覆蓋,包括:

  1. 多模態幻覺

當前的研究,多模態幻覺主要分爲三類:

幻覺的評估方法:CHAIR 方法用於評估開放式標題的幻覺水平,POPE 方法用於評估封閉集選擇,HaELM 建議使用文本 LLM 判斷 MLLM 的標題是否正確。

幻覺緩解方法:

  1. 擴展技術

6.1 多模態 In-Context Learning(M-ICL)

ICL 是 LLM 中重要的能力,有兩個優點:1)不像傳統監督學習通過大量數據學習,ICL 實際不需要訓練,通過類比學習,根據提供的少量示例,能解決複雜的並未曾見過的任務;2)ICL 因爲不需要訓練,容易在推理階段整合到不同的框架中。

ICL 擴展到多模態領域,已經形成了 M-ICL,其主要用於兩個場景:1)解決不同的視覺推理任務;2)教 LLM 使用外部工具,和 CoT 很相近。

6.2 多模態 Chain of Thought(M-CoT)

LLM 中的思維鏈 CoT 不用多解釋,實現 CoT 主要有三種方法:微調、few-shot learning、zero-shot learning。

對於鏈是如何構造的,當前研究認爲有兩種模式:1)基於填充模式,需要基於上下文推斷,填充邏輯缺口;2)基於預測模式,需要根據給定的條件比如指令,擴展推理鏈。

6.3 LLM 輔助視覺推理

從訓練方法上分爲兩種方式:1)無需訓練,直接使用提示詞;2)通過模型微調。

從功能上分爲三種:1)LLM 作爲控制器;2)LLM 作爲決策者;3)LLM 作爲語義提煉者,根據不同需求發揮 LLM 強大的語義能力。

  1. 挑戰和未來方向

主要內容整理到此,如需查看某些主題詳細內容,請移步到文章開頭的原文鏈接查看。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/EHYxawgJZvjuXFZZhd7kXw