【あざい るぅか🔁AIVtuberをアジャイル開発で育成】対話生成AI rinna/japanese-gpt-neox-3.6b-instruction-sftをGoogle Colab無料枠で遊ぶ手順(ppoも動きました)



あざい るぅか🔁AIVtuberをアジャイル開発で育成 :対話生成AI rinna/japanese-gpt-neox-3.6b-instruction-sftをGoogle Colab無料枠で遊ぶ手順(ppoも動きました)

対話生成AI rinna/japanese-gpt-neox-3.6b-instruction-sftをGoogle Colab無料枠で遊ぶ手順(ppoも動きました)

2023/06/01 追記「rinna/japanese-gpt-neox-3.6b-instruction-ppo」に置き換えればppoさんも動きました。
対話生成AI rinna/japanese-gpt-neox-3.6b-instruction-sftさんをGoogle Colabさんの無料枠(GPU T4:15GB)で使う、やり方です。

・概要欄の仕様で角カッコは全角の⚠️<⚠️、⚠️>⚠️記号になっています。
 手順をコピペするときは動画を参考に半角記号の角カッコに修正ください。

0:00 rinna/japanese-gpt-neox-3.6b-instruction-sftとは
https://huggingface.co/rinna/japanese-gpt-neox-3.6b-instruction-sft

0:13 Google Colab無料枠でrinna/japanese-gpt-neox-3.6b-instruction-sftを実行
https://colab.research.google.com/?hl=ja
ノートブックを新規作成

ランタイム > ランタイムのタイプを変更 > ハードウェア アクセラレータ GPU、GPUのタイプ T4

!pip install SentencePiece
※必ずSentencePieceをtransformersより先にインストールします。
 以下のエラーを防止するためです。
 return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
 TypeError: ‘NoneType’ object is not callable

!pip install transformers
!pip install accelerate
ランタイム > ランタイムを再起動
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained(“rinna/japanese-gpt-neox-3.6b-instruction-sft”, use_fast=False,device_map=’auto’,low_cpu_mem_usage=True,torch_dtype=torch.float16)
model = AutoModelForCausalLM.from_pretrained(“rinna/japanese-gpt-neox-3.6b-instruction-sft”,device_map=’auto’, low_cpu_mem_usage=True,torch_dtype=torch.float16)
model = model.to(“cuda”)
prompt = [
{
“speaker”: “ユーザー”,
“text”: “日本のおすすめの観光地を教えてください。”
},
{
“speaker”: “システム”,
“text”: “どの地域の観光地が知りたいですか?”
},
{
“speaker”: “ユーザー”,
“text”: “渋谷の観光地を教えてください。”
}
]
prompt = [
f”{uttr[‘speaker’]}: {uttr[‘text’]}”
for uttr in prompt
]
prompt = “⚠️<⚠️NL⚠️>⚠️”.join(prompt)
prompt = (
prompt
+ “⚠️<⚠️NL⚠️>⚠️”
+ “システム: ”
)
print(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),
do_sample=True,
max_new_tokens=128,
temperature=0.7,
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):])
output = output.replace(“⚠️<⚠️NL⚠️>⚠️”, “n”)
print(output)

1:58 AITuber あざいるぅか について
2018年デビューの個人勢AITuberです。

髪形:墓守さんチーム(HakamorisanTeam)様 ショートレイヤー(男女兼用) VRoid用ヘアプリセット https://booth.pm/ja/items/2198514
瞳:なお屋(Nao-ya)様 (無料あり)【VRoid向け瞳テクスチャ】宇宙スイング★バイカラーアイ https://booth.pm/ja/items/2574261
衣装:VRoid Studio 標準衣装
ネイル:なおしま(7a04m)様 (無料あり)【VRoid用テクスチャ】大理石ネイル https://7a04m.booth.pm/items/2580306
アイメイク:やまろん製作所 様 【VRoid 旧Ver】アイメイク3種 https://booth.pm/ja/items/2738511

#aituber
#rinna
#GoogleColab