百度飞桨与OPPO的“AI故事”:当深度学习遇见智能手机

砍柴网  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

随着技术的完善与门槛的降低,深度学习正在加大往各行业渗透落地的力度。5月20日,由深度学习技术及应用国家工程实验室与百度联合主办的“WAVE SUMMIT”2020深度学习开发者峰会召开。百度飞桨开源深度学习平台公布了7项新产品和23项重磅升级,瞄准工业大生产持续发力,会上展示的与OPPO的合作,成为飞桨在消费类电子领域智能推荐服务落地的典型案例。

根据峰会现场介绍,在飞桨大规模分布式训练的助力下,OPPO推荐系统业务模型训练速度提升了8倍,模型扩大了20倍,推荐场景效果提升了4%-5%,并节省了90%的内存,为OPPO在全球3.5亿用户带来更精准快速的移动 互联网 服务。

百度飞桨与OPPO的“AI故事”:当深度学习遇见智能手机

飞桨与OPPO,是如何结下这场“不懈之缘”?

缘起:OPPO大举进军互联网业务,个性化推荐效率成“硬骨头”

提起OPPO,人们总是会想到造型时尚、性能强大的 手机 产品线,经过十一年的积累发展,OPPO已经成为中国智能手机市场的头部品牌,根据IDC数据报告,OPPO稳居2020年Q1中国智能手机市场出货量前三。OPPO还在2018年起开始大举进军互联网业务,创立了信息流、信息流广告、应用商店、 游戏 中心、 商业 中心等诸多业务线。

百度飞桨与OPPO的“AI故事”:当深度学习遇见智能手机

伴随业务规模扩张而来的,是指数级增长的用户和数据,这大大增加了单机终端进行模型训练的压力。“为了保证效率,旧式的深度学习解决方案是对训练样本做负采样,或者干脆直接减少训练数据集的规模,这样速度是快了,但会影响模型效果,用户可能就觉得个性化推荐给自己的内容不是那么精准。”OPPO的算法工程师表示。

在当时,深度学习已经被大量用于应用商店、内容推荐、负一屏、广告等推荐场景,但是已有的框架进行单机训练会受限于单机算力和内存等资源,这影响了模型上线的效率,会拖累产品优化的速度。对OPPO的算法工程师而言,能否寻找到一套更好的深度学习框架,实现高效处理海量数据集、提供高频率迭代模型,成为推荐系统是否成功的核心关键。

OPPO算法工程师使用了包括Tensorflow在内的深度学习框架,在速度上或者效果上都有一些不能令人满意。直到2019年4月,百度飞桨正式对外开源了基于自身多年产业实践的大规模分布式深度学习系统,这引起了OPPO方面的注意。

百度飞桨与OPPO的“AI故事”:当深度学习遇见智能手机

实际上,飞桨这套系统早已用于百度搜索推荐等相关场景,是百度搜索领先业界的技术护城河之一,非常契合OPPO互联网推荐系统的需求。经过多年业务实践,该系统已经达到相当完善的地步,百度也决定将其开源分享,尤其配合易用的FleetAPI,让这一系统可以方便快速地为外部企业所部署应用。于是,OPPO向百度飞桨的团队抛出了合作意愿。

攻关:飞桨深度学习平台如何改造移动互联网服务?

百度飞桨团队对于OPPO这个来自于消费类电子领域的头部用户相当重视,进行初步接触之后,了解到OPPO旗下需要应用机器学习、深度学习等技术的产品和业务主要在于商店、信息流、信息流广告、游戏中心、商业广告,它们后端都需要结合用户行为等数据进行训练以及预测,并推送符合用户需求的内容。

一开始,OPPO从自身业务出发对飞桨提出了四点述求:能够支持先进的训练模型,以及推荐系统领域内的新模型新方法;能够支持分布式大规模深度学习训练能力,包括增量训练等多种训练机制和亿级别以上的稀疏参数训练;性能速度要超越同业竞品,在指定时间内训练完成全部所需的数据;有完善的训练和预测的能力,支持分布式训练到高性能模型部署。

其实,这些同样也是深度学习技术要在产业实现落地的前提。

接触之后,百度飞桨团队很快根据内部使用经验和对OPPO业务场景的了解,给出了大量应用建议,包括在数据读取方面使用高性能数据读取接口Dataset、在分布式训练方面采用基于全异步大规模稀疏参数服务器的训练方式、在预测方面采用飞桨的预测库自行构建预测服务等。

经过验证,OPPO发现相比其他框架,飞桨的参数服务器训练方法有非常高的性价比,采用十台以内CPU服务器就可以有效地解决超大规模推荐系统、超大规模数据、自膨胀的海量特征及高频率模型迭代的问题,并拥有超大吞吐量及高效率。这非常贴合OPPO的实际需求。目前,OPPO已经构建了数百台服务器的集群用于训练飞桨的分布式任务,为产品线的策略调研提供了很大的便利。

OPPO的研发人员发现,飞桨可以在大幅度降低内存使用的情况下,将训练速度大幅提升,是原有训练工具速度的8倍。此外,飞桨能够支撑的稀疏参数规模也让OPPO策略研发人员将模型的参数数量提升了20倍。飞桨提供的全局分布式数据打乱、多通道数据数据预处理等功能也极大的提高了训练的吞吐效率和易用性。

双方一拍即合,立刻开始着手将飞桨应用落地到OPPO的具体业务场景中,但要先从哪一块“硬骨头”啃起?OPPO与飞桨的研发人员将目光放在了应用商店,这是OPPO互联网服务中最重要、流量非常大的业务,其中有三个需要训练的板块:商店首页、应用商店业和应用商店热搜。

最终,OPPO和飞桨研发人员决定采用Wide&Deep模型进行训练,同时增加DNN网络作为深度部分参与训练,以提高模型的泛化能力,并基于Kubernetes集群,快速完成了飞桨分布式训练集群的适配工作。同时,飞桨还提供了基于C++语言的服务器端部署功能,帮助OPPO研发人员快速实现线上业务预测。

“我们和飞桨团队的同学进行了长期的接触合作,并且对方一直在及时响应和支持我们在应用部署中遇到的各类问题。”OPPO的算法工程师回忆:“从去年开始,双方每周都会组织沟通会议,高效同步进展和问题,训练效率的提升最终为OPPO的线上业务带来了实打实的收益。”

成果:OPPO业务线的AI应用场景训练更“快”,收益更“多”

“飞桨的分布式推荐系统在应用商店业务取得收益后,OPPO先后在信息流、信息流广告、商业广告、游戏中心等诸多部门进行运用,效果非常显著,其中信息流部门收益提升了5%,其他业务线也取得了2%-5%不等的提升。”OPPO研发人员肯定了百度飞桨对OPPO互联网业务带来的巨大价值。

而在这次合作中获得突破的并非只有OPPO一方,百度飞桨团队也表示,OPPO提供了大量的外部企业的需求,飞桨以此为契机,也完成了一系列升级,例如优化大规模分布式异步训练的速度、支持超大规模稀疏参数等,将自身打造成更符合企业实际应用的框架,能够更好地满足产业智能化转型的需求。

OPPO研发人员还认为,这次合作也进一步验证了飞桨作为工业级深度学习平台的成熟度,后续双方还将在在线学习、多目标等场景展开深度合作,将互联网服务所能提供的用户体验推进到新的高度,形成合作共赢的良性发展。

(百度CTO王海峰在“WAVE SUMMIT”2020深度学习开发者峰会)

从百度飞桨与OPPO的合作中,更多企业也认识到,要实现产业智能化转型,AI能力和开发工具需要满足效率、易用性、性价比和实现效果等硬性指标。百度CTO王海峰在峰会上表示:“深度学习框架和平台在高速发展,易用性不断提升,模型库日益丰富,工具组件愈发完备,部署更加便捷。进而,围绕深度学习平台的技术和产业生态日渐繁荣,推动人工智能进入工业大生产阶段,加速各行各业智能化升级,并不断催生新的应用、新的产业。”

目前,飞桨累计开发者数量超过190万,服务企业数量达到8万4千家,发布模型数量超过23万个,是国内最领先、服务开发者规模最大、功能最完备的开源开放深度学习平台,正在为各大产业实现智能化转型提供独有的“中国速度”。

随意打赏

提交建议
微信扫一扫,分享给好友吧。