Published on

huggingface transformersで使える日本語モデルのまとめ

Author
株式会社イエローバックの機械学習エンジニアです

(2021/6/11 更新)

はじめに

HuggingFace transformers はよく使われている自然言語処理(NLP)のフレームワークです。

HuggingFace Model Hub( https://huggingface.co/models )には事前学習モデルがいろいろ公開されていて簡単に使えるようになっています。 この公開されている学習モデルのうち、日本語の文章に対応できるものを整理してみました。 今回はおもに 12 層(Bert base 相当)以上のモデルを対象としました。 small 相当のモデルやファインチューニングモデルは対象外としています。

対応言語

日本語テキストに使えるモデルは、

  • 日本語特化のモデル
  • 多(複数)言語(multilingual)対応のモデル

に大別できます。

トークナイザ

トークナイザは MeCab ベースまたは SentencePiece が多く利用されています。

  • MeCab ベース(BertTokenizerJapanese)
  • SentencePiece ベース(日本語の vocab を含む)

モデル一覧

日本語特化のモデル

名称モデルトークナイザ
cl-tohoku/bert-base-japanese-v2BertMeCab
rinna/japanese-gpt2-mediumGPT2SentencePiece
sonoisa/t5-base-japaneseT5SentencePiece
bandainamco-mirai/distilbert-base-japaneseDistilBertMeCab
laboro-ai/distilbert-base-japaneseDistilBertSentencePiece
hajime9652/xlnet-japanesexlnetMeCab

日本語も扱える多言語モデル

名称モデルトークナイザ
xlm-roberta-baseRoBertaSentencePiece
bert-base-multilingual-casedBertWordPiece
distilbert-base-multilingual-casedDistilBertWordPiece
facebook/mbart-large-cc25BartSentencePiece
google/mt5-baseT5SentencePiece
facebook/m2m100_418MM2M100SentencePiece
google/bt5-baseT5Byte

その他

名称モデル備考
yosuke/bert-base-japanese-charbert文字ベース
Cinnamon/electra-small-japanese-discriminatorElectra小規模モデル
ALINEAR/albert-japanese-v2albert小規模モデル

モデル概要

以下、日本語特化のモデルについて概要をまとめています。

cl-tohoku/bert-base-japanese-v2

東北大乾研究室さんが公開している Bert のモデルです。 large モデルを含め、いくつかの派生モデルが公開されています。 トークナイザは BertJapaneseTokenizer で、トークナイズには MeCab を利用しています。 コーパスは Wikipedia 日本語版を利用しているようです。

  • IPA 辞書

    • cl-tohoku/bert-base-japanese
    • cl-tohoku/bert-base-japanese-char
    • cl-tohoku/bert-base-japanese-char-whole-word-masking
    • cl-tohoku/bert-base-japanese-whole-word-masking
  • Unidic

    • cl-tohoku/bert-base-japanese-v2
    • cl-tohoku/bert-base-japanese-char-v2
    • cl-tohoku/bert-large-japanese-char
    • cl-tohoku/bert-large-japanese

関連 URL

rinna/japanese-gpt2-medium

rinna 株式会社さんが公開している GPT2 のモデルです。rinna 株式会社はマイクロソフトの AI「りんな」をつくっていたところが独立して法人化したところのようです。 トークナイザは SentencePiece の T5Tokenizer を利用していて、語彙は日本語のみとなっています。AutoTokenizer からは利用できず T5Tokenizer を明示する必要があるので注意が必要です。 コーパスは CC-100 日本語版を利用しているようです。

関連 URL

sonoisa/t5-base-japanese

園部 勲(sonoisa)さんが公開している T5 のモデルです。 トークナイザは T5Tokenizer を利用していて、語彙は日本語のみとなっています。 コーパスは Wikipedia 日本語版,CC-100 日本語版,OSCAR 日本語版とかなり大規模なデータを利用しているようです。

関連 URL

bandainamco-mirai/distilbert-base-japanese

バンダイナムコ研究所さんが公開している DistilBert のモデルです。 トークナイザは cl-tohoku の BertJapaneseTokenizer を利用しています。 コーパスは Wikipedia 日本語版を利用しているようです。

関連 URL

laboro-ai/distilbert-base-japanese

株式会社 Laboro.AI が公開している DistilBert のモデルです。 トークナイザは AlbertTokenizer を利用していて、語彙は日本語のみとなっています。AutoTokenizer からは利用できず AlbertTokenizer を明示する必要があるので注意が必要です。 コーパスは CC(CommonCrawl)の日本語版(?)を利用しているようです。

関連 URL

hajime9652/xlnet-japanese

ストックマークさん(?)が公開している xlnet のモデルです。 トークナイザは XLNetTokenizer で、語彙は日本語のみのようです。ただし、事前に MeCab でのトークナイズが必要なようです。 コーパスは日本語ビジネスニュース記事(300 万記事)のようです。

関連 URL