雷锋网 AI 科技评论按:日前,阿里巴巴宣布将旗下的大数据营销平台阿里妈妈的算法框架 X-Deep Learning(下文简称 XDL)进行开源。XDL 是阿里妈妈基于自身广告业务自主研发的深度学习框架,目前已经大规模部署应用在核心生产场景。
据悉,这是阿里巴巴首次公开的深度学习框架,不同于 TensorFlow、PyTorch、MxNet 等深度学习开源框架面向图像、视频、语音等低维稠密数据而设计,XDL 是业界首个面向超大规模高维稀疏数据场景的深度学习开源框架。
数据的高维稀疏性既是阿里妈妈业务场景的重要特征,也是互联网的众多核心应用场景(如广告、推荐、搜索等)的特征,覆盖了大多数互联网企业的数据应用模式。而 XDL 对于推荐、搜索、广告等互联网场景的工业化应用意义重大,其针对推荐、搜索、广告等场景的训练方式独创了结构化压缩、高阶模型嵌套训练等范式,对大规模深度网络的存储、通信、计算等都有一个数量级以上的效率提升。
相较于 TensorFlow、PyTorch 等深度学习开源框架来说,XDL 的优势还体现在它不仅仅只是一个训练框架,还是面向高维稀疏数据场景的完整解决方案,尤其是一系列在阿里妈妈的核心业务场景经过生产验证的算法模型,这对于推荐、搜索、广告等领域从业者来说,有极高的参考价值,可以帮助这个行业的很多团队实现技术的跨越式前进。
据阿里妈妈透露,XDL 框架从设计之初,就具备了足够的开放性和易用性,开源是水到渠成的一步。据雷锋网了解,XDL 框架具有五大系统核心能力:
第一,为高维稀疏数据场景而生。XDL 针对高维稀疏数据场景,进行了性能优化,支持千亿级参数的超大规模深度学习模型训练;
第二,工业级分布式训练。XDL 原生支持工业级的大规模分布式训练,具备完整的分布式容灾语义,可水平扩展至上干并发,支持批量学习与在线学习模式;
第三,桥接多后端支持。XDL 创造性地采用了桥接的架构设计理念,复用了现有的开学深度学习框架的单节点稠密计算能力,支持 TensorFlow 与 MxNet 作为其单节点计算后端。这种桥接的架构,使得 XDL 跟业界的开源社区无缝对接。此外,对于已经在使用其它开源框架的企业或者个人用户,也可以在原有系统基础上轻松进行扩展。
第四,高效的结构化压缩训练。XDL 针对互联网数据的特点,提出了结构化压缩训练模式,大幅缩减 IO 通信量和训练计算量,训练效率可达 10 倍以上的提升;
第五,独创的高级模型服务器。XDL 提出了全新的 model shuffle 模式,原生支持多模态网络、异构计算网络等复杂算法。
除了核心的 XDL 训练框架外,阿里妈妈透露将全面开源面向高维稀疏数据场景的系统化解决方案,计划分批次对外发布,包括面向在线实时服务的高性能深度学习预估引擎、面向全库实时检索的全新深度学习匹配引擎。值得一提的是,这些系统解决方案还内置阿里妈妈自主研发的一系列创新算法,包括:
点击率预估领域的深度兴趣网络(Deep Interest Network,DIN)、用户兴趣演化网络(Deep Interest Evolution Network,DIEN)以及跨媒介网络(Cross Media Network,CMN)
转化率预估领域的全空间多任务模型(Entire Space Multi-task Model,ESMM)
匹配召回领域的树型深度匹配模型(Tree-based Deep Match,TDM)
模型压缩领域的基于蒸馏模式的模型压缩训练算法(Rocket Training)
最后,我们也来回顾一下 TensorFlow、PyTorch 以及国内的 Paddlepaddle 等深度学习开源框架:
TensorFlow:谷歌于 2015 年 11 月宣布开源 TensorFlow 深度学习框架,这一框架基于谷歌推出的第一代内部深度学习框架——DistBelief 框架。在开源时,谷歌曾表示,开源 TensorFlow 能够加速谷歌在人工智能上的部署,帮助其在人工智能发展日益重要的未来抢占更多主导权。过去三年间,TensorFlow 在开发者社区享有盛誉,已成为最为常用的深度学习框架之一,目前不仅支持 Eager Execution 动态图机制,还集成了 NVIDIA TensorRT,此外,TensorFlow 中文社区论坛(https://www.tensorflowers.cn)也正式上线。据悉,谷歌将于 2019 年发布 TensorFlow v 2.0。
PyTorch:2017 年初,Facebook 在 Torch 的基础上,针对 Python 语言发布了全新的机器学习工具包——PyTorch。目前,PyTorch 已经融合了 Caffe2 和 ONNX 支持模块化、面向生产的功能,并保留了其灵活、以研究为中心的设计。
Paddlepaddle:2016 年 8 月底,百度开源自研深度学习平台 PaddlePaddle。2017 年 11 月,PaddlePaddle 发布三项新功能:PaddlePaddleFluid,PaddlePaddleCloud,PaddlePaddleEDL,这三大新功能的推出,进一步加强了 PaddlePaddle 的易用性,提高了效率,并降低了开发者的使用门槛。雷锋网