简介

TorchEasyRec

A PyTorch-based recommendation system framework for production-ready deep learning models

License Unit Test Nightly Documentation Python GitHub Stars

What is TorchEasyRec?

TorchEasyRec implements state-of-the-art deep learning models for recommendation tasks: candidate generation (matching), scoring (ranking), multi-task learning, and generative recommendation. It enables efficient development of high-performance models through simple configuration and easy customization.

TorchEasyRec Framework

Key Features

Data Sources

  • MaxCompute/ODPS - Native Alibaba Cloud data warehouse integration

  • Parquet - High-performance columnar file format when using Local | OSS | NAS storage, with built-in auto-rebalancing capabilities

  • CSV - Standard tabular file format

  • Streaming - Kafka message queue integration, also compatible with Alibaba Datahub

  • Checkpointable - Resume training from exact data position

Scalability

  • Distributed Training - Hybrid data/model parallelism via TorchRec

  • Large Embeddings - Row-wise, column-wise, table-wise sharding

  • Zero-Collision Hash - Large scale Dynamic embedding with eviction policies (LFU/LRU)

  • Mixed Precision - FP16/BF16 training support

Production

  • Run Everywhere - Local, PAI-DLC, PAI-DSW

  • Feature Generation - Consistent FG between training and serving

  • EAS Deployment - Auto-scaling model serving on Alibaba Cloud

  • TensorRT/AOTInductor - Model acceleration for inference

Features & Models

  • 20+ Models - Battle-tested algorithms powering real-world recommendation: DSSM, TDM, DeepFM, DIN, MMoE, PLE, PEPNet, DLRM-HSTU and more

  • 10+ Feature Types - IdFeature, RawFeature, ComboFeature, LookupFeature, ExprFeature, SequenceFeature, CustomFeature, and more

  • Custom Model - Easy to implement customized models

  • Custom Feature - Easy to implement customized features

Supported Models

Matching (Candidate Generation)

Model

Description

DSSM

Two-tower deep semantic matching model

MIND

Multi-interest network with dynamic routing

TDM

Tree-based deep model for large-scale retrieval

DAT

Dual augmented two-tower model

Ranking (Scoring)

Model

Description

DeepFM

Factorization-machine based neural network

WideAndDeep

Wide & Deep learning for recommendations

MultiTower

Flexible multi-tower architecture

DIN

Deep Interest Network with attention mechanism

DLRM

Deep Learning Recommendation Model

DCN

Deep & Cross Network

DCN-V2

Improved Deep & Cross Network

MaskNet

Instance-guided mask for feature interaction

xDeepFM

Compressed interaction network

WuKong

Dense scaling with high-order interactions

RocketLaunching

Knowledge distillation framework

Multi-Task Learning

Model

Description

MMoE

Multi-gate Mixture-of-Experts

PLE

Progressive Layered Extraction

DBMTL

Deep Bayesian Multi-task Learning

PEPNet

Personalized Embedding and Parameter Network

Generative Recommendation

Model

Description

DLRM-HSTU

Hierarchical Sequential Transduction Units

ULTRA-HSTU

HSTU with Semi-Local Attention, Attention Truncation, and Mixture of Transducers

HSTU-Match

HSTU-based two-tower retrieval model

Semantic ID (SID) Generation

Model

Description

SID RQVAE

RQ-VAE residual-quantized semantic-ID generation for generative retrieval

SID RQKMeans

FAISS residual K-Means semantic-ID generation

Documentation

Get started with TorchEasyRec in minutes:

Tutorial

Description

Local Training

Train models on your local machine or single server

PAI-DLC Training

Distributed training on Alibaba Cloud PAI-DLC

PAI-DLC + MaxCompute Table

Train with MaxCompute (ODPS) tables on PAI-DLC

For the complete documentation, please refer to https://torcheasyrec.readthedocs.io/

Community & Support

  • GitHub Issues - Report bugs or Request features

  • DingTalk Groups

    • DingDing Group: 32260796 - Join

    • DingDing Group2: 37930014162 - Join

    dingroup1 dingroup2
  • If you have any questions about how to use TorchEasyRec, please join the DingTalk group and contact us.

  • If you have enterprise service needs or need to purchase Alibaba Cloud services to build a recommendation system, please join the DingTalk group to contact us.

Contributing

Any contributions you make are greatly appreciated!

  • Please report bugs by submitting an issue

  • Please submit contributions using pull requests

  • Please refer to the Development Guide for more details

Citation

If you use TorchEasyRec in your research, please cite:

@software{torcheasyrec2024,
  title = {TorchEasyRec: An Easy-to-Use Framework for Recommendation},
  author = {Alibaba PAI Team},
  year = {2024},
  url = {https://github.com/alibaba/TorchEasyRec}
}

License

TorchEasyRec is released under Apache License 2.0. Please note that third-party libraries may not have the same license as TorchEasyRec.