TorchRec 概觀¶
TorchRec 是 PyTorch 推薦系統函式庫,旨在提供用於建立最先進的個人化模型和生產路徑的常見基本元素。 TorchRec 已被廣泛應用於 Meta 的許多生產推薦系統模型中,用於訓練和推論工作流程。
為什麼選擇 TorchRec?¶
TorchRec 旨在解決建立、擴展和部署大規模推薦系統模型的獨特挑戰,這不是常規 PyTorch 的重點。 更具體地說,TorchRec 為通用推薦系統提供以下基本元素
專業元件:TorchRec 提供簡化的專業模組,這些模組在撰寫推薦系統中很常見,重點是嵌入表
進階分片技術:TorchRec 提供靈活且可自訂的方法來分片大規模嵌入表:逐列、逐欄、逐表等。 TorchRec 可以自動確定設備拓撲的最佳計畫,以實現高效的訓練和記憶體平衡
分散式訓練:雖然 PyTorch 支援基本分散式訓練,但 TorchRec 透過專為大規模推薦系統設計的更複雜的模型平行技術來擴展這些功能
難以置信的優化:TorchRec 訓練和推論元件在 FBGEMM 之上進行了難以置信的優化。 畢竟,TorchRec 為 Meta 上一些最大的推薦系統模型提供支援
無摩擦部署路徑:TorchRec 提供簡單的 API,用於轉換經過訓練的模型以進行推論,並將其載入 C++ 環境中,以獲得最佳的推論模型
與 PyTorch 生態系統整合:TorchRec 建構於 PyTorch 之上,這意味著它可以與現有的 PyTorch 程式碼、工具和工作流程無縫整合。 這使開發人員能夠利用他們現有的知識和程式碼庫,同時利用推薦系統的進階功能。 透過成為 PyTorch 生態系統的一部分,TorchRec 受益於強大的社群支援、持續的更新和 PyTorch 帶來的改進。