Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

MXNet专栏 | 李沐:为什么强大的MXNet一直火不起来?

在机器之心今年 8 月份发布的文章《业界 | 五大主流深度学习框架比较分析:MXNET 是最好选择》中,微软数据科学家 Anusua Trivedi 对主流深度学习框架进行了比较分析。Trivedi 对 CNTK,MXNet,TensorFlow,Theano,Caffe 这 5 个框架进行对比之后,得出 MXNET 是最好的选择。但即使如此,TensorFlow、Torch 等框架的声音却「大」过了 MXNet。近日,MXNet 的打造者之一李沐在知乎上回答了「为什么强大的 MXNet 一直火不起来?」。本文为机器之心经授权转载文章,如若转载请联系作者获得授权。

更多关于 MXNet 专栏系列的文章,可查看:MXNet专栏 | 陈天奇:NNVM打造模块化深度学习系统

blob.png

简单来说就是我们没有足够的人手能够在短时间内同时技术上做出足够的深度而且大规模推广,所以我们前期是舍推广保技术。

详细来说我稍微发散下,可以把当下的深度学习(DL)比作修真世界(传统武侠也类似)。学术界是各个门派,公司是世家,不过这个世界里世家比较强势。目前是盛世,各个流派之争,新人和技术层出不穷,各大擂台(例如 imagenet)和大会(据说今年 nips 8k 人参加,一个月前就把票卖光了)热火朝天。平台作为修真练级法宝,自然也是各家 PK 重要之地。

各个平台是怎么「火」起来的

简单的来吧 DL 分三个阶段来看,前 DL 时代就是 Alexnet 没有刷出 imagenet 第一的时候,当时候主流算是 torch 和 theano,从上一个神经网络的时代的两大修正大门流传下来,还是有坚实的用户基础。之后魔界(kernel)入侵,神经网络衰败。但 10 年后 Alexnet 横空出世,借着大数据和 GPU 的重剑无锋,横扫三界。同时也促使了很多新的平台的出现,caffe 是之一,很多公司也有做自己的,例如百度的 paddle,G 的 distbelief,我们也有做一个类似的项目叫 cxxnet。大体上这些平台使用体验差不多,给一个 configure 就能跑。这里面 caffe 是最成功,我觉得重要两点是时间点很好,就是 dl 在 cv 爆发的那段时间,然后 caffe 有在 imagenet pretrain 的模型,这个很方便大家的研究。毕竟大部分工作要么是改改 operator 重新跑一下,要么是基于 pretrained 的模型来 finetune 一个别的任务。

之后出来的比较成功的平台主要是靠提供更加灵活的开发环境来吸引新人。例如 tensorflow 和 keras。

tf 作为当下修真界最大门的平台,成功没有什么意外(1)G brain 在这个领域上耕耘了 5,6 年,做为第二代产品在质量确实很优秀。(2)在 jeff dean 的号召下 brain 网罗了一大帮人,跟他们团队接触过很多次,整体人员质量甩出其他家很远,以至于经常是好几个我觉得能独当一面的大牛一起在做一些很小的事情。例如我在 cmu 系统方向的老板 dave 在 brain 好长一段时间就是 debug 为什么 inception v3 从 distbelief 移植到 tf 老是跑不出想要的精度。(另,类似的坑我们也踩过,我还笑过 dave 你如果问我们一下可以省下你大笔时间,dave 回我们人多任性不求人。)(3)G 的宣传机器如果称第二,那业界估计没人敢说第一。这次 G 不遗余力的宣传 tf,连带推动了整个 DL 的火热。

keras 比较有意思,基本是 François Chollet 一人之力做的,有点是散修自己折腾出来的(他人现在在 G,不过他去 G 之前就开始 keras 了)。它的优势就是简单,底层靠 theano 或者 tensorflow,上层提供一个非常简单的接口,非常适合新用户使用。修真界新人练气的不二法宝。

MXNet 现状

mxnet 是散修小团体一起合力做出来的平台。如果去看排名前 20 的开发者,基本都是出自不同的门派和世家。这个是 mxnet 最大的特色。我对此表示很自豪,这里汇聚了一大帮跑得出实验写得出代码的小伙伴。

不论是开始时间还是平台特性,mxnet 最靠近 tensorflow。有完整的多语言前端,后端类似编译器,做这种内存和执行优化。应用场景从分布式训练到移动端部署都覆盖。整个系统全部模块化,有极小的编译依赖,非常适合快速开发。相对于 tf 这种重量型的后端,mxnet 的轻量化路线使得可以我们在花费 G brain 1/10 的人力的情况下做到类似 tf 技术深度的系统。

从推广的角度来说,需要的是清晰的文档,大量的样例,媒体曝光,和客服。这个对于散修团体而说前期比较困难。不过最近也慢慢赶上了。

根据 keras 作者的平台排名,目前 mxnet 属于第四,前三分别是 tf,caffe,keras。因为 dl 也是刚兴起不久,目前的用户可能一大半是刚入门不久,选择 tf/keras 很符合情理。对于学术界而言,通常性能不是很关键,最重要是开发成本,如果前面的工作用了 caffe/torch,那基本会一直用下去。

我们也回访过我们用户,很多都是工业界用户,基本都是属于有很强的技术能力,他们关心性能,开发和移植的便利性,和是不是能在开发社区里获得一定的话语权。事实上,mxnet 离人也很近,例如

  • 某占有率很高手机利用 mx 处理图片

  • 好几个常见的 app 云端利用 mx 处理数据

  • aws/azure 都写了好几篇 blog 普及在云上面运行 mxnet

  • 国内几个技术能力很强的 ai 创业公司内部用 mx

整体而言,不管是 dl 技术,应用,还是平台,目前说什么都尚早。技术和潮流都是日新月异,修仙之路也刚开始。我觉得最核心的是,有一群有最求的人,一起合力做一件事情,不断往前。

PS. 我在考虑要不要写一个关于 DL/ML 的修仙系列。例如「魔界小王子,誉为最有希望带领魔界重杀回来领袖的叛逃心路历程」,「我跟修真界第一门掌门的故事」,「如何利用入门道具组装小型阵法加速修炼」,「解析为什么大门长老屡屡逃奔世家」……

入门MXNet产业深度学习框架李沐
暂无评论
暂无评论~