トークナイザー
Tokenizer
文章をLLMが扱える最小単位であるトークンに分割するプログラム。モデルごとに分割ルールが異なる。
トークナイザーとは
トークナイザー(Tokenizer)は、入力された文章をLLMが処理できる最小単位である「トークン」に分割するプログラムです。LLMは文字列を直接扱えないため、まずトークナイザーで数値IDの列に変換する必要があります。
仕組み
多くのLLMは BPE(Byte Pair Encoding) や SentencePiece といったサブワード分割方式を使います。よく出る文字列の組み合わせを1つのトークンとしてまとめ、珍しい語は細かく分割する仕組みです。
- 英語:
"unbelievable"→"un" + "believ" + "able" - 日本語:
"税理士"→"税" + "理士"のように1〜複数トークンに分かれる
同じ文章でもモデルが違えばトークン数は変わるのが特徴です。
なぜ重要か
- 料金・コンテキスト上限はすべてトークン数ベース
- 日本語はトークン効率が悪いモデルもあり、英語より多めに消費しがち
- 最近は日本語に強いトークナイザーを持つモデル(Claude、Geminiなど)も増加
他との関係
トークナイザーで分割された結果を、**埋め込み(Embedding)**層が意味ベクトルに変換し、Transformerが処理します。LLMの入出力のすべての起点になる、地味ですが極めて重要な部品です。
