PyTorch推荐系统领域库
项目描述
TorchRec (测试版)
TorchRec是一个用于构建大规模推荐系统(RecSys)所需常见稀疏性和并行性原语的PyTorch领域库。它允许作者使用跨多个GPU的大型分片嵌入表训练模型。
TorchRec包含
- 并行性原语,它使作者能够轻松创建大型、高性能的多设备/多节点模型,使用混合数据并行性/模型并行性。
- TorchRec分片器可以采用不同的分片策略对嵌入表进行分片,包括数据并行、表级、行级、表级-行级和列级分片。
- TorchRec规划器可以自动为模型生成优化的分片计划。
- 流水线训练重叠数据加载设备传输(复制到GPU)、设备间通信(输入_dist)和计算(正向、反向)以提高性能。
- 由FBGEMM提供动力的RecSys优化内核。
- 量化支持,以实现降低精度训练和推理。
- RecSys的常用模块。
- 经过生产验证的RecSys模型架构。
- RecSys数据集(criteo点击日志和movielens)
- 端到端训练示例,例如在criteo点击日志数据集上训练的dlrm事件预测模型。
安装
torchrec需要Python >= 3.7和CUDA >= 11.0(CUDA对性能有很大帮助,但不是必需的)。下面的示例展示了如何使用CUDA 11.3进行安装。此设置假设您已安装conda。
二进制文件
Linux上的实验性二进制文件,适用于Python 3.7、3.8和3.9,可以通过pip wheels安装
CUDA
conda install pytorch cudatoolkit=11.3 -c pytorch-nightly
pip install torchrec-nightly
CPU仅
conda install pytorch cpuonly -c pytorch-nightly
pip install torchrec-nightly-cpu
Colab示例:介绍 + 安装
请参阅我们的colab笔记本,其中包含torchrec的介绍和可运行的安装。 - 教程源 - 在Google Colab中打开
从源码安装
我们目前正在迭代设置体验。目前,我们提供从源码构建的手动说明。下面的示例展示了如何使用CUDA 11.3进行安装。此设置假设您已安装conda。
-
安装pytorch。请参阅pytorch文档
conda install pytorch cudatoolkit=11.3 -c pytorch-nightly
-
安装需求
pip install -r requirements.txt
-
接下来,按照以下说明从源码安装FBGEMM_GPU(包含在torchrec的third_party文件夹中)。安装fbgemm GPU是可选的,但使用带CUDA的FBGEMM将更快。对于CUDA 11.3和SM80(Ampere)架构,可以使用以下说明
export CUB_DIR=/usr/local/cuda-11.3/include/cub export CUDA_BIN_PATH=/usr/local/cuda-11.3/ export CUDACXX=/usr/local/cuda-11.3/bin/nvcc python setup.py install -DTORCH_CUDA_ARCH_LIST="7.0;8.0"
上述代码块的最后一条(
python setup.py install
...)手动安装fbgemm_gpu可以跳过,如果您不需要使用自定义编译标志构建fbgemm_gpu。如果那样,请跳到下一步。 -
下载并安装TorchRec。
git clone --recursive https://github.com/pytorch/torchrec # cd to the directory where torchrec's setup.py is located. Then run one of the below: cd torchrec python setup.py install develop --skip_fbgemm # If you manually installed fbgemm_gpu in the previous step. python setup.py install develop # Otherwise. This will run the fbgemm_gpu install step for you behind the scenes. python setup.py install develop --cpu_only # For a CPU only installation of FBGEMM
-
测试安装。
GPU mode torchx run -s local_cwd dist.ddp -j 1x2 --script test_installation.py CPU Mode torchx run -s local_cwd dist.ddp -j 1x2 --script test_installation.py -- --cpu_only
有关启动分布式和远程作业的更多信息,请参阅TorchX。
-
如果您想运行更复杂的示例,请查看torchrec的DLRM示例。
许可协议
TorchRec遵循BSD许可协议,如LICENSE文件所示。
项目详情
关闭
哈希值 for torchrec_nightly_cpu-2022.5.12-py39-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 36fa129dfaf710fe1f012f8401f04d0ed33cdb70c315e1c07f823cb3f36f7cfc |
|
MD5 | 32dc24c852d3a2e7659fb5cfdf99d082 |
|
BLAKE2b-256 | 70c862bb70037e22bfc8874e88887be2e0ce40c3c82b27ea94e288f6e6268fd3 |
关闭
哈希值 for torchrec_nightly_cpu-2022.5.12-py38-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1720fbdc14cdebbb07069835ba53f2a5846ccdfe19b86114cd111ba0796f5a8e |
|
MD5 | f05aa7de5fe3a53a36eb74d9eb1789bd |
|
BLAKE2b-256 | 7e7a6ed4fa2d598ce43bfa679262f979a54c8af8da6d7c35711850e461773e93 |
关闭
哈希值 for torchrec_nightly_cpu-2022.5.12-py37-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a745020a6bb2b1a14985cee94d1d9767c8abda69e377f2cdf4f43654be233e6 |
|
MD5 | 7d5eb52ca84bdad34ef3f194de54b218 |
|
BLAKE2b-256 | 0b72235bf8c11b2b2c13606ea2f74059254bf7352a909b0d40ef2b44aaa9a7d4 |