Google Gemma オープン LLM リリース

GoogleはGemmaをリリースしました。Geminiアーキテクチャに基づくオープンアクセスの大規模言語モデル(LLM)ファミリーです。このリリースにより、コミュニティは2Bおよび7Bパラメータサイズの高性能モデルを利用でき、コンシューマー向けGPU、TPU、CPU上で効率的にデプロイできるよう設計されています。

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

Gemmaは4つの主要構成で提供され、いずれもコンテキスト長8Kトークンを特徴とし、必須の量子化なしでコンシューマーハードウェア上で実行可能です。

  • gemma-7b: 基本の事前学習済み7Bパラメータモデル。
  • gemma-7b-it: 7Bモデルの指示チューニング版。
  • gemma-2b: 基本の事前学習済み2Bパラメータモデル。
  • gemma-2b-it: 2Bモデルの指示チューニング版。

さらに、Googleは初回リリースから1か月後に更新された指示モデル(gemma-1.1-7b-itgemma-1.1-2b-it)を公開しました。これらの1.1バージョンは、事実性、指示遵守、マルチターン会話の品質、コーディング能力が向上し、応答を "Sure," で始める傾向が減少しています。

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

Gemma 7Bは他のオープンモデルと比較して強力なパフォーマンスを示します。LLM Leaderboardによると、Gemma-7Bはスコア63.75を取得し、Mistral-7B-v0.1(60.97)やLlama 2 7B(54.32)と競合し、Llama 2 70B Chat(67.87)にやや劣ります。

対照的に、Gemma 2Bはスコア46.51で、Phi 2(61.33)など同等サイズの有力モデルより低いことが指摘されています。

技術的実装とプロンプト

プロンプト形式

ベースモデルは特定のプロンプト形式を必要としませんが、指示チューニング(Instruct)バージョンは最適なパフォーマンスのために正確に再現すべき特定の会話構造を使用します。

<start_of_turn>user
[User Input]<end_of_turn>
<start_of_turn>model
[Model Response]<end_of_turn>

トレーニングデータと透明性

技術レポートによれば、ベースモデルはウェブ文書、コード、数学テキストで学習されています。データは個人識別情報(PII)やCSAMコンテンツの除去、ライセンスチェックのためにフィルタリングされました。ただし、データセット構成、前処理、指示モデル向けの教師ありファインチューニング(SFT)および人間のフィードバックからの強化学習(RLHF)に使用された具体的なハイパーパラメータに関する詳細は公開されていません。

エコシステム統合とデプロイ

Hugging Face Transformers

transformers ライブラリ(v4.38+)との統合により、Gemmaは safetensorsbitsandbytes を介した4ビット量子化、パラメータ効率的ファインチューニング(PEFT)を活用できます。モデルは torch.compile() と CUDA グラフに対応しており、推論時に最大4倍の速度向上が期待できます。

ハードウェア要件

  • gemma-7b-it: 約18 GBのRAMが必要(NVIDIA 3090 または 4090 GPU と互換性あり)。
  • 4-bit Quantization: メモリ要件を約9 GBに削減し、より幅広いコンシューマーカードや Google Colab GPU との互換性を実現。

デプロイオプション

  • Google Cloud: Gemma は Vertex AI または Google Kubernetes Engine(GKE)を介し、Text Generation Inference(TGI)を使用してデプロイ可能。
  • Hugging Face Inference Endpoints: バックエンドに TGI を使用した本番レベルのデプロイをサポートし、継続的バッチ処理やトークンストリーミングなどの機能を提供。
  • JAX/Flax: 重みはモデルリポジトリの flax リビジョンを通じて JAX/Flax ユーザー向けに提供。

ファインチューニング機能

Gemma は Hugging Face TRL(Transformer Reinforcement Learning)ライブラリを使用して、コンシューマーサイズの GPU 上で効率的にファインチューニングできます。4ビット量子化と QLoRA(Quantized Low-Rank Adaptation)をすべての注意ブロック線形層に適用することで、7Bモデルは OpenAssistant チャットデータセットを用いて単一の A10G GPU 上で約9時間で学習可能です。

Sources