Google Colab で Rinna-4B を試す
「Google Colab」で「Rinna-4B」を試したので、まとめました。
1. Rinna-4B
「Rinna-4B」は、「Rinna」が開発した日英バイリンガルなLLMです。商用利用可能なライセンスで公開されており、このモデルをベースにチューニングすることで、対話型AI等の開発が可能です。
2. Rinna-4Bのモデル
「Rinna-4B」では、次の5種類のモデルが提供されています。
マルチモーダル会話モデルは、以下で紹介しています。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) パッケージのインストール。
# パッケージのインストール
!pip install transformers sentencepiece accelerate bitsandbytes
(2) トークナイザーとモデルの準備。
今回は、「rinna/bilingual-gpt-neox-4b-instruction-ppo」を8bit量子化で指定しています。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
"rinna/bilingual-gpt-neox-4b-instruction-ppo",
use_fast=False
)
model = AutoModelForCausalLM.from_pretrained(
"rinna/bilingual-gpt-neox-4b-instruction-ppo",
load_in_8bit=True,
torch_dtype=torch.float16,
device_map="auto",
)
(3) 推論の実行。
入力プロンプトの書式は、次のとおりです。
# プロンプトの準備
prompt = """ユーザー: まどか☆マギカでは誰が一番かわいい?その理由も説明して。
システム: """
# 推論の実行
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
with torch.no_grad():
output_ids = model.generate(
token_ids.to(model.device),
max_new_tokens=512,
do_sample=True,
temperature=1.0,
top_p=0.85,
pad_token_id=tokenizer.pad_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id
)
output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1):])
print(output)
私は鹿目まどかです。彼女は、かわいいし、知的で、心優しく、とても勇敢です。彼女はまた、非常に美しく、神秘的なキャラクターでもあります。</s>
この記事が気に入ったらサポートをしてみませんか?