在 Amazon 之前已经有很多公司在默默的用 MXNet 了,只是没有大肆宣传。比如图森、地平线、搞 Mathematica 的 Wolfram 都给 MXNet 贡献了很多代码。 我对 MXNet 的前景很乐观,欢迎大家试用,也欢迎贡献代码,众人拾柴火焰高嘛,不知道从哪里下手的同学帮忙完善一下文档也是好的。有意全职做 MXNet 相关工作的可以联系我们,我们可以帮忙介绍美国 Amazon 以及北京、深圳各大机器学习 Startup 的工作:) P.S. 这篇文章里关于分布式效率的细节比较少,GPU 也是 K80,atv,比较老。但是我以节操担保线性加速的结果是靠谱的。我们自己在 Titan X 上用 resnet 也能跑出类似的效果。大家可以来试试。 2)在今后的发展中,你怎么看待和 Caffe、CNTK、TensorFlow 以及 Torch 的竞争? Eric: Caffe 有辉煌的历史,atv,但是随着深度学习模型发展的越来越复杂,对灵活性要求越来越高,已经很难适应需求了。yangqing 吸取了 Caffe 的经验教训,已经开始在 Facebook 内部搞 Caffe2 了。Caffe 的用户应该会在未来 1 到 2 年内迁移到其它平台; CNTK 目前热度不高,但是微软在持续投入,最近刚加入了 Python 前端,未来怎么样还不好说。 值得一提的是微软的 Azure 团队最近发了若干篇在 Windows 上用 MXNet 和 R 做深度学习的 blog。个人认为是因为 MXNet 对 Windows 和 R 都有完善的支持,用 Windows 的统计学家是微软的重要客户群。 剩下的平台都有各自的特色,我认为未来会共存很长时间,很难实现一款平台统一所有市场 Torch 比较像一个免费且原生支持 GPU 的 Matlab,在学术圈习惯 Matlab 或者不用 Python 的人群中很受欢迎。Torch 的封装少,简单直接,前期学习和开发时的思维难度都比较低。但是由于封装少和 Lua 本身的限制,工程性不好、容易乱写、代码可复用性差,导致 Torch 不适合做大项目的开发。 TensorFlow 希望做一个大而全的机器学习框架,而不只满足于深度学习。我认为 TF 会沿着替代 sk-learn 的方向发展,会比较适合快速实现标准算法。但是大而全的负面因素就是代码量大、抽象层数多、代码冗余,对性能和可定制性都会带来负面影响。可能并不适合需要深度定制、对性能敏感的企业和做前沿研究的 research。 MXNet 的方向是小而精、灵活高效。我们希望把核心深度学习的做到极致。MXNet 的代码量小,容易深度定制,同时支持 imperative(类似 Torch)和 declarative(类似 TF)两种 API,所以更灵活。另外 MXNet 的单机和分布式性能都是很好的。缺点是相对于 Torch 学习难度会大一些,另外以前没有资金支持,文档和宣传做的比较差。但是有了 Amazon 的支持,相信在这些方面会有大幅改善。 3)可否为大家讲解一下 MXNet 是如何达到拔群的 scaling efficiency 的? Eric:MXNet 的并行化部分用了李沐的 pslite 进行通信,基于 zeromq,效率很高。另外 MXNet 基于依赖引擎(Dependency Engine)调度,每一层的梯度计算完毕后马上就可以开始传输,实现最优的 communication and computation overlapping。 4)可以介绍一些基于 MXNet 的有趣应用吗? Eric: MXNet 有 Fast/Faster RCNN 和 SSD 的实现样例,另外还有一个用 DQN 玩 Flappy Bird 的例子,比较有趣: Fast/Faster RCNN案例:https://github.com/dmlc/mxnet/tree/master/example/rcnn SSD案例:https://github.com/dmlc/mxnet/tree/master/example/ssd DQN-Flappy Bird案例:https://github.com/li-haoran/DRL-FlappyBird 5)MXNet 开源社区现在发展状况如何?说点什么呼吁人们参与到 MXNet 的开发和应用中来? Eric:MXNet 的社区很活跃,我们已经有超过 200 个 contributor,包括很多公司的员工,以及学生和爱好者。MXNet 需要提升的主要是文档和教程。另外陈天奇正在研究运行时编译(RTC),不久后会发布,可以带来进一步的性能提升。近期我们会发布 0.9 版本,完成了后端到 nnvm 的迁移,以及很多新的 feature,比如一个用来调试性能的 profiler。
©本文为机器之心原创文章,转载请联系本公众号获得授权。 ?------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |