2024年7月にOpenAIから「GPT-4o mini」が登場しました。
従来のGPT-4oに比べて、軽量&高速かつコストパフォーマンスに優れています。
具体的には、1MT(ミリオントークン)あたりの入力が0.15ドル、出力が0.60ドルとなっていますが、これが果たしてトークン数どれぐらいなのでしょうか。
今回はChatGPTのような言語モデルのトークンの意味、単位や量についておさらいです。
トークンについて
トークンとは、ChatGPTのような言語モデルがテキストを処理するために使用する基本的な単位です。
トークンは、単語、部分単語、文字、句読点など、テキストの構成要素のいずれかを指します。例えば、単語全体が1トークンであったり、単語がさらにサブワード単位に分解されることもあります。
英語の場合、1 トークンは約 4 文字程度で、例えば、「Hello, world!」というテキストは、4つのトークン(「Hello」、「,」、「world」、「!」)に分けられます。
また、サブワード単位という考え方もあり、単語をサブワード(部分単位)に分解します。例えば、"unhappiness"という単語は、"un"、"happy"、"-ness"というサブワードに分解されることがあります。
トークンについては、モデルによっていろんなカウント方法があるようで、言語によってもことなります。ChatGPTもモデルや言語によって最適なカウント方法を使っています。
日本語のトークンは、1文字または1語が1トークンとしてカウントされたり、サブワード単位でカウントされたりします。
例えば、「大規模言語モデル」という言葉では、それぞれを1文字つづに分けて8トークンとする場合のほか、「大規模」「言語」「モデル」のサブワードトークンに変われる場合とがあります。
トークンの例
単語単位(英語): "AI"、"is"、"amazing"など。
単語単位(日本語):"大"、"規"、"模"、"言"、"語"、"モ"、"デ、"ル"。
サブワード単位: "un-", "happy", "-ness"など。
句読点: ".", ",", "!"などもトークンとして扱われることがあります。
トークンの制限
ChatGPTの各モデルには、処理できるトークンの数に制限があります。このトークン制限は、入力と出力の合計トークン数を指します。
GPT-3.5の場合
トークン制限: 最大4096トークン
GPT-3.5モデルでは、1回のリクエストで処理できる入力と出力の合計トークン数が4096トークンです。これには、ユーザーからの入力テキストとモデルが生成する出力テキストの合計が含まれます。
上記の通り、モデルのトークンカウント方法によってことなりますが、日本語の場合は4000トークンで約6000文字程度と言われています。
・GPT-4 Turboの場合トークン制限: 最大128k(12800)トークン
トークン制限の重要性
トークン制限を超えると、テキストが切り捨てられるか、モデルがエラーを返す可能性があります。なので、長いテキストや複雑なリクエストを処理する際には、トークン制限を意識して入力と出力のバランスを調整する必要があります。
まあ、個人的には普段調べ物をしたりするときに、トークン数を気にすることはほぼないのですが、予備知識として。