根植于工业级大规模深度学习应用场景的PaddlePaddle

2018年11月,英特尔人工智能大会(AIDC 2018)在北京国贸酒店举行,这也是英特尔首次专门面向开发者和和技术社区的人工智能大会。PaddlePaddle总架构师于佃海应邀在大会主论坛做了主题演讲,介绍了百度开源深度学习框架PaddlePaddle的最新进展以及百度实际业务中的大规模深度学习应用实践,特别强调了PaddlePaddle在海量数据超大规模稀疏特征场景下的高效分布式训练特色。

于佃海表示,百度很早就开始拥抱机器学习技术,对于深度学习,百度一开始就把握住了先机。早在2012年,百度就成功将DNN模型应用于语音识别和光学字符识别(OCR)任务;而紧接着在2013年,凤巢广告和搜索排序也先后上线深度学习模型,这些都属于业内首次,也奠定了百度在世界范围内深度学习研究和应用的领先优势。从此百度逐步全面进入深度学习时代,在深度学习框架研发、平台建设和技术创新应用等方面都一直走在前沿。

作为国内唯一的开源深度学习框架,PaddlePaddle承载了百度多年以来在深度学习领域的深厚积累。于佃海介绍,PaddlePaddle的原型来自于百度从2013年开始研发的深度学习框架Paddle项目,Paddle的得名就是并行分布式学习(Parallel Distributed Deep Learning)。这个项目是非常有远见和前瞻性的。首先,在当时还没有什么工业界的深度学习框架,也就是百度在深度学习应用刚起步时就意识到了建设通用框架的重要性;另一个是并行分布式,深度学习的威力依赖大数据,工业级的深度学习必须有大规模训练的支持,百度在深度学习框架构建之初就定位了它的分布式训练能力。

而对于百度而言,深度学习的应用确实和大数据、强算力下的大规模训练密切相关。除了大家熟知的语音、视觉、自然语言处理等AI基础方向外,于佃海特别介绍了在搜索、广告、信息流推荐等产品线的核心系统中超大规模深度学习的应用,这些应用除了数据规模大之外,还有高维度稀疏特征的典型特性。

例如在网页搜索中,百度将深度学习技术用于语义匹配特征计算。自2013年初次上线以来,持续优化迭代,目前深度学习语义特征已是百度这个最大中文搜索引擎上的最关键的排序特征,极大破除了搜索排序依赖关键词匹配的弊端,有效改善了长尾和冷门Query的搜索效果,也建立了百度搜索的技术领先优势。对应的网络模型是百度自主研发的深度语义匹配网络SimNet系列模型,输入是Query和网页的各个信息域,利用用户行为数据来进行大规模训练。这个任务的数据规模达到了千亿级别以上,而文本任务的词嵌入(Word Embedding)向量表示特点,也使得参数规模达到了数亿。在实际业务中,每一个语义匹配特征对应的模型,都是使用几十个高性能计算结点多机多线程分布式训练来完成。

而对于广告和信息流推荐业务上的深度学习应用,还有更特别的挑战。这些场景上,深度学习用来构建系统最核心的点击率预估模型,使用了比语义匹配更多的离散特征,包括一些ID特征和组合特征。特别是在信息流业务上,内容端信息更加丰富,展现序列更长,浏览和点击的历史信息也更多,整体特征空间变得更大。结果就是特征规模最终可达百亿级别以上,在Embedding表示下,参数规模能达到千亿甚至万亿,模型大小超过TB。但对每条样本来讲,其对特征的命中又是稀疏的,可能只有数十个到数千个有效特征被激活。这就形成了超高维度加稀疏的特性,给训练和在线部署都带来了极大挑战。一方面,全局参数已经多到单机无法加载,另一方面仍然是海量数据的超大规模训练。还有就是这些场景的时效性非常强,新的训练数据也在不断产生。在实际业务中,百度对于此类任务使用用百结点以上的集群来在线训练,每个小时可以完成数亿样本的充分增量训练,并在线实时提供预测服务。

基于这些实际业务中大规模深度学习应用的介绍,于佃海指出,不同场景的深度学习的特点及规模化的难度存在极大差异。图像类任务,往往网络的深度和计算的密集型比较突出。但对于文本任务而言,一个尤其重要的特点是词语的向量表示,每个词的Embedding向量的维度几十到上千,而词表往往会从几万到百万的规模,这使得词语的参数Embedding就非常巨大,但实际每个句子中词语出现又是很稀疏的,这给计算和并行训练都带来了新的挑战。而在很多实际互联网应用中,往往又广泛引入大量稀疏特征,这使得高维稀疏特征的参数真的变成了一个超级大表,整个分布式并行模式都需要有针对性的设计。

可以看到,深度学习的大规模,不只是大数据和大网络,我们同时要关注其特征量和计算特异性。这些都给通用的高性能深度学习编程框架的设计和实现带来了困难。对于百度当前各产品线上的海量数据超大规模稀疏特征的深度学习任务,当今市面上的大部分开源框架是很难支撑起来的,当然其中一些在设计层面就没有特别考虑工业级的大规模训练问题。而对于PaddlePaddle,是一直伴随着百度的产品业务应用需求成长起来的。于佃海表示,在设计和实现上,除了保持深度学习框架自身的通用性和灵活性之外,PaddlePaddle一直同步强化其大规模并行训练的能力。对大规模高维稀疏数据并行训练的强有力支持是PaddlePaddle的核心关键特色。例如在百度信息流推荐场景下,PaddlePaddle十小时内可轻松完成千亿规模参数模型在百亿日志数据上在线训练,完美支持信息流推荐排序任务。我们注意到,在今年7月的百度开发者大会的深度学习公开课上,百度曾专题介绍过大规模稀疏训练的的相关技术,而在刚刚过去的百度世界大会上的AI论坛上,也特别强调过PaddlePaddle的这一特色。

此外,于佃海还介绍了最近刚刚发布的PaddlePaddle Suite,由核心框架、服务平台、模块组件三大部分组成。除了多平台支持的高性能训练和预测框架外,特别介绍了以AutoDL和PARL为带代表的强大的平台层和丰富的组件层。PARL是基于PaddlePaddle的深度强化学习(Reinforcement Learning)框架。在刚刚结束的在NeurIPS 2018的强化学习AI挑战赛中,面对400多只强手如林的参数队伍,百度的PARL研发团队以绝对领先优势获得第一名。而PARL的高效分布式训练能力,也是其夺冠的重要因素之一。

最后于佃海介绍了PaddlePaddle与英特尔在底层性能优化上开展的包括nGraph在内的广泛而深入的合作,并表示PaddlePaddle对性能优化的追求永无止境,除了大规模分布式训练能力外,对于深度学习框架的各个环节都会持续优化,发挥深度学习框架和大规模分布式训练完美结合的优势,矢志打造能支撑工业级应用的高性能AI框架。

本文分享自微信公众号 - PaddlePaddle(PaddleOpenSource)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

吴恩达说“将引领下一波机器学习技术”的迁移学习到底好在哪?

【导读】两年前,吴恩达在 NIPS 2016 的 Tutorial 上曾说“在监督学习之后,迁移学习将引领下一波机器学习技术商业化浪潮。”现实中不断有新场景的出...

9430
来自专栏机器之心

定制人脸图像没那么难!使用TL-GAN模型轻松变脸

描述一张图像对人类来说相当容易,我们在很小的时候就能做到。在机器学习中,这项任务是一个判别分类/回归问题,即从输入图像预测特征标签。随着最近 ML/AI 技术(...

27020
来自专栏玉树芝兰

如何用 Python 和 fast.ai 做图像深度迁移学习?

说得对!我要感谢你对我专栏的持续关注。我确实讲过深度学习做图像分类,以及迁移学习这两项内容。

14820
来自专栏计算机视觉战队

简单易懂的讲解深度学习(入门系列之一)

于是,我们推出深度学习的入门系列。在这个系列文章中,我们力图用最为通俗易懂、图文并茂的方式,带你入门深度学习。我们都知道,高手从来都是自学出来的。所以,这个深度...

30520
来自专栏数据派THU

哪款安卓手机适合跑AI?移动端芯片性能评测论文出炉

苏黎世联邦理工学院曾经开发了一款 AI Benchmark 应用,用于测试不同安卓设备和芯片的深度学习性能。近期,他们联合谷歌、高通、华为、联发科以及 Arm ...

15230
来自专栏算法channel

机器学习精华资料完整版

12040
来自专栏CDA数据分析师

数据科学家的自我修养 | 哪些技能是必不可少的?

市场上对数据科学家的要求特别多:需要掌握机器学习、计算机科学、统计学、数学、数据可视化,深度学习等知识。要想全部掌握这些方面的知识,科学家需要学习数十种语言、框...

9120
来自专栏视觉求索无尽也

【调参经验】图像分类模型的调参经验前言调参经验与我交流

用深度学习做图像分类任务也有近一年时间了,从最初模型的准确率只有60%到后来调到有80%,再到最后的90%+的准确率,摸索中踩了很多坑,也总结出了一些经验。现在...

29720
来自专栏机器之心

Diss所有深度生成模型,DeepMind说它们真的不知道到底不知道什么

深度学习在应用层面获得了巨大成功,这些实际应用一般都希望利用判别模型构建条件分布 p(y|x),其中 y 是标签、x 是特征。但这些判别模型无法处理从其他分布中...

11410
来自专栏深度学习自然语言处理

资料 |《深度学习500问》,川大优秀毕业生的诚意之作

今天,给大家推荐一本还未完成的深度学习书籍——《深度学习500问》。为什么要推荐一本未完成的书?

13220

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励