PaliGemmaアーキテクチャの概要とその機能についての解説

PaliGemmaアーキテクチャの解説

はじめに

皆さん、こんにちは!今回は、Googleが開発した新しいヴァージョンの言語-画像モデル、PaliGemmaについて解説します。PaliGemmaは、画像とテキストの両方を入力として受け取り、テキストレスポンスを生成できる軽量なオープンなビジョン-ランゲージモデル(VLM)です。即ち、彼の基盤となるのはPaLI-3であり、SigLIPビジョンモデルやGemma言語モデルにインスパイアを受けたアーキテクチャです。

PaliGemmaの基本概念

PaliGemmaは、「Pathway Language and Image Model」という名の通り、画像とテキストという二つの情報を結びつける力を持っています。ここでは、PaliGemmaアーキテクチャの重要なコンポーネントとその機能について詳しく見ていきましょう。

  • ビジョンタワー: PaliGemmaは、BaseGemmaモデルに追加のビジョンモデルを組み込んでいます。このビジョンモデルは画像エンコーダーとして機能し、入力された画像を処理します。
  • マルチモーダルプロジェクター: ビジョンタワーからの出力を多次元空間に投影して、ビジュアルとテキストの表現を効果的に組み合わせます。
  • 言語モデル: Gemma 2Bモデルを基にした言語モデルで、マルチモーダルな表現を受け取り、テキスト出力を生成します。

ビジョンタワーの詳細

PaliGemmaのビジョンタワーは、SiglipVisionTransformerという特別なトランスフォーマーアーキテクチャを使用して、画像タスクに対処します。具体的には、次のような機能を持っています:

  • 埋め込み処理: SigLIPエンコーダーが画像を「ソフトトークン」へ変換します。これにより、画像は小さなパッチに分割され、モデルはそれぞれのパッチ間の関係を学習します。
  • 位置埋め込み: 各パッチには位置情報が加えられ、元の画像内の配置を捉えます。これは、全体で256個の位置を表現できる埋め込みレイヤーによって実現されます。
  • エンコーダー: SiglipEncoderLayerを通じて、各パッチの埋め込みは自己注意機構とフィードフォワードニューラルネットワークを経由し、画像の異なる部分間の関係を把握します。

マルチモーダルプロジェクター

マルチモーダルプロジェクターは、ビジョンタワーの出力を別の次元に変換し、画像とテキストの情報を効率的に融合します。これによって、PaliGemmaはビジュアルおよび言語情報を同時に使用する能力が強化されます。

言語モデルとその役割

PaliGemmaの言語モデルは、GemmaForCausalLMに基づいています。このモデルは、マルチモーダルプロジェクターからの情報を受け取り、テキストを出力します。例えば、PaliGemmaはおよそ256,000のトークンを持ち、さらに画像空間内の座標を表す1024のエントリーや、画像セグメンテーションに用いられる128のコードワードを追加し、全体で257,216のトークンを持ちます。このため、多様な情報源からの理解が可能になります。

オブジェクトセグメンテーションの例

PaliGemmaは、オブジェクトの検出や画像のセグメンテーションも行います。例えば、与えられたプロンプト「segment floor; cat; person;」に対して、出力として以下のような情報が得られます:

  • 最初の4つの位置トークンは、バウンディングボックスの座標を表します。この情報は、画像のアスペクト比とは独立しています。
  • 次に16個のセグメンテーショントークンによって、セグメンテーションマスクが生成されます。

まとめ

この記事では、PaliGemmaアーキテクチャの概要について学びました。Gemmaファミリーは同様のコアアーキテクチャを持ちながら、異なる用途に向けた多様なモデルを提供しています。これにより、研究者、開発者、エンドユーザーのニーズに様々に応えられるチャンスが広がります。

皆さんも、ぜひこの新しいテクノロジーに触れてみて、その可能性を探ってみてください。そして、Google Developer CommunityのDiscordサーバーに参加し、他の開発者と交流することで、さらに多くの発見があるでしょう。

ご覧いただき、ありがとうございました!