見出し画像

Huggingface Transformers 入門 (37) - rinnaの13億パラメータの日本語GPTモデルの推論

「rinna」の13億パラメータの日本語GPTモデルが公開されたので、推論を試してみました。

・Huggingface Transformers 4.16.0
・Sentencepiece 0.1.91

前回

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]している所では、名前を付けてくれる人間も居ない。 名前どころか、可愛い動物でも見る事も出来ない世界なのではあるが、私は、飽き

吾輩は猫である。

吾輩は猫である。名前はまだ無い。何でも良いから名前が欲しい。この世界は、砂漠だらけで食べ物も動物も何もない。名前は、やはり欲しい。これと決めた名前の候補を何個か聞いてみよう。 この世の中にも、私は名前を付ける気は無いのだ。自然界には人間様のおもちゃなど無いし、こんな生物が跋[UNK]している所では、名前を付けてくれる人間も居ない。 名前どころか、可愛い動物でも見る事も出来ない世界なのではあるが、私は、飽き

おはよう、お兄ちゃん。

おはよう、お兄ちゃん。さぁ!今日は朝から東京に出かけるんだった。朝からパソコンと格闘しちゃうから急いで支度してね!お布団で寝ないとだめよ。お兄ちゃんはおねしょの心配はないから。朝は一緒に、ね。えっ!?おおおきくなったら?おしっこは幼稚園では、あんまりさせないようにしてるの。小さい時は、漏れることもあっても心配ないけど、大きくなったらね。うん、うん、みんなは大きくなったら自然に任せたいっていってたけどね。

昔々あるところに、

昔々あるところに、お得意先に行き過ぎた要求をしてくる派遣社員がいました。その人は、理不尽でわがままで自分のことしか考えていません。しかし、正社員なんてこの程度、派遣社員の人や社員さんは他の部分で頑張っている、と言ってきました。するとある社員さんが反論しました。 「それは派遣社員に対して侮辱することです。」「顧客に対して無礼です。」と。 それを聞いた顧客は、憤慨して、その社長に圧力をかけてきましたが、その社長は、「無礼です。」の一点張



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