Paddle 教程:人工智能领域深度学习平台

百度开源了其深度学习平台Paddle,引发了挺多人工智能领域开发者的兴趣,包括一些之前一直在Tensorflow和Caffe上练手的开发者。不过鉴于深度学习的开源平台目前并不多,作为开发者也作为热心吃瓜群众的头等大事,就是想知道——这个平台怎么样?别人怎么看这个平台?以及这个平台跟Tensorflow以及Caffe有何区别?

这个平台本身怎么样

Paddle本身在开源前就一直存在,始于2013年的时候,因为百度深度实验室察觉到自己在深度神经网络训练方面,伴随着计算广告、文本、图像、语音等训练数据的快速增长,传统的基于单GPU的训练平台已经无法满足需求,为此在徐伟的带领下,实验室搭建了Paddle(Parallel Asynchronous Distributed Deep Learning)多机并行GPU这个训练平台。

但今天开源的Paddle当然不是3年前的简单模型,3年前Paddle可能还是一个独立的深度学习平台,不能很好地支持把数据从其他平台接入的需求(腾云科技TY300.COM)。但今天的Paddle已经在处处强调,它的特色是让Spark与PADDLE耦合起来,是一个基于Spark的异构分布式深度学习系统。并且经过和百度相关业务的“紧密摩擦”后,它已经迭代了两个版本:从Spark on Paddle架构1.0版,到Spark on PADDLE 架构2.0版。根据平台开源的规则,大概是在百度内部用的非常得心应手,修复了一系列bug后,实验室才终于打算把Spark on PADDLE以及异构计算平台开源(勤快学QKXue.NET)。至于百度为什么要开源,这个理由大家都懂的

深度学习平台目前还有很多bug——吸引更多的开发者来尝试和使用深度学习技术,对提高Paddle的档次是绝对有帮助的。

外界人士对这个平台的评价

知乎上贾清扬的回答,目前是比较正面的评价。

1. 很高质量的GPU代码

2. 非常好的RNN设计

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或者其他比赛或在科研发布代码)。现在基本每个大公司都发布自己的深度学习框架(或者机器学习框架),例如微软, 亚马逊, 雅虎,好像都没有大动静。

这个平台跟Tensorflow以及Caffe有何区别

雷锋网(搜索“雷锋网”公众号关注)申请了Paddle的今天公测版本,目前还在审核中,虽然不能直接下载体验,但和其它两个平台的区别也不是毫无踪迹。根据我们之前对Caffe, Tensorflow的了解,以及今天Paddle放出的数据。

如何评价百度刚刚开源的Paddle平台?

附接口语音

Caffe ——cmd, matlab, python

Tensorflow——python, c++

Paddle ——python, c++

(注:其中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异构计算提升每台机器的数据处理能力有重要联系。不过具体表现如何,还需等待几天观察一下大家的使用感受。

时间: 2024-10-01 02:37:51

Paddle 教程:人工智能领域深度学习平台的相关文章

基于Spark的异构分布式深度学习平台

导读:本文介绍百度基于Spark的异构分布式深度学习系统,把Spark与深度学习平台PADDLE结合起来解决PADDLE与业务逻辑间的数据通路问题,在此基础上使用GPU与FPGA异构计算提升每台机器的数据处理能力,使用YARN对异构资源做分配,支持Multi-Tenancy,让资源的使用更有效. 深层神经网络技术最近几年取得了巨大的突破,特别在语音和图像识别应用上有质的飞跃,已经被验证能够使用到许多业务上.如何大规模分布式地执行深度学习程序,使其更好地支持不同的业务线成为当务之急.在过去两年,百

七牛云李朝光:深度学习平台助力亿级别内容审核系统

2018 年 10 月 18 日-20 日,由极客邦科技与 InfoQ 中国主办的 QCon 全球软件开发大会在上海宝华万豪酒店举行.? 在人工智能与深度学习实践专场(解决方案专场)中,七牛云深度学习平台研发负责人李朝光受邀出席,并带来了主题为<七牛深度学习平台支持亿级审核系统>的精彩演讲,详细讲解了内容审核方面用户所遇到的问题以及最优的解决方案.七牛云内容审核系统的强大优势等内容,为到场嘉宾带来了满满的技术干货.??七牛云深度学习平台研发负责人李朝光?当下,网络视频与直播用户已分别超过 5

感悟:微博深度学习平台架构和实践

TensorFlow.Caffe和MXNet是三大主流的深度学习开源框架:TensorFlow的优势是社区最活跃,开源算法和模型最丰富:Caffe则是经典的图形领域框架,使用简单,在科研领域占有重要地位:MXNet在分布式性能上表现优异.PaddlePaddle.鲲鹏.Angel则是百度.阿里.腾讯分别推出的分布式计算框架. 腾讯深度学习平台DI-X 腾讯深度学习平台DI-X于2017年3月发布.DI-X基于腾讯云的大数据存储与处理能力来提供一站式的机器学习和深度学习服务.DI-X支持Tenso

GitChat&#183;人工智能 | 除了深度学习,机器翻译还需要啥?

本文开始要写作的时候,翻译圈里出了一个"爆炸性"的事件.6月27日下午,一个同传译员在朋友圈里爆料:某AI公司请这位译员去"扮演"机器同传,制造人工智能取代人工同传的"震撼"效果. 这个事件瞬间在译员群体的朋友圈.微博.微信群引爆了隐忍已久的火药桶.因为过去几个月来,隔三差五就冒出一个号称要取代同声传译的翻译机,尤其是一篇题为<刚刚宣告:同声传译即将消亡!>的微信文章,在六月下旬铺天盖地的充满了一堆有关的或者无关的公众号,不知道带来了

PyTorch 60 分钟入门教程:PyTorch 深度学习官方入门中文教程

什么是 PyTorch? PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算. 深度学习研究平台拥有足够的灵活性和速度 开始学习 Tensors (张量) Tensors 类似于 NumPy 的 ndarrays ,同时  Tensors 可以使用 GPU 进行计算. from future import print_function import torch 构造一个5x3矩阵,不初始化. x = torch.em

如果人工智能在深度学习后再次击败人类,人类会被机器人取代吗?

加利福尼亚大学欧文分校的科学家们已经开发出一种自动学习的人工智能系统,该系统可以在20步内修复蓄意毁坏的立方体,根据7月15日发表在最新的自然智能机器在线版上的一篇论文.选择这种深度学习技术的人工智能系统不仅可以在各种智力游戏中发挥重要作用,而且在蛋白质折叠等科学研究中发挥重要作用.使用深度学习的人工智能系统可以在18秒内在不到20步的时间内从魔方的随机破坏中恢复,并且永远不会失败.据报道,加州大学欧文分校的皮埃尔·巴迪教授和他的同事们开发了一种自学习计算机人工智能系统Deepcube A,它可

DeepMind背后的人工智能:深度学习原理初探

去年11月,一篇名为<Playing Atari with Deep Reinforcement Learning>的文章被初创人工智能公司DeepMind的员工上传到了arXiv网站.两个月之后,谷歌花了500万欧元买下了DeepMind公司,而人们对这个公司的了解仅限于这篇文章.近日,Tartu大学计算机科学系计算神经学小组的学者在robohub网站发表文章,阐述了他们对DeepMind人工智能算法的复现. 在arXiv发表的原始论文中,描述了一个单个的网络,它能够自我学习从而自动的玩一些

人工智能与深度学习

人工智能的关键是机器学习,机器学习的突破是深度学习,人工神经网络. 1956年,在达特茅斯会议(Dartmouth Conferences)上,计算机科学家首次提出了“AI”术语,AI由此诞生,在随后的日子里,AI成为实验室的“幻想对象”.几十年过去了,人们对AI的看法不断改变,有时会认为AI是预兆,是未来人类文明的关键,有时认为它只是技术垃圾,只是一个轻率的概念,野心过大,注定要失败.坦白来讲,直到2012年AI仍然同时具有这两种特点. 在过去几年里,AI大爆发,2015年至今更是发展迅猛.之

手把手教你搭建深度学习平台——避坑安装theano+CUDA

python有多混乱我就不多说了.这个混论不仅是指整个python市场混乱,更混乱的还有python的各种附加依赖包.为了一劳永逸解决python的各种依赖包对深度学习造成的影响,本文中采用python的发行版Anaconda. Step1 安装Anaconda 这里不建议使用python3.4以后的Anaconda版本,因为太新的版本(python3.5)不支持python/matlab混合编程.所以为了以后方便,建议使用python2.7的Anaconda版本.Anaconda安装完成后,n