PaliGemma ビジョン言語モデルリリース

Google は、画像とテキストの入力を処理してテキスト出力を生成するオープンなビジョン‑言語モデル(VLM)ファミリーである PaliGemma を発表しました。これらのモデルは、汎用的な対話エージェントとして使用するのではなく、下流タスク向けにファインチューニングされることを前提に設計されています。

モデルアーキテクチャと構成要素

PaliGemma は、ビジョンエンコーダとテキストデコーダを線形アダプタで接続したハイブリッド構造を採用しています。

  • Image Encoder: SigLIP-So400m、画像とテキストを同時に学習した最先端モデル。
  • Text Decoder: Gemma-2B、テキスト生成専用のデコーダーオンリーモデル。
  • Integration: 線形アダプタが SigLIP の画像埋め込みを Gemma が使用する 2048 次元の埋め込みに射影します。

モデルバリエーションと仕様

Google は、複数の解像度と精度で利用可能な 3 種類の主要チェックポイントをリリースしています。

チェックポイントタイプ

  • Pretrained (PT): 特定の下流タスク向けにファインチューニングすることを想定したベースモデル。
  • Mix: 複数タスクの混合でファインチューニングされたモデルで、汎用的な推論や研究に適しています。
  • Fine-tuned (FT): 研究目的で特定の学術ベンチマークに特化したモデル。

技術的構成

  • Resolutions: モデルは 224x224448x448896x896 の解像度で提供されます。高解像度は OCR のような細粒度タスクで性能向上が期待できますが、入力シーケンスが長くなるためメモリ消費が大幅に増加します。
  • Precisions: チェックポイントは bfloat16float16float32 のいずれかで提供されます。

コア機能

PaliGemma は単一ターンモデルで、タスクプレフィックス(例: "detect" や "segment")により動作を条件付けます。"mix" チェックポイントで実証された主な機能は次のとおりです。

  • Image Captioning: プロンプトに基づき画像の説明文を生成します。
  • Visual Question Answering (VQA): 画像内容に関する具体的な質問に回答します。
  • Object Detection: エンティティを特定し、バウンディングボックス座標を出力します。座標は正規化された 1024 スケールの特別な <loc[value]> トークンとして出力され、y_min, x_min, y_max, x_max を表します。
  • Referring Expression Segmentation: 自然言語による記述に基づきエンティティをセグメントし、バウンディングボックスとセグメンテーショントークンの両方を出力します。
  • Document Understanding: 文書(OCR‑QA)から情報を推論・抽出します。

パフォーマンスベンチマーク

Mix Checkpoints

Model MMVP Accuracy POPE Accuracy (random/popular/adversarial)
mix-224 46.00 88.00 / 86.63 / 85.67
mix-448 45.33 89.37 / 88.40 / 87.47

Fine-tuned (FT) Checkpoints

Model Name Dataset/Task Score
paligemma-3b-ft-vqav2-448 Diagram Understanding 85.64 Accuracy on VQAV2
paligemma-3b-ft-cococap-448 COCO Captions 144.6 CIDEr
paligemma-3b-ft-science-qa-448 Science QA 95.93 Accuracy on ScienceQA Img subset (no CoT)
paligemma-3b-ft-refcoco-seg-896 Object References 76.94 Mean IoU (refcoco) / 72.18 (refcoco+) / 72.22 (refcocog)
paligemma-3b-ft-rsvqa-hr-224 Remote Sensing VQA 92.61 Accuracy (test) / 90.58 Accuracy (test2)

推論および実装の詳細

データ処理パイプライン

  1. Text Processing: 入力テキストはトークナイズされ、<bos> トークンが前置され、改行トークン(\n)が末尾に付加されます。
  2. Image Processing: 画像はバイキュービックリサンプリングでリサイズされます。SigLIP エンコーダが画像埋め込み(1152 次元)を生成し、線形プロジェクタがそれを 2048 次元に変換します。
  3. Sequence Construction: 解像度に応じて固定数の <image> トークンが前置されます:224 モデルは 256、448 モデルは 1024、896 モデルは 4096。
  4. Generation: 結合入力(image + bos + prompt + \n)にはフルブロックアテンションが、生成テキストには因果アテンションが使用されます。

デプロイとファインチューニング

PaliGemma は Hugging Face の transformers ライブラリに PaliGemmaForConditionalGeneration クラスとして統合されています。BitsAndBytesConfig を用いた 4 ビット・8 ビットロードに対応し、LoRA や QLoRA のファインチューニングに PEFT が利用可能です。元の JAX 実装を使用する場合は、big_vision コードベースからモデルを取得できます。

Sources