【AI征文】初识DeepRec

简介: 初识DeepRec


DeepRec从2016年起深耕至今,支持了淘宝搜索、推荐、广告等核心业务,沉淀了大量优化的算子、图优化、Runtime优化、编译优化以及高性能分布式训练框架,在稀疏模型的训练方面有着优异性能的表现。并且沉淀了稀疏场景下的动态弹性特征、动态维度弹性特征、多Hash弹性特征等功能,能够不同程度的提高稀疏模型的效果。作为阿里巴巴集团内稀疏场景的统一训练引擎,是AOP团队、XDL团队、PAI团队、AIS团队合作共建的项目。除此之外,DeepRec得到了Intel、NV相关团队的支持,针对稀疏场景下的算子、子图、以及针对硬件特点进行了深度定制优化

91cc63eabaf84e259391b40b479cdade.png

1. what is  DeepRec

DeepRec(PAI-TF)是阿里巴巴集团统一的大规模稀疏模型训练/预测引擎,广泛应用于淘宝、天猫、阿里妈妈、高德、淘特、AliExpress、Lazada等,支持了淘宝搜索、推荐、广告等核心业务,支撑着千亿特征、万亿样本的超大规模稀疏训练。

DeepRec在分布式、图优化、算子、Runtime等方面对稀疏模型进行了深度性能优化,同时提供了稀疏场景下特有的Embedding相关功能。

DeepRec项目从2016年开发至今,由阿里巴巴集团内AOP团队、XDL团队、PAI团队、RTP团队以及蚂蚁集团AIInfra团队共建,并且得到了淘宝推荐算法等多个业务算法团队的支持。DeepRec的研发也得到了Intel CESG软件团队、Optane团队和PSU团队,NVIDIA GPU计算专家团队及Merlin HughCTR团队的支持。

2. DeepRec架构设计原则

DeepRec采取了另一种架构设计方式,遵循“视整个训练引擎为一个系统整体”的架构设计原则。TensorFlow是一个基于Graph的静态图训练引擎,在其架构上有相应的分层,比如最上层的API层、中间的图优化层和最下层的算子层。TensorFlow通过这三层的设计去支撑上层不同Workload的业务需求和性能优化需求。

DeepRec也坚持了这一设计原则,基于存储/计算解耦的设计原则在Graph层面引入EmbeddingVariable功能;基于Graph的特点实现了通信的算子融合。通过这样的设计原则,DeepRec可以支持用户在单机、分布式场景下使用同一个优化器的实现和同一套EmbeddingVariable的实现;同时在Graph层面引入多种优化能力,从而做到独立模块设计所做不到的联合优化设计

3.稀疏功能

在稀疏功能方面,像动态弹性特征,这其实是大家基础常用的一个功能,存在稀疏参数的维度特别大的情况。动态弹性特征在特征准入、特征淘汰上都能够在一定程度上解决过拟合、训练不充分的问题。特征淘汰也是稀疏场景特别有特点的,比如说某些商品下架,对应的特征就需要被淘汰掉。在DeepRec里面针对动态弹性特征,支持的是非常完备的,因为我们各大业务方,他们对于准入淘汰有各种不同的需求,比如我们是有基于布隆过滤器的准入,基于精准Counter的准入,种类是非常多的,也非常丰富。


此外,像基于特征频率的动态弹性维度,针对每个特征的冷热会自动地伸缩它的维度。训练不充分的时候,过拟合会相对比较严重,动态弹性的维度是根据参数出现的频度,自动的每个参数,每个特征都会有自己的维度,这样对于低频的特征,它可以用更低频的维度来表达,对高频特征可以用更高频的维度来表达。自适应的动态弹性特征,结合了有冲突和无冲突的参数,也是在一定程度上提高了模型的效果。此外,DeepRec还支持多个哈希的组合。

4. 训练性能

在训练性能上,我们做了大量的工作,包括分布式训练框架,在异步训练上,我们在PS/worker上面支持超大规模的异步训练框架。同步训练,我们是基于GPU的一个硬件,实现的同步的训练框架HybridBackend。在Runtime上,我们对Tensorflow针对的稀疏模型的场景进行了一个深度的重写,包括内存、显存、执行、线程池。图优化上面,我们这边包括有自动的多阶段的pipeline,然后自动得像刚刚老师提到的这种maffer batch,包括结构化特征,然后子图的Fusion这些图优化的工作。算子优化的话包括了很多大量的feature OP的重写,以及大量稀疏算子的一些重写。


5.部署及Serving

在模型部署和Serving上面,包括增量模型的导出加载,超大模型的Serving,以及多层的混合存储,还有多Backend的支持,以及ODL的支持。

目录
相关文章
|
并行计算 测试技术 Shell
【AI征文】源码查看 alibaba/DeepRec
【AI征文】源码查看 alibaba/DeepRec
237 0
|
存储 人工智能 并行计算
喜马拉雅基于DeepRec构建AI平台实践
快速落地大模型训练和推理能力,带来业务指标和后续算法优化空间的显著提升。喜马拉雅AI云,是面向公司人员提供的一套从数据、特征、模型到服务的全流程一站式算法工具平台。
|
存储 人工智能 算法
【AI征文】DeepRec初识
经历6年时间,在各团队的努力下,阿里巴巴集团大规模稀疏模型训练/预测引擎DeepRec正式对外开源,助力开发者提升稀疏模型训练性能和效果。
32334 51
【AI征文】DeepRec初识
|
存储 人工智能 搜索推荐
|
机器学习/深度学习 人工智能 搜索推荐
阿里巴巴宣布加入 Linux Foundation AI&Data 基金会,捐赠首个开源项目 DeepRec
持续加大对AI和大数据技术的投入以促进相关开源建设。
|
人工智能 Ubuntu Shell
【AI征文】DeepRec编译过程中新手最容易踩的3个坑
3个坑分别是: 一、windows不能通过Docker Desktop编译 二、没有改官方代码的目录导致名称占用 三、因不明原因导致configure能查找到,但是无法使用
520 1
【AI征文】DeepRec编译过程中新手最容易踩的3个坑
|
存储 人工智能 搜索推荐
【AI征文】对DeepRec认识以及了解
对DeepRec认识以及了解
107185 6
【AI征文】对DeepRec认识以及了解
|
存储 人工智能 TensorFlow
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在医疗领域的应用及其挑战
【10月更文挑战第34天】本文将探讨人工智能(AI)在医疗领域的应用及其面临的挑战。我们将从AI技术的基本概念入手,然后详细介绍其在医疗领域的各种应用,如疾病诊断、药物研发、患者护理等。最后,我们将讨论AI在医疗领域面临的主要挑战,包括数据隐私、算法偏见、法规合规等问题。
27 1