4つのGPUベンダー、3つのバックエンド、3つのブラウザにわたるLLM推論におけるWebGPU dispatchオーバーヘッドの特性評価

arXiv cs.LG / 2026/4/6

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsIdeas & Deep AnalysisModels & Research

要点

  • arXivのアリックス(arXiv)で、WebGPUのAPI/セキュリティ設計による「dispatch(小さな命令単位)」オーバーヘッドがLLM推論のボトルネックになり得る点を、GPU4ベンダー・バックエンド3種・ブラウザ3種・モデル2種で体系的に計測した研究が発表された。
  • 単純な単一操作ベンチマークはWebGPUのdispatchコストを約20倍に見積もり過ぎることを示し、dispatch APIオーバーヘッドだけでもVulkanで24〜36µs、Metalで32〜71µsに達することを明らかにした。
  • Pythonなど実装全体のコストを含むと1操作当たりのオーバーヘッドは約95µsとなり、最適化ではdispatchオーバーヘッドの内訳が重要な切り分けになると結論づけた。
  • Vulkanではkernel fusionがスループットを53%改善し、CUDA fusionは効果がないことから、実行効率よりも「1操作あたりのdispatch頻度・オーバーヘッド」が支配的であることを裏付けた。
  • 追加で、torch-webgpu(PrivateUse1 PyTorchバックエンド+FX-to-WebGPUコンパイラ)を構築し、参照環境でCUDAの11〜12%に到達、RTX PRO 2000は計算量が少なくてもスループットでWebGPUの約1.4倍を示すなど、バックエンド選定が性能に大きく効くことを示した(コード/ベンチ/データはオープンソース)。

要旨: WebGPUのセキュリティ重視の設計は、ニューラルネットワーク推論における多数の小さなディスパッチ(dispatch)にまたがって積み重なる、操作ごとの検証を課しますが、そのオーバーヘッドの真のコストは十分に特徴付けられていません。私たちは、バッチサイズ1のLLM推論におけるWebGPUディスパッチのオーバーヘッドを、4つのGPUベンダ(NVIDIA、AMD、Apple、Intel)、2つのネイティブ実装(Dawn、wgpu-native)、3つのブラウザ(Chrome、Safari、Firefox)、および2つのモデルサイズ(Qwen2.5-0.5Bと1.5B)にわたって、体系的に特徴付けます。私たちの主な貢献は、逐次ディスパッチ手法であり、それにより、素朴な単一操作ベンチマークがディスパッチコストを{\sim}20\times過大評価することを明らかにします。WebGPU APIオーバーヘッドそれ自体の、真の1ディスパッチ当たりコストは、Vulkanで24-36 s、Metalで32-71 sであり、Pythonコストを含む総1操作当たりオーバーヘッドは{\sim}95~sであることが分かります。これは最適化において決定的に重要な違いです。Vulkanでは、カーネルフュージョンによりスループットが53%向上しますが、CUDAフュージョンでは効果がなく、操作ごとのオーバーヘッドが主要な差別化要因であることが確認されます。LLM推論は、3つの主要なOS(Linux、Windows、macOS)でテストしました。私たちは、PrivateUse1ベースのツリー外(out-of-tree)PyTorchバックエンドであるtorch-webgpuと、FXからWebGPUへのコンパイラを構築しました。参照プラットフォーム上では、CUDA性能の11--12%を達成します。dtypeを一致させたfloat32では、RTX PRO 2000は、RTX 5090に比べて計算量が{\sim}6\times少ないにもかかわらず、WebGPUのスループットを1.4 imes上回ります。ディスパッチオーバーヘッドについては、バックエンドの選択が支配的な要因ですが、同一バックエンド内でも実装の選択が大きく影響します(Metalで2.2 imes)。ディスパッチ対カーネル計算の効率という観点では、バッチ=1で、現在のディスパッチ負荷の高いパイプラインでは、カーネル品質にかかわらず、操作ごとのオーバーヘッドが支配的であると結論づけます。すべてのコード、ベンチマーク、および生データはオープンソースです。