見出し画像

Googleの大規模言語モデル「Gemma」の特徴と使い方

2024年2月にGoogleが発表したオープン型の大規模言語モデル「Gemma」。今回はその特徴や使い方について解説し、「Hugging Face」を通じて実際に試す手順もご紹介します。

Gemmaの特徴とは?

Gemmaは、高性能でありながら軽量な構造が特徴のオープン型言語モデルです。Geminiシリーズと同じ技術が使われており、問答や文章作成、さらにはプログラミング支援にも対応可能。さらに無料でダウンロードして、自分のPCで動かすこともできる手軽さも大きな魅力です。

Gemmaのモデル名に付けられた「B」はビリオン(10億)を表しており、パラメータ数を示します。たとえば、「2B」は20億パラメータ、「9B」は90億パラメータを持つことを意味します。パラメータが多いモデルほど精度は高まりますが、動かすには高性能なPCが必要になります。さらに、商用利用も認められているため、ビジネスへの導入もスムーズです。

Hugging Faceを活用してGemmaを使ってみる

Hugging Faceは、AIモデルやデータセットを共有するプラットフォームで、無料で利用できるのも特徴です。GemmaもHugging Faceで提供されており、利用したいモデルを選んで環境設定するだけで使い始められます。また、Google Colabと組み合わせることで、無料のGPUを使って高速に実行することが可能です。特にリソースが限られた環境で試す場合に便利です。

Hugging Faceを用いたGemmaの実践例

  1. Google Colabのセットアップ:

    • Googleドライブで「Google Colab」を開き、新しいノートブックを作成します。

    • 「ランタイムのタイプ」を選択し、「T4 GPU」を指定しましょう。

  2. Hugging FaceのAPIトークンを取得する:

    • Hugging Faceの設定から「APIトークン」を作成します。

    • `[setting] → [access tokens] → [create new access token]`でトークンを生成し、「Read access to contents of all public gated repos you can access」を選択し、トークンを生成します。

  3. Gemmaモデルの実行:

    • Hugging FaceのGemmaモデルページから、必要なサンプルコードを取得します。

    • 今回は「gemma-2-2b-jpn-it」モデルを使ってみます。

コード例(Gemmaモデルの利用):

# Hugging Faceの認証を行います
from huggingface_hub import login

login()  # 作成したAPIトークンをここで入力

# Transformersライブラリをインストールします
!pip install -U transformers

# ライブラリのインポート
import torch
from transformers import pipeline

# テキスト生成用のパイプラインを設定
pipe = pipeline(
    "text-generation",
    model="google/gemma-2-2b-jpn-it",
    model_kwargs={"torch_dtype": torch.bfloat16},
    device="cuda"  # Macを使っている場合は"mps"に変更
)

# ユーザーからの質問を設定
messages = [
    {"role": "user", "content": "ケツメイシのヒット曲は?"},
]

# モデルに入力して生成結果を取得
outputs = pipe(messages, return_full_text=False, max_new_tokens=256)

# 生成されたテキストを表示
assistant_response = outputs[0]["generated_text"].strip()
print(assistant_response)  # モデルの回答を表示

Hugging Faceの「サーバーレスAPI」を利用して無料で使用できるモデルについて

Supported ModelsのサイトにあるWarm Modelsの中のモデルは、サーバーレスAPIを利用して無料で使用できます。TasksやLanguagesでフィルターすると、用途に合ったモデルを見つけやすくなります。

まとめ

Gemmaは、高い性能を持つオープンモデルとして、さまざまな分野で活用が期待されています。Hugging Faceと組み合わせることで、すぐに試せる手軽さも魅力です。

いいなと思ったら応援しよう!