Google Colab で OpenCALM-7B を試す
「Google Colab」で「OpenCALM-7B」を試したので、まとめました。
1. OpenCALM-7B
「OpenCALM-7B」は、「サイバーエージェント」が開発した、日本語LLMです。商用利用可能なライセンスで公開されており、このモデルをベースにチューニングすることで、対話型AI等の開発が可能です。
2. OpenCALMのモデル
「OpenCALM」では、サイズ別に6つの汎用言語モデルが公開されています。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) メニュー「編集→ノートブックの設定」で、「ハードウェアアクセラレータ」で「GPU」で「A100」を選択。
A100でなくてもVRAM 16GBあれば問題ないかと思う。
(2) パッケージのインストール。
# パッケージのインストール
!pip install transformers accelerate
(3) トークナイザーとモデルの準備。
今回は、7Bを指定しています。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# モデルとトークナイザーの準備
model = AutoModelForCausalLM.from_pretrained(
"cyberagent/open-calm-7b",
device_map="auto",
torch_dtype=torch.float16
)
tokenizer = AutoTokenizer.from_pretrained("cyberagent/open-calm-7b")
(4) 推論の実行。
ベースモデルなので、QAプロンプトの書式で動作確認してみました。
# プロンプトの準備
prompt = "Q:まどか☆マギカでは誰が一番かわいい?\nA:"
# 推論の実行
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
tokens = model.generate(
**inputs,
max_new_tokens=64,
do_sample=True,
temperature=0.7,
pad_token_id=tokenizer.pad_token_id,
)
output = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(output)
Q:まどか☆マギカでは誰が一番かわいい?
A:マミさん。魔法少女の中では一番好きです。