recsys-examples

Examples for Recommenders - easy to train and deploy on accelerated infrastructure.

https://github.com/nvidia/recsys-examples

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary

Keywords

generative-recommenders pytorch recommender-system recommenders
Last synced: 6 months ago · JSON representation ·

Repository

Examples for Recommenders - easy to train and deploy on accelerated infrastructure.

Basic Info
  • Host: GitHub
  • Owner: NVIDIA
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 30 MB
Statistics
  • Stars: 121
  • Watchers: 5
  • Forks: 25
  • Open Issues: 37
  • Releases: 2
Topics
generative-recommenders pytorch recommender-system recommenders
Created 11 months ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

NVIDIA RecSys Examples

Overview

NVIDIA RecSys Examples is a collection of optimized recommender models and components.

The project includes: - Examples for large-scale HSTU ranking and retrieval models through TorchRec and Megatron-Core integration - HSTU (Hierarchical Sequential Transduction Unit) attention operator support - Dynamic Embeddings with GPU acceleration

What's New

  • [2025/7/4] 🎉v25.06 released!
    • Dynamicemb lookup module performance improvement and LFU eviction support.
    • Pipeline support for HSTU example, recompute support for HSTU layer and customized cuda ops for jagged tensor concat.
  • [2025/5/29] 🎉v25.05 released!
    • Enhancements to the dynamicemb functionality, including support for EmbeddingBagCollection, truncated normal initialization, and initialaccumulatorvalue for Adagrad.
    • Fusion of operations like layernorm and dropout in the HSTU layer, resulting in about 1.2x end-to-end speedup.
    • Fix convergence issues on the Kuairand dataset.

For more detailed release notes, please refer our releases.

Environment Setup

Start from dockerfile

We provide dockerfile for users to build environment. docker build -f docker/Dockerfile --platform linux/amd64 -t recsys-examples:latest . If you want to build image for Grace, you can use docker build -f docker/Dockerfile --platform linux/arm64 -t recsys-examples:latest . You can also set your own base image with args --build-arg <BASE_IMAGE>.

Start from source file

Before running examples, build and install libs under corelib following instruction in documentation: - HSTU attention documentation - Dynamic Embeddings documentation

On top of those two core libs, Megatron-Core along with other libs are required. You can install them via pypi package:

bash pip install torchx gin-config torchmetrics==1.0.3 typing-extensions iopath megatron-core==0.9.0

If you fail to install the megatron-core package, usually due to the python version incompatibility, please try to clone and then install the source code.

bash git clone -b core_r0.9.0 https://github.com/NVIDIA/Megatron-LM.git megatron-lm && \ pip install -e ./megatron-lm

We provide our custom HSTU CUDA operators for enhanced performance. You need to install these operators using the following command:

bash cd /workspace/recsys-examples/examples/hstu && \ python setup.py install

Get Started

The examples we supported: - HSTU recommender examples

Contribution Guidelines

Please see our contributing guidelines for details on how to contribute to this project.

Resources

Video

Blog

Community

Join our community channels to ask questions, provide feedback, and interact with other users and developers: - GitHub Issues: For bug reports and feature requests - NVIDIA Developer Forums

References

If you use RecSys Examples in your research, please cite:

@Manual{, title = {RecSys Examples: A collection of recommender system implementations}, author = {NVIDIA Corporation}, year = {2024}, url = {https://github.com/NVIDIA/recsys-examples}, }

For more citation information and referenced papers, see CITATION.md.

License

This project is licensed under the Apache License - see the LICENSE file for details.

Owner

  • Name: NVIDIA Corporation
  • Login: NVIDIA
  • Kind: organization
  • Location: 2788 San Tomas Expressway, Santa Clara, CA, 95051

Citation (CITATION.md)

# Citation Guide

## To Cite RecSys Examples
If you use RecSys Examples in a publication, please use citations in the following format (BibTeX entry for LaTeX):
```tex
@Manual{,
  title = {RecSys Examples: A collection of recommender system implementations},
  author = {NVIDIA Corporation},
  year = {2024},
  url = {https://github.com/NVIDIA/recsys-examples},
}
```

## To Cite Generative Recommenders
If you use the Generative Recommenders implementation in a publication, please use citations in the following format (BibTeX entry for LaTeX):
```tex
@Manual{,
  title = {Generative Recommenders: Pytorch library for large scale generative recommendation systems},
  author = {NVIDIA Corporation},
  year = {2024},
  url = {https://github.com/NVIDIA/recsys-examples},
}
```

## Referenced Papers

### Action Speaks Louder Than Words: Empowering Generative Recommender System with Hierarchical Fusion and Fine-grained Feedback Incorporating
```tex
@misc{wang2024action,
      title={Action Speaks Louder Than Words: Empowering Generative Recommender System with Hierarchical Fusion and Fine-grained Feedback Incorporating}, 
      author={Yueming Wang and Jiaqi Zhai and Jianyi Yang and Linlin Zhu and Xiaosong Gao and Fan Zhang and Suhang Wang and Heng Huang},
      year={2024},
      eprint={2402.17152},
      archivePrefix={arXiv},
      primaryClass={cs.IR}
}
```

GitHub Events

Total
  • Fork event: 17
  • Create event: 2
  • Release event: 1
  • Issues event: 86
  • Watch event: 96
  • Delete event: 1
  • Issue comment event: 248
  • Member event: 4
  • Push event: 56
  • Public event: 1
  • Pull request review event: 172
  • Pull request review comment event: 144
  • Pull request event: 113
Last Year
  • Fork event: 17
  • Create event: 2
  • Release event: 1
  • Issues event: 86
  • Watch event: 96
  • Delete event: 1
  • Issue comment event: 248
  • Member event: 4
  • Push event: 56
  • Public event: 1
  • Pull request review event: 172
  • Pull request review comment event: 144
  • Pull request event: 113

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 15
  • Total Committers: 4
  • Avg Commits per committer: 3.75
  • Development Distribution Score (DDS): 0.333
Past Year
  • Commits: 15
  • Committers: 4
  • Avg Commits per committer: 3.75
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
aleliu a****u@n****m 10
Junjie zhang j****g@n****m 3
Santosh Bhavani s****i@l****m 1
George Stockfisch g****k@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 56
  • Total pull requests: 65
  • Average time to close issues: 19 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 12
  • Total pull request authors: 11
  • Average comments per issue: 0.89
  • Average comments per pull request: 1.0
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 56
  • Pull requests: 65
  • Average time to close issues: 19 days
  • Average time to close pull requests: 6 days
  • Issue authors: 12
  • Pull request authors: 11
  • Average comments per issue: 0.89
  • Average comments per pull request: 1.0
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • shijieliu (25)
  • JacoCheung (8)
  • mia1460 (8)
  • jiashuy (4)
  • syhesyh (3)
  • jq (2)
  • XuefengYao (1)
  • ooooooover (1)
  • WhoisZihan (1)
  • westfly (1)
  • w066650 (1)
  • z52527 (1)
Pull Request Authors
  • shijieliu (23)
  • jiashuy (12)
  • JacoCheung (7)
  • z52527 (5)
  • mia1460 (4)
  • geoffreyQiu (4)
  • WhoisZihan (4)
  • EmmaQiaoCh (3)
  • jq (1)
  • esoba (1)
  • kanghui0204 (1)
Top Labels
Issue Labels
bug (19) dynamicemb (10) enhancement (6) question (5) feature (5) TBD (3) documentation (2) good first issue (1)
Pull Request Labels
bugfix (4) enhancement (4) dynamicemb (4) feature (1) documentation (1)

Dependencies

corelib/dynamicemb/setup.py pypi
  • torch *
corelib/hstu/hopper/setup.py pypi
corelib/hstu/setup.py pypi
  • einops *
  • ninja *
  • packaging *
  • torch *
pyproject.toml pypi
docker/Dockerfile docker
  • ${BASE_IMAGE} latest build
  • ${DEVEL_IMAGE} latest build
.github/workflows/blossom-ci.yml actions
  • NVIDIA/blossom-action main composite
  • actions/checkout v2 composite