- Published on
huggingface transformersで使える日本語モデルのまとめ
- Author
- Name
- Hideki Ono
- @yellowback
株式会社イエローバックの機械学習エンジニアです
(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-v2 | Bert | MeCab |
rinna/japanese-gpt2-medium | GPT2 | SentencePiece |
sonoisa/t5-base-japanese | T5 | SentencePiece |
bandainamco-mirai/distilbert-base-japanese | DistilBert | MeCab |
laboro-ai/distilbert-base-japanese | DistilBert | SentencePiece |
hajime9652/xlnet-japanese | xlnet | MeCab |
日本語も扱える多言語モデル
名称 | モデル | トークナイザ |
---|---|---|
xlm-roberta-base | RoBerta | SentencePiece |
bert-base-multilingual-cased | Bert | WordPiece |
distilbert-base-multilingual-cased | DistilBert | WordPiece |
facebook/mbart-large-cc25 | Bart | SentencePiece |
google/mt5-base | T5 | SentencePiece |
facebook/m2m100_418M | M2M100 | SentencePiece |
google/bt5-base | T5 | Byte |
その他
名称 | モデル | 備考 |
---|---|---|
yosuke/bert-base-japanese-char | bert | 文字ベース |
Cinnamon/electra-small-japanese-discriminator | Electra | 小規模モデル |
ALINEAR/albert-japanese-v2 | albert | 小規模モデル |
モデル概要
以下、日本語特化のモデルについて概要をまとめています。
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
- https://corp.rinna.co.jp/news/2021-4-7-pressrelease/
- https://huggingface.co/rinna/japanese-gpt2-medium
- https://github.com/rinnakk/japanese-gpt2
sonoisa/t5-base-japanese
園部 勲(sonoisa)さんが公開している T5 のモデルです。 トークナイザは T5Tokenizer を利用していて、語彙は日本語のみとなっています。 コーパスは Wikipedia 日本語版,CC-100 日本語版,OSCAR 日本語版とかなり大規模なデータを利用しているようです。
関連 URL
- https://github.com/sonoisa/t5-japanese
- https://qiita.com/sonoisa/items/a9af64ff641f0bbfed44
- https://huggingface.co/sonoisa/t5-base-japanese
bandainamco-mirai/distilbert-base-japanese
バンダイナムコ研究所さんが公開している DistilBert のモデルです。 トークナイザは cl-tohoku の BertJapaneseTokenizer を利用しています。 コーパスは Wikipedia 日本語版を利用しているようです。
関連 URL
- https://github.com/BandaiNamcoResearchInc/DistilBERT-base-jp
- https://huggingface.co/bandainamco-mirai/distilbert-base-japanese
laboro-ai/distilbert-base-japanese
株式会社 Laboro.AI が公開している DistilBert のモデルです。 トークナイザは AlbertTokenizer を利用していて、語彙は日本語のみとなっています。AutoTokenizer からは利用できず AlbertTokenizer を明示する必要があるので注意が必要です。 コーパスは CC(CommonCrawl)の日本語版(?)を利用しているようです。
関連 URL
- https://laboro.ai/activity/column/engineer/laboro-distilbert/
- https://github.com/laboroai/Laboro-DistilBERT-Japanese
- https://huggingface.co/laboro-ai/distilbert-base-japanese
hajime9652/xlnet-japanese
ストックマークさん(?)が公開している xlnet のモデルです。 トークナイザは XLNetTokenizer で、語彙は日本語のみのようです。ただし、事前に MeCab でのトークナイズが必要なようです。 コーパスは日本語ビジネスニュース記事(300 万記事)のようです。