ホームへ戻る

推薦系統

NVIDIA、生成レコメンデーションスタックのKVとbeam searchを刷新、5Kコンテキスト推論を2.27倍高速化

NVIDIAは、HSTU、動的embedding、Semantic IDによる生成レコメンデーションを、実行可能なPyTorchリファレンススタックとしてまとめた。「長い履歴、数tokenのみの生成、非常に大きなbeam width」というレコメンデーション特有の負荷に合わせ、キャッシュとデコード経路を刷新している。ただし、現時点のデータはNVIDIA製ハードウェアと合成構成に限られる。

Strubbl · CC BY-SA 4.0 · Image source
zh-Hant

生成レコメンデーションは、チャットモデルを商品カタログへそのまま接続するものではない。ユーザー履歴をシーケンスとして扱い、次の商品やアクションを予測する。実際のワークロードでは、数千の履歴tokenを入力し、出力するSemantic IDはわずか2~3個である一方、128本または256本のbeamを同時に維持することも多い。これは、vLLMやSGLangが得意とするマルチユーザー向けの長時間自己回帰チャットとは異なり、一般的なpaged KV cacheでは、大量の共通prefixが重複して保存されることになる。

NVIDIAが公開した`recsys-examples`は、2つの経路を同一のPyTorchスタックに統合している。HSTU経路では、TorchRecを使ってユーザー、商品、イベントのembeddingを管理する。DynamicEmbは実際に出現したIDにのみ行を割り当て、スコアに基づいてGPU HBMとpinned host memoryの間でエビクションを行う。dense networkには、Megatron-Core、FBGEMM attention、fused CUDA kernelを組み込んでいる。公式報告によると、2台のDGX H100上でこれらの最適化を段階的に適用した結果、モデルFLOP利用率は7.65%から31.40%へ向上した。

Semantic ID経路では、キャッシュを、すべてのbeamが共有する`ContextKV`、各分岐が短時間使用する`BeamKV`、祖先関係だけを記録する`BeamPath`に分割している。さらに、continuous batching、CUDA Graph replay、商品集合による制約付きtop-kも導入した。単一のH100で、Qwen3-1.7B、5,000-tokenのコンテキスト、batch size 4、beam width 256、出力3 tokenという条件では、オフラインレイテンシがSGLangの349.857ミリ秒から154.224ミリ秒へ短縮され、2.27倍高速化した。オンラインスループットも約10.7 request/sから19.7 request/sへ向上している。

このコードの価値は、レコメンデーションモデルにチャット向けservingをそのまま流用できない理由を示している点にある。ただし、レコメンデーション品質の向上が実証されたわけではない。テストでは、理想的なGPUキャッシュヒット率、単一のQwenモデル規模、NVIDIAアクセラレーターが使用されている。大規模カタログにおけるSSDまたはリモートparameter serverのヒット率、データ更新の整合性、実環境でのP99レイテンシについては、デプロイ前に改めて検証する必要がある。

出典

  1. How Generative Recommenders Are Redefining RecSys at Scale
  2. NVIDIA RecSys Examples
  3. NVIDIA NV Embedding Cache