0
0

sarashina2-7bは『雪国』の冒頭をどうトークナイズするのか

Last updated at Posted at 2024-07-02

SB Intuitionsから日本語生成AI「Sarashina1・2」がリリースされた。独自構築のトークナイザに力を入れたらしい。

Sarashina1・2にはそれぞれ独自に構築したトークナイザを用いました。 具体的には,sentencepieceの提供するユニグラム言語モデルのアルゴリズムを用いてサブワードを構築しました。 その際,Sarashina2の語彙サイズ(102,400)はSarashina1の語彙サイズ(51,200)の倍に設定しました。 これにより,日本語・英語・プログラミングコードといった複数種類のデータを効率的に学習可能です。

とりあえず、sarashina2-7bのトークナイザを試してみよう。

>>> from transformers import AutoTokenizer
>>> tkz=AutoTokenizer.from_pretrained("sbintuitions/sarashina2-7b")
>>> print(tkz.convert_ids_to_tokens(tkz("国境の長いトンネルを抜けると雪国であった。","夜の底が白くなった。")["input_ids"]))
['国境', 'の長い', 'トンネル', 'を抜け', 'ると', '雪', '国', 'であった', '。', '</s>', '夜の', '底', 'が', '白', 'くなった', '。', '</s>']

残念ながら、日本語トークナイザとしてはボロボロだ。特に「の長い」「を抜け」「ると」に関しては、単語の切れ目を完全に無視していて、日本語における言語処理としては話にならない。Sentencepieceのサブワード構築については「Sentencepieceの分割をMeCabっぽくする」っていう記事が1年以上前に出てるのだけど、ちゃんと読まずに構築しちゃったんだろうなあ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0