Huggingface Transformers 入門 (37) - rinnaの13億パラメータの日本語GPTモデルの推論
「rinna」の13億パラメータの日本語GPTモデルが公開されたので、推論を試してみました。
前回
1. rinnaの13億パラメータの日本語GPTモデル
「rinna」の13億パラメータの日本語GPTモデルが公開されました。学習データはJavanese C4、Japanese CC-100、日本語のWikipediaとのこと。
2. 推論を試す
「Googlle Colab」で推論を試してみました。
(1) Huggingface TransformersとSentencePieceをインストール。
# Huggingface Transformersのインストール
!pip install transformers==4.16.0
# Sentencepieceのインストール
!pip install sentencepiece==0.1.96
(2) トークナイザーとモデルの準備。
import torch
from transformers import T5Tokenizer, AutoModelForCausalLM
# トークナイザーとモデルの準備
tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt-1b")
model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt-1b")
# GPUの有効化
if torch.cuda.is_available():
model = model.to("cuda")
(3) 推論の実行。
text = "吾輩は猫である。"
token_ids = tokenizer.encode(text, add_special_tokens=False, return_tensors="pt")
with torch.no_grad():
output_ids = model.generate(
token_ids.to(model.device),
max_length=100,
min_length=100,
do_sample=True,
top_k=500,
top_p=0.95,
pad_token_id=tokenizer.pad_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id,
bad_word_ids=[[tokenizer.unk_token_id]]
)
output = tokenizer.decode(output_ids.tolist()[0])
print(output)
吾輩は猫である。名前はまだ無い。何でも良いから名前が欲しい。この世界は、砂漠だらけで食べ物も動物も何もない。名前は、やはり欲しい。これと決めた名前の候補を何個か聞いてみよう。 この世の中にも、私は名前を付ける気は無いのだ。自然界には人間様のおもちゃなど無いし、こんな生物が跋[UNK]している所では、名前を付けてくれる人間も居ない。 名前どころか、可愛い動物でも見る事も出来ない世界なのではあるが、私は、飽き
この記事が気に入ったらサポートをしてみませんか?