Learn Git and GitHub without any code!

Using the Hello World guide, you’ll start a branch, write comments, and open a pull request.

Read the guide

XDL算法解决方案

 
songyue1104 edited this page on 21 Dec 2018 · 4 revisions
 

阿里开源深度学习框架 XDL,面向广告、推荐、搜索场景

 

阅读数:10522018 年 11 月 28 日

 

AI 前线导读: 11 月 28 日,阿里巴巴旗下大数据营销平台阿里妈妈宣布开源深度学习框架 XDL。这是阿里巴巴首次公开的深度学习框架,也是业界首个面向高维稀疏数据场景的深度学习开源框架,突破了现有深度学习开源框架大都面向图像、语音等低维稠密数据而设计的现状。

更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)

双 11,阿里巴巴集中展示了其商业操作系统,半个月之后,阿里巴巴宣布将其中一大重要业务板块——阿里妈妈的重要技术框架——X-Deep Learning(XDL)进行开源。据称,这也是该商业操作系统中最具商业价值的业务板块之一。
 
作为阿里巴巴旗下的大数据营销平台,阿里妈妈基于自身广告业务,自主研发了深度学习框架 XDL,并已经大规模部署应用在核心生产场景。

面向高维稀疏业务场景,提升广告、推荐、搜索效率

随着深度学习的风靡,阿里妈妈发现,已有的开源框架很难满足其广告场景的规模性及生产迭代要求,自研面向工业应用的分布式深度学习框架随即被提上了日程。

于是,XDL 应运而生,旨在解决具有高维稀疏性的业务场景中面临的问题。XDL 针对阿里妈妈业务数据高维稀疏的场景特点进行了优化,自 2016 年下半年开始逐步部署到阿里妈妈的业务系统,至 2017 年初全面完成了生产化。以阿里妈妈定向广告为例,XDL 框架助力了业务场景所有核心算法的深度学习创新,当年,以 XDL 为基础的深度学习算法升级带来的广告收入提升超过百亿。

高维稀疏性既是阿里妈妈业务场景的重要特征,也是互联网的众多核心应用场景(如广告 / 推荐 / 搜索等)的特征,覆盖了大多数互联网企业的数据应用模式。对于难以与 BAT 研发能力比肩的众多互联网公司而言,工业级深度学习框架 XDL 及内置算法方案的开源,将助力各大公司的技术升级,大大提升广告 / 推荐 / 搜索场景的精准性,缩短技术迭代周期。

不仅是广告场景,互联网其它的核心场景如推荐、搜索等,也具有典型的高维稀疏数据特性,例如微博、抖音、今日头条等都属于该范畴内。因此,XDL 在这些场景中也具有非常高的通用性,这为开源提供了基础。不管是以广告、推荐、搜索为代表业务的企业级用户,还是对此感兴趣的个人用户,都可以加入到开源计划当中。

值得一提的是,在阿里巴巴 XDL 开源之前,业界的深度学习开源框架基本是面向图像、语音处理等场景数据而设计,这与整个人工智能领域的研究重点有关,图像和语音是率先取得理论突破的场景,但在工业级互联网场景中实现大突破还属首次。

开放与易用性

据阿里妈妈透露,XDL 框架从设计之初,就具备了足够的开放性和易用性,开源是水到渠成的一步。

XDL 创造性地采用了桥接的架构(Bridging)设计理念,重点打造面向工业级应用的分布式规模能力,单机能够处理的计算则引用现有开源框架。这种桥接的架构,使得 XDL 跟业界的开源社区是无缝对接的,例如用户可以非常方便地在 XDL 框架上应用基于 Tensorflow 或者 Pytorch 编写的最先进开源深度学习算法。

此外,对于已经在使用其它开源框架的企业或者个人用户,也可以在原有系统基础上轻松进行扩展,获得 XDL 带来的高维稀疏数据场景下的分布式能力。

系统化解决方案将分批发布

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

 
 
 
 
 

zzXDL的更多相关文章

随机推荐

  1. 面试被问怎么排查平时遇到的系统CPU飙高和频繁GC,该怎么回答?

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警.本文主要针对系统运行缓慢这 ...

  2. 在Ubuntu18.04.2LTS上安装视频播放器smplayer/vlc

    在Ubuntu18.04.2LTS上安装视频播放器smplayer/vlc 一.前言 在Ubuntu上的视频播放器质量很差,没有解码器,非常的不方便,于是我们需要手动去安装适合我们的播放器,比如smp ...

  3. 生活点滴:java基础知识细化

    生活点滴:java基础知识细化 一.前言 越是对一门语言深入了解,就会发现自己不知道的东西越多,这才是走向了正道,同样的,对于java语言特性的学习,笔者也只是初窥门径. 二.java基础知识思考 i ...

  4. ES6中Class与export简单用法

    一.Class ES6中的Class用法类似Java的Class用法,但class的本质是js一个function //定义类 class Person { //定义构造方法 constructor( ...

  5. (四十二)golang--协程之间通信的方式

    假设我们现在有这么一个需求: 计算1-200之间各个数的阶乘,并将每个结果保存在mao中,最终显示出来,要求使用goroutime. 分析: (1)使用goroutime完成,效率高,但是会出现并发/ ...

  6. Python连载41-yield from详解、委派生成器

    一. 1.yield from (1)调用协程为了得到返回值,协程必须正常终止 (2)生成器正常终止会发出StopIteration异常,异常对象的value属性保存返回值. (3)yield fro ...

  7. 海边拾贝-F-第三方项目

    第三方网站,不定期更新: 陈浩个人博客: https://coolshell.cn/ 阮一峰个人博客:http://www.ruanyifeng.com/blog/2015/02/make.html ...

  8. tensorflow之tf.stop_gradient

    停止梯度计算. 当在一个图中执行时, 这个op按原样输出它的输入张量. 当构建ops来计算梯度时,该op会阻止将其输入贡献考虑在内. 参数: Input: 一个张量. name: 操作的名称(可选) ...

  9. k8s服务器内核参数调整

    1. net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 1net.bridge.bridge-nf ...

  10. 搜索旋转排序数组II

    题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [,,,,,,] 可能变为 [,,,,,,] ). 编写一个函数来判断给定的目标值是否存在于数组中.若存在返回 true, ...