Gemma 4 ビジュアルガイド
(newsletter.maartengrootendorst.com)- Google DeepMindが公開したGemma 4は、E2B・E4B・31B・26B A4Bの4つのモデルで構成されるマルチモーダルLLMファミリーで、すべてのバリアントが画像入力をサポート
- すべてのモデルは、ローカルアテンション(スライディングウィンドウ)とグローバルアテンション層を交互に配置する構造を共有し、最終層は常にグローバルアテンションに固定
- グローバルアテンション層には、GQA(Grouped Query Attention)、K=V手法、p-RoPE など3つの効率化手法が同時に適用され、メモリと計算量を削減
- 小型モデル(E2B・E4B)は、Per-Layer Embeddings(PLE) によって大きな埋め込みテーブルをフラッシュメモリに保存し、VRAM使用量を最小化するとともに、オーディオエンコーダも追加搭載
- Gemma 4は、可変アスペクト比・解像度に対応するビジョンエンコーダ(ViTベース) と、MoE(26B A4B)アーキテクチャにより、オンデバイスから大規模推論まで幅広い活用をサポート
Gemma 4 ファミリー構成
- 4つのモデルで構成され、denseアーキテクチャとMoEアーキテクチャの2種類を採用
- Gemma 4 - E2B: Per-Layer Embeddingsを適用、有効パラメータ20億
- Gemma 4 - E4B: Per-Layer Embeddingsを適用、有効パラメータ40億
- Gemma 4 - 31B: 310億パラメータのdenseモデル
- Gemma 4 - 26B A4B: 総計260億パラメータのMoEモデルで、推論時には40億パラメータのみを活性化
- すべてのモデルはマルチモーダルで、さまざまなサイズと解像度の画像入力を処理可能
- 小型モデル(E2B・E4B)は、画像・テキストに加えて音声入力にも対応
Gemma 4 共通アーキテクチャ
アテンション層の交互配置(Interleaving Layers)
- Gemma 3と同様に、ローカルアテンション(スライディングウィンドウ) と グローバルアテンション 層を交互に配置
- スライディングウィンドウアテンション: 一定範囲内のトークンのみ参照 → 計算量を削減
- グローバルアテンション: シーケンス全体を参照 → 文脈全体の構造を把握可能
- スライディングウィンドウサイズ
- 小型モデル(E2B・E4B): 512トークン
- 大型モデル(26B A4B・31B): 1024トークン
- Gemma 3では最終層がローカルアテンションである場合もあったが、Gemma 4では最終層を常にグローバルアテンションに固定
- 交互配置の比率
- E2B: ローカルアテンション4層 + グローバルアテンション1層の4:1パターン
- それ以外のモデル: 5:1パターン(ローカル5層 + グローバル1層)
グローバルアテンションの効率化
GQA(Grouped Query Attention)
- グローバルアテンション層では、8つのクエリヘッドが1つのKVヘッドを共有し、KVキャッシュの保存量を大幅に削減
- KVヘッド数削減による性能低下を補うため、Keyの次元サイズを2倍に拡大
K=V手法
- グローバルアテンション層でKeysとValuesを同一に設定し、KVキャッシュのメモリ要件をさらに削減
- 性能低下を大きく招かずにメモリ効率を高める手法
p-RoPE
- RoPE(回転位置エンコーディング)を全次元ではなく一部の次元にのみ適用(p=0.25なら上位25%のペアにのみ適用)
- 低周波ペアは位置情報の代わりに意味(semantic)情報の保持に活用
- グローバルアテンションにおいて、長いコンテキストによるトークン間距離の歪み問題を緩和するのに特に有効
- グローバルアテンション層に適用された主な改善点の要約:
- 最終層は常にグローバルアテンション
- クエリ8個ごとにKey 1個を共有
- Keyの次元を2倍に拡大
- Keys = Values
- p=0.25のp-RoPEを適用
ビジョンエンコーダ
- Vision Transformer(ViT) ベースで、画像をパッチ列に変換して埋め込みを生成
- 各パッチは16×16ピクセル
- 小型モデル(E2B・E4B)は1億5000万パラメータのビジョンエンコーダ、それ以外のモデルは5億5000万パラメータのビジョンエンコーダを使用
可変アスペクト比のサポート
- 従来のViTは正方形入力に固定されており、位置エンコーディングがアスペクト比によって変化する問題があった
- Gemma 4では2D RoPEを導入し、パッチ埋め込みを2つに分割して、それぞれに横(w)・縦(h)の位置情報を独立してエンコード
- 16×16ピクセルのパッチに合わせて入力画像を適応的にリサイズし、完全に合わない部分はパディング処理
- 可変サイズのパッチは空間的位置に基づいてプーリングし、固定数のパッチ埋め込みに縮小
可変解像度のサポート(ソフトトークンバジェット)
- ソフトトークンバジェット(soft token budget) の概念を導入し、LLMに渡される最大パッチ埋め込み数を制限
- ユーザーが選択可能なバジェット: 70、140、280、560、1120トークン
- バジェットが高いほど(例: 1120)高解像度を維持し、低いほど(例: 70)画像をダウンスケール
- 例: バジェット280なら最大パッチ数 = 9 × 280 = 2,520個(3×3ブロック単位で平均プーリングを適用)
線形射影(Linear Projection)
- ビジョンエンコーダの出力埋め込みは、LLMのトークン埋め込みと次元・分布が異なるため、小規模なニューラルネットワークで射影処理
- 射影後にRMSNormを適用し、その後のTransformerブロックが期待するスケールに合わせる
- 線形射影層はGemma 4とともに学習され、パッチ埋め込みがLLMの期待値と一致するよう最適化
Gemma 4 - 31B(Dense)
- 310億パラメータのdenseアーキテクチャモデルで、Gemma 4のバリアントの中では最も基本構造に近い
- Gemma 3の27Bモデルと構造的に近いが、K=Vおよびp-RoPE などGemma 4共通の改善を適用
- 層数は62層から60層に減少した一方で、各層の幅を広げた構造に変更
Gemma 4 - 26B A4B(Mixture of Experts)
- 総計260億パラメータだが、推論時には40億パラメータ(活性パラメータ) のみを使用し、4Bモデル級の速度で動作
- MoE(Mixture of Experts) 構造: 通常の大規模FFNNの代わりに多数の小規模FFNN(Expert)を持ち、入力に応じて一部のみを活性化
- 合計128個のExpertのうち、推論時には8個を選択して活性化
- 共有Expert(Shared Expert)1個は常に活性化され、一般知識の処理を担当し、サイズは他のExpertの3倍
- Routerが入力トークンごとにExpert選択確率を生成してルーティングし、選ばれたExpertの処理結果に確率重みを適用
- 全パラメータはメモリにロードされるが、実際の計算には8個 + 共有1個のExpertのみを使用 → 残り119個は待機状態
Gemma 4 - E2B & E4B(Dense + Per-Layer Embeddings)
Per-Layer Embeddings(PLE)
- モデル内部ではなく各層ごとの独立した埋め込みルックアップテーブルを追加し、小型デバイスでのVRAM使用量を最小化
- E2B基準: 262,144トークン × 35層 × 256次元のPLEテーブル → フラッシュメモリに保存
- 推論開始時に入力トークンの層別埋め込みを一度だけ参照し、その後は各層で再参照不要
- 各デコーダブロック間でゲーティング関数により埋め込みの重みを決定した後、元の埋め込みサイズへ射影(E2B: 256→1536、E4B: 256→2560)
- 射影した埋め込みを正規化して前のデコーダブロック出力と加算し、モデルがトークンの意味を継続的に参照できるようにする
- 「E」はPLEを除いた有効パラメータ(effective parameters) を意味
オーディオエンコーダ
- 小型モデル(E2B・E4B)にのみ搭載され、自動音声認識・翻訳などに活用
- オーディオ処理の3段階:
- 特徴抽出: 生の音声 → メルスペクトログラム(mel-spectrogram)(時間 × 周波数の2D表現)
- チャンクのグループ化: メル特徴をチャンク単位にまとめ、トークン列の出発点を設定
- ダウンサンプリング: 2つの2D畳み込み層で系列長を短縮し、ソフトトークンを生成
- オーディオエンコーダにはConformerを使用: 標準的なTransformerエンコーダに畳み込みモジュールを追加した構造
- Conformer出力埋め込みも、ビジョンエンコーダと同様に線形射影によってGemma 4の埋め込み空間に合わせて変換
まだコメントはありません。