albe_sf

Googleはオープンソースモデルの次世代版であるGemma 2をリリースしました。オープンソースAIを活用して開発するすべての人にとって、大きな意味を持つ動きです。最大のポイントは、27Bパラメータ版が2倍以上のサイズを持つモデルと競合する性能を発揮しながら、単一GPU上で効率的に動作する点です。

これは単なる段階的なアップデートではありません。開発者が自らのスタックを制御できる、実用的で高性能な代替手段を提供することに重点を置いた、新たなアーキテクチャ設計です。

Gemma 2とは

Gemma 2は90億パラメータと270億パラメータの2種類のサイズで提供されます。前世代とは異なり、Gemma 2は再設計されたアーキテクチャを採用しています。技術レポートでは、性能とメモリ使用量のバランスを取るために、ローカルアテンションとグローバルアテンションを交互に用いるハイブリッドアテンション機構が言及されています。

主な注目点は27Bモデルです。Googleは、このサイズでクラス最高レベルの性能を発揮し、はるかに大規模な独自モデルと競合できると主張しています。効率面でも優れており、27Bモデルは単一のNVIDIA H100またはA100 80GB GPU、あるいはGoogle Cloud TPUホスト上でフル精度の推論を実行できます。これにより、このレベルの性能を持つモデルをデプロイする際のハードルが大幅に下がります。

小型の9Bモデルもクラスをリードする位置づけで、同じサイズカテゴリの他のオープンソースモデル(Llama 3 8Bなど)を上回る性能を発揮します。

開発者にとっての意義

エンジニアや小規模チームにとって、Gemma 2はセルフホスティングの選択肢を変えるものです。このレベルの性能を持つ27Bパラメータモデルを、単一で入手しやすいGPU上で動作させられることは、コストと複雑さの面で大きなメリットです。以前は同等の性能を得るために独自モデルのAPIを利用していた場面でも、セルフホスティングが現実的な選択肢になります。

また、主要な研究機関から提供される、商用利用に適した強力なオープンソースモデルが新たに登場したことで、オープンソースエコシステムに競争と選択肢が生まれます。モデルはすでにHugging Face、Kaggle、Google AI Studioで利用可能で、PyTorch、JAX、TensorFlowなどのフレームワークとの統合も提供されています。

Googleはまた、Gemmaモデル向けにSynthIDテキスト透かし技術のオープンソース化に取り組んでいると述べており、AIの安全性やコンテンツの出所に関心を持つ人々にとって興味深い動きです。

Gemma 2の始め方

モデルはHugging Faceから直接取得できます。ほとんどのチャットや指示追従タスクには、指示チューニング済み(-it)のバリアントを利用してください。以下は、transformersライブラリを使って9Bの指示チューニング済みモデルを読み込む方法の例です。

import torch
from transformers import pipeline

# Make sure you have accepted the license on the Hugging Face model page
model_id = "google/gemma-2-9b-it"

pipe = pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device="cuda",
)

messages = [
    {"role": "user", "content": "Write a short, professional git commit message for a change that fixes a bug where the user session expires prematurely."},
]

prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(
    prompt,
    max_new_tokens=256,
    do_sample=True,
    temperature=0.7,
    top_k=50,
    top_p=0.95
)

print(outputs[0]["generated_text"][len(prompt):])

Enter fullscreen mode Exit fullscreen mode

このコードはCUDA対応GPUと必要なライブラリがインストールされていることを前提としています。重要なのは、指示チューニング済み版で正しくプロンプトをフォーマットするために、モデルのチャットテンプレートを使用することです。

なぜ重要なのか

Gemma 2はオープンソースモデル分野における本格的な新星です。特に27B規模において、サイズを超えた性能と推論効率の優れた組み合わせを提供します。大規模なクラスタを必要とせずに大規模モデルのパワーを活用したい開発者にとって、注目すべきリリースです。自らの条件で高度なAI機能を展開するためのハードルを下げる、実用的なツールです。

出典