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: モデルは
224x224、448x448、896x896の解像度で提供されます。高解像度は OCR のような細粒度タスクで性能向上が期待できますが、入力シーケンスが長くなるためメモリ消費が大幅に増加します。 - Precisions: チェックポイントは
bfloat16、float16、float32のいずれかで提供されます。
コア機能
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) |
推論および実装の詳細
データ処理パイプライン
- Text Processing: 入力テキストはトークナイズされ、
<bos>トークンが前置され、改行トークン(\n)が末尾に付加されます。 - Image Processing: 画像はバイキュービックリサンプリングでリサイズされます。SigLIP エンコーダが画像埋め込み(1152 次元)を生成し、線形プロジェクタがそれを 2048 次元に変換します。
- Sequence Construction: 解像度に応じて固定数の
<image>トークンが前置されます:224 モデルは 256、448 モデルは 1024、896 モデルは 4096。 - Generation: 結合入力(image + bos + prompt + \n)にはフルブロックアテンションが、生成テキストには因果アテンションが使用されます。
デプロイとファインチューニング
PaliGemma は Hugging Face の transformers ライブラリに PaliGemmaForConditionalGeneration クラスとして統合されています。BitsAndBytesConfig を用いた 4 ビット・8 ビットロードに対応し、LoRA や QLoRA のファインチューニングに PEFT が利用可能です。元の JAX 実装を使用する場合は、big_vision コードベースからモデルを取得できます。