Pytorch推荐系统领域库
项目描述
TorchRec (测试版)
TorchRec是一个用于提供大规模推荐系统(RecSys)所需常见稀疏性和并行性原语构建的PyTorch领域库。它允许作者训练具有跨多个GPU分片的巨大嵌入表的模型。
TorchRec包含
- 并行性原语,可轻松编写使用混合数据并行/模型并行的大规模、高性能多设备/多节点模型。
- TorchRec分片器可以采用不同的分片策略(包括数据并行、表并行、行并行、表行并行和列并行)对嵌入表进行分片。
- TorchRec规划器可以自动生成模型的优化分片计划。
- 流水线训练重叠数据加载设备传输(复制到GPU)、设备间通信(input_dist)和计算(前向、反向)以提高性能。
- 由FBGEMM提供动力的RecSys优化内核。
- 支持量化以进行降低精度训练和推理。
- RecSys的常见模块。
- 适用于RecSys的生产验证模型架构。
- RecSys数据集(Criteo点击日志和MovieLens)
- 端到端训练示例,例如在Criteo点击日志数据集上训练的dlrm事件预测模型。
安装
Torchrec需要Python >= 3.7和CUDA >= 11.0(CUDA强烈推荐以提高性能,但不是必需的)。以下示例展示了如何使用CUDA 11.8进行安装。此设置假设您已安装conda。
二进制文件
Linux上的Python 3.7、3.8和3.9的实验性二进制文件可以通过pip wheels安装
安装
TO use the library without cuda, use the *-cpu fbgemm installations. However, this will be much slower than the CUDA variant.
Nightly
conda install pytorch pytorch-cuda=11.8 -c pytorch-nightly -c nvidia
pip install torchrec_nightly
Stable
conda install pytorch pytorch-cuda=11.8 -c pytorch -c nvidia
pip install torchrec
If you have no CUDA device:
Nightly
pip uninstall fbgemm-gpu-nightly -y
pip install fbgemm-gpu-nightly-cpu
Stable
pip uninstall fbgemm-gpu -y
pip install fbgemm-gpu-cpu
Colab示例:介绍 + 安装
请参阅我们的colab笔记本,其中包含torchrec的介绍以及可运行的安装。 - 教程源 - 在Google Colab中打开
从源代码安装
我们目前正在迭代设置体验。目前,我们提供了从源代码构建的手动说明。以下示例展示了如何使用CUDA 11.3进行安装。此设置假设您已安装conda。
-
安装pytorch。请参阅pytorch文档
conda install pytorch pytorch-cuda=11.8 -c pytorch-nightly -c nvidia
-
安装需求
pip install -r requirements.txt
-
下载并安装TorchRec。
git clone --recursive https://github.com/pytorch/torchrec cd torchrec python setup.py install develop
-
测试安装。
GPU mode torchx run -s local_cwd dist.ddp -j 1x2 --gpu 2 --script test_installation.py CPU Mode torchx run -s local_cwd dist.ddp -j 1x2 --script test_installation.py -- --cpu_only
有关启动分布式和远程作业的更多信息,请参阅TorchX。
-
如果您想运行更复杂的示例,请参阅torchrec DLRM示例。
贡献
Pyre和linting
在提交之前,请确保pyre和linting看起来正常。要运行我们的linters,您需要
pip install pre-commit
,然后运行它。
对于Pyre,您需要
cat .pyre_configuration
pip install pyre-check-nightly==<VERSION FROM CONFIG>
pyre check
我们还会在GitHub actions中检查这些问题。
许可证
TorchRec遵循BSD许可协议,如LICENSE文件所示。
项目详情
关闭
哈希值 for torchrec_nightly-2023.8.20-py310-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4b0664d1e6ed9b6bb41f3647d2a59978821ad8eb3ac78696e8a482c3174139bf |
|
MD5 | baa27ab0ce72865a3e3231b4c12c7888 |
|
BLAKE2b-256 | b1ceda1e04aa387fdfc28e0541bd9fda735b9f31e346fd18b85c1a1cb8243244 |
关闭
哈希值 for torchrec_nightly-2023.8.20-py39-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 09371ff7526fe7a42294360b838c993a54578eb7207fe110e3c2ee11b12bde6b |
|
MD5 | 9e65441f9d451221f202f9fc2b126c12 |
|
BLAKE2b-256 | f7d489e4c95a33346afa655f13992a3dcda632ee280c02d85ea91f52dd246ebe |
关闭
哈希值 for torchrec_nightly-2023.8.20-py38-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e8e267695f798c5e74871e1e2437403b355333ab172ff41a9ca17c9156a6070 |
|
MD5 | b64b54e5d2a51602ed181d011a4e123e |
|
BLAKE2b-256 | a0adf7348b3894aa697ff44e23c0a8593ca0d68d02c095db8b54ce09933f8da1 |