[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-DeepRec-AI--DeepRec":3,"tool-DeepRec-AI--DeepRec":64},[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},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[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},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"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,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"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 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":121,"forks":122,"last_commit_at":123,"license":124,"difficulty_score":125,"env_os":126,"env_gpu":127,"env_ram":128,"env_deps":129,"category_tags":140,"github_topics":141,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":150,"updated_at":151,"faqs":152,"releases":182},2970,"DeepRec-AI\u002FDeepRec","DeepRec","DeepRec is a high-performance recommendation deep learning framework based on TensorFlow. It is hosted in incubation in LF AI & Data Foundation.","DeepRec 是一个基于 TensorFlow 构建的高性能推荐系统深度学习框架，由阿里巴巴开源并孵化于 LF AI & Data 基金会。它专为解决推荐场景中特有的海量非数值特征（如用户 ID、标签、文本等）导致的参数规模巨大这一难题而生，能够支撑万亿级样本和十万亿级参数模型的训练与推理。\n\n该框架特别适合从事大规模推荐系统研发的算法工程师、后端开发者及研究人员使用，尤其是那些需要在 CPU 或 GPU 集群上处理超大规模数据的团队。DeepRec 的核心优势在于其卓越的分布式训练能力和深度的性能优化：它不仅提供了多种灵活的嵌入变量（Embedding Variable）管理和异步\u002F同步分布式训练架构，还针对硬件特性进行了细粒度优化，包括混合精度计算、显存多级存储、GPU 多流引擎以及编译层加速等技术。此外，DeepRec 还支持低延迟的在线学习与高性能模型服务部署，帮助企业在零售、广告、社交网络等商业场景中高效落地复杂的推荐模型，显著提升业务效果。","\n![DeepRec Logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDeepRec-AI_DeepRec_readme_da08d4bd0e8c.png)\n\n--------------------------------------------------------------------------------\n\n## **Introduction**\nDeepRec is a high-performance recommendation deep learning framework based on [TensorFlow 1.15](https:\u002F\u002Fwww.tensorflow.org\u002F), [Intel-TensorFlow](https:\u002F\u002Fgithub.com\u002FIntel-tensorflow\u002Ftensorflow) and [NVIDIA-TensorFlow](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Ftensorflow). It is hosted in incubation in LF AI & Data Foundation.\n\n\n### **Background**\nRecommendation models have huge commercial values for areas such as retailing, media, advertisements, social networks and search engines. Unlike other kinds of models, recommendation models have large amount of non-numeric features such as id, tag, text and so on which lead to huge parameters.\n\nDeepRec has been developed since 2016, which supports core businesses such as Taobao Search, recommendation and advertising. It precipitates a list of features on basic frameworks and has excellent performance in recommendation models training and inference. So far, in addition to Alibaba Group, dozens of companies have used DeepRec in their business scenarios.\n\n### **Key Features**\nDeepRec has super large-scale distributed training capability, supporting recommendation model training of trillion samples and over ten trillion parameters. For recommendation models, in-depth performance optimization has been conducted across CPU and GPU platform. It contains list of features to improve usability and performance for super-scale scenarios. \n\n#### **Embedding & Optimizer**\n - Embedding Variable.\n - Dynamic Dimension Embedding Variable.\n - Adaptive Embedding Variable.\n - Multiple Hash Embedding Variable.\n - Multi-tier Hybrid Embedding Storage.\n - Group Embedding.\n - AdamAsync Optimizer.\n - AdagradDecay Optimizer.\n\n#### **Training**\n - Asynchronous Distributed Training Framework (Parameter Server), such as grpc+seastar, FuseRecv, StarServer etc.\n - Synchronous Distributed Training Framework (Collective), such as HybridBackend, Sparse Operation Kits (SOK) etc.\n - Runtime Optimization, such as Graph Aware Memory Allocator (GAMMA), Critical-path based Executor etc.\n - Runtime Optimization (GPU), GPU Multi-Stream Engine which support multiple CUDA compute stream and CUDA Graph.\n - Operator level optimization, such as BF16 mixed precision optimization, embedding operator optimization and EmbeddingVariable on PMEM and GPU, new hardware feature enabling, etc.\n - Graph level optimization, such as AutoGraphFusion, SmartStage, AutoPipeline, Graph Template Engine, Sample-awared Graph Compression, MicroBatch etc.\n - Compilation optimization, support BladeDISC, XLA etc.\n\n#### **Deploy and Serving**\n - Delta checkpoint loading and exporting.\n - Super-scale recommendation model distributed serving.\n - Multi-tier hybrid storage and multi backend supported.\n - Online deep learning with low latency.\n - High performance inference framework SessionGroup (share-nothing), with multiple threadpool and multiple CUDA stream supported.\n - Model Quantization.\n\n***\n## **Installation**\n\n### **Prepare for installation**\n\n**CPU Platform**\n\n``````\nalideeprec\u002Fdeeprec-build:deeprec-dev-cpu-py38-ubuntu20.04\n``````\n\n**GPU Platform**\n\n```\nalideeprec\u002Fdeeprec-build:deeprec-dev-gpu-py38-cu116-ubuntu20.04\n```\n\n### **How to Build**\n\nConfigure\n```\n$ .\u002Fconfigure\n```\nCompile for CPU and GPU defaultly\n```\n$ bazel build -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\nCompile for CPU and GPU: ABI=0\n```\n$ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\nCompile for CPU optimization: oneDNN + Unified Eigen Thread pool\n```\n$ bazel build -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\nCompile for CPU optimization and ABI=0\n```\n$ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\n### **Create whl package** \n```\n$ .\u002Fbazel-bin\u002Ftensorflow\u002Ftools\u002Fpip_package\u002Fbuild_pip_package \u002Ftmp\u002Ftensorflow_pkg\n```\n### **Install whl package**\n```\n$ pip3 install \u002Ftmp\u002Ftensorflow_pkg\u002Ftensorflow-1.15.5+${version}-cp38-cp38m-linux_x86_64.whl\n```\n\n### **Latest Release Images**\n\n#### Image for CPU\n\n```\nalideeprec\u002Fdeeprec-release:deeprec2402-cpu-py38-ubuntu20.04\n```\n\n#### Image for GPU CUDA11.6\n\n```\nalideeprec\u002Fdeeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04\n```\n\n***\n## Continuous Build Status\n\n### Official Build\n\n| Build Type    | Status                                                       |\n| ------------- | ------------------------------------------------------------ |\n| **Linux CPU** | ![CPU Build](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-wheel.yaml\u002Fbadge.svg) |\n| **Linux GPU** | ![GPU Build](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-build-wheel.yaml\u002Fbadge.svg) |\n| **Linux CPU Serving** | ![CPU Serving Build](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-serving.yaml\u002Fbadge.svg) |\n| **Linux GPU Serving** | ![GPU Serving Build](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-serving-gpu.yaml\u002Fbadge.svg) |\n\n### Official Unit Tests\n\n| Unit Test Type | Status |\n| -------------- | ------ |\n| **Linux CPU C** | ![CPU C Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-c-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU CC** | ![CPU CC Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-cc-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Contrib** | ![CPU Contrib Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-contrib-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Core** | ![CPU Core Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-core-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Examples** | ![CPU Examples Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-examples-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Java** | ![CPU Java Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-java-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU JS** | ![CPU JS Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-js-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Python** | ![CPU Python Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-python-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Stream Executor** | ![CPU Stream Executor Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-stream_executor-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU C** | ![GPU C Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-c-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU CC** | ![GPU CC Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-cc-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Contrib** | ![GPU Contrib Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-contrib-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Core** | ![GPU Core Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-core-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Examples** | ![GPU Examples Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-examples-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Java** | ![GPU Java Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-java-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU JS** | ![GPU JS Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-js-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Python** | ![GPU Python Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-python-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Stream Executor** | ![GPU Stream Executor Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-stream_executor-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Serving UT** | ![CPU Serving Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-serving-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Serving UT** | ![GPU Serving Unit Tests](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-serving-unit-test-gpu.yaml\u002Fbadge.svg) |\n\n## **User Document**\n\nChinese: [https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F)\n\nEnglish: [https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F)\n\n## **Contact Us**\n\nJoin the Official Discussion Group on DingTalk\n\n\u003Cimg src=\"https:\u002F\u002Fdeeprec-dataset.oss-cn-beijing.aliyuncs.com\u002Fimg\u002Fdingtalk_group.JPG\" width=\"200\">\n\nJoin the Official Discussion Group on WeChat\n\n\u003Cimg src=\"https:\u002F\u002Fdeeprec-dataset.oss-cn-beijing.aliyuncs.com\u002Fimg\u002Fwechat_group.JPG\" width=\"200\">\n\n\n## **License**\n\n[Apache License 2.0](LICENSE)\n\n","![DeepRec Logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDeepRec-AI_DeepRec_readme_da08d4bd0e8c.png)\n\n--------------------------------------------------------------------------------\n\n## **简介**\nDeepRec 是一个高性能的推荐深度学习框架，基于 [TensorFlow 1.15](https:\u002F\u002Fwww.tensorflow.org\u002F)、[Intel-TensorFlow](https:\u002F\u002Fgithub.com\u002FIntel-tensorflow\u002Ftensorflow) 和 [NVIDIA-TensorFlow](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Ftensorflow) 构建。该框架目前在 LF AI & Data Foundation 中处于孵化阶段。\n\n\n### **背景**\n推荐模型在零售、媒体、广告、社交网络和搜索引擎等领域具有巨大的商业价值。与其他类型的模型不同，推荐模型包含大量非数值特征，如 ID、标签、文本等，这导致参数量非常庞大。\n\nDeepRec 自 2016 年开始开发，已支持淘宝搜索、推荐和广告等核心业务。它在基础框架上沉淀了一系列功能，在推荐模型的训练和推理方面表现出色。截至目前，除了阿里巴巴集团外，已有数十家公司将其应用于各自的业务场景中。\n\n### **关键特性**\nDeepRec 具备超大规模分布式训练能力，支持万亿级样本和超过十万亿参数的推荐模型训练。针对推荐模型，DeepRec 在 CPU 和 GPU 平台均进行了深入的性能优化，并提供了一系列功能来提升超大规模场景下的易用性和性能。\n\n#### **Embedding & 优化器**\n - Embedding Variable。\n - 动态维度 Embedding Variable。\n - 自适应 Embedding Variable。\n - 多重哈希 Embedding Variable。\n - 多层混合 Embedding 存储。\n - Group Embedding。\n - AdamAsync 优化器。\n - AdagradDecay 优化器。\n\n#### **训练**\n - 异步分布式训练框架（参数服务器），如 grpc+seastar、FuseRecv、StarServer 等。\n - 同步分布式训练框架（Collective），如 HybridBackend、Sparse Operation Kits (SOK) 等。\n - 运行时优化，如 Graph Aware Memory Allocator (GAMMA)、基于关键路径的执行器等。\n - GPU 运行时优化，包括支持多 CUDA 计算流和 CUDA 图的 GPU 多流引擎。\n - 算子级别优化，如 BF16 混合精度优化、Embedding 算子优化以及 PMEM 和 GPU 上的 EmbeddingVariable、新硬件特性支持等。\n - 图级别优化，如 AutoGraphFusion、SmartStage、AutoPipeline、图模板引擎、样本感知图压缩、MicroBatch 等。\n - 编译优化，支持 BladeDISC、XLA 等。\n\n#### **部署与推理**\n - Delta checkpoint 加载与导出。\n - 超大规模推荐模型分布式推理。\n - 支持多层混合存储和多种后端。\n - 低延迟在线深度学习。\n - 高性能推理框架 SessionGroup（无共享架构），支持多线程池和多 CUDA 流。\n - 模型量化。\n\n***\n## **安装**\n\n### **安装准备**\n\n**CPU 平台**\n\n``````\nalideeprec\u002Fdeeprec-build:deeprec-dev-cpu-py38-ubuntu20.04\n``````\n\n**GPU 平台**\n\n```\nalideeprec\u002Fdeeprec-build:deeprec-dev-gpu-py38-cu116-ubuntu20.04\n```\n\n### **构建方法**\n\n配置\n```\n$ .\u002Fconfigure\n```\n默认编译 CPU 和 GPU\n```\n$ bazel build -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\n仅编译 CPU 和 GPU：ABI=0\n```\n$ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\n仅编译 CPU 优化：oneDNN + 统一 Eigen 线程池\n```\n$ bazel build -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\n仅编译 CPU 优化且 ABI=0\n```\n$ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n```\n### **创建 whl 包** \n```\n$ .\u002Fbazel-bin\u002Ftensorflow\u002Ftools\u002Fpip_package\u002Fbuild_pip_package \u002Ftmp\u002Ftensorflow_pkg\n```\n### **安装 whl 包**\n```\n$ pip3 install \u002Ftmp\u002Ftensorflow_pkg\u002Ftensorflow-1.15.5+${version}-cp38-cp38m-linux_x86_64.whl\n```\n\n### **最新发布镜像**\n\n#### CPU 版本镜像\n\n```\nalideeprec\u002Fdeeprec-release:deeprec2402-cpu-py38-ubuntu20.04\n```\n\n#### GPU CUDA11.6 版本镜像\n\n```\nalideeprec\u002Fdeeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04\n```\n\n***\n## 持续集成状态\n\n### 官方构建\n\n| 构建类型    | 状态                                                       |\n| ------------- | ------------------------------------------------------------ |\n| **Linux CPU** | ![CPU 构建](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-wheel.yaml\u002Fbadge.svg) |\n| **Linux GPU** | ![GPU 构建](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-build-wheel.yaml\u002Fbadge.svg) |\n| **Linux CPU 推理** | ![CPU 推理构建](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-serving.yaml\u002Fbadge.svg) |\n| **Linux GPU 推理** | ![GPU 推理构建](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-build-serving-gpu.yaml\u002Fbadge.svg) |\n\n### 官方单元测试\n\n| 单元测试类型 | 状态 |\n| -------------- | ------ |\n| **Linux CPU C** | ![CPU C 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-c-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU CC** | ![CPU CC 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-cc-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Contrib** | ![CPU Contrib 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-contrib-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Core** | ![CPU Core 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-core-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Examples** | ![CPU Examples 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-examples-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Java** | ![CPU Java 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-java-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU JS** | ![CPU JS 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-js-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Python** | ![CPU Python 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-python-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Stream Executor** | ![CPU Stream Executor 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-stream_executor-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU C** | ![GPU C 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-c-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU CC** | ![GPU CC 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-cc-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Contrib** | ![GPU Contrib 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-contrib-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Core** | ![GPU Core 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-core-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Examples** | ![GPU Examples 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-examples-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Java** | ![GPU Java 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-java-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU JS** | ![GPU JS 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-js-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Python** | ![GPU Python 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-python-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Stream Executor** | ![GPU Stream Executor 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cuda11.2-cibuild-stream_executor-unit-test.yaml\u002Fbadge.svg) |\n| **Linux CPU Serving UT** | ![CPU Serving 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-serving-unit-test.yaml\u002Fbadge.svg) |\n| **Linux GPU Serving UT** | ![GPU Serving 单元测试](https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Factions\u002Fworkflows\u002Fubuntu18.04-py3.6-cibuild-serving-unit-test-gpu.yaml\u002Fbadge.svg) |\n\n## **用户文档**\n\n中文：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F)\n\n英文：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F)\n\n## **联系我们**\n\n加入钉钉官方讨论群\n\n\u003Cimg src=\"https:\u002F\u002Fdeeprec-dataset.oss-cn-beijing.aliyuncs.com\u002Fimg\u002Fdingtalk_group.JPG\" width=\"200\">\n\n加入微信官方讨论群\n\n\u003Cimg src=\"https:\u002F\u002Fdeeprec-dataset.oss-cn-beijing.aliyuncs.com\u002Fimg\u002Fwechat_group.JPG\" width=\"200\">\n\n\n## **许可证**\n\n[Apache License 2.0](LICENSE)","# DeepRec 快速上手指南\n\nDeepRec 是阿里巴巴开源的高性能推荐深度学习框架，基于 TensorFlow 1.15 深度优化，支持超大规模稀疏参数训练与推理，已应用于淘宝搜索、推荐及广告等核心业务。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Ubuntu 20.04 (推荐)\n- **Python 版本**: Python 3.8\n- **构建工具**: Bazel, GCC\n\n### 前置依赖 (Docker 镜像推荐)\n为了简化环境配置，官方提供了预装好所有依赖的 Docker 镜像，建议优先使用：\n\n*   **CPU 平台**:\n    ```bash\n    alideeprec\u002Fdeeprec-build:deeprec-dev-cpu-py38-ubuntu20.04\n    ```\n*   **GPU 平台 (CUDA 11.6)**:\n    ```bash\n    alideeprec\u002Fdeeprec-build:deeprec-dev-gpu-py38-cu116-ubuntu20.04\n    ```\n\n> **提示**: 若需直接运行而非编译，可使用发布版镜像：\n> *   CPU: `alideeprec\u002Fdeeprec-release:deeprec2402-cpu-py38-ubuntu20.04`\n> *   GPU: `alideeprec\u002Fdeeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04`\n\n## 安装步骤\n\n如果您需要在本地源码编译安装，请遵循以下步骤：\n\n### 1. 获取源码并配置\n进入 DeepRec 源码目录，运行配置脚本：\n```bash\n$ .\u002Fconfigure\n```\n\n### 2. 编译构建\n根据您的需求选择以下一种编译方式：\n\n*   **默认编译 (支持 CPU 和 GPU)**:\n    ```bash\n    $ bazel build -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n    ```\n\n*   **兼容旧 ABI 编译 (ABI=0)**:\n    ```bash\n    $ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n    ```\n\n*   **CPU 性能优化编译 (启用 oneDNN + Unified Eigen Thread pool)**:\n    ```bash\n    $ bazel build -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n    ```\n\n*   **CPU 性能优化且兼容旧 ABI**:\n    ```bash\n    $ bazel build --cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" --host_cxxopt=\"-D_GLIBCXX_USE_CXX11_ABI=0\" -c opt --config=opt --config=mkl_threadpool \u002F\u002Ftensorflow\u002Ftools\u002Fpip_package:build_pip_package\n    ```\n\n### 3. 生成 Wheel 包\n编译完成后，生成 Python 安装包：\n```bash\n$ .\u002Fbazel-bin\u002Ftensorflow\u002Ftools\u002Fpip_package\u002Fbuild_pip_package \u002Ftmp\u002Ftensorflow_pkg\n```\n\n### 4. 安装 DeepRec\n使用 pip 安装生成的 whl 包（文件名中的 `${version}` 会根据实际编译版本变化）：\n```bash\n$ pip3 install \u002Ftmp\u002Ftensorflow_pkg\u002Ftensorflow-1.15.5+${version}-cp38-cp38m-linux_x86_64.whl\n```\n\n## 基本使用\n\nDeepRec 完全兼容 TensorFlow 1.x 的编程习惯，同时引入了针对推荐场景优化的算子和变量类型（如 `EmbeddingVariable`）。\n\n以下是一个最简单的使用示例，展示如何导入框架并使用特有的嵌入变量功能：\n\n```python\nimport tensorflow as tf\nfrom deeprec import embedding_variable\n\n# 启用 DeepRec 特有的图优化功能\ntf.compat.v1.enable_resource_variables()\n\n# 定义一个简单的模型输入\nfeature_ids = tf.constant([1, 2, 3, 4], dtype=tf.int64)\n\n# 创建 DeepRec 优化的 EmbeddingVariable (支持动态维度和大规模稀疏参数)\n# 这里演示创建一个简单的嵌入表\nembedding_table = embedding_variable.EmbeddingVariable(\n    name=\"user_embedding\",\n    shape=[1000000, 128],  # 百万级词汇表，128 维向量\n    dtype=tf.float32,\n    initializer=tf.random_normal_initializer()\n)\n\n# 查找嵌入向量\nembeddings = tf.nn.embedding_lookup(embedding_table, feature_ids)\n\n# 启动会话运行\nwith tf.compat.v1.Session() as sess:\n    sess.run(tf.compat.v1.global_variables_initializer())\n    result = sess.run(embeddings)\n    print(\"Embedding shape:\", result.shape)\n```\n\n> **更多文档**:\n> *   中文文档：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F)\n> *   英文文档：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F](https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F)","某大型电商平台在“双 11\"大促前，急需利用万亿级用户行为数据训练超大规模推荐模型，以提升商品点击转化率。\n\n### 没有 DeepRec 时\n- **显存爆炸与训练中断**：面对数十亿稀疏特征（如用户 ID、商品标签），传统框架将嵌入参数全量加载至显存，导致频繁 OOM（内存溢出），训练任务无法启动。\n- **迭代周期漫长**：缺乏针对推荐场景的算子优化，单轮训练耗时数天，算法团队无法在促销前完成多轮模型调优和 A\u002FB 测试。\n- **资源利用率低下**：分布式训练中通信开销巨大，CPU\u002FGPU 等待数据时间过长，昂贵的算力集群大部分时间在空转。\n- **在线服务延迟高**：模型部署后推理延迟高达数百毫秒，无法满足大促期间高并发、低延迟的实时推荐需求。\n\n### 使用 DeepRec 后\n- **海量参数轻松承载**：借助多级混合存储和 Embedding Variable 技术，将万亿参数灵活分布至 CPU 内存、PMEM 及 GPU，彻底解决显存瓶颈，顺利启动训练。\n- **训练效率倍增**：通过 AutoGraphFusion 和 BF16 混合精度优化，结合异步分布式架构，将训练速度提升数倍，模型迭代周期从“天”级缩短至“小时”级。\n- **算力满负荷运转**：利用 GPU 多流引擎和关键路径执行器优化，大幅降低通信等待，使集群算力利用率接近饱和，显著降低单位样本训练成本。\n- **毫秒级实时响应**：基于 SessionGroup 高性能推理框架和模型量化技术，实现低延迟在线服务，即使在大促流量洪峰下也能保持稳定的毫秒级推荐响应。\n\nDeepRec 通过全栈深度优化，让超大规模推荐模型的训练与部署从“不可行”变为“高效常态”，直接释放了海量数据的商业价值。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FDeepRec-AI_DeepRec_ff9487b6.png","DeepRec-AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FDeepRec-AI_2447a32d.png","DeepRec is an open source high-performance recommendation deep learning framework based on TensorFlow. It is hosted in incubation in LF AI & Data Foundation.",null,"info@lfaidata.foundation","https:\u002F\u002Fdeeprec.readthedocs.io\u002Fen\u002Flatest\u002F","https:\u002F\u002Fgithub.com\u002FDeepRec-AI",[83,87,91,94,98,102,106,110,114,117],{"name":84,"color":85,"percentage":86},"C++","#f34b7d",55.3,{"name":88,"color":89,"percentage":90},"Python","#3572A5",32.6,{"name":92,"color":93,"percentage":10},"HTML","#e34c26",{"name":95,"color":96,"percentage":97},"Starlark","#76d275",2.4,{"name":99,"color":100,"percentage":101},"Jupyter Notebook","#DA5B0B",1.9,{"name":103,"color":104,"percentage":105},"MLIR","#5EC8DB",1.3,{"name":107,"color":108,"percentage":109},"Go","#00ADD8",1.1,{"name":111,"color":112,"percentage":113},"C","#555555",0.6,{"name":115,"color":116,"percentage":113},"Java","#b07219",{"name":118,"color":119,"percentage":120},"Shell","#89e051",0.5,1175,361,"2026-04-03T12:09:04","Apache-2.0",4,"Linux","可选（支持 CPU 和 GPU）。GPU 需 NVIDIA 显卡，官方镜像支持 CUDA 11.6 (cu116)，构建测试环境包含 CUDA 11.2。支持多 CUDA 计算流和 CUDA Graph。","未说明（但框架设计用于万亿级参数和样本的超大规模训练，实际使用建议大内存）",{"notes":130,"python":131,"dependencies":132},"1. 该框架基于 TensorFlow 1.15 深度定制，不兼容标准 TensorFlow 2.x。\n2. 提供预构建的 Docker 镜像（CPU 和 GPU 版本），推荐直接使用镜像部署。\n3. 源码编译需要使用 Bazel 构建工具，并支持针对 oneDNN、ABI 兼容性等进行特定配置。\n4. 专为推荐系统设计，支持异步\u002F同步分布式训练及大规模嵌入变量优化。","3.8",[133,134,135,136,137,138,139],"TensorFlow 1.15 (DeepRec 定制版)","Intel-TensorFlow (可选)","NVIDIA-TensorFlow (可选)","Bazel (构建工具)","oneDNN (CPU 优化可选)","BladeDISC (编译优化可选)","XLA (编译优化可选)",[13],[142,143,144,145,146,147,148,149],"deep-learning","machine-learning","python","scalability","distributed-training","recommendation-engine","search-engine","advertising","2026-03-27T02:49:30.150509","2026-04-06T05:19:24.802476",[153,158,163,168,173,178],{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},13706,"从源码构建时出现 \"cannot import name saver\" 循环导入错误怎么办？","该问题是由于全局导入时出现了循环引用（saver 导入 saveable_object_util，而后者又导入 saver）。在 Python 2 环境下需要改为 lazy import（延迟导入）来解决。此问题已在 PR #119 中修复，请更新代码或应用相关补丁。","https:\u002F\u002Fgithub.com\u002FDeepRec-AI\u002FDeepRec\u002Fissues\u002F98",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},13707,"运行 SOK (Sparse Operation Kit) 测试时报错 \"No OpKernel was registered to support Op 'PreprocessingForward'\" 如何解决？","这通常是因为使用了普通的 docker 而不是 nvidia-docker 导致的。请确保您的机器上已安装 nvidia-docker，并使用 nvidia-docker 运行容器，这样就能正确加载 GPU 相关的算子内核。","https:\u002F\u002Fgithub.com\u002FDeepRec-AI\u002FDeepRec\u002Fissues\u002F804",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},13708,"在 PMEM memkind 环境下运行脚本时报错 \"MultiLevel EV's Cache size -1 should large than IDs in batch\" 是什么原因？","该错误表明 MultiLevel Embedding Variable (EV) 的缓存大小配置不当（显示为 -1），小于批次中的 ID 数量。这通常发生在特定 commit 版本中，建议检查是否使用了最新的 DeepRec 分支，或者回退到之前稳定的 commit 版本（如 #283 或 #279）以规避此不一致性问题。","https:\u002F\u002Fgithub.com\u002FDeepRec-AI\u002FDeepRec\u002Fissues\u002F308",{"id":169,"question_zh":170,"answer_zh":171,"source_url":172},13709,"加载大于 1GB 的模型时报错 \"A protocol message was rejected because it was too big\" 怎么处理？","这是 Protobuf 默认限制消息大小为 1GB 导致的。该问题在原生 TensorFlow 版本中已通过修改 CodedInputStream::SetTotalBytesLimit() 修复。请参考 TensorFlow 官方 commit (dc3099c) 进行修复，或升级到已包含此修复的 DeepRec 版本。","https:\u002F\u002Fgithub.com\u002FDeepRec-AI\u002FDeepRec\u002Fissues\u002F979",{"id":174,"question_zh":175,"answer_zh":176,"source_url":177},13710,"编译 SOK 时提示找不到头文件 \"tensorflow\u002Fcore\u002Fkernels\u002Fgpu_device_array.h\" 怎么办？","虽然源码中存在该头文件，但编译时路径未正确识别。这通常是因为 bazel 构建配置或 include 路径设置问题。请检查 Bazel 版本兼容性（建议使用 0.26.1），并确认构建命令中是否正确指定了 TensorFlow 的 include 路径，或者尝试重新同步 workspace 依赖。","https:\u002F\u002Fgithub.com\u002FDeepRec-AI\u002FDeepRec\u002Fissues\u002F973",{"id":179,"question_zh":180,"answer_zh":181,"source_url":167},13711,"如何在 DeepRec 中正确配置和使用 PMEM (持久化内存) 环境？","构建时需要添加特定的编译选项：--copt=\"-L\u002Fusr\u002Flocal\u002Flib\" --copt=\"-lpmem\" --copt=\"-lmemkind\"。运行脚本时需使用 numactl 绑定 NUMA 节点，并设置参数 --ev_storage=pmem_memkind。如果遇到缓存大小错误，请检查批次大小与缓存配置的匹配性。",[183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":184,"version":185,"summary_zh":186,"released_at":187},72595,"r1.15.5-deeprec2402","## **主要特性与改进**\n\n### **Embedding**\n\n- 优化 KVInterface::GetShardedSnapshot 接口。\n- 在 CPU 编译时取消定义 EV GPU 接口。\n- 使 Embedding 向后兼容之前的 saved_model 格式。\n- 在 EV Import OP 中，如果 EV 已经初始化，则记录错误日志。\n\n### **算子实现**\n\n- 实现 SliceSend\u002FSliceRecv 算子。\n- 实现 FileSliceSend\u002FFileSliceRecv 算子。\n\n### **SDK**\n\n- 添加构建 SDK 包的功能。\n\n### **Bug 修复**\n\n- 修复共享 Embedding 频率计数问题。\n- 修复包含 EmbeddingVariable 的图在编译时的问题。\n- 修复一个调度问题。\n- 修复 DataFrame Value 的张量形状元数据 bug。\n\n### **ModelZoo**\n\n- 在分布式训练中，将 Saver 的参数 sharded 设置为 True。\n\n更多功能详情：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\n\n## **发布镜像**\n\n### **CPU 镜像**\n\n`alideeprec\u002Fdeeprec-release:deeprec2402-cpu-py38-ubuntu20.04`\n\n### **GPU 镜像**\n\n`alideeprec\u002Fdeeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04`","2024-02-28T08:43:10",{"id":189,"version":190,"summary_zh":191,"released_at":192},72596,"r1.15.5-deeprec2310","## **主要特性与改进**\r\n\r\n### **Embedding**\r\n\r\n- 重构 EmbeddingVariable 的数据结构。\r\n- 为弹性训练添加 EmbeddingVar 接口。\r\n- 为 EmbeddingVariable 添加 GetSnapshot 和 Create API。\r\n- 移除 EmbeddingVariable 对私有头文件的依赖。\r\n\r\n### **运行时优化**\r\n\r\n- 在分布式训练中规范化 SaveV2 Op 的设备规格。\r\n- 更新 direct_session 中的日志级别。\r\n\r\n### **分布式**\r\n\r\n- 添加 elastic-grpc 服务器。\r\n\r\n### **Bug修复**\r\n\r\n- 修复 DramSSDHashStorage 的 RestoreSSD 方法缺少返回值的问题。\r\n- 修复 shared-embedding 中频率设置错误的问题。\r\n- 修复恢复子图时初始化标志设置过早的问题。\r\n- 修复 Sparse Operation Kit 中的 wgrad bug。  \r\n- 修复异步 Embedding 查找导致的卡死问题。  \r\n- 修复按索引对 PS 地址列表进行排序的问题。  \r\n- 修复 SharedEmbeddingColumn 使用 PartitionedEmbedingVariable 时形状验证出错的问题。  \r\n\r\n更多功能详情：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\r\n\r\n## **发布镜像**\r\n\r\n### **CPU 镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2310-cpu-py38-ubuntu20.04`\r\n\r\n### **GPU 镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2310-gpu-py38-cu116-ubuntu20.04`","2023-11-15T08:43:49",{"id":194,"version":195,"summary_zh":196,"released_at":197},72597,"r1.15-deeprec2306","## **主要特性与改进**\n\n### **Embedding**\n\n- 支持 StaticGPUHashMap，以优化推理中的 EmbeddingVariable。\n- 更新 feature_column API 中 GroupEmbedding 的逻辑。\n- 优化前向和反向传播的 API。\n- 在 lti-tier 存储时，将新特征的插入操作移至反向传播过程中。\n- 将新特征的插入操作移至反向传播算子中。\n- 修改 embedding lookup 稀疏组合器的计算逻辑。\n- 增加 EmbeddingVariable 的内存和性能测试。\n\n### **图与 Grappler 优化**\n\n- 支持 IteratorGetNext 作为 SmartStage 的起始节点进行搜索。\n- 使用 C++ 重新实现 PrefetchRunner。\n\n### **运行时优化**\n\n- 通过线程池并行调度开销较大的算子。\n- 默认在 session_group 中启用多流模式。\n- 支持在使用 p 和 multi_stream 时加载包含设备信息的 saved_model。\n- 将 ARENA_ARRAY_SIZE 设置为可配置。\n- 优化 EV 分配器的性能。\n- 在集体训练模式下集成 HybridBackend。\n\n### **算子与硬件加速**\n\n- 当 MKL 被禁用时，禁用与 LeakyReLU 融合的 MatMul 算子。\n\n### **Serving**\n\n- 在加载新的检查点之前，清除 virtual_device 配置。\n\n### **环境与构建**\n\n- 更新用户文档中的 Docker 镜像。\n- 更新 configure.py 中的 DEFAULT_CUDA_VERSION 和 DEFAULT_CUDNN_VERSION。\n- 将第三方依赖从 WORKSPACE 移至 workspace.bzl。\n- 更新 colm、ragel、aliyun-oss-sdk 和 uuid 的下载地址。\n- 将默认的 TF_CUDA_COMPUTE_CAPABILITIES 更新为 7.0、7.5、8.0、8.6。\n- 将 SparseOperationKit 更新至 v23.5.01，并更新 Dockerfile。\n\n### **BugFix**\n\n- 修复构造 ngScope 时参数缺失的问题。\n- 修复内存泄漏问题，避免 OOM。\n- 修复 shared_embedding_columns API 中的形状校验问题。\n- 修复分布式场景下 stage_subgraph_on_cpu 的设备放置错误。\n- 修复同时使用 SOK 和 SmartStaged 时出现的卡死问题。\n- 修复在保存变量之前未初始化 global_step 的问题。\n- 修复预留输入节点、按需清理 saver 设备的问题。\n- 修复图节点无效时的内存泄漏问题。\n\n### **ModelZoo**\n\n- 添加示例和文档，展示集体训练功能。\n- 更新 ModelZoo 基准测试的相关文档和配置文件。\n- 更新 ModelZoo 的 README 文件。\n\n### **工具与文档**\n\n- 更新针对 H100 配置 TF_CUDA_COMPUTE_CAPABILITIES 的案例。\n- 更新 COMMITTERS.md。\n- 更新设备放置相关文档。\n- 更新 SmartStage 相关文档。\n- 更新 session_group 相关文档。\n- 更新 Processor 所依赖库的下载链接。\n- 将 sok 更新至 1.20。\n\n更多特性详情：[https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\n\n## **发布镜像**\n\n### **CPU 镜像**\n\n`alideeprec\u002Fdeeprec-release:deeprec2306-cpu-py38-ubuntu20.04`\n\n### **GPU 镜像**\n\n`alideeprec\u002Fdeeprec-release:deeprec2306-gpu-py38-cu116-ubuntu20.04`","2023-08-08T06:20:43",{"id":199,"version":200,"summary_zh":201,"released_at":202},72598,"r1.15.5-deeprec2304","## **主要特性与改进**\n\n### **Embedding**\n\n- 支持使用 `tf.feature_column.categorical_column_with_embedding` 特征列 API 的 `tf.int32` 数据类型。\n- 将导出频率和版本的规则统一为与导出键相同的规则。\n- 优化 GroupEmbedding 中的 CUDA 内核实现。\n- 支持通过 mmap 和 madvise 以及直接 I\u002FO 读取 Embedding 文件。\n- 在无锁稠密哈希表的 find_wait_free 方法中添加双重检查。\n- 将 EV 中 Embedding 版本的初始化值由 0 改为 -1。\n- 保持 `GetSnapshot()` 接口的向后兼容性。\n- 实现 CPU 上的 GroupEmbedding 稀疏查找 Op。\n- 使 GroupEmbedding 兼容序列特征列接口。\n- 修复 GroupEmbedding 中 sp_weights 索引计算错误。\n- 添加 group_strategy 参数，用于控制 group_embedding 的并行度。\n\n### **图与 Grappler 优化**\n\n- 在样本感知图压缩中支持将 SparseTensor 作为占位符。\n- 添加 Dice 融合的 Grappler 及其算子。\n- 启用 MKL Matmul + Bias + LeakyRelu 融合。\n\n### **运行时优化**\n\n- 避免 EventMgr 中不必要的轮询。\n- 在多流模式下减少 EventMgr 的锁开销和内存占用。\n\n### **算子与硬件加速**\n\n- 为 Prod 注册 int64 类型的 GPU 实现。\n- 为 Shape、ShapeN 和 ExpandDims 注册字符串类型的 GPU 实现。\n- 优化 GPU SegmentReductionOps 列表。\n- 通过减少对 convert_to_tensor 的调用，优化 zeros_like_impl。\n- 实现 SparseSlice Op 的 GPU 版本。\n- 在 keras.layers.Dense 中，当张量秩大于 2 时延迟 Reshape 操作，以便后续操作可以与 MatMul 融合。\n- 实现在编译时向 oneDNN 设置 max_num_threads 提示。\n- 实现 TensorPackTransH2DOp，以提升 SmartStage 在 GPU 上的性能。\n\n### **IO**\n\n- 为 ParquetDataset 添加张量形状元数据支持。\n- 为 ParquetDataset 添加 Arrow BINARY 类型支持。\n\n### **推理服务**\n\n- 在推理模式中添加 Dice 融合。\n- 在处理器中启用 INFERENCE_MODE。\n- 在推理中支持 TensorRT 8.x。\n- 添加配置项以控制是否启用 TensorRT。\n- 添加 device_placement_optimization 标志。\n- 在启用 TensorRT 时避免对特征列相关节点进行聚类。\n- 优化加载增量检查点时的推理延迟。\n- 通过仅将 TensorRT 算子放置到 GPU 设备上，进一步优化性能。\n\n### **环境与构建**\n\n- 支持 CUDA 12。\n- 更新 configure.py 中的 DEFAULT_CUDA_VERSION 和 DEFAULT_CUDNN_VERSION。\n- 将第三方库从 WORKSPACE 移至 workspace.bzl。\n- 更新 colm、ragel、aliyun-oss-sdk 和 uuid 的 URL。\n\n### **Bug 修复**\n\n- 修复设备放置优化中的常量 Op 放置错误。\n- 修复 group_embedding API 中出现的 NaN 问题。\n- 修复 SOK 与变量不兼容的问题。\n- 修复推理服务中更新完整模型时的内存泄漏问题。\n- 修复 GroupEmbedding 中 'cols_to_output_tensors' 未设置的问题。\n- 修复保存 GPU EmbeddingVariable 时的 Core Dump 问题。\n- 修复 KvResourceImportV3 内核中的 CUDA 资源问题。\n- 修复加载…","2023-05-19T11:03:14",{"id":204,"version":205,"summary_zh":206,"released_at":207},72599,"r1.15.5-deeprec2302","## **主要特性与改进**\n\n### **Embedding**\n\n- 支持在 GPU 和 CPU 设备上为 EmbeddingVariable 使用相同的保存图。\n- 支持将 EmbeddingVariable 的参数保存到 HBM 存储中，并从中恢复。\n- 为 EmbeddingVariable 的多级存储添加了 Adam、AdamAsync 和 AdamW 的 GPU 应用算子。\n- 将 KvResourceIsInitializedOp 的输出放置在 CPU 上。\n- 支持 GroupEmbedding，用于打包多个特征列的查找和应用操作。\n- 通过内部并行化和细粒度同步优化 EmbeddingVariable 的 HBM-DRAM 存储。\n- 支持在保存检查点时不保存过滤后的特征。\n- 支持 GroupEmbedding 中的本地化模式融合。\n- 支持避免预加载的 ID 在多级 Embedding 缓存中被清除。\n- 支持 COMPACT 布局，以降低 EmbeddingVariable 的内存开销。\n- 支持在使用 TF_EV_RESET_VERSION 恢复 Embedding Variable 时忽略版本号。\n- 支持恢复 Embedding Variable 的自定义维度。\n- 支持合并和删除 SSDHash 存储的检查点文件。\n\n### **图与 Grappler 优化**\n\n- 通过预取 LookupID 算子优化 SmartStage。\n- 解耦 SmartStage 与前向后向联合优化。\n- 支持样本感知的图压缩。\n- 支持 Stage 的 CUDA 多流处理。\n- 提升设备放置优化的性能。\n- 添加 TensorBufferPutGpuOp，以提升 GPU 设备上 SmartStage 的性能。\n\n### **运行时优化**\n\n- 默认启用 EVAllocator。\n- 优化执行器，消除排序延迟并减少内存使用。\n\n### **算子与硬件加速**\n\n- 为前向后向联合优化添加 GPU 算子列表。\n- 优化 CPU 设备上的 FusedBatchNormGrad。\n- 支持 FusedBatchNormOp 接受 NCHW 格式的输入。\n- 在 Eigen 中使用新的异步评估方法来优化 FusedBatchNorm。\n- 为 FusedBatchNorm* 内核添加 exponential_avg_factor 属性。\n- 将 AliUniqueGPU 内核实现更改为 AsyncOpKernel。\n- 支持在 fused_batch_norm 中计算指数移动平均值和方差。\n- 将 oneDNN 升级至 2.7 版本，ACL 升级至 22.08 版本。\n- 对 ARM 平台的 MKL 原语使用全局缓存。\n- 在 AArch64 架构上禁用将 BatchNorm 优化为后处理操作序列。\n- 恢复重映射器，并修复 AArch64 + ACL 下的 BatchMatmul 和 FactoryKeyCreator。\n\n### **分布式**\n\n- 通过将多个特征列融合在一起的 GroupEmbedding，加速 SOK。\n\n### **推理服务**\n\n- 支持在 SessionGroup 中设置 GPU 配置。\n- 支持在 SessionGroup 中使用多个 GPU。\n- 支持处理器设置多流选项。\n- 添加用于禁用 per_session_host_allocator 的标志。\n- 在 session_group 中的所有会话上运行 init_op。\n- 跳过无效请求并向客户端返回错误信息。\n- 使用图签名作为获取运行时执行器的键。\n\n### **环境与构建**\n\n- 优化 kv_variable_ops 模块的编译时间。\n- 为自定义算子编译添加数据集头文件。\n- 基于 Ubuntu 22.04 为 ARM 架构添加 Docker 镜像。\n- 将 Bazel 版本升级至 3.7.2。\n\n### **Bug 修复**\n\n- 不调用 cudaSetDevice 至不可见状态。","2023-03-17T12:48:13",{"id":209,"version":210,"summary_zh":211,"released_at":212},72600,"r1.15.5-deeprec2212u1","## **主要特性与改进**\r\n\r\n### **Bug修复**\r\n\r\n- 添加用于禁用 per_session_host_allocator 的标志。\r\n- 修复保存 int32 类型 EmbeddingVariable 的 bug。\r\n- 撤销“支持任意维度和轴的融合批量归一化”更改。\r\n\r\n## **发布镜像**\r\n\r\n### **CPU 镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2212u1-cpu-py38-ubuntu20.04`\r\n\r\n### **GPU 镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2212u1-gpu-py38-cu116-ubuntu20.04`","2023-02-17T08:24:47",{"id":214,"version":215,"summary_zh":216,"released_at":217},72601,"r1.15.5-deeprec2212","## **主要特性与改进**\n\n### **Embedding**\n\n- 重构 GPU Embedding Variable 存储层。\n- 移除 Embedding 存储层中的 TENSORFLOW_USE_GPU_EV 宏。\n- 重构 KvResourceGather GPU Op。\n- 为 EmbeddingVariable 的 HBM 存储添加 Embedding 内存池。\n- 优化 EmbeddingVariable 的 HBM 存储代码。\n- 在保存和恢复检查点时，复用 EmbeddingVariable 生成的 SSD 上的 Embedding 文件。\n- 将单 HBM EV 集成到 multi_tier EmbeddingVariable 中。\n\n### **图与 Grappler 优化**\n\n- 在算术优化器中过滤掉 'stream_id' 属性。\n- 添加 SimplifyEmbeddingLookupStage 优化器。\n- 添加 ForwardBackwardJointOptimizationPass，以消除 Embedding Variable 的 Gather 和 Apply 操作中的重复哈希。\n\n### **运行时优化**\n\n- 在多上下文模式下为每个 stream_executor 添加分配器。\n- 在 session_group 模式下设置多 GPU 设备。\n- 为 JitCugraph 添加黑白名单。\n- 优化 CPU EVAllocator，以提升 EmbeddingVariable 的性能。\n- 支持每个会话使用独立的 GPU 主机分配器。\n- 添加 GPU EVAllocator，以加速 GPU 上的 EmbeddingVariable。\n\n### **Ops 与硬件加速**\n\n- 为 Unique 添加 GPU 实现。\n- 在稀疏分段操作中支持 DT_INT64 类型的索引。\n- 为以下操作添加梯度实现列表，包括 SplitV、ConcatV2、BroadcastTo、Tile、GatherV2、Cumsum、Cast。\n- 为 Select 添加 C++ 梯度 Op。\n- 为 SelectV2 添加梯度实现。\n- 为 Atan2 添加 C++ 梯度 Op。\n- 为 UnsortedSegmentMin\u002FMax\u002FSum 添加 C++ 梯度。\n- 重构 KvSparseApplyAdagrad GPU Op。\n- 合并 NV-TF r1.15.5+22.12。\n\n### **分布式**\n\n- 更新 seastar，以便通过宏 HAVE_SDT 控制 SDT。\n- 更新 WORKER_DEFAULT_CORE_NUM(8) 和 PS_EFAULT_CORE_NUM(2) 的默认值。\n\n### **推理服务**\n\n- 支持 SessionGroup 中的多模型部署。\n- 支持用户为每个 session_group 设置 CPU 集。\n- 支持处理器加载多模型。\n- 支持在处理器中进行 GPU 编译。\n- 优化每个会话的独立 GPU 主机分配器。\n\n### **环境与构建**\n\n- 将 systemtap 更新至有效的源地址。\n- 通过配置 TF_API_COMPATIBLE_1150，使 DeepRec 的 ABI 兼容 TensorFlow 1.15。\n- 升级基于 ubuntu20.04 和 python3.8.10 的基础 Docker 镜像。\n- 更新 pcre-8.44 的下载地址。\n- 从第三方及其相关依赖中移除 systemtap。\n- 默认启用 gcc 优化选项 -O3。\n\n### **Bug 修复**\n\n- 修复处理器中的函数定义问题。\n- 修复向无锁哈希表插入元素时的挂起问题。\n- 修复 GPU 模式下 EmbeddingVariable 挂起或发生核心转储的问题。\n- 修复 CUDA 多流合并计算流和复制流时的内存泄漏问题。\n- 修复会话设备顺序错误的问题。\n- 修复 alinux3 上 hwloc 构建失败的问题。\n- 修复使用 SessionGroup 时 resource_mgr 被双重清除的 bug。\n- 修复 Shrink 导致单元测试随机失败的问题。\n- 修复在启用 EmbeddingVariable 和 Embedding 融合时的冲突问题。","2023-01-24T11:25:59",{"id":219,"version":220,"summary_zh":221,"released_at":222},72602,"r1.15.5-deeprec2210","## **主要特性与改进**\n\n### **Embedding**\n\n- 在 EmbeddingVariable 多级存储中支持 HBM-DRAM-SSD 存储。\n- 恢复模型时，支持基于频率初始化的多级 EmbeddingVariable。\n- 支持查询 EmbeddingVariable 中 ID 的存储位置。\n- 为 GPU Embedding Variable 提供 kv_initialized_op 支持。\n- 支持使用 init_from_proto 进行 EmbeddingVariable 的恢复兼容性。\n- 提升 EmbeddingVariable 的 apply\u002Fgather 操作性能。\n- 在 EmbeddingVariable 多级存储中添加淘汰管理器。\n- 为 EmbeddingVariable 多级存储的缓存添加统一线程池。\n- 将特征的频率和版本信息保存到 EmbeddingVariable 的 SSDHash 和 LevelDB 存储中。\n- 避免无效淘汰，充分利用 EmbeddingVariable 的 HBM-DRAM 存储。\n- 防止访问未初始化的数据，增强 EmbeddingVariable 的安全性。\n\n### **图与 Grappler 优化**\n\n- 通过放置优化优化异步 EmbeddingLookup。\n- 将 VarHandlerOp 放置到 SmartStage 的计算主图中。\n- 支持为 Stage 子图使用独立线程池，以避免线程竞争。\n- 实现设备放置优化。\n\n### **运行时优化**\n\n- 通过新增 CUDA Graph 模式会话，支持 CUDA Graph 执行。\n- 支持 JIT 模式下的 CUDA Graph 执行。\n- 在执行器的 CostModel 中支持任务内开销估算。\n- 为 CUDA 多流支持 tf.stream 和 tf.colocate Python API。\n- 支持在使用 CUDA 多流时的 Embedding 子图划分策略。\n- 通过将复制流合并到计算流中，优化 CUDA 多流性能。\n\n### **算子与硬件加速**\n\n- 新增一系列 Quantized* 和 _MklQuantized* 算子。\n- 实现 SparseFillEmptyRows 的 GPU 版本。\n- 实现适用于多架构的 C 语言版 spin_lock。\n- 将 OneDNN 版本升级至 v2.7。\n\n### **分布式**\n\n- 支持基于 EmbeddingVariable 使用 SOK 进行分布式训练。\n- 添加 NETWORK_MAX_CONNECTION_TIMEOUT，以支持 StarServer 中可配置的连接超时。\n- 将 SOK 版本升级至 v4.2。\n\n### **IO**\n\n- 添加 TF_NEED_PARQUET_DATASET，以启用 ParquetDataset。\n\n### **推理服务**\n\n- 在推理时禁用特征过滤，以优化 Embedding 查找性能。\n- 在解析请求或响应失败时，优化面向用户的错误码。\n- 支持独立的模型更新线程池，以避免性能抖动。\n\n### **ModelZoo**\n\n- 添加 MaskNet 模型。\n- 添加 PLE 模型。\n- 在 DCN 模型中支持 BF16 变量类型。\n\n### **Bug修复**\n\n- 修复启用异步 Embedding 时的 tf.nn.embedding_lookup 接口 bug 和会话挂起问题。\n- 修复用户设置预热文件路径时预热失败的问题。\n- 修复 ARM 架构下 ev_allocator.cc 和 hash.cc 的构建失败问题。\n- 修复 ARM 架构下 Arrow 构建时的失败问题。\n- 修复 ARM 架构 NEON 头文件中的重新定义错误。\n- 修复 ARM 架构下 sparsehash 中 _mm_malloc 的构建失败问题。\n- 修复使用 session_group 时预热失败的问题。\n- 修复创建分区化 EmbeddingVariable 时保存图的构建问题。","2022-11-17T12:39:35",{"id":224,"version":225,"summary_zh":226,"released_at":227},72603,"r1.15.5-deeprec2208u1","## **主要特性与改进**\r\n\r\n### **Bug修复**\r\n\r\n- 修复了无法找到一系列 Quantized* 和 _MklQuantized* 操作的问题。\r\n- 修复了在 feature_column API 中创建分区 EmbeddingVariable 时保存图的构建错误。  \r\n- 修复了用户设置预热文件路径时预热失败的问题。  \r\n- 修复了使用 session_group 时预热失败的问题。  \r\n\r\n## **发布镜像**\r\n\r\n### **CPU镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2208u1-cpu-py36-ubuntu18.04`\r\n\r\n### **GPU镜像**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2208u1-gpu-py36-cu116-ubuntu18.04`","2022-11-02T12:59:58",{"id":229,"version":230,"summary_zh":231,"released_at":232},72604,"r1.15.5-deeprec2208","## **主要特性与改进**\n\n### **Embedding**\n\n- 多层级 EmbeddingVariable 支持 HBM，并在 SSDHashKV 中新增异步压缩器。\n- 为 EmbeddingVariable 支持 tf.feature_column.shard_embedding_columns、SequenceCategoricalColumn 和 WeightedCategoricalColumn API。\n- 支持 GPU EmbeddingVariable 的检查点保存与恢复。\n- 支持 REAL_NUMBER_TYPES 类型的 EmbeddingVariable OpKernel。\n- 支持为特征过滤器自定义默认值。\n- 为 MultiHash 提供特征列 API。\n\n### **图与 Grappler 优化**\n\n- 新增 FP32 融合 l2 归一化算子及其梯度算子，以及 tf.nn.fused_layer_normalize API。\n- 新增 Concat+Cast 融合算子。\n- 优化 SmartStage 在 GPU 上的性能。\n- 添加宏以控制 mkl_layout_pass 的优化。\n- 支持异步嵌入查找。\n\n### **运行时优化**\n\n- CPUAllocator，避免多线程同时进行清理操作。\n- 支持每个会话使用独立的线程池，并将线程池绑定到指定的 CPU 集。\n- 支持虚拟设备下的多流机制。\n\n### **算子与硬件加速**\n\n- 实现 ApplyFtrl、ResourceApplyFtrl、ApplyFtrlV2 和 ResourceApplyFtrlV2 的 GPU 内核。\n- 优化 BatchMatmul 的 GPU 内核。\n- 将 cuBLASlt 集成到后端，并在 batch_matmul_op 中使用 BlasLtMatmul。\n- 支持 GPU 上 matmul+bias+(激活) 的融合计算。\n- 合并 NV-TF r1.15.5+22.06。\n\n### **优化器**\n\n- 为 EmbeddingVariable 支持 AdamW 优化器。\n\n### **模型保存\u002F恢复**\n\n- 支持从检查点异步恢复 EmbeddingVariable。\n- 支持在 init_from_checkpoint 中使用 EmbeddingVariable。\n\n### **推理服务**\n\n- 新增 Go\u002FJava\u002FPython 客户端 SDK 和示例。\n- 在 SessionGroup 中支持 GPU 多流。\n- 在 SessionGroup 中支持每个会话使用独立的线程池。\n- 支持多层级 Embedding。\n- 支持不可变 EmbeddingVariable。\n\n### **量化**\n\n- 新增低精度优化工具，支持 SavedModel 和检查点中的 BF16、FP16 和 INT8 格式。\n- 新增嵌入变量量化功能。\n\n### **ModelZoo**\n\n- 优化 DIN 模型的 BF16 性能。\n- 新增 DCN 和 DCNv2 模型，以及 MLPerf 推荐系统基准测试。\n\n### **性能分析器**\n\n- 在时间线中为 RecvTensor 添加详细信息。\n\n### **Dockerfile**\n\n- 新增基于 Ubuntu 22.04 的 Dockerfile 及镜像，配备 gcc11.2 和 Python 3.8.6。\n- 新增 cuda11.2、cuda11.4、cuda11.6、cuda11.7 的 Docker 镜像，并将 cuda11.6 设置为默认的 GPU 镜像。\n\n### **环境与构建**\n\n- 将默认的 TF_CUDA_COMPUTE_CAPABILITIES 更新为 6.0、6.1、7.0、7.5、8.0。\n- 将 Bazel 版本升级至 0.26.1。\n- 支持在 ROCm 2.10.0 上构建 DeepRec。\n\n### **Bug 修复**\n\n- 修复使用 gcc11 和 gcc12 构建时的失败问题。\n- 在 StarServer 中移除用户数据包拆分，以避免多个用户数据包乱序的问题。\n- 修复“NodeIsInGpu 未声明”的问题。\n- 修复 Modelzoo 分布式训练时工作节点设备放置错误的问题。\n- 修复启用 AVX512 时 BiasAddGrad 算子越界的问题。\n- 避免在模型更新时加载无效模型。","2022-09-23T04:07:27",{"id":234,"version":235,"summary_zh":236,"released_at":237},72605,"r1.15.5-deeprec2206","## **Major Features and Improvements**\r\n\r\n### **Embedding**\r\n\r\n- Multi-tier of EmbeddingVariable, add SSD_HashKV which is better performance than LevelDB.\r\n- Support GPU EmbeddingVariable which gather\u002Fapply ops place on GPU.\r\n- Add user API to record frequence and version for EmbeddingVariable.\r\n\r\n### **Graph Optimization**\r\n\r\n- Add Embedding Fusion ops for CPU\u002FGPU.\r\n- Optimize SmartStage performance on GPU.\r\n\r\n### **Runtime Optimization**\r\n\r\n- Executor, support cost-based and critical path ops first.\r\n- GPUAllocator, support CUDA malloc async allocator.  (need to use >= CUDA 11.2)\r\n- CPUAllocator, automatically memory allocation policy generation.\r\n- PMEMAllocator, optimize allocator and add statistic.\r\n\r\n### **Ops & Hardware Acceleration**\r\n\r\n- Implement SparseReshape, SparseApplyAdam, SparseApplyAdagrad, SparseApplyFtrl, ApplyAdamAsync, SparseApplyAdamAsync, KvSparseApplyAdamAsync GPU kernels.\r\n- Optimize UnSortedSegment on CPU.\r\n- Upgrade OneDNN to v2.6.\r\n\r\n### **IO & Dataset**\r\n\r\n- ParquetDataset, add parquet dataset which could reduce storage and improve performance.\r\n\r\n### **Model Save\u002FRestore**\r\n\r\n- Asynchronous restore EmbeddingVariable from checkpoint.\r\n\r\n### **Serving**\r\n\r\n- SessionGroup, highly improve QPS and RT in inference.\r\n\r\n### **ModelZoo**\r\n\r\n- Add models SimpleMultiTask, ESSM, DBMTL, MMoE, BST.\r\n\r\n### **Profiler**\r\n\r\n- Support for mapping of operators and real thread ids in timeline.\r\n\r\n### **BugFix**\r\n\r\n- Fix EmbeddingVariable core when EmbeddingVariable only has primary embedding value.\r\n- Fix abnormal behavior in L2-norm calculation.\r\n- Fix save checkpoint issue when use LevelDB in EmbeddingVariable.\r\n- Fix delete old checkpoint failure when use incremental checkpoint.\r\n- Fix build failure with CUDA 11.6.\r\n\r\nMore details of features: [https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\r\n\r\n## **Release Images**\r\n\r\n### **CPU Image**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2206-cpu-py36-ubuntu18.04`\r\n\r\n### **GPU Image**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2206-gpu-py36-cu110-ubuntu18.04`","2022-07-06T10:29:16",{"id":239,"version":240,"summary_zh":241,"released_at":242},72606,"r1.15.5-deeprec2204u1","## **Major Features and Improvements**\r\n\r\n### **BugFix**\r\n\r\n- Fix saving checkpoint issue when use EmbeddingVariable. (https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Fissues\u002F167)\r\n- Fix inputs from different frames issue when use auto graph fusion. (https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Fissues\u002F144)\r\n- Fix embedding_lookup_sparse graph issue.\r\n\r\n## **Release Images**\r\n\r\n### **CPU Image**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2204u1-cpu-py36-ubuntu18.04`\r\n\r\n### **GPU Image**\r\n\r\n`alideeprec\u002Fdeeprec-release:deeprec2204u1-gpu-py36-cu110-ubuntu18.04`","2022-04-28T06:55:37",{"id":244,"version":245,"summary_zh":246,"released_at":247},72607,"r1.15.5-deeprec2204","## **Major Features and Improvements**\r\n\r\n### **Embedding**\r\n\r\n- Support hybrid storage of EmbeddingVariable (DRAM, PMEM, LevelDB)\r\n- Support memory-continuous storage of multi-slot EmbeddingVariable.\r\n- Optimize beta1_power and beta2_power slots of EmbeddingVariable.\r\n- Support restore frequency of features in EmbeddingVariable.\r\n\r\n### **Distributed Training**\r\n\r\n- Integrate SOK in DeepRec.\r\n\r\n### **Graph Optimization**\r\n\r\n- Auto Graph Fusion, support float32\u002Fint32\u002Fint64 type for select fusion.\r\n- SmartStage, fix graph contains circle bug when enable SmartStage optimization.\r\n\r\n### **Runtime Optimization**\r\n\r\n- GPUTensorPoolAllocator, which reduce GPU memory usage and improve performance.\r\n- PMEMAllocator, support allocation in persistent memory. \r\n\r\n### **Optimizer**\r\n\r\n- Optimize AdamOptimizer performance.\r\n\r\n### **Op & Hardware Acceleration**\r\n\r\n- Change fused MatMul layout type and number thread for small size inputs.\r\n\r\n### **IO & Dataset**\r\n\r\n- KafkaGroupIODataset, support consumer rebalance.\r\n\r\n### **Model Save\u002FRestore**\r\n\r\n- Support dump incremental graph info.\r\n\r\n### **Serving**\r\n\r\n- Add serving module (ODL processor), which support Online Deep Learning (ODL).\r\n\r\nMore details of features: [https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\r\n\r\n## **Release Images**\r\n\r\n### **CPU Image**\r\n\r\n`registry.cn-shanghai.aliyuncs.com\u002Fpai-dlc-share\u002Fdeeprec-training:deeprec2204-cpu-py36-ubuntu18.04`\r\n\r\n### **GPU Image**\r\n\r\n`registry.cn-shanghai.aliyuncs.com\u002Fpai-dlc-share\u002Fdeeprec-training:deeprec2204-gpu-py36-cu110-ubuntu18.04`\r\n\r\n### Known Issue\r\nSome user report issue when use Embedding Variable, such as https:\u002F\u002Fgithub.com\u002Falibaba\u002FDeepRec\u002Fissues\u002F167. The bug is fixed in r1.15.5-deeprec2204u1.","2022-04-07T12:27:47",{"id":249,"version":250,"summary_zh":251,"released_at":252},72608,"r1.15.5-deeprec2201","This is the first release of DeepRec. DeepRec has super large-scale distributed training capability, supporting model training of trillion samples and 100 billion Embedding Processing. For sparse model scenarios, in-depth performance optimization has been conducted across CPU and GPU platform. \r\n\r\n## **Major Features and Improvements**\r\n\r\n### **Embedding**\r\n\r\n- Embedding Variable (including feature eviction and feature filter)\r\n- Dynamic Dimension Embedding Variable\r\n- Adaptive Embedding\r\n- Multi-Hash Variable\r\n\r\n### **Distributed Training**\r\n\r\n- GRPC++\r\n- StarServer\r\n\r\n### **Graph Optimization**\r\n\r\n- Auto Micro Batch\r\n- Auto Graph Fusion\r\n- Embedding Fusion\r\n- Smart Stage\r\n\r\n### **Runtime Optimization**\r\n\r\n- CPU Memory Optimization\r\n- GPU Memory Optimization\r\n- GPU Virtual Memory\r\n\r\n### **Optimizer**\r\n\r\n- AdamAsync Optimizer\r\n- AdagradDecay Optimizer\r\n\r\n### **Op & Hardware Acceleration**\r\n\r\n- Unique, Gather, DynamicStitch, BiasAdd, Select, Transpose, SparseSegmentReduction, where, DynamicPartition, SparseConcat tens of ops' CPU\u002FGPU optimization.\r\n-  support oneDNN-2.3.2 & bf16\r\n- Support TF32\r\n\r\n### **IO & Dataset**\r\n\r\n- WorkQueue\r\n- KafkaDataset\r\n\r\nMore details of features: [https:\u002F\u002Fdeeprec.readthedocs.io\u002Fzh\u002Flatest\u002F](url)\r\n\r\n## **Release Images**\r\n\r\n### **CPU Image**\r\n\r\n`registry.cn-shanghai.aliyuncs.com\u002Fpai-dlc-share\u002Fdeeprec-training:deeprec2201-cpu-py36-ubuntu18.04`\r\n\r\n### **GPU Image**\r\n\r\n`registry.cn-shanghai.aliyuncs.com\u002Fpai-dlc-share\u002Fdeeprec-training:deeprec2201-gpu-py36-cu110-ubuntu18.04`\r\n","2022-01-11T04:36:01"]