日本語に強い大規模言語モデル「RakutenAI-7B」が3月21日に公開された。プレスリリースを見てみよう。
2. 日本語の言語に最適化された形態素解析器により高い効率性が可能
本LLMは、日本語の言語に最適化された独自の形態素解析器(注7)を使用しています。一般的に形態素解析器は自然言語で書かれている文章を適切な単位に細分化して分析することができます。楽天の形態素解析器においては、文章の分割単位であるトークンあたりの文字数が増加し、その結果、より多くの情報を単一のトークンに含めることができます。そのため、従来の形態素解析器と比較して、事前学習や推論のテキスト処理をより効率的に行えるようになりました。
(注7)形態素解析器とは、文章をトークンと呼ばれる小さな単位に分割するプログラムのことです。トークンは、望ましい粒度に応じて、単語、部分語、または文字であることが一般的です。
「注7」の説明は、どうみても「トークナイザ」に関するものであって「形態素解析器」じゃないのだけど、どうなってるんだろう。ちょっと試してみよう。
>>> from transformers import AutoTokenizer
>>> tkz=AutoTokenizer.from_pretrained("Rakuten/RakutenAI-7B")
>>> print(tkz.convert_ids_to_tokens(tkz("国境の長いトンネルを抜けると雪国であった。","夜の底が白くなった。")["input_ids"]))
['<s>', '▁', '国境', 'の長', 'い', 'トンネ', 'ルを', '抜け', 'ると', '雪', '国', 'であった', '。', '<s>', '▁', '夜の', '底', 'が', '白', 'くなった', '。']
残念ながら、日本語トークナイザとしてはボロボロだ。特に「の長」「い」のあたりは、単語の切れ目を完全に無視していて、日本語における言語処理としては話にならない。形態素解析というものを、ちゃんと学ばずにトークナイザを作ってしまったのだろう。残念だ。