阿里深度学习框架开源了!无缝对接TensorFlow、PyTorch

简介: 阿里巴巴将于12月开源其内部深度学习框架 X-DeepLearning,面向广告、推荐、搜索等高维稀疏数据场景,以填补TensorFlow、PyTorch等现有开源深度学习框架主要面向图像、语音等低维稠密数据的不足。

阿里巴巴内部透露将开源内部深度学习框架 X-DeepLearning的计划,这是业界首个面向广告、推荐、搜索等高维稀疏数据场景的深度学习开源框架,可以与TensorFlow、PyTorch 和 MXNet 等现有框架形成互补。

X-Deep Learning(下文简称XDL)由阿里巴巴旗下大数据营销平台阿里妈妈基于自身广告业务自主研发,已经大规模部署应用在核心生产场景,在这次的“双11”中也发挥了重要作用。

阿里妈妈研究人员介绍,XDL整体上跟TensorFlow和PyTorch是同级的,它们很好地解决了目前已有开源深度学习框架分布式运行能力不足,以及大规模稀疏特征表征学习能力不足的问题。

XDL 采用了“桥接”的架构设计理念。这种架构使得 XDL 跟业界的开源社区无缝对接。例如,用户可以非常方便地在XDL框架上应用基于TensorFlow或者PyTorch编写的最先进开源深度学习算法。此外,对于已经在使用其他开源框架的企业或者个人用户,也可以在原有系统基础上轻松进行扩展,享受XDL带来的高维稀疏数据场景下极致的分布式能力。

数据的高维稀疏性是广告、推荐、搜索等互联网众多核心应用场景的特征,覆盖了大多数互联网企业的数据应用模式。

对于难以与BAT研发能力比肩的众多互联网公司而言,工业级深度学习框架XDL及内置算法方案的开源,将助力各大公司的技术升级,大大提升广告/推荐/搜索场景的精准性,缩短技术迭代周期。

面向广告、推荐、搜索场景的工业级分布式开源DL框架

2016年左右,阿里妈妈团队在研发基于深度学习的广告点击率预估算法时发现,当时已有的TensorFlow、MXNet等开源框架,用来实验算法原型可以,但真正面临互联网尺度的规模化数据时,运行效率面临巨大的挑战。

“我们第一次基于TensorFlow训练我们实际生产系统的深度点击率预估模型时,一天的数据量需要运行超过3天的时间模型才能收敛,”阿里妈妈研发人员告诉新智元:“典型的生产模型需要用到的训练样本往往都是历史几个月的数据,显然直接使用TensorFlow是不现实的。”

随后,阿里妈妈团队也试图对TensorFlow做一些简单优化,但发现改动成本巨大。进一步剖析框架后,他们发现本质的原因是TensorFlow、MXNet、PyTorch等框架大都是面向图像、语音等领域的稠密数据设计,对广告、推荐等场景的高维稀疏数据上的深度学习计算考虑不足

为此,阿里妈妈启动了XDL框架的研发,希望能够在复用已有开源框架对稠密数据的计算能力基础上,重点打造面向工业级应用的分布式规模能力,单机能够处理的计算则引用现有开源框架。

经过2年的研发与打磨,XDL目前已经在阿里妈妈成功部署到内部的生产系统。以阿里妈妈定向广告为例,2017年,以 XDL 为基础的深度学习算法升级带来的广告收入提升超过百亿。

“我们注意到今天业界的很多团队还在类似的重复性工作。开源XDL,是希望把阿里巴巴的能力赋能给大家,推高全行业的整体技术水位,同时也希望能够吸引业界的伙伴们一起来建设高维稀疏数据场景上的深度学习技术,一起成长与获益。 ”

“在现有的版本中,我们在单节点稠密深度网络计算上采用桥接技术,复用了 TensorFlow、MxNet 的能力,也是最大程度上复用了已有开源深度学习框架的能力。”

研究人员表示,后续 XDL 也会考虑加入ONNX。“ONNX针对稀疏计算的表征能力目前是不完善的,我们也在考虑对ONNX的协议标准进行扩充。”

研究人员表示,他们预计12月在Github公开 XDL的源代码和使用文档。除了核心的 X-DeepLearning 训练框架,阿里还将开源面向高维稀疏数据场景的系统化解决方案,计划分批次对外发布,包括面向在线实时服务的高性能深度学习预估引擎、面向全库实时检索的全新深度学习匹配引擎;同时还内置阿里妈妈自主研发的一系列创新算法,涉及CTR预估模型、CVR预估模型、匹配召回模型、模型压缩训练算法等等。

不管是以广告、推荐、搜索为代表业务的企业级用户,还是对此感兴趣的个人用户,都可以加入到开源计划当中。

一图看懂阿里巴巴首次公开深度学习框架
8861a0121afc36a2d6ab83082f4033aa496c2a9b
原文发布时间为:2018-11-29
本文作者:新智元
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。
原文链接:阿里深度学习框架开源了!无缝对接TensorFlow、PyTorch
相关文章
|
13天前
|
机器学习/深度学习 API 语音技术
|
3月前
|
机器学习/深度学习 Dart TensorFlow
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
70 0
|
7天前
|
机器学习/深度学习 运维 监控
TensorFlow分布式训练:加速深度学习模型训练
【4月更文挑战第17天】TensorFlow分布式训练加速深度学习模型训练,通过数据并行和模型并行利用多机器资源,减少训练时间。优化策略包括配置计算资源、优化数据划分和减少通信开销。实际应用需关注调试监控、系统稳定性和容错性,以应对分布式训练挑战。
|
13天前
|
机器学习/深度学习 PyTorch API
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Python中的深度学习:TensorFlow与PyTorch的选择与使用
Python中的深度学习:TensorFlow与PyTorch的选择与使用
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
基于tensorflow深度学习的猫狗分类识别
基于tensorflow深度学习的猫狗分类识别
63 1
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
【TensorFlow】深度学习框架概述&TensorFlow环境配置
【1月更文挑战第26天】【TensorFlow】深度学习框架概述&TensorFlow环境配置
|
2月前
|
机器学习/深度学习 编解码 PyTorch
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
|
30天前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
54 2
|
2月前
|
机器学习/深度学习 算法 PyTorch
pytorch实现手写数字识别 | MNIST数据集(全连接神经网络)
pytorch实现手写数字识别 | MNIST数据集(全连接神经网络)