Google Colab で Gemma を試す
「Google Colab」で「Gemma」を試したので、まとめました。
1. Gemma
「Gemma」は、「Gemini」と同じ技術を基に構築された、軽量で最先端のオープンモデルです。
2. Gemma のモデル
「Gemma」は、4つのモデルが提供されています。
モデルカードのページを開き、HuggingFaceにログインし、「Acknowledge license」ボタンを押して、ライセンスを認証します。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) Colabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」の「A100」を選択。
(2) パッケージのインストール。
transformers v4.38.1 以降が必要です。(transformers v4.38.0 もNG)
# パッケージのインストール
!pip install -U transformers
!pip install accelerate
(3) 環境変数の準備。
左端の鍵アイコンで「HF_TOKEN」(HuggingFaceのトークン)を設定し、有効化してからセルを実行してください。
(4) トークナイザーとモデルの準備。
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
"google/gemma-7b-it"
)
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-7b-it",
device_map="auto",
torch_dtype=torch.float16
)
(5) 推論の実行。
# プロンプトの準備
chat = [
{ "role": "user", "content": "まどか☆マギカでは誰が一番かわいい?" },
]
prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
# 推論の実行
input_ids = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**input_ids,
max_new_tokens=128,
do_sample=True,
top_p=0.95,
temperature=0.7,
repetition_penalty=1.1,
)
print(tokenizer.decode(outputs[0]))