- N +

我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,something

原标题:我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,something

导读:

Caffe作者贾扬清:AI,从大数据演进到高性能计算...

文章目录 [+]

雷锋网 AI 科技谈论按, 本文转载自大众号“Robin.ly”,这是Robin.ly创始人Alex Ren和贾扬清的对话以及观众发问访谈实录,阅览原文可以点击这儿。

Robin.ly是安身硅谷的内容渠道,效劳全球工程师和研讨人员,经过与闻名科学家、创业者、出资人和领导者的深度对话和现场沟通活动,传达人工智能职业动态和商业技术,打造人才全方位竞争力。

本期Robin.ly硅谷沟通活动邀请到Caffe作者贾扬清博士与咱们共享从Caffe到PyTorch的AI根底架构演进以及AI年代软件开发的趋势和应战。他在现场与Robin.ly创始人Alex Ren关于Caffe和PyTorch的开发及软硬件协同规划进行了精彩的访谈对话,并答复了现场观众的问题。

以下为采访实录和问题摘要,长按二维码拜访Robin.ly观看完好访谈视频:

「 从Caffe 到 PyTorch 」

Alex: 最早的时分传闻Caffe是你的一个side project,不是你论文的首要内容。其时开发Caffe的初衷是什么?中心经历过什么进程,可以给咱们讲一下吗?

Yangqing:首要的原因也是由于AI research,曾经researcher写code,像Matlab之类的,很难reproduce。在2011年,2012年的时分咱们还没有太强的reproduceable research的这样的主意,所以在AlexNet的paper出来之后呢,咱们都没办法有一个比较reliable的渠道,来完结它的成果。其时咱们在Berkeley期望用Caffe来推进独立研讨,所以其时内部开端企图来出现它的成果,相当是一个于side results。整个进程大约做了两个月。

Alex: 后来到了Facebook之后持续做Caffe你有遇到什么新的问题吗?

Yangqing: Caffe由于现已六年多了,所以其时有许多前史遗留问题。最开端做Caffe的时分咱们都是照着computer vision的形式来做的,所以许多design都是在CV方面比较make sense,在NLP等其他当地都相对比较难一些。其时整个modular design还没有太清楚。Facebook在15年的时分其实许多产品里都还在用Caffe的runtime来布置,可是后来整个flexibility都会有些问题,所以这也是咱们后来写Caffe2跟PyTorch的原因。

Alex: 前段时刻你们宣告了PyTor妻主太逍遥ch1.0的发布,我记住Caffe首要是做production的,而PyTorch首要是research这个阶段,当你把它们兼并在一同的时分,是期望处理什么问题呢?

Yangqing: 这个咱们现在也是一个比较explorative的方向,我觉得整个职业咱们都在往这个方向走。比方TensorFlow在TF2.0的announcement里面说到了eager mode,或许说是imperative mode。最大的一个应战根本上是research和production,这两个 fundamentally是两个不太相同的priority。Research需求flexibility,全部都应该可以调;而Production是要performance的时分,最终总是会需求有一些相对比较flexible的当地。所以许多时分都是看详细的实践运用然后来consciously make some compromises。就比方说像核算机视觉,包含像引荐体系这种实在是太大规划,even 1% or 2% accuracy matters,在这种情况下咱们会需求献身一些flexibility,来愈加注重在performance上边。像一些新的运用比方说像自然言语处理,机器翻译等,或许关于resource的要求没有那么高。咱们可以sacrifice比方说10%的performance,关于model iteration的要求比较高,所以这个就愈加倾向于research这边。

「 软硬件协同规划 」

Alex: 前次我跟你聊,你说到你比较重视硬件方面的开展。我想知道你的视点是什么,是software hardware co-design吗?

Yangqing: 愈加倾向于software hardware co-design吧。CP我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,somethingU和GPU它的优点不可是在硬件上,并且是在软件上。最可怕的作业是什么呢?便是咱们知道它很好,可是最终咱们发现没人能在上边写程序,‘cause it’s too opaque。NVIDIA十分成功的原因是由于,我可以随意找一个人,花半响的时刻,他就可以开端写CUDA code,只需他懂C++,我就能让他写CUDA code。NVIDIA,从04年CUDA出来以后到今日,NVIDIA把它整个software layer做的如此之好,使得它的入门门槛很低。假如我忽然来一个FPGA,没有一个月的时刻,没人能在上边写程序,所以说新的硬件最大的一个应战不可是在硬件上,并且是在软件上。这也是为什么我对软硬件协同规划很感兴趣。

Alex: 也便是说它搭建了一个eco-system,给developer们有更便利的办法去用,对吧?

Yangqing:对!

「 核算机范畴的文明 」

Alex: Facebook也是罕见的做比较顶尖的AI research的一个公司,你在里面带领AI infrastructure这块的一些研讨。我知道Facebook,Google这样的公司有个我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,something特色,便是它有许多大牛都在一同作业。而许多其他公司常常有这种一山不能容二虎这种现象。我不知道你在这方面有什么领会,有什么心得可以共享?是什么样的文明使得Facebook在research这方面有个cutting-edge research的成果?

Yangqing: 我觉得更多的算是核算机范畴的文明吧,比方说咱们最近常常可以听到的音讯比方像金融这个范畴现在逐步的越来越难招引到顶尖的人才。必定的原因便是由于整个范畴太关闭了,谁都不知道其他人在做什么。那么这个时分就有很简单的一个事,便是咱们有句老话说的,叫力不从心嘛,假如一个范畴咱们都在钻着自己做自己的作业的话,有许多collective wisdom就很难被激起出来。而核算机这个范畴的话,咱们许多的主意,第一是说开源,第二是open research,第三是十分频频的沟通。有许多的渠道自身便是,像咱们用的Reddit啊,Hacker news都是一个很好的渠道,包含Robin.ly等等,所以我觉得整个这样的一个文明使咱们可以更快的把这个蛋糕做大,比及蛋糕做大了之后,谁都能从中获益。

Alex: 谢谢你说到了咱们!你说到了Reddit,我看到了你Reddit上有篇谈论,里面提了一个词叫unframework,由于其时是Caffe 2.0的时分你提的,能给咱们解释一下是什么意思吗?

Yangqing: Unframework根本上是说曾经咱们在做AI的software的时分一个framework什么都有。其时六年前咱们说Caffe,Torch跟Theano,便是一个framework,你在里头或许外头想做什么也很难。现在比方说,像咱们有不同的硬件出来,有TPU,有visualization等等,逐步有点类似于一个单元的 operation system,我做完一个operation system的时分不是说一切的事都完结就可以在上面装app和extension了。开展到今日,framework是一个很小的部分,外面有许多其他各种组件譬如说硬件,visualization等等。举个比方说PyTorch现在咱们在跟Google协作来做一个Tensorboard,a very nice visualization tool for AI,它便是不但约束在一个framework,而是build dif童菲性侵案图片ferent components,get components clip,用各式各样的办法plug起来。

「 办理团队的软技术 」

Alex: 你最初也是典型的engineering research出来的,现在去lead的安排,有许多工程师。你觉得在这个进程中soft skills你有些什么收成,给咱们有什么主张?

Yangqing: 这方面或许一个人做作业和一群人做作业仍是有一些区其他。第一个是咱们所谓叫innovator’s dilemma:一开端咱们会觉得这个team做的太慢了,这事儿我一个人可以两个小时就能搞定的。为什么这个team一天还没搞定。咱们有时分怎样样来properly set expect欧缇薇ation,由于自己一个人的bandwidth是有限的,怎样样来协助整个team可以协作把这个作业往前推。或许在单个的作业上efficiency欠好可是在整个大的全组project上可以愈加accelerate一些;第二个是怎样样grow任汇川桃色 people,便是create space for peo故宋帆影阎维文夫妻情mv视频ple to make mistakes,怎样样能让咱们来逐步take ownership。第三个是办理层面说到的give away your Legos,便是focus在他人需求你的当地而不是自己做的最好的当地。我觉得在做technical management或许technical leadership的这块儿其实仍是挺有意思的。

Alex:接下来欢迎场下同学发问!

「 从数据到决议计划的新趋势 」

Q1: 这两年咱们看到了一个趋势,从classification regression要做reasoning,然后要去做reinforcement learning,要去做decision making,在这个趋势你有什么观念呢?由于从咱们的直觉上来说这个是跟过去相反的趋势,可是实践上咱们看到假如不这么做的话,直接用probabilistic的办法遇到了许多问题,所以想问您对这个趋势怎样看,这是个大趋势吗?他将来怎样样开展会对现在Deep Learning社区有什么样的协助?

Yangqing: 我觉得这应该是一个挺大的趋势,在许多范畴都有表现。比方说像六七年前我在做PhD的时分咱们做probabilistic graphical model,第一个是,数据进来之后咱们可以把它建模成一个大的joint probability,可是graphical model重视的是怎样样来interpret不同数据,或许不同dimension之间的relationship,causality等等。所以一方面是核算或许概括,一方面是怎样从statistic傍边提取一些logic或许一些rule来,由于就像你方才说到的,由于东京热视频咱们纯用statistical或许现在的deep learning的办法的话,咱们很难从中提炼出一些knowledge,what is the guiding principle for us to design new models?前面几年像Alex提出来之后咱们觉得这样有一个principle来规划CNN,而咱们在这个方向上现已走的差不多了,然后接下来便是what is the new principle for us to design even better models?Maybe it’s AutoML,or maybe it’s kind of new principles. 所以从现有的这些数据傍边提炼出logic,提炼出常识来是一个挺重要的东西。

「 核算机言语的挑选 」

Q2: 前段时刻有一个言语叫Julia横空出世,声称集百家之长,所以我想问问你对这个言语有什么观念,有没有计划根据Julia这我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,something个言语树立一个framework。

Yangqing:咱们其实尝试过许多各式各样的言语,所以说我不太好谈论。Julia的优点是它关于low level language migration十分好,比方咱们假如用Python的话,或许你在Python里写for loop, performance十分差。Julia对这个low level language binding的performance一向都是挺不错的。咱们考虑过许多的language,包含咱们自己Facebook曾经有Torch,Torch是根据Lua的,咱们最终发现了一点:it’s not about the language itself,it’s about the eco-system。许多人都说Python是一个很烂的言语,可是它有社区,它的整个的eco-system十分好,假如我要装Python,我有Anaconda;假如我要用Pyth恋人交流生on visualization,我有Matplotlib;假如我要有numerical computation我有NumPy和SciPy,假如我要东京热视频做图画处理,我有Scikit-image。 所以说最终咱们发现这个eco-system很重要,当年Luatorch遇到的很大的一个瓶颈是没有人知道怎样写Lua。咱们都很懒,我也很懒,我不想为了学一个新言语而学一个新言语,whatever works for me。所以说这个时分Python作为一个很不错的compromise,似乎是现在整个industry咱们比较common的挑选。

「 数据搜集与处理 」

Q3: 咱们知道deep learning是十分data hungry的,我在想在规划AI infrastructure的时分有没有考虑在必定level上比较general的direction可以把data collection这件作业也集成进来?


Yangqing:在大公司或许这个不是一个问题,data is kind of naturally coming in,可是在许多运用的时分确实咱们也发现data的pipeline需求很严密的integrate到compute体系。首要的两块第一个是how to actually process data,便是怎样样用传统的MapReduce或许说现在的online approach来feed data into training algorithms,特别是high performance的环境下咱们发现不但核算是个瓶颈data也是一个瓶颈。假如咱们在GPU上做核算的话,GPU能算得如此之快常常导致咱们的data input跟不上。别的一块便是怎样样做data versioning跟data management。咱们发现模型train完了之后holdout上的data,validation上的data performance十分好,上线之后就发现不可,最终发现validation data搞错了,跟training data有overlap等等。所以说,怎样样让咱们很简单的detect这样一些问题呢,可以更好的做data management,这个其实在infrastracture这边的saving会很大。

Q4: 你觉得在规划AI infrastructure的时分假如想把data考虑进去的话应该怎样做呢?

Yangqing:传统的data infrastructure一向以来在许多公司都是一个挺大的organization,有十分老练的像Hadoop,Google的Big Table这样一些处理计划。根本上data infra这边咱们考虑的问题也是两个,第一个是serving,像web serving,第二个是batch processing,像MapReduce。比方像Berkeley前面几年咱们一向在做的Spark的这个项目也是Spark ML一向以来比较倾向于batch processing MapReduce这样一个方向。而现在忽然这个SGD (Stochastic gradient descent)的training办法来了之后咱们发现曾经这种batch processing的主意现已行不通了。所以像Berkeley的最近的Ray,Clipper这些project就会愈加倾向于愈加现代一些的SGD的某些computation pattern。这方面没有一个太好的处理计划。

Q5: 你方才说到数据的问题,其实很大的问题是像你说的,数据其实一向在变,这个tracking其实跟big data的stack是很不相同的。Big data 很着重immutability,它要是不变的咱们才干够做许多作业。现在你的数据不停在变,label在变,然后新的数据进来,这个versioning现在是一个big mess。咱们看了许多solution也都找不到很好的一种,我想听听你有没有什么主意?

Yangqing: 对inferr,不可是data version,并且model versioning也有问题。即使是同一个data,咱们在上边跑两次training,出来成果都不相同。咱们在Facebook做testing的时分,有时分就算是两个matrix application,你把threading换一下,从4个词变成8个词成果就不相同。十分deep的neural network你从最开端有这些小的改变到最终的一个输出,根本上有许多时分都是无法guarantee binary wise compatibility的。CPU跟GPU之间简直不能,大约像ResNet这样一个模型,最终的输出或许会有1%到2%的fluctuation都是正常的。所以说对这种testing environment或许说怎样样来interpret ‘Correctness’,咱们现在还不太清楚。最大的一个investment在Facebook这边是怎样样做更好的experimentation management,或许无法处理这些问题,可是咱们可以处理关于恣意experiment来说,咱们可以记载as much information as possible,在哪个commit上面run的这个,在哪个版别的data上跑的,使得咱们在manually做inspection的时分可以有更多的information。

「 东西的运用 」

Q6: 前面介绍说到说从research到production,一个方面是东西上的不同,别的一方面其实是research进程中,比方你用Jupyter Notebook,你会做许多的小的code的片段,但真的上production你需求一整块的、经过unit test的软件工程整个进入体系。这个之间其实仍是有一个东西上的不同,想听听看Facebook有什么样的解男体写真决计划。


Yangqing:我先说东西的这个问我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,something题吧,东西的话其实咱们也发现Jupyter Notebook最大的问题是什么呢,便是说跑试验的时分才干跑这些个,最终发现,再跑一遍跑不出来了。所以咱们现在内部有一个类似于Notebook这样的environment可是更多的便是用来纯做research,更多的时分东西这边咱们都是set expectation,便是说this is the place where you maximize your ideas but it’s not guaranteed to ship into products,at all。所以最终在做product的时分咱们仍是会需求enforce一些quality test相关的东西。更多的是从experience的视点来说,使得咱们愈加像一些,比方research用Matlab,product用C++,这怎样写?假如research用的Python,只不过是我用的是Notebook,然后product用的是Python,只不过是一个.py file,这个时分migration就相对愈加简单一些。所以咱们在PyTorch跟Caffe2这边十分重视怎样样来unify experiences,包含比方说像Twython跟on也是,they look similar,确保你真的回头要transfer的时分你可以吧Twython改成on就完了,没有太多的像从Matlab到C++的这样一个改变了。

「 PyTorch 与 TensorFlow 」

Q7:PyTorch是一个用户许多的一个体系,还有一些用户比较多的体系便是TensorFlow,背面都有一个很大的community,有很大的公司在支撑,可是其实你方才也说到了便是TensorFlow也出了这个eager mode咱们需求也都相同,都有这个research developability或许interactivity这方面的需求,deployment都有scalability或许performance这方面的需求。那最终有没有这两个体系或许说市面上一切体系兼并到一同的或许,从business的视点来说什么样的条件会形成这种兼并。

Yangqing:我问你这样一个小问题。咱们在用uber,gmail,或许calendar的时分,咱们会忧虑是在Android上面,仍是iOS上面吗?便是说根本上到最终 product这边, as long as we have a platform for us to run models, it's probably gonna be not different. 关于uber来说,它或许并不忧虑iOS或许Android,假如说他们能兼并,那这是一个最省事儿的事儿,那将来他们就不必写app写两套了。可是it's not a deal breaker。 然后从framework的视点来说,我觉得一方面咱们恶作剧说 There's a war on frameworks, 对吧?从当年相对比较academic的Caffe 跟Torch 跟Theano 这三家,到现在Google的TensorFlow,Amazon的MXnet,F热辣文acebook的PyTorch,Microsoft的CNTK等等,到最终咱们发现这些idea都会逐步converge起来。所以我个人不会太忧虑最终 which framework wins on framework, or which framework migrates which framework. 最终的idea都差不多陈伯达最终口述回想。

「 软硬件结合的应战」

Q9: 你说到软硬件必定要结合,才干开展。那你现在觉得从production eco-system 上看,有哪些当地软硬件结合做的还不是很好?

Yangqing: 现在在production运用上,软硬件结合的只要我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,somethingCPU和GPU,咱们都还在一个探究阶段。CPU 跟 GPU 差不多都现已满足well known了。最大的应战或许是怎样样来manage heterogeneous computation,由于在做prediction service的时分,传统CPU这边的话,整个架构都很homogeneous。我可以在production logic thread上来做computation也没什么问题。然后一旦走向GPU,或许accelerator之后,就会需求有愈加desegregated service。比方prediction/computation stack是一个pool,然后p路超真好roduction logic会是另一个pool。那么在这样的一个setting上面,怎样样把中心整个con我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,somethingnection结合起来,是不是network bandwidth会变成一个新的bottl我要做皇帝,Caffe作者贾扬清:AI,从大数据演进到高性能核算,somethingeneck。整个l朱毓迪atency或许怎样样来manage computation pool 然后capacity怎样样最终balancing。 这些传统的问题都会从头emerge起来。这方面仍是需求一些early analysis。

「 10年后博士研讨的玩法 」

Q8: 现在这些framework,这些东西十分的老练完善,这必定是件功德。但从另一个视点来讲他对computer vision researcher和graduate student的impact是十分不韩梅霜同的。比方说五年前/八年前你可以design自己的feature,做一个minimization variation whatever graphical model你可以发paper,这个玩法和现在必定不同,现在你要train model,你要自己想办法做一些新的architecture或许其它一些比较有诀窍的东西才干发paper。那比方说十年之后你再去Berkeley读一个computer vision PhD从头开端的话,这个玩法是什么?


Yangqing:咱们还有别的的一个相关的comment便是说现在这个整个做deep learning training需求的资源越来越多,校园究竟怎样办对吧,谁也没有一万个GPU来train AutoML model,那这个AutoML research怎样做呢?比方说像12年的时分咱们都觉得Google的infinite resource,咱们deep learning怎样做?最终Alex做的办法便是2个GPU,我其时在Google实习,对咱们来说还挺surprising的,其实computation resource isn’t the winning factor。学术界的一个优点是,you have to be efficient。我现在个人是在工业界,工业界有的时分咱们被这些resource给宠坏了,学术界其实一向都仍是source of the new information and new ideas。许多时分或许模型并不必定需求太大,但硬怼performance或许硬怼container resource咱们在grad student这个当地就别做了。然后可以做的方向便是how we actually just look at the current models and then do new ideas。Berkeley上一年做了很有意思的一个paper叫CycleGAN,怎样样在generative advisory netwo桃瘾rk上面做一些新的作业。这些方面或许不需求太多的resource,包含是一两个CPU就差不多够了。所以或许再读PhD的话或许做法仍是差不多的,便是看看最近新的idea在什么方向,然后更多的是iterate on ideas, not iterate on systems。

Alex: 咱们今日的问答就究竟停止,很侥幸今日能请到贾博士来和咱们共享他在Facebook的作业,对AI的观念,对未来职业的主意。谢谢贾博士今日的共享!

< 主持人 Alex Ren 简介 >

硅谷面向华人工程师视频内容渠道Robin.日干妈视频ly创始人,AI人才效劳公司TalentSeer创始人,硅谷风险出资BoomingStar Ventures办理合伙人。TalentSeer是美国顶尖的AI及中高阶人才猎头效劳公司,首要经过出资、职业剖析等维度从头了解和界说人才的效果,为超越100家高科技公司树立硅谷团队!Robin.ly是硅谷具有影响力的视频共享渠道,效劳全球上千万华人工程师,经过与AI科学家、闻名创业者、出资人和领导者的系列深度对话,传达职业和技术常识,打造人才全方位竞争力,为培育下一代领导者、创业者而尽力!

长按二维码重视咱们的网站和微信订阅号(Robinly),及时取得嘉宾访谈与线下活动告诉:

公司 开发 Facebook jux518
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。

有好的文章希望我们帮助分享和推广,猛戳这里我要投稿

返回列表
上一篇:
下一篇: