meta-pytorch/torchrec

Pytorch domain library for recommendation systems

解決的問題

TorchRec 解決了大規模推薦系統(RecSys)訓練與部署中的挑戰。這些模型通常使用高基數的類別型稀疏特徵,需要龐大的嵌入表格,這些表格往往無法放入單一 GPU,因此需要在多個裝置與節點之間高效分散。

工作原理

它提供了一組基於 PyTorch 的稀疏性與平行處理原語。該庫包含:

  • 分片策略:使用多種方法(例如表級、行級、列級)分割嵌入表格的工具,以在 GPU 之間分布模型。
  • 自動規劃:生成最佳化分片計畫以最大化效能的規劃器。
  • 流水線訓練:一種將資料載入、裝置傳輸與計算重疊以減少瓶頸的系統。
  • 優化內核:由 FBGEMM 驅動的高效能 RecSys 內核。
  • 量化:支援降低精度以加速訓練與推論,並針對 C++ 推論進行最佳化。

適用對象

專為需要擴展至多個 GPU 與生產環境的前沿個人化與推薦模型的研究人員與工程師設計。

主要亮點

  • 支援 Meta 的生產級 RecSys 模型。
  • 支援混合資料平行與模型平行。
  • 內建 RecSys 資料集,如 Criteo 點擊日誌與 MovieLens。
  • 提供端對端訓練範例,例如 DLRM 事件預測模型。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案