跳转到主要内容

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。

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

    conda install pytorch pytorch-cuda=11.8 -c pytorch-nightly -c nvidia
    
  2. 安装需求

    pip install -r requirements.txt
    
  3. 下载并安装TorchRec。

    git clone --recursive https://github.com/pytorch/torchrec
    
    cd torchrec
    python setup.py install develop
    
  4. 测试安装。

    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

  5. 如果您想运行更复杂的示例,请参阅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文件所示。

项目详情


发布历史 发布通知 | RSS源

下载文件

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

源分发

此版本没有可用的源分发文件。请参阅生成分发存档的教程

构建分发

torchrec_nightly-2023.8.20-py310-none-any.whl (390.3 kB 查看哈希值)

上传时间 Python 3.10

torchrec_nightly-2023.8.20-py39-none-any.whl (390.3 kB 查看哈希值)

上传时间 Python 3.9

torchrec_nightly-2023.8.20-py38-none-any.whl (390.3 kB 查看哈希值)

上传时间 Python 3.8

由以下支持

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