赞
踩
导读:DeepRec从2016年起深耕至今,支持了淘宝搜索、推荐、广告等核心业务,沉淀了大量优化的算子、图优化、Runtime优化、编译优化以及高性能分布式训练框架,在稀疏模型的训练方面有着优异性能的表现。并且沉淀了稀疏场景下的动态弹性特征、动态维度弹性特征、多Hash弹性特征等功能,能够不同程度的提高稀疏模型的效果。作为阿里巴巴集团内稀疏场景的统一训练引擎,是AOP团队、XDL团队、PAI团队、AIS团队合作共建的项目。除此之外,DeepRec得到了Intel、NV相关团队的支持,针对稀疏场景下的算子、子图、以及针对硬件特点进行了深度定制优化。
本文将围绕下面三点展开:
--
首先是DeepRec的背景,做搜索推广的同学肯定感同身受,流行的Tensorflow、PyTorch等,其实有很多痛点,这些痛点也就是我们为什么需要做稀疏模型的训练引擎,我们这边总结了主要分为三个方面:
第一个方面,已有的这些开源的深度学习引擎缺少了对这种稀疏模型训练功能的支持,大家也都知道像基础的这种动态弹性特征,也是在稀疏场景里常用的一个功能,这种功能在模型效果上其实会有很好的补充和提升。
第二就是训练性能,已有的一些开源深度学习框架并没有特别针对稀疏模型的训练有很好的优化。无论是在PS/worker模式还是AllReduce模式,以及不同的device CPU、GPU上的训练,大家都做了非常多的工作,而这些工作也源于我们在使用开源深度学习框架训练稀疏模型时遇到的一些问题。
第三点就是稀疏模型很具有特点、部署和Serving,稀疏模型的部署跟其他的像CV类、NLP类的一些模型的部署区别比较大,像ODL这种场景下,模型的更新很可能是需要分钟级别的、甚至秒级别的,而这些模型通常可能是几百GB、几个TB、10TB的这种超大模型,这种模型在分钟级别模型更新或者秒级别模型更新时使用开源的框架其实是没有办法做到的。
针对上面提到的问题,我们是在基于Tensorflow上面构建了这种稀疏模型的训练引擎,并且在这三个方面进行了很多优化和功能的沉淀,其实这些也是基于阿里巴巴内部的各大核心业务方的一些功能的沉淀。下面我分别来先简单说一下这三个方面分别有什么样的功能。
在稀疏功能方面,像动态弹性特征,这其实是大家基础常用的一个功能,存在稀疏参数的维度特别大的情况。动态弹性特征在特征准入、特征淘汰上都能够在一定程度上解决过拟合、训练不充分的问题。特征淘汰也是稀疏场景特别有特点的,比如说某些商品下架,对应的特征就需要被淘汰掉。在DeepRec里面针对动态弹性特征,支持的是非常完备的,因为我们各大业务方,他们对于准入淘汰有各种不同的需求,比如我们是有基于布隆过滤器的准入,基于精准Counter的准入,种类是非常多的,也非常丰富。
此外,像基于特征频率的动态弹性维度,针对每个特征的冷热会自动地伸缩它的维度。训练不充分的时候,过拟合会相对比较严重,动态弹性的维度是根据参数出现的频度,自动的每个参数,每个特征都会有
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。