NVIDIA Dynamo-TritonとHSTUを用いた生成型レコメンダーのデプロイ
NVIDIAは、PyTorch AOTI、FlexKVキャッシュ、Dynamo-Tritonを使用して階層的逐次変換ユニット(HSTU)モデルを提供し、推論レイテンシを削減するエンドツーエンドのワークフローを実証しました。
英語の原文から自動翻訳されました。
NVIDIAは、同社のDynamo-Triton推論サーバーを使用して階層的逐次変換ユニット(HSTU)生成型レコメンダーシステムをデプロイする方法について詳述した技術ガイドを公開しました。2026年9月下旬に公開されたこのガイドでは、長いユーザー履歴シーケンスを効率的に処理するために、PyTorch Ahead-of-Time InductorコンパイルとGPUバックエンドのキーバリューキャッシュを組み合わせたエンドツーエンドのワークフローが紹介されています。
このリリースは、モデルの複雑さと厳格なレイテンシ予算のバランスが必要な大規模パーソナライゼーションエンジンを構築するエンジニアを対象としています。これらのツールを統合することで、開発者は個別の実行環境向けにコードを書き直すことなく、シーケンス認識型の推薦モデルを提供でき、最新のハードウェアで大幅な高速化を実現できます。
何が起きたか
生成型レコメンダーシステムは、ユーザー行動を個別のリトリーバルおよびランキングステップの系列ではなく、シーケンスモデリングの問題として扱うことで、プラットフォームのパーソナライゼーション処理方法を変革しています。このパラダイムでは、ユーザーインタラクション、コンテキスト、候補アイテムが高カーディナリティのイベントストリーム内のトークンとなります。モデルはこのシーケンスに基づいて次の関連アイテムを予測することを学習します。このアプローチはリッチな逐次的挙動を捉えますが、長いユーザー履歴と大きな埋め込みテーブルにより、サービング上の重大な課題が生じます。
これらの課題に対処するため、NVIDIAはrecsys-examplesリポジトリを更新し、完全なHSTU推論ワークフローを追加しました。このワークフローは、以前Triton Inference Serverと呼ばれていたDynamo-Tritonを活用してデプロイメントライフサイクルを管理します。システムはPyTorch AOTIを使用してモデルをネイティブC++アーティファクトにコンパイルし、Pythonオーバーヘッドを削減します。また、FlexKVバックエンドのキーバリューキャッシュを組み込み、再利用可能なアテンション状態を保存することで、すべてのリクエストごとに長いユーザー履歴を再計算する必要を防ぎます。
ガイドには、このスタックが測定可能なパフォーマンス向上をもたらすことを示すベンチマークが含まれています。NVIDIA RTX PRO 6000 Blackwell Workstation Edition GPU上で、8層のHSTUモデルは、100%のGPUキーバリューキャッシュヒット率を使用した場合、バッチサイズ8で最大5.93倍低いレイテンシを達成しました。この改善は、キャッシュなしの同じ構成と比較したものであり、計算済み状態の再利用の効率性を強調しています。
仕組み
このワークフローの核心は、事前コンパイルとインテリジェントなキャッシュの組み合わせです。PyTorch AOTIは、HSTUランキングモデルを、コンパイル済みアーカイブ、メタデータ、埋め込みテーブルファイルを含むパッケージにエクスポートします。このアーティファクトはネイティブC++ランタイムによってロードでき、標準的なPython実行に関連する解釈オーバーヘッドを排除します。埋め込み実装はさらに、NV Embedding Cacheを使用してメモリを最適化しており、人気のある埋め込みのみをGPUメモリに保存し、フルテーブルをCPUメモリに保持します。
サービング効率性は、以前のシーケンス計算からのキーバリューデータのストレージを処理するKVCacheManagerによってさらに強化されます。このマネージャーはGPUメモリ内のページングされたキーバリューデータテーブルを使用し、ルックアップ、割り当て、退避などの操作をサポートします。GPUメモリが制限されている場合、古いユーザー状態は最近使用されていないものから順に退避され、ホスト側ストレージが追加のティアを提供します。HSTUアテンションカーネルはこのキャッシュから直接データを消費するため、モデルはユーザー履歴の安定した部分の再計算をスキップできます。
Dynamo-Tritonは本番レイヤーとして機能し、そのPyTorchバックエンドを介してAOTIコンパイル済みパッケージをロードします。この設定により、開発中にネイティブC++リプレイを使用して実施される検証が、本番サービングと密接に整合することが保証されます。システムはリクエストハンドリング、メトリクス、バックエンド統合を管理し、生成型レコメンダー推論のための統一スタックを作成します。
主要な詳細
- ハードウェアベンチマーク: NVIDIA RTX PRO 6000 Blackwell Workstation Edition GPU上でKuaiRand-1Kランキング構成を使用してテストを実施しました。
- レイテンシ改善: 8層のHSTUモデルは、キャッシュなしのAOTI推論と比較して、バッチサイズ8かつ100%のGPU KVキャッシュヒット時に5.93倍のレイテンシ削減を示しました。
- モデル構造: ベンチマークでは、3層および8層のHSTUバリアント、隠れ層サイズ512、4つのアテンションヘッド、BF16重みを使用しました。
- シーケンス長: 最大の履歴シーケンス長は8,192トークンで、有効な整列シーケンス長は8,320トークンでした。
- コンパイル方法: PyTorch AOTIはモデルを事前にコンパイルしてネイティブC++アーティファクトに変換し、標準的なPythonバックエンドと比較してランタイムオーバーヘッドを削減します。
- キャッシュメカニズム: FlexKVバックエンドのKVキャッシュは再利用可能なアテンション状態を保存し、新しいトークンのみが追加された場合に長いユーザー履歴の再計算を回避します。
なぜ重要なのか
推薦システムを構築するソフトウェアエンジニアにとって、レイテンシは重要な制約です。ランキングの遅延はページの読み込み時間やユーザーエンゲージメントに直接影響を与えます。パーソナライゼーション品質を向上させるためにモデルがよりシーケンス認識型になるにつれ、長いユーザー履歴を処理するための計算コストが増加します。このワークフローは、最適化されたサービングインフラストラクチャを通じて厳格なレイテンシ要件を満たしながら、複雑な生成型モデルアーキテクチャを維持することが可能であることを示しています。
AOTIとKVキャッシュの統合は、ランタイムオーバーヘッドと冗長計算という2つの主要なボトルネックに対処します。モデルを事前にコンパイルすることで、開発者は推論中のPython解釈ペナルティを排除します。キーバリュー状態をキャッシュすることで、ユーザー履歴の静的な部分に対する高価なアテンション計算の繰り返しを回避します。これにより、チームは推論コストを比例して増加させることなく、モデルの深さとシーケンス長をスケールアップできます。
さらに、開発検証と本番サービングの整合性は運用リスクを低減します。C++検証とDynamo-Tritonデプロイメントの両方に同じAOTIパッケージを使用することで、テストで観察されたパフォーマンス特性が本番でも真であることが保証されます。この一貫性は、生成型レコメンダーシステムの研究からデプロイメントへのパスを簡素化します。
やれること
- NVIDIA
recsys-examplesリポジトリをクローンして、HSTU推論ガイドとサンプルコードにアクセスしてください。 - Dynamo-Tritonドキュメントを確認し、モデル用のPyTorch AOTIバックエンドの設定方法を理解してください。
- FlexKVバックエンドのキャッシュを実験し、特定のユーザー履歴長に対するレイテンシ削減を測定してください。
- ネイティブC++リプレイを使用してエクスポートされたAOTIアーティファクトを検証し、本番デプロイ前に正確性を確認してください。
- 異なるバッチサイズでHSTUモデルをベンチマークし、ハードウェアに最適な構成を決定してください。
- NV Embedding Cache機能を探索し、大きなカテゴリカル埋め込みテーブルのGPUメモリ使用量を削減してください。
