清楚了!一文看懂多模態大語言模型CLIP架構和 SigLIP架構
圖片
近年來,人工智能領域在多模態學習方面取得了顯著進展,相關模型能夠理解和關聯圖像與文本等不同數據類型的信息。OpenAI 的 CLIP(對比語言 - 圖像預訓練)和 Google 的 SigLIP(語言 - 圖像預訓練的 Sigmoid 損失函數)是其中最具影響力的成果。
這些模型革新了機器對視覺和文本信息的解讀與關聯方式,使得從圖像分類到零樣本學習等各類應用成為可能。本文將對 CLIP 和 SigLIP 的架構、訓練范式及關鍵差異進行剖析。
1. CLIP:對比語言 - 圖像預訓練(2021 年)
CLIP 由 OpenAI 于 2021 年推出,是一種開創性模型,能夠將圖像和文本表示對齊到共享嵌入空間中。與依賴特定任務標記數據集的傳統監督學習方法不同,CLIP 采用對比學習目標,在無需針對特定任務進行微調的情況下,能夠廣泛泛化到多種任務中。
1.1 CLIP 架構
CLIP 由以下兩個核心組件構成:
- 圖像編碼器:通常采用 Vision Transformer(ViT)或類似 ResNet 的卷積神經網絡,將圖像轉化為固定長度的向量嵌入。
- 文本編碼器:基于 Transformer 的語言模型(與 BERT 或 GPT 架構相似),把文本描述編碼為與圖像嵌入維度相同的向量嵌入。
這兩個編碼器協同工作,將圖像和文本映射到共享潛在空間。在此空間中,語義相關的圖像 - 文本對(如狗的圖像與 “一張狗的照片” 這一標題)彼此靠近,而語義不相關的對則相距較遠。
1.2 CLIP 訓練目標
CLIP 在約 4 億個從網絡爬取的圖像 - 文本對上進行訓練。訓練過程采用受 InfoNCE(噪聲對比估計)啟發的對比損失函數。對于包含 N 個圖像 - 文本對的批次:
- 計算所有 N×N 種圖像和文本嵌入組合的余弦相似度。
- 目標是最大化 N 個正確(匹配)對的相似度,同時最小化 N2?N 個錯誤(不匹配)對的相似度。
- 通過優化相似度分數上的對稱交叉熵損失實現。
同樣計算文本到圖像方向的損失,總損失為兩者的平均值。
其中, 是控制分布軟硬度的溫度參數。這種對稱形式確保圖像和文本兩種模態的表示能有效對齊。
1.3 CLIP 的零樣本學習能力
CLIP 的優勢在于其零樣本學習能力。預訓練后,它能夠通過構建提示(例如 “一張 [類別] 的照片”)并比較圖像嵌入與可能類別的文本嵌入,執行圖像分類等任務,而無需特定任務的訓練數據。
零樣本 CLIP 在應對分布偏移時,比標準 ImageNet 模型具有更強的魯棒性。左圖展示了理想魯棒模型(虛線)在 ImageNet 分布和其他自然圖像分布上的表現一致。零樣本 CLIP 模型將這種 “魯棒性差距” 縮小了高達 75%。圖中顯示了對 logits 轉換值的線性擬合以及基于自助法估計的 95% 置信區間。右圖則可視化了香蕉類別的分布偏移情況,該類別在 7 個自然分布偏移數據集中有 5 個共享。最佳零樣本 CLIP 模型(ViT-L/14@336px)的表現與在 ImageNet 驗證集上表現相同的 ResNet-101 模型進行了對比。(來源:OpenAI)
2. SigLIP:語言-圖像預訓練的 Sigmoid 損失(2023 年)
SigLIP 由 Google Research 于 2023 年推出,它在 CLIP 奠定的基礎上進行了關鍵創新。CLIP 采用基于 softmax 的對比損失函數,而 SigLIP 則引入了成對的 sigmoid 損失函數,簡化了訓練流程,并提高了效率和性能,尤其在大規模數據集上表現突出。
2.1 SigLIP 架構
SigLIP 保留了與 CLIP 類似的雙編碼器設置:
- 圖像編碼器:可以是 Vision Transformer 或其他視覺骨干網絡。
- 文本編碼器:基于 Transformer 的語言模型。
這種架構對編碼器的具體選擇具有高度靈活性,能夠方便地進行擴展或適應不同領域。
2.2 SigLIP 訓練目標
SigLIP 的關鍵創新在于用基于 sigmoid 的損失函數替換了 CLIP 的對比損失函數。對于包含 N 個圖像 - 文本對的批次:
這種成對的公式消除了 CLIP 的 softmax 對比損失所需的全批次歸一化需求。這樣做簡化了計算,并增強了穩定性,特別是在擴展到更大的批次大小時。
SigLIP 的優勢
- 效率提升:sigmoid 損失函數使每對的損失計算相互獨立,相比 CLIP 的全批次歸一化操作,提供了更好的并行性并減少了內存開銷。
- 魯棒性增強:SigLIP 在處理噪聲數據或不平衡數據時表現出色,這可能是因為其損失函數對異常值的敏感度較低。
- 可擴展性提高:簡化的損失函數使得 SigLIP 更容易擴展到更大的數據集,如 Google 內部的數十億圖像 - 文本對語料庫。這使得 SigLIP 能夠充分利用大規模數據進行訓練,從而在各種任務中實現更高的性能。
CLIP 為多模態學習奠定了基礎,而 SigLIP 通過優化損失函數來提升效率和可擴展性,使其更適用于工業規模的應用。
CLIP 與 SigLIP 的關鍵區別
- 損失函數:
CLIP:采用基于 softmax 的對比損失函數,需計算批次中所有對的相似度并進行全局歸一化,導致計算復雜度較高,特別是在大批量數據時內存和計算開銷大。
SigLIP:引入基于 sigmoid 的成對損失函數,將每對圖像 - 文本對獨立視為正例或負例,無需全局歸一化,降低了計算復雜度和內存需求。
- 訓練效率:
CLIP:由于 softmax 的全批次歸一化操作,計算開銷較大,訓練效率在大規模數據集和大批次訓練時受限。
SigLIP:sigmoid 損失函數使每對的損失計算相互獨立,便于并行計算,提升了訓練效率,適合大規模數據集和大批次訓練。
- 擴展性:
CLIP:在處理非常大的數據集時,由于計算復雜度問題,擴展性受限。
SigLIP:簡化的損失函數設計使其更容易擴展到更大的數據集,適用于工業規模應用場景。
- 魯棒性:
CLIP:在處理噪聲數據或不平衡數據時,可能會受到一定影響。
SigLIP:對噪聲和不平衡數據的魯棒性更強,能夠更有效地處理這類數據。
總之,SigLIP 在繼承 CLIP 的多模態學習框架基礎上,通過改進損失函數,提高了訓練效率和模型的擴展性及魯棒性,更適合大規模工業應用場景。
3. 多模態大語言模型(MLLMs)
CLIP 和 SigLIP 的出現極大地推動了多模態大語言模型(MLLMs)的發展,這些模型將視覺和語言能力整合到一個統一的框架中。通過利用 CLIP 和 SigLIP 預訓練的圖像 - 文本對齊能力,這些模型能夠執行視覺問答(VQA)、圖像描述生成和多模態推理等任務。下面我們將探討 CLIP 和 SigLIP 在 LLaVA 等知名 MLLMs 中的應用。
3.1 LLaVA:語言與視覺助手(2023 年)
LLaVA(Large Language and Vision Assistant)由加州大學伯克利分校和微軟的研究人員開發,是建立在 CLIP 基礎之上的一類重要 MLLM。LLaVA 將 CLIP 的視覺編碼器(通常是 Vision Transformer)與大型語言模型(如 LLaMA 或 Vicuna)相結合,以處理圖像和文本輸入。
- 架構設計:LLaVA 的核心在于將 CLIP 的視覺編碼器與強大的語言模型相融合。視覺編碼器負責將圖像轉化為語義嵌入,語言模型則利用這些嵌入生成連貫的文本輸出。這種結合使得 LLaVA 能夠理解和回應圖像和文本的復合輸入。
LLaVA 的架構如下:
首先,圖像處理部分使用 CLIP 預訓練的圖像編碼器從輸入圖像中提取視覺嵌入。
接著,投影層(線性或基于 MLP 的投影層)將 CLIP 視覺嵌入映射到語言模型的輸入空間,確保不同模態之間的兼容性。
文本整合階段,將視覺嵌入與文本標記嵌入進行拼接或交錯排列,使語言模型能夠同時對兩種輸入進行推理。
最后,LLaVA 在視覺指令跟隨數據集(如視覺問答或圖像描述任務)上進行微調,以適應下游應用。
通過利用 CLIP 的零樣本能力,LLaVA 能夠在很少的微調情況下泛化到未見過的任務,使其在交互式聊天機器人等實際應用中高度靈活,能夠解析圖像。
3.2 其他知名的多模態大語言模型(MLLMs)
CLIP 和 SigLIP 已被整合到其他多個知名的 MLLMs 中,增強了這些模型的多模態能力:
BLIP-2(Bootstrap Language-Image Pretraining)
- 開發者:由 Salesforce Research 開發。
- 架構:BLIP-2 使用 CLIP 的視覺編碼器提取圖像特征,然后將這些特征輸入到輕量級查詢變換器(Q-Former)中,再由語言模型(如 OPT 或 Flan-T5)進行處理。
- 優勢:這種模塊化方法減少了計算開銷,同時在視覺問答(VQA)和圖像-文本檢索等任務上保持了強大的性能。
Flamingo
- 開發者:由 DeepMind 推出。
- 架構:Flamingo 使用 CLIP 的視覺編碼器處理圖像序列,并將其與預訓練的語言模型(如 Chinchilla)結合。Flamingo 的架構中包含一個 “Perceiver Resampler”,用于壓縮視覺嵌入,從而能夠高效地處理長視覺上下文和文本。
- 優勢:這種設計使得 Flamingo 能夠處理多個圖像并進行長序列的視覺推理,適用于需要復雜視覺理解的任務。
Google 的多模態模型
- 應用:Google 在其多模態模型中也集成了 SigLIP,例如 Gemini 模型家族。
- 優勢:SigLIP 的成對 sigmoid 損失函數提高了模型在大規模數據集上的擴展性和效率,使其在圖像支持的對話和內容理解等任務中表現出色。
3.3 CLIP 和 SigLIP 在 MLLMs 中的優勢
- 預訓練對齊:CLIP 和 SigLIP 提供了預對齊的圖像 - 文本表示,為下游任務提供了強大的起點,減少了對大量監督數據的需求。
- 靈活性:它們的編碼器設計可以無縫集成到各種語言模型中,便于研究人員嘗試不同架構。
- 擴展性:SigLIP 的高效損失函數使其在大規模多模態數據集上訓練 MLLMs 時具有顯著優勢,而 CLIP 的零樣本學習能力則增強了模型的適應性。
3.4 挑戰
盡管 CLIP 和 SigLIP 具有諸多優勢,但將它們集成到 MLLMs 中也面臨一些挑戰:
- CLIP 的固定嵌入空間:可能限制細粒度推理,需要額外的投影層或微調。
- SigLIP 的可擴展性權衡:在小規模設置中,SigLIP 對可擴展性的關注可能會犧牲 CLIP 的部分零樣本泛化能力。
- 訓練數據偏見:兩者都繼承了其從網絡爬取的訓練數據中的偏見,可能導致 MLLM 輸出結果存在偏見,需要仔細評估和制定去偏策略。
本文轉載自??智駐未來??,作者:小智
