見出し画像

Google Colab で RakutenAI-7B を試す

「Google Colab」で「RakutenAI-7B」を試したので、まとめました。

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


1. RakutenAI-7B

「RakutenAI-7B」は、楽天が開発した日本語LLMです。

2. RakutenAI-7B のモデル

「RakutenAI-7B」の提供されているモデルは、次のとおりです。

Rakuten/RakutenAI-7B-instruct
Rakuten/RakutenAI-7B-chat
Rakuten/RakutenAI-7B

3. Colabでの実行

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

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

(2) パッケージのインストール。

# パッケージのインストール
!pip install -U transformers accelerate

(3) 「HuggingFace」からAPIキー (Access Token) を取得し、Colabのシークレットマネージャーに登録。
キーは「HF_KEY」とします。

(4) トークナイザーとモデルの準備。
今回は、「Rakuten/RakutenAI-7B-instruct」を使用します。

from transformers import AutoModelForCausalLM, AutoTokenizer

# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
    "Rakuten/RakutenAI-7B-instruct"
)
model = AutoModelForCausalLM.from_pretrained(
    "Rakuten/RakutenAI-7B-instruct", 
    torch_dtype="auto", 
    device_map="auto"
)
model.eval()

(5) 推論の実行。

# プロンプトの準備
prompt = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: まどか☆マギカでは誰が一番かわいい?その理由も教えて ASSISTANT:"

# 推論の実行
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(device=model.device)
tokens = model.generate(
    input_ids,
    max_new_tokens=1024,
    do_sample=True,
    pad_token_id=tokenizer.eos_token_id,
)
output = tokenizer.decode(tokens[0][len(input_ids[0]):], skip_special_tokens=True)
print(output)

USER: まどか☆マギカでは誰が一番かわいい?その理由も教えて ASSISTANT:

本作品ヒロインである、巴マミ

「可愛い」と「魅力がある」が違うのであれば、マミがかわいいのは明白です。そして、マミの魅力は「可愛さ」だけではありません。マミは「愛」を象徴していて、他のヒロインは「愛」以外に「魅力」が備わっています。



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