[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-snap-research--GRID":3,"tool-snap-research--GRID":65},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},8553,"spec-kit","github\u002Fspec-kit","Spec Kit 是一款专为提升软件开发效率而设计的开源工具包，旨在帮助团队快速落地“规格驱动开发”（Spec-Driven Development）模式。传统开发中，需求文档往往与代码实现脱节，导致沟通成本高且结果不可控；而 Spec Kit 通过将规格说明书转化为可执行的指令，让 AI 直接依据明确的业务场景生成高质量代码，从而减少从零开始的随意编码，确保产出结果的可预测性。\n\n该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程，用户只需通过简单的命令行操作，即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念，支持社区扩展与预设模板，允许用户根据特定技术栈定制开发流程。此外，Spec Kit 强调官方维护的安全性，提供稳定的版本管理，帮助开发者在享受 AI 红利的同时，依然牢牢掌握架构设计的主动权，真正实现从“凭感觉写代码”到“按规格建系统”的转变。",88749,"2026-04-17T09:48:14",[15,26,14,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":10,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,"2026-04-18T11:00:28",[26,51,52,53,14,54,15,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,51,54],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":93,"env_deps":95,"category_tags":103,"github_topics":104,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":111,"updated_at":112,"faqs":113,"releases":144},9704,"snap-research\u002FGRID","GRID","GRID: Generative Recommendation with Semantic IDs","GRID 是由 Snap Research 推出的前沿生成式推荐框架，旨在利用语义 ID（Semantic IDs）革新传统推荐系统。它主要解决了传统方法难以深度理解物品文本语义以及生成序列灵活性不足的问题，通过将物品转化为具有层级结构的语义标识，让模型能像生成自然语言一样直接“创作”推荐列表。\n\n该工具特别适合从事推荐算法研究的科研人员、需要构建下一代智能推荐系统的开发者，以及对大模型与量化技术结合感兴趣的技术团队。其核心技术亮点在于独特的三步流程：首先利用大语言模型（LLM）将物品文本转化为高维嵌入；接着采用残差量化技术（如 RQ-KMeans、RQ-VAE）将这些嵌入压缩为高效的层级语义 ID；最后基于 Transformer 架构，直接以生成这些 ID 序列的方式完成推荐预测。这种设计不仅充分释放了 LLM 的语义理解能力，还显著提升了推荐结果的多样性和可解释性，为构建更智能的个性化服务提供了强有力的开源支持。","# Generative Recommendation with Semantic IDs (GRID)\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-2.0%2B-red)](https:\u002F\u002Fpytorch.org\u002F)\n[![Hydra](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fconfig-hydra-89b8cd)](https:\u002F\u002Fhydra.cc\u002F)\n[![Lightning](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-lightning-792ee5)](https:\u002F\u002Flightning.ai\u002F)\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2507.22224-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.22224)\n\n\n**GRID** (Generative Recommendation with Semantic IDs) is a state-of-the-art framework for generative recommendation systems using semantic IDs, developed by a group of scientists and engineers from [Snap Research](https:\u002F\u002Fresearch.snap.com\u002Fteam\u002Fuser-modeling-and-personalization.html). This project implements novel approaches for learning semantic IDs from text embedding and generating recommendations through transformer-based generative models.\n\n## 🚀 Overview\n\nGRID facilitates generative recommendation three overarching steps:\n\n- **Embedding Generation with LLMs**: Converting item text into embeddings using any LLMs available on Huggingface. \n- **Semantic ID Learning**: Converting item embedding into hierarchical semantic IDs using Residual Quantization techniques such as RQ-KMeans, RQ-VAE, RVQ. \n- **Generative Recommendations**: Using transformer architectures to generate recommendation sequences as semantic ID tokens. \n\n\n## 📦 Installation\n\n### Prerequisites\n- Python 3.10+\n- CUDA-compatible GPU (recommended)\n\n### Setup Environment\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID.git\ncd GRID\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n## 🎯 Quick Start\n\n### 1. Data Preparation\n\nPrepare your dataset in the expected format:\n```\ndata\u002F\n├── train\u002F       # training sequence of user history \n├── validation\u002F  # validation sequence of user history \n├── test\u002F        # testing sequence of user history \n└── items\u002F       # text of all items in the dataset\n```\n\nWe provide pre-processed Amazon data explored in the [P5 paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.13366) [4]. The data can be downloaded from this [google drive link](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1B5_q_MT3GYxmHLrMK0-lAqgpbAuikKEz\u002Fview?usp=sharing).\n\n### 2. Embedding Generation with LLMs\n\nGenerate embeddings from LLMs, which later will be transformed into semantic IDs. \n\n```bash\npython -m src.inference experiment=sem_embeds_inference_flat data_dir=data\u002Famazon_data\u002Fbeauty # avaiable data includes 'beauty', 'sports', and 'toys'\n```\n\n### 3. Train and Generate Semantic IDs\n\nLearn semantic ID centroids for embeddings generated in step 2:\n\n```bash\npython -m src.train experiment=rkmeans_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003Coutput_path_from_step_2>\u002Fmerged_predictions_tensor.pt \\ # this can be found in the log dirs in step2\n    embedding_dim=2048 \\ # the model dimension of the LLMs you use in step 2. 2048 for flan-t5-xl as used in this example.\n    num_hierarchies=3 \\  # we train 3 codebooks\n    codebook_width=256 \\ # each codebook has 256 rows of centroids  \n```\n\nGenerate SIDs:\n\n```bash\npython -m src.inference experiment=rkmeans_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003Coutput_path_from_step_2>\u002Fmerged_predictions_tensor.pt \\ \n    embedding_dim=2048 \\ \n    num_hierarchies=3 \\  \n    codebook_width=256 \\ \n    ckpt_path=\u003Cthe_checkpoint_you_just_get_above> # this can be found in the log dir for training SIDs\n```\n\n\n### 4. Train Generative Recommendation Model with Semantic IDs\n\nTrain the recommendation model using the learned semantic IDs:\n\n```bash\npython -m src.train experiment=tiger_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003Coutput_path_from_step_3>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    num_hierarchies=4 # Please note that we add 1 for num_hierarchies because in the previous step we appended one additional digit to de-duplicate the semantic IDs we generate.\n```\n\n### 4. Generate Recommendations\n\nRun inference to generate recommendations:\n\n```bash\npython -m src.inference experiment=tiger_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003Coutput_path_from_step_3>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    ckpt_path=\u003Cthe_checkpoint_you_just_get_above> \\ # this can be found in the log dir for training GR models\n    num_hierarchies=4 \\ # Please note that we add 1 for num_hierarchies because in the previous step we appended one additional digit to de-duplicate the semantic IDs we generate.\n```\n\n## Supported Models:\n\n### Semantic ID:\n\n1. Residual K-means proposed in One-Rec [2]\n2. Residual Vector Quantization\n3. Residual Quantization with Variational Autoencoder [3]\n\n### Generative Recommendation:\n\n1. TIGER [1]\n\n## 📚 Citation\n\nIf you use GRID in your research, please cite:\n\n```bibtex\n@inproceedings{grid,\n  title     = {Generative Recommendation with Semantic IDs: A Practitioner's Handbook},\n  author    = {Ju, Clark Mingxuan and Collins, Liam and Neves, Leonardo and Kumar, Bhuvesh and Wang, Louis Yufeng and Zhao, Tong and Shah, Neil},\n  booktitle = {Proceedings of the 34th ACM International Conference on Information and Knowledge Management (CIKM)},\n  year      = {2025}\n}\n```\n\n## 🤝 Acknowledgments\n\n- Built with [PyTorch](https:\u002F\u002Fpytorch.org\u002F) and [PyTorch Lightning](https:\u002F\u002Flightning.ai\u002F)\n- Configuration management by [Hydra](https:\u002F\u002Fhydra.cc\u002F)\n- Inspired by recent advances in generative AI and recommendation systems\n- Part of this repo is built on top of https:\u002F\u002Fgithub.com\u002Fashleve\u002Flightning-hydra-template\n\n## 📞 Contact\n\nFor questions and support:\n- Create an issue on GitHub\n- Contact the development team: Clark Mingxuan Ju (mju@snap.com), Liam Collins (lcollins2@snap.com), Bhuvesh Kumar (bhuvesh@snap.com) and Leonardo Neves (lneves@snap.com).\n\n## Bibliography \n\n[1] Rajput, Shashank, et al. \"Recommender systems with generative retrieval.\" Advances in Neural Information Processing Systems 36 (2023): 10299-10315.\n\n[2] Deng, Jiaxin, et al. \"Onerec: Unifying retrieve and rank with generative recommender and iterative preference alignment.\" arXiv preprint arXiv:2502.18965 (2025).\n\n[3] Lee, Doyup, et al. \"Autoregressive image generation using residual quantization.\" Proceedings of the IEEE\u002FCVF conference on computer vision and pattern recognition. 2022.\n\n[4] Geng, Shijie, et al. \"Recommendation as language processing (rlp): A unified pretrain, personalized prompt & predict paradigm (p5).\" Proceedings of the 16th ACM conference on recommender systems. 2022.\n","# 基于语义 ID 的生成式推荐 (GRID)\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-2.0%2B-red)](https:\u002F\u002Fpytorch.org\u002F)\n[![Hydra](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fconfig-hydra-89b8cd)](https:\u002F\u002Fhydra.cc\u002F)\n[![Lightning](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-lightning-792ee5)](https:\u002F\u002Flightning.ai\u002F)\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2507.22224-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.22224)\n\n\n**GRID**（基于语义 ID 的生成式推荐）是由来自 [Snap Research](https:\u002F\u002Fresearch.snap.com\u002Fteam\u002Fuser-modeling-and-personalization.html) 的一组科学家和工程师开发的、使用语义 ID 的生成式推荐系统最先进框架。该项目实现了从文本嵌入中学习语义 ID，并通过基于 Transformer 的生成模型生成推荐的新方法。\n\n## 🚀 概述\n\nGRID 通过三个主要步骤实现生成式推荐：\n\n- **使用 LLM 生成嵌入**：利用 Hugging Face 上可用的任何 LLM 将物品文本转换为嵌入。\n- **语义 ID 学习**：使用残差量化技术（如 RQ-KMeans、RQ-VAE、RVQ）将物品嵌入转换为层次化的语义 ID。\n- **生成式推荐**：使用 Transformer 架构以语义 ID 令牌的形式生成推荐序列。\n\n\n## 📦 安装\n\n### 先决条件\n- Python 3.10+\n- 支持 CUDA 的 GPU（推荐）\n\n### 设置环境\n\n```bash\n# 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID.git\ncd GRID\n\n# 安装依赖\npip install -r requirements.txt\n```\n\n## 🎯 快速入门\n\n### 1. 数据准备\n\n按照预期格式准备数据集：\n```\ndata\u002F\n├── train\u002F       # 用户历史的训练序列 \n├── validation\u002F  # 用户历史的验证序列 \n├── test\u002F        # 用户历史的测试序列 \n└── items\u002F       # 数据集中所有物品的文本\n```\n\n我们提供了在 [P5 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.13366) 中探讨的预处理过的 Amazon 数据 [4]。该数据可从此 [Google Drive 链接](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1B5_q_MT3GYxmHLrMK0-lAqgpbAuikKEz\u002Fview?usp=sharing) 下载。\n\n### 2. 使用 LLM 生成嵌入\n\n从 LLM 生成嵌入，这些嵌入随后将被转换为语义 ID。\n\n```bash\npython -m src.inference experiment=sem_embeds_inference_flat data_dir=data\u002Famazon_data\u002Fbeauty # 可用的数据包括 'beauty', 'sports', 和 'toys'\n```\n\n### 3. 训练并生成语义 ID\n\n为步骤 2 中生成的嵌入学习语义 ID 聚类中心：\n\n```bash\npython -m src.train experiment=rkmeans_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003C步骤2输出路径>\u002Fmerged_predictions_tensor.pt \\ # 这可以在步骤2的日志目录中找到\n    embedding_dim=2048 \\ # 步骤2中使用的 LLM 的模型维度。本示例中使用 flan-t5-xl，其维度为 2048。\n    num_hierarchies=3 \\  # 我们训练 3 个码本\n    codebook_width=256 \\ # 每个码本有 256 行聚类中心  \n```\n\n生成 SIDs：\n\n```bash\npython -m src.inference experiment=rkmeans_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003C步骤2输出路径>\u002Fmerged_predictions_tensor.pt \\ \n    embedding_dim=2048 \\ \n    num_hierarchies=3 \\  \n    codebook_width=256 \\ \n    ckpt_path=\u003C刚刚获得的检查点> # 这可以在训练 SIDs 的日志目录中找到\n```\n\n\n### 4. 使用语义 ID 训练生成式推荐模型\n\n使用学到的语义 ID 训练推荐模型：\n\n```bash\npython -m src.train experiment=tiger_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003C步骤3输出路径>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    num_hierarchies=4 # 请注意，我们将 num_hierarchies 加 1，因为在上一步中，我们添加了一个额外的数字以去重生成的语义 ID。\n```\n\n### 4. 生成推荐\n\n运行推理以生成推荐：\n\n```bash\npython -m src.inference experiment=tiger_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003C步骤3输出路径>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    ckpt_path=\u003C刚刚获得的检查点> \\ # 这可以在训练 GR 模型的日志目录中找到\n    num_hierarchies=4 \\ # 请注意，我们将 num_hierarchies 加 1，因为在上一步中，我们添加了一个额外的数字以去重生成的语义 ID。\n```\n\n## 支持的模型：\n\n### 语义 ID：\n\n1. One-Rec 中提出的残差 K-means [2]\n2. 残差向量量化\n3. 带有变分自编码器的残差量化 [3]\n\n### 生成式推荐：\n\n1. TIGER [1]\n\n## 📚 引用\n\n如果您在研究中使用 GRID，请引用以下内容：\n\n```bibtex\n@inproceedings{grid,\n  title     = {Generative Recommendation with Semantic IDs: A Practitioner's Handbook},\n  author    = {Ju, Clark Mingxuan and Collins, Liam and Neves, Leonardo and Kumar, Bhuvesh and Wang, Louis Yufeng and Zhao, Tong and Shah, Neil},\n  booktitle = {Proceedings of the 34th ACM International Conference on Information and Knowledge Management (CIKM)},\n  year      = {2025}\n}\n```\n\n## 🤝 致谢\n\n- 基于 [PyTorch](https:\u002F\u002Fpytorch.org\u002F) 和 [PyTorch Lightning](https:\u002F\u002Flightning.ai\u002F) 构建\n- 配置管理由 [Hydra](https:\u002F\u002Fhydra.cc\u002F) 提供\n- 灵感来源于生成式 AI 和推荐系统的最新进展\n- 本仓库的部分内容基于 https:\u002F\u002Fgithub.com\u002Fashleve\u002Flightning-hydra-template 构建\n\n## 📞 联系方式\n\n如有疑问或需要支持：\n- 在 GitHub 上创建问题\n- 联系开发团队：Clark Mingxuan Ju (mju@snap.com)、Liam Collins (lcollins2@snap.com)、Bhuvesh Kumar (bhuvesh@snap.com) 和 Leonardo Neves (lneves@snap.com)。\n\n## 参考文献 \n\n[1] Rajput, Shashank, 等. “具有生成式检索的推荐系统。” 神经信息处理系统进展 36（2023）：10299-10315。\n\n[2] Deng, Jiaxin, 等. “Onerec：通过生成式推荐和迭代偏好对齐统一检索与排序。” arXiv 预印本 arXiv:2502.18965（2025）。\n\n[3] Lee, Doyup, 等. “使用残差量化进行自回归图像生成。” IEEE\u002FCVF 计算机视觉与模式识别会议论文集。2022 年。\n\n[4] Geng, Shijie, 等. “作为语言处理的推荐（RLP）：统一的预训练、个性化提示与预测范式（P5）。” 第 16 届 ACM 推荐系统会议论文集。2022 年。","# GRID 快速上手指南\n\nGRID (Generative Recommendation with Semantic IDs) 是由 Snap Research 开发的基于语义 ID 的生成式推荐系统框架。它利用大语言模型（LLM）生成嵌入，通过残差量化技术学习分层语义 ID，并使用 Transformer 架构生成推荐序列。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 macOS\n*   **Python**: 3.10 或更高版本\n*   **GPU**: 推荐使用支持 CUDA 的 NVIDIA GPU\n*   **深度学习框架**: PyTorch 2.0+\n\n## 安装步骤\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID.git\ncd GRID\n```\n\n### 2. 安装依赖\n建议使用虚拟环境（如 conda 或 venv），然后安装所需包。国内用户可使用清华源加速安装：\n\n```bash\n# 创建并激活虚拟环境 (可选但推荐)\nconda create -n grid python=3.10 -y\nconda activate grid\n\n# 使用国内镜像源安装依赖\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n以下是基于 Amazon Beauty 数据集的最小化运行流程，涵盖从数据准备到生成推荐的四个核心步骤。\n\n### 1. 数据准备\n将数据集解压并放置于 `data\u002F` 目录下，结构需如下所示：\n```text\ndata\u002F\n├── train\u002F       # 用户历史训练序列\n├── validation\u002F  # 用户历史验证序列\n├── test\u002F        # 用户历史测试序列\n└── items\u002F       # 数据集中所有物品的文本描述\n```\n> **提示**: 项目提供了基于 P5 论文处理的 Amazon 数据集（包含 'beauty', 'sports', 'toys'），可从官方 Google Drive 链接下载并放入对应目录。\n\n### 2. 生成 LLM 嵌入\n使用 HuggingFace 上的任意 LLM 将物品文本转换为向量嵌入。以下示例使用默认配置处理 beauty 数据集：\n\n```bash\npython -m src.inference experiment=sem_embeds_inference_flat data_dir=data\u002Famazon_data\u002Fbeauty\n```\n*执行完成后，请在日志目录中找到生成的 `merged_predictions_tensor.pt` 文件路径，供下一步使用。*\n\n### 3. 学习并生成语义 ID (Semantic IDs)\n首先训练残差 K-Means 模型以学习语义 ID 中心点，随后生成具体的语义 ID。\n\n**训练语义 ID 模型：**\n```bash\npython -m src.train experiment=rkmeans_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003Coutput_path_from_step_2>\u002Fmerged_predictions_tensor.pt \\\n    embedding_dim=2048 \\\n    num_hierarchies=3 \\\n    codebook_width=256\n```\n*注意：`embedding_dim` 需与步骤 2 中使用的 LLM 输出维度一致（例如 flan-t5-xl 为 2048）。*\n\n**生成语义 ID：**\n```bash\npython -m src.inference experiment=rkmeans_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\\n    embedding_path=\u003Coutput_path_from_step_2>\u002Fmerged_predictions_tensor.pt \\\n    embedding_dim=2048 \\\n    num_hierarchies=3 \\\n    codebook_width=256 \\\n    ckpt_path=\u003Cthe_checkpoint_you_just_get_above>\n```\n*请将 `\u003C...>` 替换为实际的文件路径，检查点文件位于上一步训练的日志目录中。*\n\n### 4. 训练生成式推荐模型并推理\n利用生成的语义 ID 训练 TIGER 推荐模型，并进行推理。\n\n**训练推荐模型：**\n```bash\npython -m src.train experiment=tiger_train_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003Coutput_path_from_step_3>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    num_hierarchies=4\n```\n*注意：此处 `num_hierarchies` 设为 4，因为在生成语义 ID 时额外添加了一位数字用于去重。*\n\n**生成推荐结果：**\n```bash\npython -m src.inference experiment=tiger_inference_flat \\\n    data_dir=data\u002Famazon_data\u002Fbeauty \\ \n    semantic_id_path=\u003Coutput_path_from_step_3>\u002Fpickle\u002Fmerged_predictions_tensor.pt \\\n    ckpt_path=\u003Cthe_checkpoint_you_just_get_above> \\\n    num_hierarchies=4\n```","某电商平台的推荐算法团队正致力于提升美妆类商品的个性化推荐准确率，特别是解决新上架商品因缺乏交互数据而难以被推荐的“冷启动”难题。\n\n### 没有 GRID 时\n- **依赖历史行为**：传统模型严重依赖用户过去的点击和购买记录，导致新品或因描述丰富但无交互数据的商品几乎无法获得曝光。\n- **语义理解割裂**：商品文本描述（如成分、功效）仅作为辅助特征，未能深度融入推荐逻辑，模型难以理解“含玻色因的面霜”与“抗老精华”之间的深层语义关联。\n- **泛化能力受限**：面对长尾商品或稀疏用户行为序列，模型往往只能推荐热门爆款，无法生成具有探索性且符合用户潜在兴趣的多样化推荐序列。\n\n### 使用 GRID 后\n- **生成式推荐突破**：利用大语言模型将商品文本转化为嵌入向量，再通过残差量化生成层级化语义 ID，使模型能直接基于商品语义内容生成推荐，有效解决冷启动问题。\n- **深度语义融合**：GRID 将复杂的商品文本信息压缩为紧凑的语义 ID 令牌，让 Transformer 架构在训练时直接学习语义层面的用户偏好迁移，精准捕捉细粒度需求。\n- **序列生成更灵活**：模型不再局限于检索历史相似项，而是像生成文本一样“创作”推荐序列，能够根据用户当前上下文动态组合出新颖且高相关度的商品列表。\n\nGRID 通过将商品文本转化为可生成的语义 ID，彻底改变了推荐系统从“检索匹配”到“语义生成”的范式，显著提升了长尾与新品的分发效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsnap-research_GRID_eb2595d8.png","snap-research","Snap Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsnap-research_117fe63a.png","",null,"https:\u002F\u002Fresearch.snap.com\u002F","https:\u002F\u002Fgithub.com\u002Fsnap-research",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,649,108,"2026-04-19T06:47:33","NOASSERTION",4,"未说明","需要兼容 CUDA 的 GPU（推荐），具体型号、显存大小及 CUDA 版本未在文档中明确说明",{"notes":96,"python":97,"dependencies":98},"该工具主要用于生成式推荐系统，流程包括使用 LLM 生成嵌入、通过残差量化学习语义 ID 以及训练 Transformer 模型。虽然支持任意 Huggingface 上的 LLM，但示例中使用了 flan-t5-xl（维度 2048）。配置管理使用 Hydra，训练框架基于 PyTorch Lightning。文档未提供具体的显存和内存需求，但运行大型 LLM 和训练 Transformer 通常需要较高的 GPU 显存。","3.10+",[99,100,101,102],"PyTorch 2.0+","PyTorch Lightning","Hydra","Transformers (隐含，用于 Huggingface LLMs)",[15],[105,106,107,108,109,110],"generative-recommenders","recommender-systems","recsys","semantic-id","large-language-models","sequential-recommendation","2026-03-27T02:49:30.150509","2026-04-20T04:06:07.629712",[114,119,124,129,134,139],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},43594,"运行代码时遇到 _copy_time_dependent_args、_gumbel_softmax_sample 或 _betaQuantizationLoss 未实现的错误怎么办？","该问题已在最新版本中修复。请拉取（pull）最新的代码库，这些缺失的函数实现已被补充，无需再手动注释掉相关代码。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F6",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},43595,"遇到 fbgemm_gpu_config.so 未定义符号（undefined symbol）的错误如何解决？","该依赖项已被移除。请拉取最新代码即可解决。如果问题仍然存在，请检查 requirements.txt 中的依赖要求，并确保您的 CUDA 版本与文件中提供的版本一致。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F3",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},43596,"代码中使用的 \u003Csep> 分隔符令牌对模型性能有何影响？","\u003Csep> 令牌的想法借鉴自 OneRec 项目（原 TIGER 论文未提及）。经过测试，该特性通常能将模型性能提升约 5%。由于该功能是在论文完稿后添加的，因此尚未进行全面的对比实验。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F2",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},43597,"配置文件（config files）内容复杂且缺乏说明，难以理解各参数的作用怎么办？","该项目使用 Hydra 管理配置，并适配了 lightning-hydra 模板。建议先熟悉 Hydra 和 lightning-hydra 模板的使用文档以理清配置结构。如果有具体的参数疑问，可以进一步提问。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F4",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},43598,"实例化 RQ-VAE 模型时出现找不到 NormalizeLayer 的错误如何处理？","这通常是由于路径或实例化配置问题导致的。建议设置环境变量 HYDRA_FULL_ERROR=1 来查看完整的链式异常信息，以便定位具体的配置键值（如 model.normalization_layer）错误。同时请确保代码已更新至最新版本，因为部分模块可能在更新中进行了重构。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F10",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},43599,"在 rqvae_train_flat.yaml 中将 update_manually 设为 True 后，质心（centroids）还会更新吗？","当 update_manually 设置为 True 时，意味着质心不会在训练过程中自动更新（如通过 EMA 方式），而是保持初始化状态或由外部逻辑手动更新。如果需要训练期间自动更新，需查阅相关代码逻辑或更改此配置。","https:\u002F\u002Fgithub.com\u002Fsnap-research\u002FGRID\u002Fissues\u002F7",[]]