トークン化(トークナイザ)
トークン化は、テキストをトークンと呼ぶ小さな単位に分割する処理です。大規模言語モデルの入力や課金は、このトークンを単位として数えられます。
- 1.テキストを語や部分語(サブワード)などのトークンに分割する前処理です。
- 2.LLMは文字や単語ではなくトークン列を処理し、入力・出力もトークンで数えます。
- 3.API料金や文脈長(コンテキスト)の上限はトークン数で決まります。
トークンとは何か
トークンは、テキストを機械が扱いやすいように分割した最小の単位です。トークナイザがこの分割を担い、文章を一連のトークンの列に変換してからモデルに渡します。
大規模言語モデル(LLM)は文字や単語をそのまま読むのではなく、各トークンに割り当てられた数値(ID)の列として処理します。つまりトークン化は、人間の文章とモデルの内部表現をつなぐ入り口にあたります。
分割の単位
トークンは必ずしも単語1つとは限りません。代表的なのは、語をさらに細かいサブワードに分ける方式です。
- よく使う語は1トークンにまとまりやすい
- まれな語や長い語は複数のトークンに分かれる
- 空白や記号もトークンに含まれることがある
英語ではおおむね「単語の一部」程度の粒度になり、日本語では文字単位に近く分割されることが多く、同じ文字数でも言語によってトークン数が変わります。
なぜサブワードを使うのか
単語をそのまま語彙にすると、未知語に対応できず語彙数も膨大になります。逆に文字単位だと列が長くなりすぎます。サブワード分割はその中間で、限られた語彙で未知語も部分の組み合わせで表現できる利点があります。
代表的なアルゴリズムに BPE(Byte Pair Encoding)や WordPiece、Unigram などがあり、頻出するまとまりを1トークンに統合していく考え方が共通します。
課金と文脈長の単位
API利用では、入力(プロンプト)と出力のトークン数に応じて料金が決まるのが一般的です。また、モデルが一度に扱えるコンテキスト長の上限もトークン数で規定されます。
| 項目 | 単位 | 影響 |
|---|---|---|
| API料金 | 入力・出力のトークン数 | 長い文章ほどコスト増 |
| コンテキスト長 | トークン数 | 上限を超えると収まらない |
| 応答速度 | トークン数 | 生成量が多いほど時間増 |
長文をそのまま投げるとコストや上限に響くため、不要部分を削る・要約するといった工夫が効きます。
トークン数は文字数や単語数とは一致しません。コストや上限を見積もるときは、各モデルが提供するトークナイザやAPIの使用量表示で実数を確認すると安全です。
トークン化はふだん意識しにくい裏方の処理ですが、料金・速度・入力できる長さのすべてに関わります。LLMを実務で使うなら、「自分の入力が何トークンになるか」を把握しておくとコスト管理がしやすくなります。
AI/機械学習 Article
トークン化(トークナイザ)を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
LLM
比較で見る軸
難易度: basic / カテゴリ: AI/機械学習 / タグ数: 4
導入後に効く点
LLMは文字や単語ではなくトークン列を処理し、入力・出力もトークンで数えます。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- basic
- カテゴリ
- AI/機械学習
- タグ数
- 4
判断チェックリスト
- 自社の用途が「LLM / トークン化」に近いか確認する。
- 強みである「テキストを語や部分語(サブワード)などのトークンに分割する前処理です。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。