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. 第六章 HTTP首部

    第六章 HTTP首部 HTTP首部包括:请求行<方法,URI,版本号>/响应行<版本,状态码>.请求/响应首部字段.通用首部字段.实体首部字段 1.HTTP首部字段 HTTP首 ...

  2. SVN版本更新自动通知提醒

    当其他用户提交后,如何提示我及时更新代码或版本? 一般情况下,代码的更新时间节点在每天工作开始或有重大功能提交时,所以,不是所有人都对此功能有需求,最好的方式是使用客户端"SVN项目监视器& ...

  3. Qt+FFmpeg 简单实现视频播放

    这里使用 Qt + FFmpeg 实现了一个简单播放视频的例子.先看下按下按钮播放视频时的效果图: 完整工程下载链接:Github-FFmpeg_demo 注意:一定要将 bin 目录下的 dll 文 ...

  4. mysql派生查询必须有别名问题记录

    最近在做mysql sql兼容,原来是oracle的sql都要保证在mysql数据库运行 业务场景:原来是一个带有子查询的sql,在oracle是可以正常运行的,迁到mysql就发现报错了,报错信息如 ...

  5. JS解决所有浏览器连续输入英文字母不换行问题,包括火狐(转)

    问题描述: <p style="font-size:12px;line-height:30px;">测试数据测试数据</p> p标签内如果输入一长段英文字符 ...

  6. Vue.js 源码分析(三十一) 高级应用 keep-alive 组件 详解

    当使用is特性切换不同的组件时,每次都会重新生成组件Vue实例并生成对应的VNode进行渲染,这样是比较花费性能的,而且切换重新显示时数据又会初始化,例如: <!DOCTYPE html> ...

  7. python Lock、RLock

    Lock: 只能acquire一次,下一次acquire必须release后才能,不然会造成死锁 from threading import Lock total = 0 lock = Lock() ...

  8. .net core EF Core 视图的应用

    由之前的一篇文章<.net core Entity Framework 与 EF Core>我们都已经知道 EF Core 增加了许多特性,并且性能上也有了很大的提升. 但是EF Core ...

  9. Linux RAID 磁盘管理

    Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...

  10. git同步本地数据到github——第一次使用和以后使用

    git作为版本控制工具十分的好用,但是在使用的过程中,会因为仓库版本的不同步出现很多错误 一.git简单的原理交互模型 从下面的model中我们看到在不创建分支情况下始终是远程的origin和本地的m ...