トークナイザーとは
トークナイザー(Tokenizer)とは、テキストをLLMが処理可能な最小単位であるトークンに分割するためのツール・アルゴリズムです。テキストの入出力時に必ず経由する処理であり、トークナイザーの設計はモデルの性能、語彙の扱い、多言語対応に大きく影響します。各LLMにはそれぞれ専用のトークナイザーが組み込まれています。
トークナイザーの主要なアルゴリズム
最も広く使われているのはBPE(Byte Pair Encoding)で、GPTシリーズやClaudeなど多くのモデルで採用されています。SentencePieceはGoogleが開発したアルゴリズムで、多言語対応に優れています。WordPieceはBERTで使用され、BPEと類似しつつ異なる分割戦略を持ちます。Unigram Language Modelはサブワードの確率を最大化する方式です。
トークナイザーと日本語処理
日本語はスペースによる単語区切りがないため、英語と比べてトークン化が複雑です。BPEベースのトークナイザーでは、ひらがなは1文字1トークン、漢字は1〜2トークンになることが多く、英語テキストと比べてトークン数が多くなる傾向があります。このため、同じ内容でも日本語の方がコンテキストウィンドウの消費が大きくなり、API利用コストも高くなります。日本語に最適化されたトークナイザーの開発も進められています。