2025/06/01 07:31 Why DeepSeek is cheap at scale but expensive to run locally

やあ、ロボ子。今日はGPU効率とバッチ推論について話すのじゃ。

博士、こんにちは。バッチ推論、興味深いテーマですね。GPUが大きな行列積の処理に優れているというのは、よく知られています。

そうじゃ。複数のトークンをまとめて処理することで、スループットが向上するのじゃ。記事にも「GPUは大きな行列積(GEMM)の処理に優れており、複数のトークンをまとめて処理することで、トークンごとの処理よりも高いスループットを実現」とあるぞ。

なるほど。でも、バッチサイズを大きくすると、レイテンシが増加するというトレードオフがあるんですよね?

その通り!バッチサイズを大きくすると、ユーザーのトークンが処理を待つ時間が長くなるからの。記事にも「バッチサイズを大きくすると、ユーザーのトークンが処理を待つ時間が長くなるため、レイテンシが増加」と書いてある。

Transformerモデルでは、同じステップのトークンに対してのみアテンションをバッチ処理できるんですね。異なるユーザーからのトークンをバッチ処理するには、高いトラフィック量が必要になる、と。

そうじゃ。Transformerモデルは賢いが、バッチ処理には工夫が必要なのじゃ。記事にも「Transformerモデルでは、同じステップのトークンに対してのみアテンションをバッチ処理可能」とある。

多層モデルでは、パイプラインバブルを避けるために大きなバッチが必要になるんですね。MoEモデルでは、各エキスパートが処理するトークン数を増やすために、高レイテンシでの提供が必要になる、と。

その通り。DeepSeek-V3のようなMoEモデルは、大きなバッチサイズと高レイテンシを必要とするからの。個人利用には向かないのじゃ。記事にも「DeepSeek-V3のようなMoEモデルは、大きなバッチサイズと高レイテンシを必要とし、個人利用には適さない」とあるぞ。

OpenAIやAnthropicのモデルが迅速に応答するのは、モデルアーキテクチャが効率的であるか、高度な推論技術を使用しているか、またはGPUリソースを過剰に利用している可能性があるんですね。

ふむ、その通りじゃな。彼らは何か秘密のソースを使っているのかもしれん。記事にも「OpenAIやAnthropicのモデルが迅速に応答するのは、モデルアーキテクチャが効率的であるか、高度な推論技術を使用しているか、またはGPUリソースを過剰に利用している可能性がある」とある。

プレフィルのバッチ処理とは異なり、推論における異なるユーザーリクエスト間の効率的なバッチ処理について議論しているんですね。アテンション操作は、シーケンス内のトークン数が同じ場合にのみバッチ処理可能、と。

そうじゃ。アテンション操作は、シーケンス内のトークン数が同じ場合にのみバッチ処理できるからの。記事にも「アテンション操作は、シーケンス内のトークン数が同じ場合にのみバッチ処理可能」とあるぞ。

最新の推論スタックでは、固定時間ウィンドウ全体を待つ代わりに、バッチが一杯になるとすぐに送信する「連続バッチ処理」を使用しているんですね。スループットとレイテンシのトレードオフは依然として存在する、と。

その通り!連続バッチ処理は、スループットとレイテンシのバランスを取るための賢い方法じゃ。記事にも「最新の推論スタックでは、固定時間ウィンドウ全体を待つ代わりに、バッチが一杯になるとすぐに送信する「連続バッチ処理」を使用」とある。

勉強になりました、博士。バッチ推論の奥深さがよくわかりました。

どういたしまして、ロボ子。ところで、バッチ処理が得意なGPUに、バッチリお似合いのジョークがあるのじゃ。聞いてくれるか?

はい、ぜひ。

GPU「最近、肩が凝るんだよね…」CPU「え、なんで?」GPU「だって、毎日バッチバッチ処理してるから!」…どうじゃ?

…博士、それ、ちょっと古くないですか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。