トークナイザー(LLM)

Tokenizer (LLM)

トークナイザーとは

トークナイザー(Tokenizer)とは、テキストをLLMが処理可能な最小単位であるトークンに分割するためのツール・アルゴリズムです。テキストの入出力時に必ず経由する処理であり、トークナイザーの設計はモデルの性能、語彙の扱い、多言語対応に大きく影響します。各LLMにはそれぞれ専用のトークナイザーが組み込まれています。

表:トークナイザー(LLM)の要点まとめ
ひとことで言うと文章をトークンに切り分けて数値に変換する、AIの前処理部品。
どこで使うLLMの入出力すべて。トークン数(=料金)の事前見積もり。
注意点モデルごとに分割ルールが違うので、他モデルとトークン数は一致しない。

トークナイザーの主要なアルゴリズム

最も広く使われているのはBPE(Byte Pair Encoding)で、GPTシリーズやClaudeなど多くのモデルで採用されています。SentencePieceはGoogleが開発したアルゴリズムで、多言語対応に優れています。WordPieceはBERTで使用され、BPEと類似しつつ異なる分割戦略を持ちます。Unigram Language Modelはサブワードの確率を最大化する方式です。

図:トークナイザーの仕事
1文章を受取る生のテキスト
▶
2語彙表で分割登録済みの単位に切る
▶
3IDに変換数値の列にする
▶
4モデルへ入力計算が始まる
▶
5デコード出力IDを文字に戻す

トークナイザーと日本語処理

日本語はスペースによる単語区切りがないため、英語と比べてトークン化が複雑です。BPEベースのトークナイザーでは、ひらがなは1文字1トークン、漢字は1〜2トークンになることが多く、英語テキストと比べてトークン数が多くなる傾向があります。このため、同じ内容でも日本語の方がコンテキストウィンドウの消費が大きくなり、API利用コストも高くなります。日本語に最適化されたトークナイザーの開発も進められています。