generative-recommenders

用生成式大模型重做推荐系统,长序列直接建模

开源 free 行业应用
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2009
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类行业应用
开发团队meta-recsys
所属国家
官网地址
定价模式free
价格说明开源代码,免费使用
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型actions-speak-louder-than-words,generative-recommenders,hstu,recommendations,recommender-systems,recsys
GitHub 星标★ 2009
30天Star增速
HF 下载量
上线时间2024-04-08 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-20
浏览次数0

项目介绍

generative-recommenders 是 Meta 论文《Actions Speak Louder than Words》的官方代码库,提出 HSTU(Hierarchical Sequential Transducer Unit)架构,把推荐系统建模为生成式序列转导任务。它解决传统推荐系统依赖手工特征工程、难以扩展到万亿参数的问题:通过将用户行为序列直接映射为下一个物品的生成预测,统一处理召回与排序。核心能力包括:HSTU 层支持高效长序列建模,可扩展到万亿参数规模;提供端到端训练与推理流程;在公开数据集上验证了生成式推荐相对 DLRM 等基线在指标和扩展性上的优势。代码以 Python 实现,适合研究者和工业界复现、二次开发。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 45 分钟 部署方式:本地安装 7 步

环境要求

  • Ubuntu 22.04(README 声明已验证的系统)
  • CUDA 12.4 与 Python 3.10
  • 单卡 24GB 及以上 HBM 的 GPU(README 建议)
  • 提前按 PyTorch 官方说明安装好与 CUDA 匹配的 PyTorch
  • 多卡训练/推理示例中需 4 张 GPU 及对应分布式环境

安装与启动步骤

  1. 1获取代码

    克隆官方仓库到本地,后续所有命令都在仓库根目录执行。

    git clone https://github.com/meta-recsys/generative-recommenders.git
    cd generative-recommenders
  2. 2安装依赖

    README 推荐直接用 requirements.txt 安装,已在 Ubuntu 22.04、CUDA 12.4、Python 3.10 验证。

    pip3 install -r requirements.txt
  3. 3手动装依赖(可选)

    若已按 PyTorch 官方说明装好 PyTorch,可改用这条命令补齐其余依赖。

    pip3 install gin-config pandas fbgemm_gpu torchrec tensorboard
  4. 4下载并预处理数据

    创建 tmp 目录并运行预处理脚本,复现论文第 4.1.1 节的公开实验数据。

    mkdir -p tmp/ && python3 preprocess_public_data.py
  5. 5多卡训练

    以 debug 数据集、4 卡规模启动训练脚本,观察日志确认无报错。

    LOCAL_WORLD_SIZE=4 WORLD_SIZE=4 python3 generative_recommenders/dlrm_v3/train/train_ranker.py --dataset debug --mode train
  6. 6安装推理依赖

    推理需先克隆 MLPerf inference 仓库,并在其 loadgen 目录用 C++14 编译安装。

    git clone --recurse-submodules https://github.com/mlcommons/inference.git mlperf_inference
    cd mlperf_inference/loadgen
    CFLAGS="-std=c++14 -O3" python -m pip install .
  7. 7多卡推理

    回到项目根目录,用 4 卡规模运行 dlrm_v3 的推理入口脚本。

    LOCAL_WORLD_SIZE=4 WORLD_SIZE=4 python3 generative_recommenders/dlrm_v3/inference/main.py --dataset debug

关键配置

配置项必填说明示例
CUDA_VISIBLE_DEVICES否指定使用的 GPU 编号,README 示例用 0 号卡0
LOCAL_WORLD_SIZE是单机进程数,README 示例为 4 卡4
WORLD_SIZE是全局进程总数,单机 4 卡时与 LOCAL_WORLD_SIZE 相同4
--dataset是训练/推理使用的数据集名,示例为 debugdebug
--mode否训练脚本运行模式,README 示例为 traintrain

如何确认成功

训练脚本启动后日志正常滚动、无异常报错;可结合已安装的 tensorboard 查看训练指标。

常见问题

Q:显存不够、跑不起来怎么办?

A:README 提示建议使用 24GB 及以上 HBM 的 GPU;显存不足时可先尝试示例中的 debug 数据集。

Q:只有 1 张 GPU 能跑吗?

A:README 只给出 4 卡示例(LOCAL_WORLD_SIZE=4、WORLD_SIZE=4),需按你实际卡数调整这两个环境变量,未验证配置不保证可用。

Q:fbgemm_gpu 或 torchrec 安装失败?

A:README 提供的手动方案是先按 PyTorch 官方说明安装匹配 CUDA 版本的 PyTorch,再安装 gin-config、pandas、fbgemm_gpu、torchrec、tensorboard。

Q:推理时报 loadgen 相关错误?

A:推理前必须先克隆 mlperf_inference,并进入 loadgen 目录用 CFLAGS="-std=c++14 -O3" pip install . 完成编译安装。

注意事项

  • README 中 CUDA_VISIBLE_DEVICES=0 python3 main.py -- 这条命令被截断,参数不完整,请勿直接照抄。
  • 训练与推理示例均按 4 卡规模给出,实际卡数不同需自行调整两个环境变量。
  • 数据和训练产物会写入仓库下的 tmp/ 目录,注意预留磁盘空间。
  • 项目以 PyTorch 为主,务必保证 PyTorch、CUDA 12.4 与 Python 3.10 三者版本匹配。

核心亮点

  • 提出 HSTU 架构,把推荐召回排序统一为序列生成任务,减少手工特征工程
  • 代码可复现论文核心实验,支持扩展到万亿参数规模的训练配置
  • 在公开数据集上给出与 DLRM 等基线的对比结果,便于评估生成式推荐效果

不足之处

  • 依赖大规模训练资源,普通开发者难以完整复现万亿参数实验
  • 工程化部署和线上服务示例较少,偏研究代码

适用场景

  • 推荐系统研究团队复现生成式推荐论文实验
  • 工业界探索用长行为序列替代传统特征工程的召回排序方案
  • 学习 HSTU 架构并做二次开发的教学与原型验证

替代项目

DeepCTR、torch-rechub

上一篇:StoreLocalizer

下一篇:chroma

同类项目推荐

xmgai-like 开源

换脸、艺术二维码随手玩,副业灵感一包带走。

本开源 AI 副业搞钱项目集成了强大功能,包括 AI 艺术二维码生成、AI 换脸、Delle3 绘画等···

★ 59 2026-08-09
spoken-to-signed-translation 开源

把口语文本一路转成手语视频的流水线

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation

★ 104 2026-09-11
hub 开源

已退役的YOLO训练平台,迁移到Ultralytics Platform

Historical Ultralytics HUB repository — HUB shut down on July 31, 2026 and was repl···

★ 249 2026-08-12