技术阿里开源深度学习框架XDL,面向高维稀疏数据,支持千亿参数训练规模
Posted 丁爸 情报分析师的工具箱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术阿里开源深度学习框架XDL,面向高维稀疏数据,支持千亿参数训练规模相关的知识,希望对你有一定的参考价值。
双十一以后,阿里巴巴宣布将其中一大重要业务板块——阿里妈妈的重要技术框架进行开源,这也是该商业操作系统中最具商业价值的业务板块之一。作为阿里巴巴旗下的大数据营销平台,阿里妈妈基于自身广告业务,自主研发了深度学习框架X-Deep Learning(下文简称XDL),并已经大规模部署应用在核心生产场景。
X-DeepLearning(简称XDL)是面向高维稀疏数据场景(如广告/推荐/搜索等)深度优化的一整套解决方案。
这是阿里巴巴首次公开的深度学习框架,也是业界首个面向高维稀疏数据场景的深度学习开源框架,突破了现有深度学习开源框架大都面向图像、语音等低维稠密数据而设计的现状。
数据的高维稀疏性既是阿里妈妈业务场景的重要特征,也是互联网的众多核心应用场景(如广告/推荐/搜索等)的特征,覆盖了大多数互联网企业的数据应用模式。对于难以与BAT研发能力比肩的众多互联网公司而言,工业级深度学习框架XDL及内置算法方案的开源,将助力各大公司的技术升级,大大提升广告/推荐/搜索场景的精准性,缩短技术迭代周期。
面向广告、推荐、搜索研发,XDL覆盖互联网最核心的场景
随着深度学习的风靡,阿里妈妈以算法先行的方式进行了探索,实验效果非常好,但很快也发现,已有的开源框架很难满足其广告场景的规模性及生产迭代要求,自研面向工业应用的分布式深度学习框架随即被提上了日程。
新框架XDL针对阿里妈妈业务数据高维稀疏的场景特点进行了极致优化,性能远超当时业界众多的开源框架,自2016年下半年开始逐步部署到阿里妈妈的业务系统,至2017年初全面完成了生产化。以阿里妈妈定向广告为例,XDL框架助力了业务场景所有核心算法的深度学习创新,当年,以XDL为基础的深度学习算法升级带来的广告收入提升超过百亿。
不仅是广告场景,互联网其它的核心场景如推荐、搜索等,也具有典型的高维稀疏数据特性,例如微博、抖音、今日头条等都属于该范畴内。因此,XDL在这些场景中也具有非常高的通用性,这为开源提供了基础。不管是以广告、推荐、搜索为代表业务的企业级用户,还是对此感兴趣的个人用户,都可以加入到开源计划当中。
值得一提的是,在阿里巴巴XDL开源之前,业界的深度学习开源框架基本是面向图像、语音处理等场景数据而设计,这与整个人工智能领域的研究重点有关,图像和语音是率先取得理论突破的场景,但在工业级互联网场景中实现大突破还属首次。
开放与易用,阿里巴巴引领业界高维稀疏数据的技术标准
据阿里妈妈透露,XDL框架从设计之初,就具备了足够的开放性和易用性,开源是水到渠成的一步。
XDL创造性地采用了桥接的架构设计理念,重点打造面向工业级应用的分布式规模能力,单机能够处理的计算则引用现有开源框架。这种桥接的架构,使得XDL跟业界的开源社区是无缝对接的,例如用户可以非常方便地在XDL框架上应用基于Tensorflow或者Pytorch编写的最先进开源深度学习算法。此外,对于已经在使用其它开源框架的企业或者个人用户,也可以在原有系统基础上轻松进行扩展,享受XDL带来的高维稀疏数据场景下极致的分布式能力。
除了核心的XDL训练框架外,阿里妈妈透露将全面开源面向高维稀疏数据场景的系统化解决方案,计划分批次对外发布,包括面向在线实时服务的高性能深度学习预估引擎、面向全库实时检索的全新深度学习匹配引擎;同时还内置阿里妈妈自主研发的一系列创新算法,涉及CTR预估模型、CVR预估模型、匹配召回模型、模型压缩训练算法等等。
千亿参数规模
阿里表示,XDL是面向互联网时代信息过载的“标配”问题优化的,此前,对于一些具有高维稀疏数据的中小企业来说,很好利用这些数据是一件麻烦事。
和TensorFlow、PyTorch、MxNet等深度学习框架相比,XDL主要有三处提升:
从分布式水平扩展能力来看,TensorFlow、PyTorch等适用于低维稠密数据的框架在机器并行度增加时,在高维稀疏场景下的系统水平扩展能力不强。
以TensorFlow为例,在实际场景测试中,并发度达到百以上时,很难再通过增加更多的计算资源来提升整体的训练吞吐率。而XDL在千级别并发上仍然保持了良好的水平可扩展能力。
横向对比来看,XDL支持模型的规模和参数比传统情况下有所提升,XDL可以支持千亿参数的大规模深度学习模型训练,包括批量训练模式和在线训练模式。
从实际运行的性能来看,在高维稀疏分布式训练下,大部分模型比开源的TensorFlow模型整体高一个量级。
无缝对接
对于企业客户来说,怎样能够将XDL大规模部署是个难题。阿里表示,在易用性上,XDL主要有两方面考量:
在分布式运行和调度上,PyTorch、TensorFlow的分布式运行的原生支持效果欠佳,对于资源的动态调度、优雅容灾做的都并不是很完善,XDL有内在的原生支持CPU/GPU的多租户隔离、动态调度与灾难恢复。
在编程易用性上,XDL使用桥接技术(Bridging),把开源深度学习框架(本期开源版XDL支持TensorFlow、MxNet)作为单机稠密网络的计算引擎后端。
用户可以在保留TensorFlow或MxNet网络开发习惯的同时,通过少量的驱动代码修改,就直接获得XDL在大规模稀疏计算上的分布式训练能力。
换句话说,使用XDL时无需再学习一门新的框架语言,可以跟现有成熟的开源社区无缝对接。用户可以将TensorFlow社区的某个开源模型通过XDL拓展到工业级场景。
阿里妈妈“让天下没有难做的营销”的使命在近年来又多了一层含义,Ad Tech 技术驱动广告的色彩明显。阿里妈妈产品技术部资深总监盖坤表示,阿里妈妈不只自身在打造前沿的AI技术,更希望通过技术开源来赋能大家,推动整个领域技术的前进,让创新的算法方案层出不穷。
github上开源的XDL:
https://github.com/alibaba/x-deeplearning
以上是关于技术阿里开源深度学习框架XDL,面向高维稀疏数据,支持千亿参数训练规模的主要内容,如果未能解决你的问题,请参考以下文章
刚刚,阿里开源首个深度学习框架 X-Deep Learning!