LLM の出力速度シミュレータ

出力

ここに出力されます…
仕様

コラム

毎秒何トークンで出れば、読むより速いのか

LLM の速さは「毎秒 50 トークン」のように、1 秒に出すトークンの数で表されます。けれども、トークンが何字なのかが分からなければ、それが読む速さと比べて速いのか遅いのかは分かりません。

答え: 日本語の小説を黙読する速さは 1 分に約 1200 字、1 秒に約 20 字です。OpenAI の GPT-4o 以降のモデルが使う区切り方(o200k_base)で数えると、これは毎秒 14〜16 トークンに当たります。それより速く出れば、読む人のほうが追いつけなくなります。

トークンは文字ではない

LLM は、文を文字ではなくトークンという単位に区切って読み書きします。よく出てくる文字の並びは 1 つのトークンにまとめられ、まれな文字は 1 字が 1 トークンになります。どこで区切るかはトークナイザ(区切り方の表)で決まり、モデルの会社や世代ごとに違います。

このサイトのツールのページに載せている 4 本のコラム(1100〜2700 字)を、OpenAI のトークナイザで数えました。o200k_base(GPT-4o 以降)では 1 トークンあたり 1.28〜1.45 字、その前の cl100k_base(GPT-4・GPT-3.5)では 1.06〜1.13 字でした。同じ文章でも、新しい区切り方のほうが 15〜22% 少ないトークンで済みます。英語の文章(8000 字のライセンス文)は、どちらでも 1 トークンあたり 4.16 字でした。日本語は、英語より同じ字数あたり約 3 倍のトークンを使います。

読む速さをトークンに直す

速読の訓練を受けていない大学生が日本語の小説を黙読した実験では、読む速さは 2 回の実験の平均で 1 分に 1237 字と 1193 字でした。約 1200 字とすると、1 秒に 1200 ÷ 60 = 20 字です。

1 トークンを 1.28〜1.45 字とすると、20 ÷ 1.45 ≒ 13.8、20 ÷ 1.28 ≒ 15.6 で、毎秒 14〜16 トークンです。cl100k_base の 1.06〜1.13 字なら、毎秒 18〜19 トークンです。読む速さは文章の難しさや読む人で変わるので、目安の値です。

読むより速くなったら、答えが出きるまでの時間で比べる

毎秒 15 トークンより遅いと、読む人は次の字が出るのを待つことになります。それより速いと読むほうが遅れるので、出る速さをいくら上げても、読みやすさは変わりません。速さの違いが表れるのは、答えが出きるまでの時間です。

2000 字の答えは、1 トークン 1.4 字として約 1430 トークンです。出きるまでの時間は、毎秒 30 トークンで約 48 秒、毎秒 100 トークンで約 14 秒、毎秒 300 トークンで約 4.8 秒です。同じ 2000 字を毎秒 20 字で読むと 100 秒かかります。最後まで読むなら毎秒 30 トークンでも読み終わるまでの時間はほとんど変わりませんが、答えの一部だけを拾い読みしたいときや、出てきたプログラムのコードをすぐに貼り付けたいときには、全体が早く出きるほうが待ち時間が短くなります。

実際の LLM は、このシミュレーションほど単純ではない

このページは、決まった速さでトークンを出し続けるだけです。実際の LLM の応答には、ほかに次の時間がかかります。

AI エージェントでは毎秒 60 トークンが目安だが、速さだけでは決まらない

人が読む答えなら、毎秒 15 トークンほどで読む速さに追いつきます。AI エージェントでは事情が違います。エージェントはファイルを読み、コードを書き、コマンドを実行する手順を何度も繰り返し、人はその間に出てくる字を読まずに、作業が終わるのを待ちます。毎回長い入力を渡すのでプリフィルも長くなり、ツールコールのたびに待ちが加わります。私たちが手元の GPU で動かす LLM(ローカル LLM)をエージェントとして使ってきた経験では、毎秒 60 トークンほど出ないと、1 つの作業が終わるまでの待ち時間が長くなり、使いにくくなりました。

ただし、作業が終わるまでの時間は、トークンを出す速さだけでは決まりません。考える過程を出すかどうか、どのくらい長く考えるかは、モデルによって違います。考える量を決める設定(thinking effort や reasoning effort と呼ばれます)を変えたときに、考える長さがどれだけ変わるかも、モデルごとに違います。これまで試したモデルの中には、延々と考え続けて、いつまでも答えを出さないものがありました。反対に、考える量を最大に設定しても、素早く答えを出すものもありました。毎秒のトークン数が多くても、考える過程が長ければ、作業は遅く終わります。トークンの出力速度と作業が終わるまでの時間は、必ずしも比例しません。

このシミュレーションの区切り方

o200k_base の区切り方の表は、それだけで 2 MB あまりあります。このページでは表を読み込まず、上に書いた字数とトークン数の比に合わせて区切ります。日本語の続きは 1 字・2 字・3 字を 55%・35%・10% の割合で選び、句読点と括弧は 1 字ずつにします。英単語は前の空白を含めて 11 字までを 1 トークン、数字は 3 けたずつです。

4 本のコラムで比べると、このページの区切り方のトークン数は o200k_base より 5% 少ないものから 6% 多いものまでの間に入りました。英語のライセンス文では 10% 多く、英語は実際より少し遅く出ます。

出典