开发者社区> lovelydong> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【AI征文】初识DeepRec

简介: 初识DeepRec
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>


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的支持。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《中国人工智能学会通讯》——7.32 量化计算 建立情感数据库
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第7章,第7.32节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
1583 0
《中国人工智能学会通讯》——4.36 信号量化
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第4章,第4.36节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
949 0
《中国人工智能学会通讯》——4.15 关联滤波器
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第4章,第4.15节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
1317 0
《中国人工智能学会通讯》——4.13 采用关联滤波器的卷积神经网络
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第4章,第4.13节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
1307 0
《中国人工智能学会通讯》——4.33 单包传输与多包传输
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第4章,第4.33节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
1284 0
《中国人工智能学会通讯》——4.35 时变传输周期
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第4章,第4.35节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
979 0
《中国人工智能学会通讯》——11.36 非线性系统 H∞ 最优控制
本节书摘来自CCAI《中国人工智能学会通讯》一书中的第11章,第11.36节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。
1200 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴机器学习平台AI
立即下载
【云栖精选6月刊】当AI来敲门,一刊尽览人工智能
立即下载
英特尔+阿里云机器学习PAI-全栈赋能AI生态,加速应用落地
立即下载


http://www.vxiaotou.com