はじめに
さくらのAIを使っていると感じる,
なんか速く返ってくる
それを定量的に測ってみようと思いました.
参考記事
AIモデルのレイテンシを比較した記事がありました.
これ以降はサイトAと呼びます.
この記事によると,
- AIの良し悪しは賢さだけじゃない.スピード,料金,安定性も大事.
- スピードもいくつかの指標があるから,使いたい用途に合わせて数値を見ること
ここで紹介されていた指標を基にさくらのAIの速さを測定したいと思います.
指標
① TTFT
time-to-first-tokenの略です.
入力を送ってから,初めてユーザに表示される回答トークンが返ってくるまでの時間です.
これが早いほど,チャットUI向きと言えます.
チャッピーでいえば,この瞬間です.
② Total latency
トータル合計の時間.
入力を送ってから,AIモデルが回答し終わるまでです.
③ Completion tokens
送られてきたトークン数です.
今回は推論のトークンと回答のトークンの合計を算出しています.
④ Tokens/sec
1秒間当たりのトークン数.
Completion tokens / (Total latency - TTFR)で算出しています.
これが多いほど,バッチ処理向きと言えます.
⑤ TTFR
サイトAにはありませんが,追加しました.
time-to-first-reasoningの略です.
入力を送ってから,初めて推論のトークンが返ってくるまでの時間です.
ベンチ条件
サイトAでの条件はこんな感じです.
| 項目 | 内容 |
|---|---|
| 入力プロンプト長 | Short:約50 tokens |
| Medium:約200 tokens | |
| Long:約500 tokens | |
| 実行回数 | 各条件3回 |
| 通信環境 | 同じTorontoのサーバから実行 |
入力プロンプトは,「自己紹介して」という文章を約20トークンと約200トークンの2つのバージョン用意しました.
Python(requests)からストリーミングAPIへアクセスし,
100回プロンプトを送り,返ってくる結果に対して時間を計測しています.
使用したモデルはgpt-oss-120bです.
結果(入力 Short:約20トークン)
| 項目 | 平均 | 標準偏差 | 変動係数(CV) |
|---|---|---|---|
| TTFR | 379 ms | 109 ms | 28.7% |
| TTFT | 1448 ms | 1141 ms | 78.8% |
| Total latency | 2356 ms | 1106 ms | 47.0% |
| Completion tokens | 519 | 271 | 52.2% |
| Tokens/sec | 266 | 16.0 | 6.0% |
※変動係数 = 標準偏差 ÷ 平均
TTFTはかなり振れ幅が大きいことが分かります.一番早い時では0.4秒ほどで一文字目が送られてくる一方で,遅い時では5秒以上かかっているときもありました.
それと比較すると,TTFRはあまり振れ幅が大きくありません.TTFRよりTTFTのばらつきが大きいことから,TTFRからTTFTまでの区間,すなわち推論トークンが生成される時間が応答時間を左右している可能性があります.
Tokens/secの変動係数は6.0%と小さく,一度生成が始まると,トークンの生成速度自体はかなり安定していることが分かります.
箱ひげ図から見る
① TTFR
圧倒的な外れ値が3つあります.が,これらは最初の5回の間にすべて発生しています.この記録はAIがウォームアップ中だった可能性もありますね.
② TTFT
TTFTは一部5秒を超えるものもありますが,中央値は約1秒であり,体感としては十分実用的な速度と言えます.サイトAの言葉を借りると,まるで会話をしているような感覚?ですね.
③ Total latency
TTFTの散らばりに引っ張られてか,こちらも振れ幅が大きめです.
また,200文字程度の文章なら,中央値では約2秒で返ってくるという結果になりました.
④ Completion tokens
トークン数は基本的に思考時間(TTFT-TTFR)に比例して大きくなっていました.当たり前っちゃあ当たり前かもしれませんが..
⑤ tokens/sec
トークンの生成速度は中央値で260 tokens/secであり,大きなばらつきも見られませんでした.
結果(入力 Medium:約200トークン)
200トークンも入れられるので,まずいろいろな情報をプロンプトに入れました.
十分に情報を与えた結果
| 項目 | 平均 | 標準偏差 | 変動係数(CV) |
|---|---|---|---|
| TTFR | 382 ms | 102 ms | 26.6% |
| TTFT | 592 ms | 177 ms | 30.0% |
| Total latency | 2715 ms | 390 ms | 14.4% |
| Completion tokens | 602.1 | 86.9 | 14.4% |
| Tokens/sec | 258.6 | 8.47 | 3.3% |
面白い結果になりました.TTFTの値,変動係数の値が極端に減少しました.安定して早く結果を返してきたと読み取れます.
プロンプトで「これ書いて」って条件を詳しく与えたすぎたことにより,推論する必要がほとんどなく,入力をそのまま出力したとも考えられます.逆に意味のない文章を同じくらいの文章量で与えたらどうなるのか気になりました.
情報をほとんど与えなかった結果
| 項目 | 平均 | 標準偏差 | 変動係数(CV) |
|---|---|---|---|
| TTFR | 392 ms | 142 ms | 36.3% |
| TTFT | 929 ms | 314 ms | 33.8% |
| Total latency | 5778 ms | 810 ms | 14.0% |
| Completion tokens | 1372 | 206 | 15.0% |
| Tokens/sec | 254.9 | 3.62 | 1.4% |
なんか予想とは反して,TTFTはあまり大きくなりませんでした.代わりにTotalの時間が大幅に増えていました.
なんで???
文字生成した後に,再度思考フェーズへ戻ったりしたから???
ほかのモデルとの比較
サイトAにあった他のモデルと比較してみます.
結果の値はMediumの中央値で比較しています.
サイトAの結果とは条件が異なると思われます
参考程度に見てください
| モデル | TTFT | Output Speed[tokens/sec] | total latency |
|---|---|---|---|
| さくらのAI (gpt-oss-120b) |
約823 ms | 約255 tokens/s | 約 5780 ms |
| さくらのAI (llm-jp-3.1-8x13b-instruct4) |
約377 ms | 約132 tokens/s | 約 2771 ms |
| Claude Haiku 4.5 | 約597 ms | ― | ― |
| Claude Sonnet 4 | 約900 ms | 約53 tokens/s | ― |
| GPT-4.1 | 約1100 ms | 約125.3 tokens/s | ― |
| GPT-4.1 Mini | 約2400 ms | 約94.5 tokens/s | ― |
| Qwen3.7 Max | 約2590 ms | 約193 tokens/s | ― |
| Gemini 2.5 Flash | 約450 ms | 約204.5 tokens/s | ― |
| Gemini 2.5 Flash-Lite | 約 350 ms | 213.5 tokens/s | ー |
| Gemini 2.5 Flash | ― | 204.4 tokens/s | ー |
| Mercury 2 | ― | 841 tokens/s | ー |
比較ができるようにさくらのAIの別のモデルを使って,同じくスコアを算出しました.gpt-oss-120bは推論モデルなので,多少TTFTが遅いようにも感じますが,それでも1秒未満なら十分なのではないでしょうか.
直接比較はできませんが, こうしてみると速度に関しては他のAI APIとも遜色ない性能をしていると言えるのではないでしょうか!
まとめ
AI APIを使ったことがなかったので,結果をあまりよく考察することはできませんでしたが,個人で利用する分にはローカルLLMより"圧倒的に"性能が良いものと言えます.速さは十分な性能があることは間違いないと言えます☆
現在ではAIも種類が多くなってきて,どれを使ったらいいのだろうと思ってしまうこともあります.今回調べているうちに,
結局様々な条件を見て自分にあったものを使うべし
っていうありきたりな結論に至りました.無料枠が多い&性能は申し分ないってのが嬉しいので,私はさくらのAIを積極的に使っていきたいです.






