GPU はテクノロジーで最も高価な資源。その使い方には改善の余地がある
GPU の料金は毎時 $2~4。AI フリートでは数百基が稼働します。スティッキーセッションによるルーティングでは、その半分を無駄にしているかもしれません。

GPU の料金は 1 時間あたり $2~4。AI フリートでは数百基が稼働します。スティッキーセッションによるルーティングでは、その半分を無駄にしているかもしれません。
AI アシスタントにメッセージを送るたびに、どこかで GPU が動き始めます。
GPU は、そのために作られたものではありません。もともとはゲームのフレームを描画するために設計され、数百万のピクセルを同時に処理する超並列の計算機です。しかし、グラフィックスの中心にある行列乗算は、ニューラルネットワークを動かす計算と同じです。AI 時代の最も重要なハードウェアは、本質的には用途を変えたグラフィックスカードです。
しかも、非常に高価なグラフィックスカードです。
現在、AI 推論の主力である NVIDIA の H100 は、クラウドで 1 基あたり毎時 $2~4かかります。本格的な環境では数百基を動かします。最大手の AI 事業者にとって、GPU インフラ費用は CFO が夜も眠れなくなる損益計算書の項目です。
それなら、私たちは効率よく使うことに長けているはずです。
実際は、そうではありません。
AI と会話するとき GPU の中で起きること
会話を開いて最初のメッセージを入力すると、GPU はその単語だけを個別に処理するわけではありません。文脈の中で処理し、各単語をほかのすべての単語との関係で理解します。これによって、現代の AI は高度な自動補完ではなく、一貫した受け答えに感じられます。
主要な LLM のアーキテクチャは、アテンション機構によってこれを行います。会話内の各トークンについて、モデルは Key と Value と呼ばれる数値の組を計算します。それらは、コンテキスト全体におけるトークンの意味と関係を表します。次の単語を生成するとき、モデルはそのすべてを参照します。
この計算は高コストで、会話が長くなるほど重くなります。
そこでサービングのインフラは、合理的な対応を取ります。毎メッセージで再計算する代わりに、Key と Value の行列を保存します。この保存された状態が KV キャッシュです。GPU の高帯域幅メモリ(HBM)に置かれます。
次のメッセージを送れば、システムは前回の続きから始められます。高速で効率がよく、重複作業もありません。
しかし、いつまでもそうはいきません。
フリート内で GPU の利用率が偏る理由
会話用に作られた KV キャッシュは、特定の GPU にあります。共有プールでもデータベースでもなく、特定のデータセンター内の、特定の一台のハードウェアです。
次のメッセージを送ると、インフラはまったく同じ GPU にルーティングします。そうしなければ、既に持っていたコンテキストを再構築するために、時間と費用をかけてすべてを一から計算し直す必要があります。
これをスティッキーセッションルーティングと呼びます。継続中のセッションを、コンテキストを既にキャッシュしている GPU に送り、重複計算を避けます。非常に合理的に聞こえます。
では、数百万のユーザーを処理する数百基の GPU 全体で、何が起きるでしょうか。
長く活発な会話を続けるユーザーもいます。その GPU はギガバイト規模の KV キャッシュを抱え、頻繁なリクエストを処理して高負荷になります。一方で、午前 9 時に会話を始めたまま戻ってこないユーザーのコンテキストを保持する GPU もあります。それらは準備が整っていても遊休状態で、メモリは占有され、新しい仕事に使えません。
人間の行動は本質的に予測できません。1 時間静かだった会話が、突然活発になることがあります。一つの深い技術的な会話で GPU メモリを 10GB 以上使い、一人の会話履歴に GPU 容量のほぼ半分を割り当てることもあります。
企業で AI がどう使われるかを考えると、問題はさらに重なります。多くのユーザーが、同じ大きな文書、ナレッジベース、データセットについて質問します。ユーザーが変わるたびに、GPU は同じ資料を一から再処理します。コンテキストは変わっていなくても、計算は再実行されます。
インフラチームが負荷を再配分するには、キャッシュを追い出して高価な計算結果を失うか、別の場所で再構築するために完全な再計算のコストを払うしかありません。どちらもよい選択ではないため、負荷の集中は残ります。
見た目以上に難しい問題
GPU と Transformer の計算を取り除いて考えると、インフラの世界で以前にも見た問題です。データの場所に基づいて処理を振り分けるステートフルなシステムで、ホットスポットと偏りが生まれます。大きなオブジェクトを動かすか、計算結果を捨てるかしなければ、きれいに負荷を再配分できません。
分散データベース、セッションストア、CDN は、いずれもこの種の問題を解いてきました。ツールが成熟し、パターンが理解され、やがて最もよい意味で、ありふれた問題になりました。
KV キャッシュはまだそこに達していません。規模が異なり、個々のキャッシュオブジェクトはギガバイト単位です。置かれるメモリは、データセンター内のほかのどの資源よりも 1 バイトあたりの単価が高いものです。しかし、インフラに取り組んできた人には、問題の形は見慣れています。
研究コミュニティが積極的に取り組み、インフラ分野も注目し始めています。この二つが交わるとき、難しい問題は解きやすくなります。それまでは、ホットスポットが残り続けます。