見出し画像

LLMのトークン数の考え及び、ソースコードをLLMで扱う場合の限界ステップ数と料金を検証

LLMを使った検証をやっているとトークン数を気にする必要が出てきます。
今まで何となく英語は1単語1トークン、日本語は1文字1トークンといういイメージでいたのですが、詳しく調べてみました。


トークン数のカウント方法

トークン数は、文章をLLMにインプットするために、意味のたる単位に文章を分割した数になります。
アルゴリズムが複雑なためツールを使わないと数えるのは難しいのですが、OpenAIのTokenizerでカウントするWebサイトが用意されています。

https://platform.openai.com/tokenizer

下図のように日本語や英語を入れるとトークン数を数えてくれます。
「吾輩は猫である。名前はまだない。」だと17文字が13トークンとなります。
GPT-3とか3.5だと、1文字1トークンでしたが、GPT-4からは「名前」とか簡単な漢字やひらがな/カタカナは一部まとめてくれています。

日本語のトークン分割

英語で「I am cat. I don't have name yet.」といれると32文字、10トークンとなります。一般的にトークン数は英語の方が少なくなります。

英語のトークン分割

トークン数にすると、文章の何割ぐらいの量になるか

BPEというアルゴリズムを使っているようですが、いろいろ試すと、入力する文章の文字数に対して、日本語は80%弱、英語は25%程度になるのかなと思います。
文章にもよるのでぶれるとは思いますが。

BPEのアルゴリズムは以下を参照。

LLMはトークン数の上限がある

モデルにもよりますが、OpenAIのGPT-4だと
 ・リクエスト:128,000トークン
 ・レスポンス:16,384トークン
が上限になります。

最近のo1だともう少し増えて
 ・リクエスト: 200,000トークン
 ・レスポンス: 100,000トークン
になります。

モデルが上がるごとに上限が増えているため、今後も増えていくとは思います。

open AI APIの料金

LLMはChatGPTとか一部無料では使えますが、基本的に学習なしで仕事で使おうとすると無料枠は使えなくて、トークン数での従量課金になります。

GPT-4oだと以下のような料金になります。
 ・$2.50/1M 入力トークン
 ・$10.00/1M 出力トークン


LLMでソースコードを扱う場合のトークン数やLLM料金についての試算

ソースコードをLLMに入力して利用する検証をしていたため、実際にどのぐらいのソースを一度に食べさせられるのか試算してみました。

ここから先は

2,759字

¥ 100

この記事が気に入ったらチップで応援してみませんか?