meta-pytorch/torchrec

Pytorch domain library for recommendation systems

何を解決するか

TorchRecは、大規模な推薦システム(RecSys)のトレーニングとデプロイにおける課題に対処します。これらのモデルは通常、高基数のカテゴリカルなスパース特徴を使用し、膨大な埋め込みテーブルを必要とします。これらのテーブルは単一のGPUに収まりきらないことが多く、複数のデバイスおよびノードに効率的に分散する必要があります。

仕組み

PyTorch上で構築されたスパーシティおよび並列処理のプリミティブのセットを提供します。以下の機能を含みます:

  • シャーディング戦略:テーブル単位、行単位、列単位など、さまざまな方法で埋め込みテーブルを分割するためのツール。GPU間でモデルを分散します。
  • 自動プランニング:パフォーマンスを最大化する最適化されたシャーディングプランを生成するプランナー。
  • パイプライントレーニング:データ読み込み、デバイス間転送、計算を重ねて、ボトルネックを軽減するシステム。
  • 最適化されたカーネル:FBGEMMで駆動される高性能なRecSysカーネル。
  • 量子化:精度を低減することでトレーニングおよび推論を高速化し、C++推論向けに最適化された機能をサポート。

対象ユーザー

多くのGPUおよび本番環境にスケーリングが必要な最先端のパーソナライズおよび推薦モデルを構築する研究者およびエンジニア向けに設計されています。

主な特徴

  • Metaの本番RecSysモデルを駆動。
  • ハイブリッドなデータ並列とモデル並列をサポート。
  • CriteoクリックログやMovieLensなどの組み込みRecSysデータセットを提供。
  • DLRMイベント予測モデルなど、エンドツーエンドのトレーニング例を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト