一言でいうと トークンは、生成AIが文章などの入力・出力を処理するときに使うデータの単位で、文字数や単語数と必ずしも一致しません。
文章を扱うための単位
大規模言語モデルは、文章をそのまま一つの塊として扱うのではなく、トークンという単位へ分けて処理します。この分割をトークン化、またはトークナイゼーションと呼び、分割を行う仕組みをトークナイザーと呼びます。
トークンは一文字の場合も、一つの単語や単語の一部の場合もあります。区切り方は言語やトークナイザーによって変わるため、「一文字が一トークン」「一単語が一トークン」とは決められません。同じ文章でも、使うモデルのトークナイザーが違えば、トークン数が変わる場合があります。
文字数からの換算は目安にとどまる
原稿の文字数は、人が文章の長さを把握するための数え方です。トークン数は、モデルが処理するデータの区切りに基づく数え方で、両者の目的が違います。
例えば、同じ文字数の文章でも、日本語の原稿と英語の原稿、記号の多いデータなどでは、同じトークン数になるとは限りません。特定のモデルで得た文字数との比率を、別のモデルや別の種類の文章へそのまま当てはめないことが大切です。正確な値が必要な場合は、対象モデルに対応したカウント機能で確かめます。
入力・出力・コンテキストの関係
入力トークンは、モデルへ渡す指示や文章などを数えたものです。出力トークンは、モデルが生成する文章などを数えたものです。過去の会話や参照資料を入力に含めれば、今回書いた質問文だけよりも処理する量は増えます。
コンテキストウィンドウは、モデルが一度の処理で扱える文脈の範囲を指し、その上限はトークン数で示されることがあります。入力の上限、出力の上限、両方を合わせた制約はサービスやモデルごとに確認します。長い資料を渡せることと、その内容を漏れなく正しく理解できることも同じではありません。
料金と利用枠は同じものではない
生成AIのAPIでは、入力・出力のトークン数に基づいて料金を計算する方式があります。料金を見積もるときは、どの部分が課金対象か、入力と出力の単価がどう設定されているかを、利用するサービスの条件で確認します。
一方、月額サービスの利用枠が、利用者に見えるトークン数だけで決まるとは限りません。トークン数は処理量を考える手がかりですが、契約上の利用回数や上限、処理時間まで一つの数字に置き換えることはできません。料金表の単位と、利用枠の説明を分けて読む必要があります。
メディアの実務では、資料の渡し方に関係する
長い取材記録や記事の要約を大量に処理するときは、入力と出力の量が費用や上限に関係します。例えばRAGで検索した資料を回答生成の入力へ加える場合も、参照する文章の量を考える必要があります。資料を減らす際には、反対意見や発言の条件など、確認に必要な文脈まで削らないことが重要です。
また、記事がAIにどれだけ使われたかを計測する場合、モデルごとに変わるトークン数と、原稿の文字数は違う物差しです。トークンはAIの処理を理解する単位であり、記事の品質や利用価値そのものを示す指標ではありません。
あわせて読みたい用語
参照情報
*このコンテンツは生成AIを用いて作成し運営者の確認を経て配信しています。*
