パスワードを忘れた? アカウント作成
15522997 journal
人工知能

yasuokaの日記: 青空文庫RoBERTa単文字モデルroberta-small-japanese-aozora-charリリース

日記 by yasuoka

青空文庫(2.37億字)と9月13日の日記で書いた1文字トークナイザをもとに、roberta-small-japanese-aozora-charを作ってみた。12層・隠れサイズ256・4ヘッド・トークン幅128とした上で、7772556文3億字(元データ2.37億字+異体字増量分0.64億字)をGeForce RTX 2080で182172ステップ(128バッチ)学習させたところ、11時間33分かかってしまった。11月4日の日記に比べると、だいたい1/5の学習時間で済んでいるので、1文字トークナイザの軽さが分かる。とりあえず、Google Colaboratoryで使ってみよう。

!pip install transformers
from transformers import AutoTokenizer,AutoModelForMaskedLM,FillMaskPipeline
tokenizer=AutoTokenizer.from_pretrained("KoichiYasuoka/roberta-small-japanese-aozora-char")
model=AutoModelForMaskedLM.from_pretrained("KoichiYasuoka/roberta-small-japanese-aozora-char")
pipeline=FillMaskPipeline(model,tokenizer)
print(pipeline("酸素ボ[MASK]ベを充塡する。"))

「酸素ボ[MASK]ベを充塡する。」を穴埋めさせてみたところ、私(安岡孝一)の手元では以下の結果となった。

[{'score': 0.6570722460746765, 'token': 1145, 'token_str': 'ー', 'sequence': '酸素ボーベを充塡する。'}, {'score': 0.05940941348671913, 'token': 1128, 'token_str': 'ル', 'sequence': '酸素ボルベを充塡する。'}, {'score': 0.05498126149177551, 'token': 1136, 'token_str': 'ン', 'sequence': '酸素ボンベを充塡する。'}, {'score': 0.021831566467881203, 'token': 1057, 'token_str': 'イ', 'sequence': '酸素ボイベを充塡する。'}, {'score': 0.02175910584628582, 'token': 1059, 'token_str': 'ウ', 'sequence': '酸素ボウベを充塡する。'}]

うーむ、賢いような賢くないような。smallモデルだけじゃなく、baseモデルも作ってみなきゃダメかなぁ。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...