Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】What does one token actually cost you?

2026年10月01日に「Dev.to」が公開したITニュース「What does one token actually cost you?」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

GPUでAIモデルを動かす際の1トークンあたりのコストは、様々な要因で変動し予測が難しい。正確な性能評価には複数回測定し、統計的に判断することが重要である。著者はその測定を自動化するツールを開発した。

出典: What does one token actually cost you? | Dev.to公開日:

ITニュース解説

大規模言語モデル(LLM)の活用が進む中で、外部のAPIサービスを利用するだけでなく、自社のサーバー(GPUなど)を借り上げてLLMを運用する「自己ホスティング」は、コスト効率やセキュリティの観点から注目されている。しかし、この自己ホスティング環境で、実際にどれくらいのコストがかかっているのかを正確に把握することは非常に難しい。この記事では、この「1トークンあたりの実際のコスト」を正確に測定することの難しさ、その背景、そして解決策について解説している。

自己ホスティングでGPUを時間単位で借りる場合、その時間あたりの料金は明確に分かる。また、LLMのAPIプロバイダーが提示するトークンあたりの料金表も存在する。だが、自分のサーバー上でLLMを動かしたときに、具体的に「100万トークンあたりいくら」のコストがかかっているのか、その間の正確な数字は多くの人にとって不明瞭なままだ。記事の著者も長らくこのコストを推測に頼っており、自己ホスティングを行っているほとんどの人が同じ状況にあると指摘している。

基本的なコスト計算式はシンプルに見える。100万トークンあたりのコストは、「時間あたりの料金を3600で割り(1秒あたりの料金を出し)、それを1秒あたりのトークン数で割った後、1,000,000を掛ける」というものだ。しかし、この計算式の中で最も難しく、かつ変動しやすい要素が「1秒あたりのトークン数(tokens per second)」である。この値は、実に様々な要因によって変化する。例えば、一度に処理するリクエストの数やテキストの量を示す「バッチサイズ」、LLMの実行環境を最適化する「vLLM」のようなライブラリの設定フラグ、モデルのサイズを縮小して効率化を図る「量子化」の手法、使用しているLLMの「エンジンバージョン」、そして基盤となる「GPUの種類や性能」といったハードウェア要素に左右される。さらに、同じマシン上で同時に実行されている他のタスクや、マシンの全体的な負荷状況によっても、1秒あたりのトークン数は刻々と変動してしまうのだ。

このように多くの要因で変動するため、正確な測定は一筋縄ではいかない。著者が実際に測定を開始したところ、いくつかの驚くべき事実が明らかになった。まず、同じサーバーを使っていても、測定するたびに異なる結果が出るという点だ。例えば、何も設定を変更していないOllamaが動作するサーバーで4回測定を行った際、100万トークンあたりのコストは8.77ドル、8.86ドル、11.26ドル、10.02ドルと大きくばらつきが出た。もし3回目と4回目の測定の間に何らかの設定変更を行ったと仮定すれば、あたかも11%ものコスト削減に成功したかのように誤解してしまう可能性があった。これは、一度の測定だけでは信頼できる結果とは言えないことを示している。

したがって、何かを評価する際には、一度の数値だけでは不十分であり、複数回の繰り返し測定が必要となる。そして、その測定結果に「信頼区間」を設け、測定に伴う「ノイズフロア」(測定誤差の最低ライン)を考慮することが不可欠だ。もし何らかの変更を加えた結果が、このノイズフロアの範囲内に収まってしまう程度のものであれば、それは「効果があった」とは断言できない、というのが正直な答えとなる。しかし、本当に効果のある改善であれば、その差は測定結果に明確に表れる。例えば、A100という高性能GPU上でvLLMを使い、同時に処理できるシーケンスの最大数を1から8に増やす変更を行ったところ、100万トークンあたりの出力コストは0.746ドルから0.234ドルへと劇的に削減された。重要なのは、変更の効果が数値として「明確に視認できる」という点にある。

また、測定において注意すべき点として「キャッシング」の影響がある。同じプロンプトを繰り返し送信すると、サーバー側で以前の処理結果の一部を一時的に保存しておく「プレフィックスキャッシュ」が働き、2回目以降のリクエスト処理が実際よりも速く、つまりコストが安く見えてしまうことがある。そのため、真のパフォーマンスを測定するためには、キャッシュの影響を受けない「コールド」な状態でのリクエストを毎回送る必要がある。意図的にキャッシュの性能を測定したい場合を除き、キャッシュが効いた状態での測定は、実際のコストを見誤らせる原因となるのだ。

これらの手作業による煩雑な測定に疲れ果てた著者は、このプロセスを自動化する小さなツールを開発した。その名も「throttle-pro」である。このツールは、まず測定を行い、次にユーザーが特定の「一つの変更」を加えた後、再度測定を行う。そして、その結果に基づいて「CHEAPER(より安い)」「MORE EXPENSIVE(より高い)」または「NO WINNER(勝者なし)」という判断を明確に示してくれる。最も重要なのは、ツールがその効果を証明できない変更を「勝者」とは認めない厳密さを持っている点だ。

この「throttle-pro」はオープンソースとして公開されており、誰でも自分のマシンにインストールして利用できる。pipxを使って「pipx install throttle-pro」とコマンドを実行し、その後「throttle check --url http://localhost:8000 --model <自分のモデル名> --gpu-hourly-rate <時間あたりのGPU料金>」のように実行する。著者は、何らかの設定変更を行う前に、まずこのツールを3回か4回実行して、自身のサーバーがどれだけ測定値にばらつきがあるかを試すことを推奨している。自身のサーバーの「揺らぎ」の大きさが最初の驚きとなるだろう。

このように、自己ホスティング環境でLLMを運用する際には、時間あたりのGPU料金だけでなく、実際にどれだけのトークンを1秒あたりに処理できているか、そしてその結果として1トークンあたりにいくらのコストがかかっているかを正確に把握することが極めて重要だ。あいまいな推測に頼るのではなく、信頼できるツールを用いて客観的に測定することで、無駄なコストを削減し、効率的なシステム運用を実現するための確かな一歩を踏み出すことができるだろう。

関連コンテンツ

関連IT用語

関連ITニュース