干货Paddle:百度拥抱世界,开源其深度学习软件平台
Posted 机器人2025
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货Paddle:百度拥抱世界,开源其深度学习软件平台相关的知识,希望对你有一定的参考价值。
度学习是人工智能中的一个新兴领域。该算法引起了自然语言处理、计算机视觉、计算机翻译领域的巨大进步。但是目前这项技术仅仅掌握在少数工程师手中,这些工程师掌握了深度学习中的一些重要技术。对于一些刚入门的软件开发者来说,深度学习的研究很难很复杂。
8月31号,中国搜索巨头百度开源其深度学习平台paddle,百度声称:在开源这个深度学习的平台之后,那些刚入门的软件开发师可以在平台上自由地获取源代码,这对于他们的深度学习的是过程非常有用的。
“这将使工程师们能够快速、轻松地将深度学习技术应用到他们的产品当中”,
徐伟
,
百度的研究员,paddle首席发展研究员在接受采访时表示,“我们想让更多的人使用人工智能,人工智能对于我们的未来生活是非常重要的”
其实,百度早在2013年就开发了paddlepaddle平台,所以paddlepaddle在开源前就一直存在。据了解,其早已广泛用在了公司的产品当中。比如:在搜索排名中、再有针对性的广告当中、图像分类当中、机器翻译当中、自动驾驶汽车当中,这些都在使用深度学习的软件。
此次已不是百度第一次开源其人工智能平台,早在今年5月20日,百度就在github上开源了其深度机器学习平台。为什么要开放这2大平台呢?小编认为,通过这两个开源平台,世界各地的开发者们可以免费获得更优质和更容易使用的分布式机器学习、深度学习算法源码,从而大幅降低开发和部署分布式机器学习、深度学习系统及相关应用的门槛。百度开怀拥抱世界,世界自然就会来拥抱百度了。
鉴于目前深度学习的开源平台并不多,大致数谷歌工智能系统TensorFlow,Caffe等等。作为咱机器人2025的小编,也作为一个头等的、热心的吃瓜群众,小编就想知道——这个平台怎么样?别人怎么看这个平台?以及这个平台跟Tensorflow以及Caffe有何区别?
2013年,
百度深度实验室察觉到自己在深度神经网络训练方面,伴随着计算广告、文本、图像、语音等训练数据的快速增长,传统的基于单GPU的训练平台已经无法满足需求,为此在徐伟的带领下,百度实验室搭建了Paddle(Parallel Asynchronous Distributed Deep Learning)多机并行GPU这个训练平台。
但今天开源的Paddle当然不是3年前的简单模型,3年前Paddle可能还是一个独立的深度学习平台,不能很好地支持把数据从其他平台接入的需求。但今天的Paddle已经在处处强调,它的特色是让Spark与PADDLE耦合起来,是一个基于Spark的异构分布式深度学习系统。并且经过和百度相关业务的“紧密摩擦”后,它已经迭代了两个版本:从Sparkon Paddle架构1.0版,到Spark on PADDLE 架构2.0版。
根据平台开源的规则,大概是在百度内部用的非常得心应手,修复了一系列bug后,实验室才终于打算把Spark on PADDLE以及异构计算平台开源。至于百度为什么要开源,这个理由大家都懂的深度学习平台目前还有很多bug——吸引更多的开发者来尝试和使用深度学习技术,对提高Paddle的档次是绝对有帮助的。
3. 设计很干净,没有太多的abstraction,这一点比TensorFlow好很多。
4. 高速RDMA的部分貌似没有开源(可能是因为RDMA对于cluster design有一定要求):Paddle/RDMANetwork.h at master · baidu/Paddle · GitHub
5. 设计思路比较像第一代的DL框架,不过考虑到paddle已经有年头了,这样设计还是有历史原因的。
5.1 config是hard-code的protobuf message,这对扩展性可能会有影响。
5.2 可以看到很多有意思的类似历史遗留的设计:采用了STREAM_DEFAULT macro,然后通过TLS的方式定向到非default stream:Paddle/hl_base.h at 4fe7d833cf0dd952bfa8af8d5d7772bbcd552c58 · baidu/Paddle · GitHub (所以Paddle off-the-shelf不支持mac?)
5.3在梯度计算上采用了传统的粗粒度forward/backward设计(类似Caffe)。可能有人会说“所以paddle没有auto gradient generation”,这是不对的,autograd的存在与否和op的粒度粗细无关。事实上,TensorFlow在意识到细粒度operator超级慢的速度以后,也在逐渐转回粗粒度的operator上。目前只看到这里。总之是一个非常solid的框架,百度的开发功底还是不错的。
估计不少人都读过贾杨清的评价,下面我们贴一个前百度数据工程师,极视角CTO缨宁的评价:
看了一下,从设计理念来看和Caffe挺像的,但网络模型没有Caffe那么容易定义。最大贡献是做了分布式,提高了建立模型的速度。再详细的感受就得看代码和上手用了。
另一个跟上面两位观点反差较大的某研究深度学习的学者表示:
Tensorflow的架构可以认为是一个升级版的theano, theano比Caffe还要早几年,只是Caffe最早train好了,同时发布了一些成功的卷积神经网络模型因此得到更多关注。Tensorflow和Caffe没啥太大的关系,可能借鉴了Caffe某一些实现技巧,本质上没啥关系。 百度这个很有可能是看到Caffe的成功之后实现的,很大程度模仿的Caffe, 同时试图修改一些东西使其看的和Caffe不一样。
我估计使用Caffe的人不会投向它,使用其他的工具的人(tensorflow, keras, theano, torch,mxnet)也不会投向它, 大家说几天然后就……一个月之后看一下它的github的关注量和github上能够找到的别人写的代码量你就知道他是否能有什么浪花(后面可以看看有没有人用他来参加kaggle或者其他比赛或在科研发布代码)。现在基本每个大公司都发布自己的深度学习框架(或者机器学习框架),例如微软, 亚马逊, 雅虎,好像都没有大动静。
Paddle平台跟Tensorflow以及Caffe有何区别:
根据我们之前对Caffe, Tensorflow的了解,以及Paddle放出的数据。我们总结了Paddle平台其它两个平台的区别。
注:其中python是开发者主要使用的语言, 只有Caffe修改model内部的时候要用的c++。(如有异议,欢迎各开发者进我们群进一步交流
1)Caffe可以说是第一个工业级深度学习工具,始于2013年底由UC Berkely的贾杨清编写的具有出色的CNN实现功能的开发语言,在计算机视觉领域Caffe仍然是最流行的工具包。Caffe的开发语言支持C++和Cuda,速度很快,但是由于一些历史性的遗留架构问题,它的灵活性不够强。而且对递归网络和语言建模的支持很差。Caffe支持所有主流开发系统,上手难度属于中等水平。
2)Tensorflow是Google开源的第二代深度学习技术,是一个理想的RNN API实现,它使用了向量运算的符号图方法,使得开发的速度可以很快。Tensorflow支持的比较好的系统只有各种Linux系统和OSX,不过其对语言的支持比较全面,包含了Python、C++和Cuda等,开发者文档写得没有Caffe那么全面,所以上手比较难。
3)而此次百度的Paddle,作为基于Spark的异构分布式深度学习系统,通过使用GPU与FPGA异构计算来提升每台机器的数据处理能力,暂时获得了业内“相当简洁、设计干净、稳定,速度较快,显存占用较小。”的评价,跟它通过使用GPU与FPGA异构计算提升每台机器的数据处理能力有重要联系。不过具体表现如何,还需等待观察一下大家的使用感受。
开源,顾名思义,就是开放自己的源代码给别人查阅和使用,尽管看起来很傻,然而诸多历史事实却告诉我们拥抱世界也能让世界拥抱你。
android的逆袭就是明证,在ios侵占绝大多数智能手机操作系统的时代诞生,Google选择开源,让早已在苹果面前没有机会的业界见到了希望,至今Android已拥有过半的市场份额,以至于在移动互联网大行其道的今天,Google可以凭借它与旗下产品的整合打造属于自己的强大生态系统。相比之下,生而娇贵的Windows mobile的故事够令人发醒的,终于微软也不得不寄人篱下地去兼容Android和iOS平台应用。此外,作为微软最主要的应用程序框架,微软对.net寄予厚望,希望它的开源可以来到所有平台,进而重现JAVA的光辉历史。这也证明了即使强大如微软也无法凭借一己之力让其产品得到世界的拥抱。
要实现人工智能,机器必须具备自主学习能力,深度学习作为机器学习领域的重大突破,可以完成具有高度抽象特征的人工智能任务,如自然语言理解等复杂场景,因而备受业界追捧。当然,机器学习领域并不只是有深度学习这一种算法的存在,然而深度学习却有着显著的优势:在数据集足够大的情况下,深度学习拥有最好的预测能力。尽管在算法的选择上仍然存在“杀鸡焉用宰牛刀”的争论,但深度学习算法为人工智能领域注入的强大能力却是其他算法无以比拟的;同时,随着深度学习技术的成熟,诸多传统机器学习算法的淘汰几乎是必然的。然而正如前述,深度学习对大量数据的需求及其本身的复杂性仍然是其发展壮大路上的最大阻碍,也是业界的无奈所在。
百度在此领域发力较早,且在诸多方向上进行了深入的研究,利用深入学习结合自身搜索引擎的大数据让机器翻译及自然语言等技术实现了新的飞跃。然而在面向更广大更具体的应用场景时,任何一个公司都难以满足所有需求。借鉴历史,开放共赢不仅可以把事情做的,也让业界和生态系统得到健康发展。
百度此次开源进一步强调了百度开放的心态和对平台的信心。一系列的动作都是希望让开发者可以获得更优质更容易使用的深入学习算法源码,降低开发和部署深入学习系统及相关应用的门槛,进而利用世界的力量壮大自身。
面对可预料的爆发,技术一定程度上渐发成熟,但也因为各自的技术基因和路线差异,面临着极大的分裂倾向。开放的心态拥抱世界,打造机器学习领域的国际标准,百度的此举既是对前期研究投入的回收保障,更是携手笼络友商,确保自身的话语权所在。
声明:本文整合了【AI科技评论】黄鑫和宗仁还有网上的一些观点,非原创,如有不妥,请微信联系我们后台删除,谢谢。
长期搜罗、更新人工智能国际最新动态,给大家传递最新的产业信息。达闼科技长期为机器人2025供稿,其解释权为机器人2025所有。每周定期更新,欢迎大家继续阅读第五十三期。有想投稿的,可以后台联系机器人2025的小编。
以上是关于干货Paddle:百度拥抱世界,开源其深度学习软件平台的主要内容,如果未能解决你的问题,请参考以下文章
如何评价百度刚刚开源的Paddle平台?
Paddle v0.11.0 发布,百度深度学习开源平台
Paddle 教程:人工智能领域深度学习平台
百度正式宣布推出深度学习开源平台PaddlePaddle
重磅百度开源分布式深度学习平台,挑战TensorFlow (教程)
Paddle-Mobile 百度嵌入式深度学习框架