李沐团队半年离开六人,MxNet是否英雄落幕?贾扬清:关键能否解决新痛点

  • 2020 年 5 月 18 日
  • AI

作者 | 丛末、蒋宝尚

编辑 | 贾伟

AI 科技评论消息:昨日,据知乎网友爆料,亚马逊AI李沐团队今年初至今已经离开6人了。考虑到李沐团队一共20名正式员工,以及一个研究团队招新的严格要求和团队培养成本,6人离去对于一个团队来说确实是一种重大的人员流失。

在知乎上,有两种回应,一种倾向于自然选择,即类似于末尾淘汰制,对于达不到培养要求的研究人员给予“劝退”,另一种倾向于“精英淘汰”, 即学术领域的精英,一些真正德才兼备的精英人才往往会遭冷遇、排挤甚至打击、压制。

由于热度太大,面对大家的猜疑,李沐亲自下场回答,他表示组织人员离开是正常新陈代谢,有的人是因为觉得新项目太挑战,想换个环境;也有的人是因为团队要求开展新项目之前,需要考虑到产品组的实际需求,导致某些人觉得资源使用不自由,所以离开。

最近两个月我们组确实有人离开,在我看来是组织发展下的正常新城代谢。
1、最近做了一些思考,想象世界五年后是什么样,从那里出发来重新考虑项目优先级。例如automl会不会是让深度学习更加普及的一个主驱动力,未来几年有什么可以做的(高效的算法,高效的系统,成本更低的硬件,宣传好结果来改变大家的看法)。我们定了两个方向,作为我们的主攻方向。
2、之前我们跟工程组一起做了很多纯工程项目。在我看来,我们应该是做合作组不能做的(例如深度学习系统API设计,新系统开发),而不是跟人抢项目。自然会有小伙伴做完这些项目后,觉得新项目太挑战,想换个环境。
3、将我们的工作变成”essential“(amazon在疫情期间优先派送essential的商品),这个一直是研究工作的一个难点。我们的做法是,开始一个新的需要大量资源的研究项目前,先跟可能会用到的产品组联系,看看他们的实际需求。这个改变会让做先马行空研究的小伙伴觉得不自由,从而可能离开。
— 5/17 更新 —
没料到大家如此热心,所以补充几点。
1、这也能上热搜?这个是买的吗?
2、人员离开不是一件轻松的事情,特别是疫情期间。对每个主动想走的人我都长聊过,做了极大的挽留,例升职规划,讨论有挑战的新项目。对于是请走的人,也是有公司第三方团队和第三方律师事务所进行半年以上的评估和改进尝试。我们组发展了三年多,除了之前有位小伙伴想回家发展外,这是首次有人离开,所以不奇怪引人关注。
3、过去一年一直在招能管理科学家团队的经理,如果各位有兴趣请私信我。另外,接下来我们会进行大规模招聘,敬请期待。
4、MXNet处境。质疑一直有,PyTorch和TensorFlow也确实强大。facebook和google可以花很大资源来支持开源,不管是人力还是宣传,而且可以强迫自己公司团队使用自家产品。MXNet的资源一直是别人的1/10,我们将资源都集中解决客户问题上(亚马逊的准则之一:客户至上),很多项目我们并没有宣传。下面是几个我们公开的项目:

《动手学深度学习》最早是作为MXNet文档来做的,现在已经被包括cmu/stanford/berkeley/mit等近100所高校作为教材使用。Nvidia创始人Jensen特意为此写了推荐语。ResNeSt是GluonCV 0.7中的工作 //github.com/dmlc/gluon-cv/releases/tag/v0.7.0 刷爆了各大榜单GluonNLP把BERT的inference速度降到百万次不到一块钱。AutoGluon是我们在automl的首次尝试,比我们知道的所有工作都要块和准。MXNet的model zoo下载量在百万级别。还有几个大招在做,敬请期待接。

5、关于烧钱。我们最近的工作ResNeSt拿到了检测和分割的多个第一,知乎上也有很多文章讨论。至于说花费比较大,花费更大的工作我们今年做了好几个,只要能推动技术进步,我们会不切余力的投入。

网友评论:MXNet英雄落幕?

知乎中很多网友,包括前MXNet团队员工也表示,离职其实是因为MXNet这两年的发展比较慢,在PyTorch和TensorFlow的双重夹击下,实现突围非常难。

例如,一位在MXNet项目上贡献commit数量最多的贡献者提到,他从MXNet团队离职的原因是,总体上MXNet ecosystem的蛋糕没有做大,反而是越来越小。

本人2018年3月入职MXNet团队,自入职至今是在MXNet项目上贡献commit数量最多的contributor,也是社区committer。同时,我也是近期从MXNet团队离职的成员之一,去向是亚马逊内部的其他team。

……

其实沐神待我也是不薄,并且我对MXNet这个项目也算是有一些感情的。在开发之余,我也担当了MXNet生态系统一些PR blog的翻译润色和校对工作,各位去翻一下的话应该可以看到我的名字。尽管如此,我最终在近期选择了离职主要是因为总体上MXNet ecosystem的蛋糕没有做大,反而是越来越小,如此一来team内的上升空间也就缩小了。……

深度学习优秀回答者 mileistone 也对MXNet越来越小的市场份额做出了评价:整个深度学习框架市场几乎被TensorFlow和PyTorch瓜分,MXNet市场低占有率很低。

李沐团队技术实力很强,但是做的主要产品都没打开市场。而且这些产品有一些具备一定延续性,会互相影响。

比如基于MXNet的GluonCV、GluonNLP和Dive into Deep Learning,本来打算通过这三款产品来带动更多人进入MXNet社区。

但是这三款产品都是维生素,而不是止疼药;没能解决深度学习框架的痛点,解决的是痒点。而与此同时,解决深度学习框架易用性这个痛点的PyTorch几乎一夜之间崛起,现在可以跟TensorFlow分庭抗礼,整个深度学习框架市场几乎被TensorFlow和PyTorch瓜分。

这种情况下,即使GluonCV和GluonNLP做得很棒,本身的市场价值却因为MXNet市场低占有率而拖累。所以情况就比较尴尬,MXNet市场占有率依旧低迷,依托其上开发的GluonCV和GluonNLP既没能改变这个现实,与此同时又受限于这个现实,无法发挥其潜力。

…… ……

另一位利益相关的亚麻员工表示,其实在公司内部MXNet用的也很少。

我是device org的scientist,我们大组是专门做edge端的CV team,旗下的要维护研发的CV model相对比较多。别的公司听说我做DL都会问你们用不用MXNet 我只能含蓄得回答可以用但是没人逼我们必须用 …… 实际上就是完全不用。

一位自称“野生MXNet“砖”家”的网友提到:MXNet发展的这两三年,书写的很成功,但平台本身仍然没什么大的起色。另外,还细数了MXNet的众多缺点。

……

MXNet平台并不差,不管是功能还是性能有些地方都是可圈可点的,但实际体验中莫名其妙的晦涩的错误、欠缺的算子、很多算子在cpu中运行的速度甚至不如手撸numpy、相较于torch更高的内存占用(曾经MXNet引以为傲的内存低占用现在已经没有什么优势)、某个版本能用的Mirror到另一个版本就失效了、某个版本能用的custom numpy operator到了某个版本突然就出现bug了、某个版本horovod就是安装不成功、某个版本auto mixed precision又突然出现错误无法训练如此等等,的确给新手用户不小的麻烦。

但这些不是不能解决的,可能是没有被重视吧,而且因为竞争平台也不是十全十美,所以平台不是没有机会,机会仍然存在。

……

最后,一位匿名用户的题外话概括了现在MXNet面临的处境:“沐神辛辛苦苦写的书,本想着推广MXNet,最后一大堆同学放出了PyTorch实现版,着实惨233”。

框架沉浮,MXNet能否实现突围?

2004年,李沐从上海交通大学计算机系 ACM 班毕业。ACM 班作为以培养计算机科学家而闻名的“特色班”,一开始便为李沐的简历奠定了引人关注的基调。2008年。李沐正式从上海交大硕士毕业后,暂时告别了求学生涯,前往香港科技大学任职。

2011年,大学期间就曾在中国IT界的“黄埔军校”实习过的李沐,收到了百度抛给他的橄榄枝。2011 年只2012 年,他在百度担任高级研究员的短短一年多时间里,创建了一套分布式机器学习广告系统,为他的研究生涯又累积了不少工业界经验。

2012年,他的人生轨迹迎来了又一个转变,离开百度前往CMU 深造。当时做出这一选择的背景则是:一方面,在百度的实践经验让他更加认清了自己在研究方面的短板,意识到继续深造会是自己更好的选择;另一方面,他现任妻子当时也被 MIT 录取,也成为了他选择去CMU 学习的一大重要原因。

也就是在CMU,李沐得到了导师机器学习大师 Alex Smola 和 分布式系统教授 Dave Andersen的指导,科研能力迅速提高。在CMU 求学的第二年,正适余凯等人在轰轰烈烈地做深度学习,他也加入这波研究热潮。基于对分布式深度学习框架的兴趣,他选择与陈天奇合作,将CXXNet 作为起点,开始做深度学习相关项目。

一年后,二人合力在Github上创建了一个叫DMLC的组织,随后更是创建了一个与他后续在亚马逊的任职生涯都有着紧密联系的项目——MXNet。

出于对 MXNet未来发展的考量,在毕业后的职业选择上,李沐选择放弃了加入谷歌的机会,而选择去了亚马逊,一直任职至今,展开围绕MXNet的相关项目。

随后MXNet也成为了亚马逊首选的深度学习库,在众多深度学习框架之中,虽然市场份额远不如TensorFlow和PyTorch,但从框架本身而言,MXNet的速度,节省内存,接口灵活性,和分布式效率都是可圈可点的。

MXNet拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且能在众多硬件上运行(包括手机)。除了对 PyTorch 提供支持,MXNet 也提供了对 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。

也正如李沐之前介绍的那样,MXNet是散修小团体一起合力做出来的平台,排名前20的开发者,基本都是出自不同的门派和世家,这个是MXNet最大的特色。

不论是开始时间还是平台特性,MXNet最靠近TensorFlow。有完整的多语言前端,后端类似编译器,做这种内存和执行优化。应用场景从分布式训练到移动端部署都覆盖。整个系统全部模块化,有极小的编译依赖,非常适合快速开发。

因而发展至今,MXNet  总免不了被拿来和TensorFlow 做比较,对此,李沐曾在AI 科技评论的采访中做出回应:“我很理解大家爱看对比类的文章,但这是种存在偏见的做法。我们比别人快一两倍,不是我们想表达的东西,而为什么快,做了哪些优化,离我们的理想状态还有哪些差距,这样的总结可能对我来说更有价值一些。”

与此同时他也表示,MXNet 与TensorFlow 并不是大家想象中那种剑拔弩张的状态,并且框架的融合会是未来的趋势,系统各自为政的时代会被更多的兼容与支持取代。

而在未来的框架融合潮流中,MXNet 是否还能坚守住自己的一方小小席地呢?我们暂且留下一个问号。
正如在李沐团队的这波离职风波中,离职员工本身的“爆料”以及广大热心知乎网友的猜测所言,这么多人离职很大的原因便是 MXNet 这两年的发展比较慢,在PyTorch和TensorFlow的双重夹击下,实现突围非常难。

那MXNet有没有突围的办法?曾创建Caffe2的贾扬清表示:框架的沉浮很正常,每一个平台都有自己的强项和弱项。一个框架在系统上很强,相应的生态就会稍弱一些。mxnet的路线如何走,其实和这一堆的机器学习框架的分分合合都有相似性,关键是“我能解决谁的痛点,以及什么痛点”。造轮子不是目的,解决新的痛点才是目的。

……

框架的沉浮。回答里面提到Caffe2,它的设计早于Tensorflow,计算图是从Purine的想法借鉴的,当时Google Brain还是按照神经元base的方式来做。从需求的角度讲,当时的核心挑战是系统部署能力,这是在Facebook里头非常重视的一点,应该说是在企业级框架当中第一个可以同时以一套系统部署在云上广告推荐训练以及端上AI/AR场景的平台。

但是每一个平台都有自己的强项和弱项。一个框架在系统上很强,相应的生态就会稍弱一些:大公司内部的需求和科研人员/长尾应用的需求是不一样的。一个需要处理PB级数据的系统,绝对会放弃易用性,而易用性对于开发者社区是极端重要的。从这个角度,我觉得mxnet已经在不可能的方向上利用自己的资源做了很多事情,无论是推动Gluon,还是做“动手学深度学习”。结果不论,但是在系统和生态的平衡上主动做了很多事情。

这个取舍,从第一天我们设计系统的时候是考量过的。在FB我们当时还做过这样的分析:“从人力上,我们无法长期和Google进行全面的对抗,因此我们的策略是解决Facebook的业务核心问题,广告、端上智能,等等。Tensorflow的长线在于大兵团作战,而我们的长线在于快速迭代解决业务需求。我们要一直保证在我们自己的需求上面,和TensorFlow保持六个月的优势”。

回头看我觉得这个策略非常成功,也推动了系统上的创新,ImageNet in an Hour被Jensen评价”也许是2017年深度学习系统最重要的论文“。据我理解,Facebook今天广告、手机AI等方面,前端在逐渐转向pytorch原语,后端系统继续使用caffe2的高性能架构。这和我离开前和Facebook同事设计的PyTorch 1.0的策略是一致的。

当然,这一段当中还是走了弯路,一度因为开源的热情,我还是推过Caffe2的社区,后来反思起来,任何一个系统都有长有短,通过Caffe2要解的是业务系统的问题,不是社区的问题,不应该全部通吃。后来我们将外部品牌统一为PyTorch,也是这样的一个思考。窃以为,mxnet的路线如何走,其实和这一堆的机器学习框架的分分合合都有相似性,关键是“我能解决谁的痛点,以及什么痛点”。造轮子不是目的,解决新的痛点才是目的。

……

(雷锋网)、(雷锋网)、(雷锋网)