ChatGPTなどAI言語モデルが用いる「トークン」とは何か、単語や文字数との違い、トークン化の仕組みや上限の意味を詳しく解説します。実際に使う際に知っておきたい基礎知識や、トークン数が重要視される理由もわかりやすく紹介しています。
トークンは、ChatGPTなどのニューラルネットワーク(AI言語モデル)がテキストを処理する際に用いる、細かく分割されたテキストの単位です。ユーザーから見るとごく普通の文章でも、モデル内部ではそれが複数のトークンに分解され、それぞれが数値として扱われています。そのため、言語モデルの制限は「単語」や「文字数」ではなく、「トークン数」で表されるのが一般的です。トークン数によって、一度に処理できるテキスト量や、長い対話のどこまでを文脈として考慮できるか、あるいは生成可能な回答の長さが決まります。
トークンとは、AI言語モデルが扱う最小単位のテキストです。イメージしやすく言えば、「テキストのひとかたまり」に数値IDが振られている状態です。
必ずしも丸ごと1つの単語が1トークンになるとは限りません。トークナイザー(トークン分割ツール)の仕様によって、よく使われる短い単語、長い単語の一部、文字列や数字、記号など、さまざまな単位がトークンとなり得ます。
例として、シンプルな日本語のフレーズ「猫が机の上にいる。」を考えてみましょう。人間から見れば5語1文ですが、AIモデルは単語を分割したり、逆に複数の単語をまとめて1トークンにしたりします。分割結果はモデルの辞書やアルゴリズムによって異なります。
分割後、各トークンには数値IDが割り当てられます。モデル内部では「猫」や「机」ではなく、それぞれの数値表現で処理が行われます。
単語ごとにIDを割り当てれば簡単そうに思えますが、言語には無数の単語や変化形が存在し、辞書が膨大になってしまいます。例えば日本語でも「働く→働かない→働けば→働きます→働いている」など多くの形があります。人名や企業名、新語やコードなども増え続けます。
トークン方式なら、未知の単語や長い語も既知のパーツに分割できるため、モデルの柔軟性が高まります。よく使われる短い単語は1トークンで済みますが、珍しい単語や複雑な表現は複数のトークンに分かれることが多いです。記号や数字も同様に、1トークンになったり複数に分かれる場合があります。
ユーザーがChatGPTにメッセージを送ると、まず「トークナイザー」がテキストをトークンに分割します。
たとえば「AIはどうやって動くの?」という文は、3語と記号1つに見えますが、トークナイザーは語の境目とは異なる位置で分割することもあります。各トークンにはモデル内の辞書からIDが割り当てられます。
このようにして数値IDの列がAIモデルに渡され、以降の処理が進行します。
AIは人間のように「文字」や「単語」の意味を直接理解できません。すべてのテキストを数値に変換して処理する必要があります。しかし、すべての単語を個別に数値化するのは現実的ではありません。言語は進化し続け、新しい単語や表現が次々に生まれるからです。
トークン化により、モデルは広く使われるフレーズや単語をまとめて管理しつつ、未知の語や長い単語も分割して処理できます。これにより、通常の文章だけでなく、名前や数字、URL、コード、新語にも柔軟に対応できます。
トークンの辞書は、モデル開発時に大量のテキストデータから作られます。よく使われる文字列は大きめのトークンとして登録し、珍しい組み合わせは細かく分割します。トークナイザーや言語によって、同じ文でもトークン数が異なることがあります。
より詳しいトークナイザーや辞書の仕組みについては、「テキストのトークン化:AIはどうやって言語を数値化するのか」で解説しています。
単語単位でモデルを設計すると、辞書のサイズが膨大になり、未知語への対応が困難です。トークン方式なら、よく使われる単語やフレーズは1トークン、珍しい表現は複数トークンで表現でき、通常のテキストやコード、数字、リンク、多言語に柔軟に対応できます。
この仕組みにより、辞書サイズを適度に抑えつつ、あらゆる入力テキストを組み合わせで表現できます。だからこそ、ChatGPTは単語ではなくトークン数で処理上の制限を設けています。
例えば「フランスの首都は-」という文脈から、モデルは「パリ」というトークンが次に来る確率を高く計算します。続きのトークンを順々に生成することで、最終的に文章が完成します。
この「次のトークン」は必ずしも「次の単語」とは限りません。単語の一部や記号も含まれます。ユーザーが見る文章は、この一連のトークン生成の結果となります。
トークンの数値IDは、そのままでは計算に使いにくいため、「ベクトル(埋め込み)」と呼ばれる数値の集合に変換されます。AIはこの多次元空間でトークン同士の関係性や文脈を捉えます。
文脈によって単語の意味が変化することもあり、同じ文字列でも前後関係によって解釈が異なります。こうしてモデルは文脈を内部表現として構築し、次のトークンの確率を計算します。このサイクルを繰り返すことで、最終的な回答が生成されます。
トークンには決まった長さがありません。1文字、数文字、1単語、またはさらに長い場合もあります。英語では「1トークン=数文字」と言われることが多いですが、内容やトークナイザーによって大きく変わります。短くよく使われる語は1トークン、珍しい技術語は複数トークンになることも。
このため、同じ文字数の文でも、AI内部でのトークン数は異なる場合があります。
1トークンが1単語になるとは限りません。1単語が2~3トークンに分かれることもあれば、逆に複数の語が1トークンになることも。特に長くて珍しい単語はトークン数が増えやすいです。
例えば「マイクロアーキテクチャ」という技術語は、人間から見れば1単語でも、AIモデル内では複数トークンで表現される可能性があります。一方で、よく使われる語やフレーズは1トークンで済むことも。
「1000トークン=○語」という換算はあくまで目安です。正確なトークン数を知りたい場合は、実際に対象モデルのトークナイザーで確認しましょう。
AIが「日本語を苦手としているから」ではなく、トークン化処理の違いが主な理由です。辞書作成時によく出現する英語のパターンは大きなトークンとして登録されやすく、日本語の語彙は細かく分割されがちです。そのため、同じ内容でも日本語の方がトークン数が多くなる傾向がありますが、モデルやトークナイザーによって結果は異なります。
したがって、ページ数や単語数だけでなく、「トークン数」で実際のテキスト量を判断する必要があります。
AIモデルには「一度に考慮できる情報量=コンテキストウィンドウ」があり、その長さをトークンで測ります。ここには以下が含まれます:
つまり、短い質問でも、過去の対話や長文があると、利用可能なトークン枠が圧迫されます。必要な情報がウィンドウ内に収まっている限り、モデルは文脈を適切に活用できます。
モデルごとに「一度に扱えるトークン数」に上限があります。これは1回の入力・出力が可能な最大情報量です。ページ数や単語数とは直接結びつきません。同じ長さの文章でも、言語や内容、コード、書式によって消費トークン数は異なります。
入力テキストと回答のトークン枠が共有・分離されているかはモデルやサービスによって異なります。たとえば大きなドキュメントや会話履歴がある場合、新規入力や回答に使える容量が減ります。
やりとりが長くなると、全履歴がコンテキストウィンドウに収まらなくなります。その場合、古いメッセージは直接的な文脈から外されるか、圧縮された形で保持されます。このため、長い対話になるほど、初期の話題が忘れられやすくなります。
長大な対話の構造やAIの「記憶」については、「なぜAIは長い対話を忘れるのか:コンテキスト・記憶・Attentionの仕組み」で詳しく解説しています。
大量のデータを分析・処理する際、トークン制限は非常に重要です。
このように、トークンは単なる数値ではなく、AIが同時に扱える「実質的な情報量」を決める重要な単位です。
トークンに固定の文字数はありません。1文字、数文字、1単語、またはそれ以上の場合もあります。おおよその目安として「数文字=1トークン」と言われることもありますが、内容やトークナイザーによって大きく異なります。正確なトークン数は、実際に対象モデルのトークナイザーで確認する必要があります。
単語とトークンの数は一定しません。短い単語は1トークン、長い単語や珍しい単語は複数トークンとなることも。言語や語彙構成によっても異なり、「1000単語=○トークン」といった換算はあくまで概算です。実際のトークン数を基準にした方が適切です。
はい、句読点や記号もトークン化の対象です。ただし、必ずしも1つの記号=1トークンではなく、隣接する文字とまとめて1トークンになる場合もあります。スペースや改行、数式記号なども同様です。
トークナイザーの辞書にどのようなパターンが登録されているかによります。英語の一般的な語やパターンが多く登録されている場合、少ないトークンで表現でき、日本語の語彙は細かく分割されがちです。これはモデルやテキスト内容にも左右されるため、一概には言えません。
必要な情報量がコンテキストウィンドウを超えると、モデルは全情報を一度に処理できなくなります。サービスによっては、古い履歴を削除したり、入力・出力のサイズを制限することがあります。長いチャットや大きなファイル、長文コードを扱う際は特に注意が必要です。
トークンは、AI言語モデルがテキストを受け取り・生成する際の基本単位です。1トークンは1単語や1文字と必ずしも一致せず、単語が分割されたり、複数の単語が1トークンになることもあります。
ChatGPTはトークン数を数えることで、膨大かつ変化し続ける言語に柔軟に対応しています。トークン化後、各フラグメントには数値IDが割り当てられ、AI内部で計算に適した形に変換されます。
トークン数は実用面でも極めて重要です。入力・履歴・回答のどれだけがAIの「思考枠」に入るかは、トークン数で決まります。長い文書、コード、大規模な対話ではページ数や単語数ではなく、トークン数を基準に考えることが大切です。