Google Colab で Japanese StableLM Instruct Alpha v2 を試す
「Google Colab」で「Japanese StableLM Instruct Alpha v2」を試したので、まとめました。
1. Japanese StableLM Instruct Alpha v2
「Japanese StableLM Instruct Alpha v2」は、「Stability AI Japan」が開発した7Bパラメータの日本語LLMです。商用利用を制限しないデータセットのみを利用することで、同等レベルの性能を持つ商用利用が可能なモデルになりました。
2. Japanese StableLM Instruct Alpha v2のモデル
「Japanese StableLM Instruct Alpha v2」では、次の1種類のモデルが提供されています。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) Colabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」を選択。
(2) パッケージのインストール。
# パッケージのインストール
!pip install transformers accelerate bitsandbytes
!pip install sentencepiece einops
(3) トークナイザーとモデルの準備。
import torch
from transformers import LlamaTokenizer, AutoModelForCausalLM
# トークナイザーとモデルの準備
tokenizer = LlamaTokenizer.from_pretrained(
"novelai/nerdstash-tokenizer-v1",
additional_special_tokens=["▁▁"]
)
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/japanese-stablelm-instruct-alpha-7b-v2",
trust_remote_code=True,
torch_dtype=torch.float16,
variant="fp16",
)
model.eval()
model = model.to("cuda")
(4) 推論の実行。
# プロンプトの準備
prompt = """以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。
### 指示:
まどか☆マギカでは誰が一番かわいい?その理由も教えて。
### 応答: """
# 推論の実行
input_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
tokens = model.generate(
input_ids.to(device=model.device),
max_new_tokens=100,
temperature=1,
top_p=0.95,
do_sample=True,
)
output = tokenizer.decode(tokens[0][input_ids.shape[1]:], skip_special_tokens=False).strip()
print(output)