【免费下载链接】GRIDGRID: Generative Recommendation with Semantic IDs项目地址https://gitcode.com/gh_mirrors/grid48/GRID点击查看免费下载GRIDGenerative Recommendation with Semantic IDs是 Snap Research 开源的生成式推荐框架核心能力是语义ID生成与离线推理先用 LLM 把商品文本转成 embedding再通过残差量化学习层次化的语义 ID最后用 TIGER 式生成模型产出推荐序列。本文给出一套可直接上生产的部署指南覆盖环境准备、四步流水线、多卡加速与上线检查清单。部署前先看GRID 的三步流水线GRID 的部署遵循固定的数据流理解它才能规划好算力与存储阶段任务入口命令实验配置① Embedding 生成用 LLM 把商品文本转成语义向量python -m src.inferencesem_embeds_inference_flat② 语义ID训练残差量化RQ-KMeans/RQ-VAE/RVQ学码本python -m src.trainrkmeans_train_flat③ 语义ID生成给每个 item 分配去重后的语义 IDpython -m src.inferencerkmeans_inference_flat④ 生成式推荐训练 TIGER 模型并生成推荐src.trainsrc.inferencetiger_train_flat/tiger_inference_flat 所有实验配置都集中在 configs/experiment/ 目录下用 Hydra 管理命令行只需覆盖少量参数即可复用同一套配置。一键安装步骤环境准备前置要求Python 3.10、CUDA 兼容 GPU官方推荐。git clone https://gitcode.com/gh_mirrors/grid48/GRID.git cd GRID pip install -r requirements.txt依赖清单在 requirements.txt 中完整锁定版本PyTorch 2.6 CUDA 12.4、Lightning 2.5、Transformers 等生产环境建议直接全量安装锁定版本避免依赖漂移。数据目录标准格式生产数据按如下结构组织data/下四个子目录缺一不可data/ ├── train/ # 训练用用户行为序列 ├── validation/ # 验证集 ├── test/ # 测试集 └── items/ # 全量商品的文本信息数据读取由TFRecordIterator迭代器完成批大小、worker 数等参数可在各实验 yaml 的data_loading段调整例如tiger_inference_flat默认batch_size_per_device: 32、num_workers: 8。离线推理配置方法LLM 生成语义 Embedding这是整条流水线中最耗 GPU 时的一步建议单独部署到多卡节点python -m src.inference experimentsem_embeds_inference_flat \ data_dirdata/amazon_data/beauty默认使用google/flan-t5-xl作为 embedding 模型2048 维可在 configs/experiment/sem_embeds_inference_flat.yaml 中更换为任意 HuggingFace 模型推理入口逻辑在 src/inference.py 中它调用 LightningTrainer.predict完成批推理输出为合并后的merged_predictions_tensor.pt保存在 Hydra 动态生成的输出目录logs/下语义ID生成核心步骤训练码本并分配 ID第一步训练残差量化码本训练ResidualQuantization模型python -m src.train experimentrkmeans_train_flat \ data_dirdata/amazon_data/beauty \ embedding_path第1步输出/merged_predictions_tensor.pt \ embedding_dim2048 \ num_hierarchies3 \ codebook_width256第二步推理生成语义 IDpython -m src.inference experimentrkmeans_inference_flat \ data_dirdata/amazon_data/beauty \ embedding_path第1步输出/merged_predictions_tensor.pt \ embedding_dim2048 \ num_hierarchies3 \ codebook_width256 \ ckpt_path上一步训练得到的checkpoint⚠️生产关键点推理回调LocalPickleWriter定义在 src/utils/inference_utils.py会自动完成三件事——每个 rank 将预测结果写入独立的 pickle 文件主进程自动合并为merged_predictions.pkl/merged_predictions_tensor.pt执行deduplicate_rows_in_tensor去重为重复 ID 追加一位数字所以 3 层码本实际变成 4 位语义 ID默认回调参数见 configs/callbacks/local_pickle_writer.yamlflush_frequency控制缓冲落盘行数可按数据量调大以减少 IO 次数。生成式推荐模型TIGER 的训练与上线推理训练注意num_hierarchies要比量化层数 1因为去重追加了一位python -m src.train experimenttiger_train_flat \ data_dirdata/amazon_data/beauty \ semantic_id_path第3步输出/pickle/merged_predictions_tensor.pt \ num_hierarchies4生成推荐上线推理python -m src.inference experimenttiger_inference_flat \ data_dirdata/amazon_data/beauty \ semantic_id_path第3步输出/pickle/merged_predictions_tensor.pt \ ckpt_pathTIGER训练checkpoint \ num_hierarchies4模型实现是SemanticIDEncoderDecodersrc/models/modules/semantic_id/tiger_generation_model.py采用带前缀合法性剪枝的 beam search只保留能映射到真实商品的生成路径从根源上避免幻觉商品。top_k_for_generation默认 10即每个用户的推荐条数可直接在 configs/experiment/tiger_inference_flat.yaml 中覆盖。生产环境加速多卡 DDP、断点续跑与自动重试GRID 基于 PyTorch Lightning扩展多卡只需三个配置多卡/多机使用 configs/trainer/ddp.yamlstrategy: ddp、devices: -1表示自动占用全部可见 GPU多机时加num_nodes与 Lightning 标准环境变量即可断点续训训练入口 src/train.py 支持ckpt_path参数重启时传入最新 checkpoint 即可恢复失败自动重试训练由LocalJobLaunchersrc/utils/restart_job.py包裹默认失败重试 3 次且会自动加载最近一次 checkpoint 继续跑——这对生产长任务非常友好日志与产物全部落在 Hydra 输出目录logs/日期/时间/中包括 checkpoint、CSV 指标和 pickle 预测结果方便挂载对象存储做归档。上线检查清单检查项说明常见坑Python / CUDA 版本3.10CUDA 12.4驱动不匹配导致 torch 加载失败数据四目录齐全train / validation / test / itemsitems/缺失会让 embedding 阶段跑空embedding_dim 与 LLM 一致flan-t5-xl 为 2048换 LLM 后忘记同步该参数num_hierarchies 的 1 规则量化 3 层 → TIGER 阶段用 4少加一位会导致 ID 映射错位checkpoint 路径inference必须传ckpt_path漏传会告警并使用未训练权重输出合并文件确认存在merged_predictions_tensor.pt多卡时只合并主 rank 文件按这份清单核对后你的 GRID 生成式推荐系统就完成了从离线推理到语义ID生成的完整部署。更多示例与引用信息可参阅 README.md。赞分享【免费下载链接】GRIDGRID: Generative Recommendation with Semantic IDs项目地址https://gitcode.com/gh_mirrors/grid48/GRID点击查看免费下载相关推荐如何把 tiny_vit_21m_512.dist_in22k_ft_in1k 部署到生产环境CPU推理、量化与加速完整指南如何把 tiny_vit_21m_512.dist_in22k_ft_in1k 部署到生产环境CPU推理、量化与加速完整指南 tiny_vit_21m_512部署指南如何把vit_base_patch16_224.sam_in1k部署到生产环境——推理加速与量化入门部署指南如何把vit_base_patch16_224.sam_in1k部署到生产环境——推理加速与量化入门 vit_base_patch16_224.sam如何部署CActor到生产环境从单机到集群部署的完整清单如何部署CActor到生产环境从单机到集群部署的完整清单 CActor 是基于仓颉Cangjie语言开发的高性能 Actor 系统提供企业级分布式能力。后端并发编程分布式上一篇Yakit 图标库迁移实战基于 yakit-libs/yakit-ui-icons 的本地 SVG 留存审查与改造清单下一篇Karpenter 文档贡献指南preview 目录、版本化发布与 backport 全流程解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?