最新のAIリリースを使いこなすには、単にプロンプトの書き方を知るだけでは不十分です。モデルが256Kという巨大なコンテキストウィンドウ全体でどのように複雑なデータを解析するかを理解するために、包括的な Gemma 4 トークナイザーガイド が必要です。Googleの最新のオープンモデルの進化形であるGemma 4は、テキスト、音声、視覚データを同時に処理するために設計された洗練されたコントロールトークンシステムを導入しています。インタラクティブなゲームアシスタントを構築する場合でも、複雑なコーディングエージェントを構築する場合でも、これらのトークンをマスターすることがモデルの可能性を最大限に引き出す鍵となります。
この Gemma 4 トークナイザーガイド では、新しい対話構造、マルチモーダルプレースホルダーの統合、そして「思考モード(Thinking Mode)」やエージェント的なツール呼び出しに使用される特定のトークンについて詳しく解説します。このチュートリアルの終わりまでに、2026年時点で最も効率的なトークン化戦略を使用して、独自のアプリケーションに構造化された推論とシームレスなツールループを実装できるようになります。
Gemma 4 トークナイザーガイド:コアコントロールトークンと対話構造
Gemma 4とのあらゆるやり取りの基礎となるのは、対話コントロールトークンです。以前のバージョンとは異なり、Gemma 4はターン交代に対してよりきめ細かなアプローチを採用しており、モデルがシステム指示、ユーザー入力、およびモデル自身の内部推論プロセスを明確に区別できるようにしています。
Gemma 4アーキテクチャの主な変更点は、<|turn> と <turn|> というデリミタ(区切り文字)の導入です。これらのトークンは会話のすべてのやり取りのブラケット(括弧)として機能し、推論エンジンに明確な境界を提供します。
| トークン | タイプ | 目的 |
|---|---|---|
| **`< | turn>`** | 境界 |
system | 役割 | 後続のテキストがシステム指示であることを指定します。 |
user | 役割 | 人間のユーザーによるターンであることを示します。 |
model | 役割 | AIアシスタントによって生成されたターンであることを示します。 |
| **`<turn | >`** | 境界 |
💡 ヒント: セッション全体を通じてモデルがペルソナと安全性の制約を維持できるように、システム指示は必ずプロンプトの冒頭で
<|turn>systemブロックに含めてください。
マルチモーダルトークンの統合
Gemma 4はネイティブなマルチモーダルモデルです。つまり、別のキャプション生成モデルを介して画像を見るのではなく、カスタムビジョンエンコーダーを通じて直接画像を処理します。これを容易にするために、トークナイザーは「ソフトエンベディング」を表す特別なプレースホルダートークンを使用します。これらは単なるテキスト文字列ではなく、モデルがフォワードパス中に高次元データに置き換える語彙内の特定のインデックスです。
画像や音声ファイルを扱う場合は、テキストに対してモデルにデータを「認識」させたい正確な位置に、これらのプレースホルダーを挿入する必要があります。
| マルチモーダルトークン | 使用シナリオ |
|---|---|
| **`< | image |
| **`< | audio |
| **`< | image>/<image |
| **`< | audio>/<audio |
Gemma 4を使用してスケッチに基づいたクエストを設計するゲーム開発者の場合、プロンプトは以下のようになります:
<|turn>user\nこのゲームマップを分析してください: <|image|>\n表示されているランドマークに基づいてレベル10のクエストを生成してください。<turn|>\n<|turn>model
思考モードと推論トークン
2026年のGemma 4アップデートの目玉機能の一つが「思考モード(Thinking Mode)」です。これにより、モデルは最終的な回答を出す前に、隠れた「チャネル」で思考の連鎖(Chain-of-Thought: CoT)処理を行うことができます。これは、直接回答するとハルシネーション(幻覚)につながる可能性がある複雑な数学、コーディング、または論理パズルにおいて特に有用です。
これを有効にするには、システム指示に <|think|> トークンを含める必要があります。モデルはその後、以下の構造を使用します:
- チャネルを開く: モデルが
<|channel>thoughtを出力します。 - 内部処理: モデルが推論ステップを生成します。
- チャネルを閉じる: モデルが
<channel|>を出力し、直ちにユーザー向けの回答を開始します。
⚠️ 警告: 標準的なマルチターンの会話では、次のユーザーターンの前に、生成された 「思考」を履歴から削除(ストリップ)する ことが極めて重要です。プロンプトに生の思考を残しておくと、モデルが前回の論理を繰り返して先に進まなくなる「循環推論ループ」に陥る可能性があります。
エージェント型ワークフローとツール利用
Gemma 4は「エージェント型(Agentic)」モデルとして設計されており、関数呼び出し(function calling)を介して外部環境と対話できます。トークナイザーには、モデルとアプリケーションコードの間のこの「ハンドシェイク」を管理するための6つの専用トークンが含まれています。
Gemma 4のツール呼び出しプロトコルのユニークな機能は、<|\"|> トークンの使用です。これはツール呼び出し内のすべての文字列値に対するユニバーサルデリミタとして機能します。これにより、文字列に波括弧やカンマなどの文字が含まれていても、トークナイザーがそれらをツール宣言のJSON風の構造と混同しないようになります。
| トークンペア | 目的 |
|---|---|
| **`< | tool>/<tool |
| **`< | tool_call>/<tool_call |
| **`< | tool_response>/<tool_response |
ツール呼び出しのハンドシェイクプロセス
- 宣言:
<|tool>ブロック内でget_weatherのようなツールを定義します。 - 呼び出し: モデルが天気の情報が必要だと判断し、
<|tool_call>call:get_weather{location:<|\"|>London<|\"|>}<tool_call|>を出力します。 - レスポンス: アプリケーションがこれを傍受し、実際のコードを実行して、
<|tool_response>response:get_weather{temp:15}<tool_response|>をフィードバックします。
vLLMとTransformersでの実装
本番環境でこの Gemma 4 トークナイザーガイド の戦略を使用するには、vLLMのようなフレームワークを使用することになるでしょう。2026年4月現在、Gemma 4の新しいコントロールトークンを正しく認識するには、transformers==5.5.0 以上が必要です。
vLLMサーバーを起動する際は、推論およびツール呼び出しパーサーがアクティブであることを確認するために、特定のフラグを使用する必要があります。これにより、「思考」チャネルがエンドユーザーに表示されるのを防ぎ、ツール呼び出しがAPIハンドラーによって確実にキャッチされるようになります。
vllm serve google/gemma-4-31B-it \
--max-model-len 32768 \
--enable-auto-tool-choice \
--reasoning-parser gemma4 \
--tool-call-parser gemma4
動的なビジョン解像度
Gemma 4では、画像に対する「トークン予算」を設定できます。これは重要な最適化ステップです。単純なアイコンを分析する場合、最大解像度は必要ありません。
| 解像度設定 | トークンコスト | ユースケース |
|---|---|---|
| 低 (Low) | 70 - 140 | アイコン、単純なテキスト、サムネイル |
| 中 (Medium) | 280 - 560 | 標準的な写真、図解、UIスクリーンショット |
| 高 (High) | 1120 | 複雑な地図、法的文書、細かい文字 |
メモリの最適化とパフォーマンス
最大256Kのコンテキストウィンドウでは、メモリ管理が最優先事項です。Gemma 4 トークナイザーガイド の戦略を使用することで、KVキャッシュのフットプリントを削減できます。
- FP8 KVキャッシュ: vLLMで
--kv-cache-dtype fp8フラグを使用して、推論品質を大幅に低下させることなくメモリ使用量を約50%削減します。 - マルチモーダルプロファイリング: 特定のタスクがテキストのみを含む場合は、
--limit-mm-per-prompt image=0 audio=0を渡して、マルチモーダルエンコーダーのメモリ割り当てを完全にスキップします。 - 適応的な思考効率化: システム指示を使用して、モデルに「効率的に考える(think efficiently)」よう指示できます。研究によると、「LOW thinking」の指示を与えることで、単純なタスクの精度を維持しながら推論トークン数を約20%削減できることが示されています。
モデルのアーキテクチャに関する詳細については、公式の Google AI for Developers ポータルをご覧ください。
FAQ
Q: Gemma 4トークナイザーは、古いGemma 2や3のプロンプトでも動作しますか?
A: Gemma 4は古いプロンプト形式を理解することはできますが、推奨されません。このモデルは、<|turn> や <|channel> トークンに特化してトレーニングされています。レガシーなフォーマットを使用すると、推論精度の低下やツール呼び出しの問題が発生する可能性があります。
Q: Gemma 4 トークナイザーガイドを使用して、1つのプロンプトで複数の画像を処理するにはどうすればよいですか?
A: テキスト内に複数の <|image|> プレースホルダーを挿入できます。ただし、推論エンジンが --limit-mm-per-prompt image=N(Nは送信予定の画像数)で構成されていることを確認する必要があります。
Q: マルチターンのチャットで「思考」を削除し忘れるとどうなりますか?
A: モデルが混乱し、以前の内部独白を現在の会話の事実上の根拠として扱ってしまう可能性があります。これにより、出力が繰り返されたり、モデルが自身の以前の論理と「議論」し始めたりすることがよくあります。
Q: すべてのツール呼び出しに <|\"|> デリミタが必要ですか?
A: はい。Gemma 4は、ツールブロック内の文字列ラッパーとしてこの特定のトークンを期待するようにトレーニングされています。これを省略すると、トークナイザーが最初に出会ったカンマや括弧で文字列を区切ってしまい、無効な関数引数につながる可能性があります。