見出し画像

Google Colab で Japanese Stable LM Beta 70Bを試す

「Google Colab」で「Japanese Stable LM Beta 70B」を試したので、まとめました。

【注意】Google Colab Pro/Pro+ の A100で動作確認しています。


前回

1. Japanese Stable LM Beta 70B

Japanese Stable LM Beta」は、「Stability AI」が開発した「Llama 2」ベースの日本語LLMです。最大サイズの「JSLM Beta 70B」は、700億パラメータの商用利用可能な日本語言語モデルになります。

2. Japanese Stable LM Beta 70Bの量子化モデル

「Japanese Stable LM Beta」の70Bの量子化モデルは、現在3つ提供されています。

TheBloke/japanese-stablelm-instruct-beta-70B-GPTQ
TheBloke/japanese-stablelm-instruct-beta-70B-AWQ
TheBloke/japanese-stablelm-instruct-beta-70B-GGUF

3. Colabでの実行

Colabでの実行手順は、次のとおりです。

(1) Colabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」の「A100」を選択。

(2) パッケージのインストール。
「GPTQ」を使うので、「optimum」「auto-gptq」もインストールしています。

# パッケージのインストール
!pip install transformers accelerate sentencepiece protobuf 
!pip install optimum auto-gptq

(2) トークナイザーとモデルの準備。
今回は、語彙拡張済み指示モデル「stabilityai/japanese-stablelm-instruct-beta-70b」を使います。

from transformers import AutoModelForCausalLM, AutoTokenizer

# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
    "TheBloke/japanese-stablelm-instruct-beta-70B-GPTQ", 
    use_fast=True
)
model = AutoModelForCausalLM.from_pretrained(
    "TheBloke/japanese-stablelm-instruct-beta-70B-GPTQ",
    device_map="auto",
    trust_remote_code=False,
    revision="main"
)

26分ほどかかりました。

(4) 推論の実行。
回答が短かったので、プロンプトに「その理由も教えて」も追記しています。

# プロンプトの準備
prompt = """<s>[INST] <<SYS>>
あなたは役立つアシスタントです。
<<SYS>>

まどか☆マギカで誰が一番かわいい? その理由も教えて [/INST] """

# 推論の実行
token_ids = tokenizer.encode(
    prompt,
    add_special_tokens=False,
    return_tensors="pt"
)
output_ids = model.generate(
    token_ids.to(device=model.device),
    max_new_tokens=128,
    temperature=0.99,
    top_p=0.95,
    do_sample=True,
)
output = tokenizer.decode(
    output_ids[0][token_ids.size(1) :],
    skip_special_tokens=True
)
print(output)

まどかマギカの中で、マミが一番かわいい。私が彼女にひかれるのは、彼女の純粋さと美しさのせいでしょう。



この記事が気に入ったらサポートをしてみませんか?