meta-pytorch/torchrec
Pytorch domain library for recommendation systems
解决的问题
TorchRec 解决了大规模推荐系统(RecSys)训练和部署中的挑战。这些模型通常使用高基数的类别型稀疏特征,需要巨大的嵌入表,这些表往往无法放入单个 GPU,因此需要在多个设备和节点之间高效分布。
工作原理
它提供了一组基于 PyTorch 的稀疏性和并行性原语。该库包含:
- 分片策略:使用多种方法(例如表级、行级、列级)分割嵌入表的工具,以在 GPU 之间分布模型。
- 自动规划:生成优化的分片计划以最大化性能的规划器。
- 流水线训练:一种将数据加载、设备传输和计算重叠以减少瓶颈的系统。
- 优化内核:由 FBGEMM 驱动的高性能 RecSys 内核。
- 量化:支持降低精度以加速训练和推理,并针对 C++ 推理进行优化。
适用人群
专为需要扩展到多个 GPU 和生产环境的前沿个性化和推荐模型的研究人员和工程师设计。
主要亮点
- 支持 Meta 的生产级 RecSys 模型。
- 支持混合数据并行和模型并行。
- 内置 RecSys 数据集,如 Criteo 点击日志和 MovieLens。
- 提供端到端训练示例,例如 DLRM 事件预测模型。
相关
- 项目
- 项目
- 项目
- 项目
- 项目