跳转到主要内容

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。

  1. 安装pytorch。请参阅pytorch文档

    conda install pytorch cudatoolkit=11.3 -c pytorch-nightly
    
  2. 安装需求

    pip install -r requirements.txt
    
  3. 接下来,按照以下说明从源码安装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。如果那样,请跳到下一步。

  4. 下载并安装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
    
  5. 测试安装。

    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

  6. 如果您想运行更复杂的示例,请查看torchrec的DLRM示例

许可协议

TorchRec遵循BSD许可协议,如LICENSE文件所示。

项目详情


发行历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有提供源代码分发文件。请参阅生成分发存档的教程

构建分发

torchrec_nightly_cpu-2022.5.12-py39-none-any.whl (2.9 MB 查看哈希值)

上传时间: Python 3.9

torchrec_nightly_cpu-2022.5.12-py38-none-any.whl (2.9 MB 查看哈希值)

上传时间: Python 3.8

torchrec_nightly_cpu-2022.5.12-py37-none-any.whl (2.9 MB 查看哈希值)

上传时间: Python 3.7

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面