在当今数字时代,推荐系统已成为众多互联网公司的核心技术,为用户提供个性化的内容和服务体验。然而,随着数据规模和模型复杂度的不断增长,传统的机器学习框架在处理超大规模推荐任务时往往力不从心。为了应对这一挑战,阿里巴巴联合业界伙伴推出了DeepRec - 一个专为推荐系统优化的高性能深度学习框架。
DeepRec项目始于2016年,最初是为了支持阿里巴巴集团内部的核心业务,如淘宝搜索、推荐和广告投放等。经过多年的发展和沉淀,DeepRec已经成为一个功能丰富、性能卓越的开源框架,不仅在阿里巴巴内部广泛应用,还吸引了众多外部公司的关注和采用。
推荐模型与其他深度学习模型相比有其独特之处。它们通常包含大量非数值特征,如ID、标签、文本等,这些特征会导致模型参数量急剧膨胀。同时,推荐系统还需要处理海量的样本数据,对计算和存储资源提出了极高的要求。正是基于这些特点,DeepRec在TensorFlow的基础上进行了深度优化,以满足推荐系统的特殊需求。
作为一个专门面向推荐系统的深度学习框架,DeepRec具备以下核心特性:
DeepRec支持万亿级样本、数十万亿参数的推荐模型训练,这种规模的处理能力在业界处于领先地位。通过高效的分布式训练框架,DeepRec可以充分利用集群资源,大幅提升训练效率。
DeepRec在CPU和GPU平台上都进行了深入的性能优化。例如,针对嵌入操作这一推荐模型的关键环节,DeepRec实现了多种优化策略,如Embedding Variable、动态维度嵌入、自适应嵌入等。同时,DeepRec还提供了AdamAsync、AdagradDecay等针对推荐场景优化的优化器。
DeepRec支持异步分布式训练(参数服务器模式)和同步分布式训练(Collective模式)两种范式。在参数服务器模式下,DeepRec提供了grpc+seastar、FuseRecv、StarServer等多种实现;在Collective模式下,则有HybridBackend、Sparse Operation Kits (SOK)等解决方案。
DeepRec实现了诸如图感知内存分配器(GAMMA)、基于关键路径的执行器等运行时优化技术。对于GPU平台,DeepRec还提供了支持多CUDA计算流和CUDA Graph的多流引擎。
在图优化方面,DeepRec提供了AutoGraphFusion、SmartStage、AutoPipeline、Graph Template Engine等多种技术,可以自动优化计算图结构,提高执行效率。
DeepRec不仅关注模型训练,还提供了一整套高效的部署和服务解决方案。例如,增量检查点加载和导出、超大规模推荐模型分布式服务、多层混合存储等特性,都为模型的快速迭代和线上服务提供了有力支持。
DeepRec在多个方面进行了技术创新,以下是一些代表性的特性:
Embedding Variable是DeepRec的一大亮点,它为大规模稀疏特征提供了高效的存储和计算方案。通过支持特征淘汰、特征过滤等机制,Embedding Variable可以有效管理海量特征,降低内存占用。
自适应嵌入技术允许根据特征的重要性动态调整嵌入维度,既保证了模型效果,又节省了计算资源。
多哈希变量通过多重哈希技术,有效减少了哈希冲突,提高了特征表达 能力。
群组嵌入支持将相关特征组织成群组,既提高了模型表达能力,又优化了训练和推理性能。
StarServer是DeepRec开发的高性能参数服务器实现,它基于seastar框架,采用无共享架构,大幅提升了参数更新和同步的效率。
DeepRec实现了一系列图优化技术,如嵌入子图融合、流水线化执行、样本感知图压缩等,这些技术可以自动优化计算图,提高执行效率。
SessionGroup是DeepRec提供的高性能推理框架,它采用共享无关设计,支持多线程池和多CUDA流,可以充分利用硬件资源,提高推理吞吐量。
DeepRec在阿里巴巴集团内部得到了广泛应用,支撑了淘宝、天猫、阿里云等核心业务的推荐系统。以下是一些具体的应用案例:
在淘宝搜索场景中,DeepRec支持了万亿级别的日搜索请求,处理数十亿商品和用户数据。通过DeepRec的高效训练和推理能力,淘宝搜索可以快速迭代模型,提供更精准的搜索结果。
淘宝首页、猜你喜欢等推荐模块都基于DeepRec构建。DeepRec的大规模分布式训练能力使得淘宝可以充分利用海量的用户行为数据,不断优化推荐算法。
在广告投放系统中,DeepRec的高性能特性尤其重要。它能够支持实时竞价(RTB)场景下的毫秒级响应,同时保证模型的准确性和时效性。
DeepRec已经集成到阿里云PAI(Platform for Artificial Intelligence)平台,为云上用户提供高性能的推荐模型训练和服务能力。
除了阿里巴巴内部,已经有数十家公司在其 业务场景中采用了DeepRec。这些公司涵盖了电商、媒体、广告、社交网络等多个领域,充分证明了DeepRec的通用性和实用价值。
为了推动推荐系统技术的发展,阿里巴巴决定将DeepRec开源,并将其托管在LF AI & Data基金会进行孵化。这一决定体现了阿里巴巴对开源社区的承诺,也为更多企业和开发者提供了接触和使用先进推荐系统技术的机会。
DeepRec的开源不仅包括核心框架,还包括周边工具和文档:
所有这些组件都托管在GitHub上,采用Apache 2.0许可证开源。开发团队定期发布新版本,不断加入新特性和性能优化。
对于想要尝试DeepRec的开发者,官方提供了详细的安装和使用指南:
安装准备
alideeprec/deeprec-build:deeprec-dev-cpu-py38-ubuntu20.04
镜像alideeprec/deeprec-build:deeprec-dev-gpu-py38-cu116-ubuntu20.04
镜像编译安装 DeepRec支持多种编译选项,用户可以根据需求选择:
bazel build -c opt --config=opt //tensorflow/tools/pip_package:build_pip_package
bazel build -c opt --config=opt --config=mkl_threadpool //tensorflow/tools/pip_package:build_pip_package
创建wheel包
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
安装wheel包
pip3 install /tmp/tensorflow_pkg/tensorflow-1.15.5+${version}-cp38-cp38m-linux_x86_64.whl
此外,DeepRec还提供了预构建的Docker镜像,方便用户快速开始:
alideeprec/deeprec-release:deeprec2402-cpu-py38-ubuntu20.04
alideeprec/deeprec-release:deeprec2402-gpu-py38-cu116-ubuntu20.04
作为一个活跃的开源项目,DeepRec正在持续演进。未来的发展方向包括:
DeepRec的发展离不开开源社区的贡献。项目欢迎各种形式的参与,包括代码贡献、文档改进、问题反馈等。开发者可以通过GitHub参与项目讨论,也可以加入官方的DingTalk或WeChat讨论组与核心团队直接交流。
DeepRec的出现和开源,标志着推荐系统技术进入了一个新的阶段。它不仅是阿里巴巴多年技术积累的结晶,更是推动整个行业向前发展的重要力量。随着越来越多的企业和开发者加入DeepRec生态,我们有理由相信,更加智能、高效、个性化的推荐系统将不断涌现,为用户带来更优质的在线体验。
无论您是大型互联网公司还是初创企业,是经验丰富的机 器学习工程师还是刚入门的AI爱好者,DeepRec都为您提供了一个强大的工具和广阔的舞台。让我们共同探索DeepRec的无限可能,共创推荐系统的美好未来!
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
用于可扩展和多功能 3D 生成的结构化 3D 潜在表示
TRELLIS 是一个专注于 3D 生成的项目,它利用结构化 3D 潜在表示技术,实现了可扩展且多功能的 3D 生成。项目提供了多种 3D 生成的方法和工具,包括文本到 3D、图像到 3D 等,并且支持多种输出格式,如 3D 高斯、辐射场和网格等。通过 TRELLIS,用户可以根据文本描述或图像输入快速生成高质量的 3D 资产,适用于游戏开发、动画制作、虚拟现实等多个领域。
10 节课教你开启构建 AI 代理所需的一切知识
AI Agents for Beginners 是一个专为初学者打造的课程项目,提供 10 节课程,涵盖构建 AI 代理的必备知识,支持多种语言,包含规划 设计、工具使用、多代理等丰富内容,助您快速入门 AI 代理领域。
AI Excel全自动制表工具
AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。
基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。
UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。
开源且先进的大规模视频生成模型项目
Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。
全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表
爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。
一款强大的视觉语言模型,支持图像和视频输入
Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号