Huggingface Transformers 入門 (18) - 日本語のGPT-2を試す
「Huggingface Transformers」で日本語の「GPT-2」モデルが公開されたので試してみます。
前回
1. GPT-2 small Japanese model
「日本語のWikipediaデータセット」で学習した「GPT-2」モデルです。
モデルアーキテクチャは、GPT-2 smallモデル(n_ctx:1024、n_embd:768、n_head:12、n_layer:12)と同じです。 語彙サイズは、元のサイズの50,257ではなく32,000に設定されています。トークナイザーは、「SentencePiece」が使われています。
2. Huggingface Transformersのインストール
以下のコマンドで、「Huggingface Transformers」「PyTorch」「SentencePiece」をインストールします。
$ pip install transformers==4.3.3 torch==1.8.0 sentencepiece==0.1.913. 日本語のGPT-2を試す
import transformers
# トークナイザーとモデルの準備
tokenizer = transformers.AutoTokenizer.from_pretrained("colorfulscoop/gpt2-small-ja")
model = transformers.AutoModelForCausalLM.from_pretrained("colorfulscoop/gpt2-small-ja")
# 推論
input = tokenizer.encode("昔々あるところに", return_tensors="pt")
output = model.generate(input, do_sample=True, top_p=0.95, top_k=50, num_return_sequences=3)
print(tokenizer.batch_decode(output))['昔々あるところに「昔」の響きのいい「おみやげ」という古語が',
'昔々あるところに、その昔の僧を祀ってあるところ。ここの僧は、',
'昔々あるところに、神から「神とお前は違う」という文句を言わされた']