PaliGemma 視覺語言模型發布

Google 推出了 PaliGemma,一個開放式視覺語言模型(VLM)系列,旨在處理圖像與文字輸入並產生文字輸出。這些模型特別設計為可針對下游任務進行微調,而非作為通用對話代理使用。

模型架構與組件

PaliGemma 採用結合式架構,由視覺編碼器與文字解碼器透過線性適配器相連:

  • 影像編碼器: SigLIP-So400m,一個在圖像與文字上共同訓練的最先進模型。
  • 文字解碼器: Gemma-2B,一個僅含解碼器的文字生成模型。
  • 整合方式: 線性適配器將 SigLIP 的影像嵌入投射至與 Gemma 使用的 2048 維嵌入相匹配。

模型變體與規格

Google 已以三種主要檢查點類型發布 PaliGemma,並提供多種解析度與精度的版本:

檢查點類型

  • 預訓練 (PT): 作為基礎模型,旨在針對特定下游任務進行微調。
  • 混合 (Mix): 在多任務混合上微調的模型,適用於通用推論與研究。
  • 微調 (FT): 針對特定學術基準進行專門微調的模型,用於研究目的。

技術配置

  • 解析度: 模型提供 224x224448x448896x896。較高的解析度雖能提升如 OCR 等細粒度任務的效能,卻會因較長的輸入序列而大幅增加記憶體需求。
  • 精度: 檢查點提供 bfloat16float16float32 三種精度。

核心能力

PaliGemma 為單回合模型,透過任務前綴(例如「detect」或「segment」)來條件化其行為。由「mix」檢查點展示的主要能力包括:

  • 影像說明(Image Captioning): 根據提示為圖像產生描述性文字。
  • 視覺問答(VQA): 回答關於圖像內容的特定問題。
  • 目標偵測(Object Detection): 識別實體並提供邊界框座標。座標以特殊的 <loc[value]> 代碼(正規化至 1024)輸出,代表 y_min、x_min、y_max、x_max
  • 指稱表達分割(Referring Expression Segmentation): 根據自然語言描述對實體進行分割,輸出邊界框與分割代碼。
  • 文件理解(Document Understanding): 推理並從文件中提取資訊(OCR-QA)。

效能基準

Mix 檢查點

模型 MMVP 正確率 POPE 正確率(隨機/流行/對抗)
mix-224 46.00 88.00 / 86.63 / 85.67
mix-448 45.33 89.37 / 88.40 / 87.47

微調 (FT) 檢查點

模型名稱 資料集/任務 分數
paligemma-3b-ft-vqav2-448 圖表理解 VQAV2 上 85.64% 正確率
paligemma-3b-ft-cococap-448 COCO 標題 144.6 CIDEr
paligemma-3b-ft-science-qa-448 科學問答 ScienceQA 圖像子集(無 CoT)上 95.93% 正確率
paligemma-3b-ft-refcoco-seg-896 目標參照 Mean IoU 為 76.94(refcoco)/ 72.18(refcoco+)/ 72.22(refcocog)
paligemma-3b-ft-rsvqa-hr-224 遙感視覺問答 測試集正確率 92.61% / 測試集2正確率 90.58%

推論與實作細節

資料處理流程

  1. 文字處理: 輸入文字會被分詞,前置 <bos> 代碼,並在結尾加入換行 (\n) 代碼。
  2. 影像處理: 影像會使用雙三次重採樣進行縮放。SigLIP 編碼器產生 1152 維的影像嵌入,線性投影器再將其轉換為 2048 維。
  3. 序列構建: 模型會根據解析度在前方加入固定數量的 <image> 代碼:224 模型為 256 個,448 模型為 1024 個,896 模型為 4096 個。
  4. 生成: 模型對結合的輸入(影像 + bos + 提示 + \n)使用完整區塊注意力,對生成的文字使用因果注意力。

部署與微調

PaliGemma 已透過 PaliGemmaForConditionalGeneration 類別整合至 Hugging Face transformers 函式庫。它支援透過 BitsAndBytesConfig 以 4 位元與 8 位元載入,且相容於 PEFT 的 LoRA 與 QLoRA 微調。若使用原始 JAX 實作,模型可於 big_vision 程式碼庫取得。

Sources