トークンは、モデルがテキストを処理する際の「最小の作業単位」として理解できます。 必ずしも単語や句読点というよりは、モデル自身によって切り取られた断片のようなものです。 英語では単語を複数のトークンに分割することがあり、中国語では短い文を複数のトークンに分割することもあります。
これは抽象的に思えますが、最も現実的な3つの要素に直接影響します。どれだけ詰め込めるか、会話にかかる費用、そしてなぜモデルが時に長いテキストを切り落とすのかです。 なぜなら、モデルは世界を「段落」で理解するのではなく、入力と出力をトークンで計算するからです。
なぜユーザーはいつもそれに遭遇するのか
- 長いドキュメントをアップロードすると、トークン不足が原因で長さ制限が表示されます。
- 短い段落のように感じますが、実際のトークンはすでにかなりの量になっているでしょう。
- 一部のモデルは短く答えますが、それは必ずしも言いたくないからではなく、利用可能なトークン予算が尽きかけているからです。
多くの人がトークンに初めて触れたとき、単なる請求単位だと誤解します。 実際、それはモデルの「言語の細分性」に近いものです。 モデルはまずテキストをトークンに分解し、その後エンコードし、注意を払い、それらを生成するため、トークンはコンテキストウィンドウを理解するための前提条件でもあります。 中国のユーザーにとっては、句読点、略語、数字、コードブロックがトークンの数を直感的すぎるほど多くしてしまうことがあります。 そのため、同じ中国語と英語のコンテンツが実際に占有するトークンはかなり異なる場合があります。
最も実用的な判断
長文処理、知識ベース、プロンプトデザインに取り組んでいるなら、語数だけにこだわらず、トークンを見る習慣を身につけるのが一番です。 特に中国語と英語を混同している場合、コードや表、句読点、単語数、トークン数が多いのは同じではないことが多いです。
まとめ:トークンはモデルが実際にテキストを処理する単位であり、それを理解することでのみ文脈、コスト、長さの制限を真に理解できます。