トークン(Token)とは何か?

14 min readPayPerChat
トークン(Token)とは何か?

AI言語モデルでよく言及される「トークン」の意味を学びます。トークンとは何でなぜ重要なのか、そしてAIサービスを使用する時にトークンがどのように使われ、コストとどのような関連があるかを分かりやすく説明します。

トークン(Token)とは何か?

ChatGPTのような大規模言語モデル(Large Language Model, LLM)ベースのAIチャットボットを使用していると、しばしば「トークン(token)」という用語に出会います。一体トークンとは何でしょうか?この用語はAIが人間の言語を理解し生成するのに核心的な概念です。今回の投稿では、トークンの概念と役割を分かりやすく説明し、さらにAIサービスを使用する時にトークンがどのような意味を持ち、コスト面でなぜ重要なのかも学んでいきます。

トークンとは?小さな言語単位の意味

トークンはAI言語モデルがテキストデータを理解し処理するために使用する最も小さな単位の言語の断片です。簡単に言えば、文章や単語をより小さな断片に分割した一つ一つの塊がトークンです。一般的に一つの単語が一つのトークンになることもありますが、単語が複数のトークンに分かれる場合も多いです。例えば英語の単語「unbreakable」は**「un-」「break」「able」のように三つのトークンに分解されることがあります。同様に日本語文章「AIは素晴らしい」をトークン化すると「AI」、「」、「素晴らしい」の三つのトークンに分離されます。また、スペースや句読点もトークンとして扱われます。例えば文章「AI rocks!」をトークン化すると「AI」、「rocks」、そして「!」のように感嘆符も別のトークンになります。このようにテキストを個別のトークン単位に分ける過程をトークン化(tokenization)**と呼びます。

トークン化を経たテキストは、コンピューターが理解できる数字形態の情報に変換されます。AIモデルは文字そのものを認識するのではなく、トークンに分離されたテキストを一連の数字ベクトルに変えて処理します。このような変換により、AIは人間の言語を数値的に表現されたトークンの配列として受け取り、理解する準備をすることになります。

トークンが重要な理由

第一に、トークンはAIが言語を理解する方式の基盤です。 トークン単位でテキストを分析すると、単語自体の意味だけでなく文脈上のニュアンスまで把握するのに役立ちます。例えば「This is just perfect.」のような文章は文脈によって肯定的にも否定的にも解釈できます。AI言語モデルは文章を構成するトークンの順序と関係を学習して、このような微妙な意味の違いまで理解できるようになります。このようにトークンは単純な単語の断片ではなく、文脈を理解し推論するのに核心的な単位です。

第二に、トークンは効率的なデータ処理とモデル性能に直結します。 前述のようにAIモデルはトークン化されたデータを数字に変換して処理するため、テキストをトークンに細かく分ける過程が必須です。トークン単位に分けると膨大なテキストもモデルが迅速に計算できる形態に変換され、パターン認識テキスト分類文章生成など様々な作業を効率的に実行できます。また、トークン化により不要なスペースや句読点などを除去したり別途処理することで、モデルが核心情報に集中するよう助けます。

第三に、トークンはAIモデルの限界と密接に関連しています。 すべてのAI言語モデルには一度に処理できるトークンの量に限界があります。これをコンテキストウィンドウ(context window)と呼び、簡単に言えば一度に記憶し処理できるトークンの範囲を意味します。例えばよく使用されるGPT-4のようなモデルは一度に大体8,000~32,000個のトークン(数ページ分量のテキスト)を処理でき、AnthropicのClaudeモデルは最大100,000個以上のトークンを処理できると知られています。さらに一部の最新研究モデルは数十万から百万個以上のトークン長さのコンテキストも扱えると言われます。しかし大多数の商用AIモデルではこのコンテキストウィンドウが数千~数万トークンレベルに制限されます。モデルはこの限定された範囲内でのみ前後の文脈を参照して応答を作り出すため、質問や指示をする時にあまりに多くの情報を一度に入れるとモデルがすべてを記憶できない可能性があります。従って要求したい内容の中で重要な部分を簡潔に入力することが効果的です。トークン化を理解すればこのようなモデルの限界を把握して、重要な情報を優先伝達し、重要度の低い部分は省略したり分けて入力するなど効率的なプロンプト作成が可能です。

トークンとAIサービス利用及びコスト

トークン概念を知るとAIサービスを賢く利用するのに大きな助けになります。今日多くのAIサービスがトークンの使用量を基準にコストを設定しているためです。簡単に言えば、私がどれだけ多くのトークンをモデルに入力し、モデルがどれだけ多くのトークンを出力したかがそのまま計算リソース使用につながり、これによって料金が決定されます。例えばOpenAIのChatGPT APIなど大部分の生成型AI APIは1,000トークン当たりいくらといった形で価格が設定されています。トークンは結局AIモデルが処理するテキスト分量の単位なので、トークン数を数えることは使用量を測定する自然な方法です。

それでは実際に1トークンは文字や単語でどの程度の分量でしょうか?OpenAIによると一般的な英語テキストの場合1トークンは約4文字または0.75語程度に該当し、100トークンは大体75語分量だと言います。一、二文は約30トークン、一段落(約100~150語)は100トークン程度と見ることができるという案内もあります。興味深いことに英語以外の言語は同じ文章でもトークン数がより多く出る傾向があると言います。実際の例としてスペイン語文章「¿Cómo estás?」(10文字)は5トークンに分解されますが、英語に比べて文字対トークン比率が高いです。日本語も助詞や語尾変化などがあるため、同じ内容でも英語よりトークン数がやや増える可能性があります。このような点を考慮すると、AIモデルに長いプロンプトを送る時自分が使用している言語で何トークン程度消費されるかを推定してみることが重要です。

要するにAIモデルと対話する時は入力した質問や指示の長さ、そしてモデルの応答長さがすべてトークンに換算されて使用量として計算されます。長い文章を多く入力したりモデルが長い回答を出すほどより多くのトークンが消費され、これはすぐにコスト増加につながります。反対に短い質問一、二個だけして簡単な答だけ得るなら使用されるトークンが少なくコストも非常に低く出るでしょう。従って効率的にAIを活用するには必要な情報は最大限簡潔に聞き、不必要に重複する要求は避けることが良いです。また、モデルのコンテキスト限界を超えないようトークン数を調節することも重要です。

このような理由でトークンベース課金モデルを採用したAIサービスは通常使用量を視覚化してくれたり、何トークンを使ったかを知らせてくれるツールを提供します。例えばOpenAIの開発者ツールでは入力文章を入れると何トークンかを数えてみるトークナイザー(tokenizer)機能を提供して、予めトークン数を計算してみることもできます。トークンを意識してAIを使用すると過度な支出を防ぎコストを削減するのに大きな助けになります。

一方、最近は様々なAIモデルを一つのプラットフォームで提供しながら使った分だけコストを支払うようにするサービスも登場しています。PayPerChatもそのようなサービスの一つで、サブスクリプション型料金制ではなく必要な分だけクレジットをチャージしておいて使った分だけ差し引かれる方式のAIチャットボットプラットフォームです。PayPerChatの最大の利点は一ヶ所で複数のAIモデルを選択して使用できるという点です。このプラットフォームではOpenAIのChatGPT (GPT-4)、AnthropicのClaude、GoogleのGeminiなど業界の代表的な最新モデルをすべて接することができます。従って各々のサービスを個別にサブスクリプションしなくても、一度のチャージで多様なAIモデルを活用できるという経済性が目立ちます。必要な時に必要な分だけ支払って複数の優秀なAIモデルを活用できるため、個人ユーザーからビジネスユーザーまで柔軟で効率的なAI活用が可能です。

結論

まとめると、トークンはAI言語モデルが言語を処理するのに使用する基本単位であり、一種の「言語の断片」です。私達が日常的に使う文章はすべてトークンの配列としてモデルに伝えられ、AIはこのトークンを通じて人間の言語を理解し新しい文章を作り出します。トークンの概念を理解することは単純な好奇心解決を超えて、AIチャットボットを効果的に活用するのに必要不可欠です。トークン数を念頭に置いてプロンプトを作成すればモデルの限界を超えずに望む回答を得る確率を高めることができ、コストも合理的に管理できます。特にPayPerChatのように多様なモデルをトークンベースで提供するサービスを利用すれば、一層スマートに最先端AIの能力を体験できるでしょう。今後もトークンに対する理解を基にAIをより賢く活用してみてください!

参考リンク

💡

Use AI More Affordably

If this article was helpful, try using AI without monthly subscriptions with PayPerChat!

Try PayPerChat Free