查看原文
其他

李沐团队新作Gluon,复现CV经典模型到BERT,简单好用 | 强烈推荐

爱技术的 AI科技大本营 2019-03-28

参加 2019 Python开发者日,请扫码咨询 ↑↑↑


责编 | Jane

出品 | AI科技大本营(公众号id:rgznai100)


【导语】上周,李沐老师公布 GluonNLP0.6 版本,借助 Apache MXNet,大家可以尝试在 Gluon 中复现 BERT 了。TensorFlow 和 PyTorch 两大框架一直是大多数人关注的焦点,即使 MXNet 在 2017 年加入动态图接口 Gluon 后,也一直没有成为大家的首选,而这次把“可复现的 BERT 模型带到我们身边”的 GluonNLP0.6 是否好用?这个周末,就和营长一起尝试下 MXNet 框架的 Gluon,除了 TF 和 PyTorch,它值得你一试。


前言


据官方介绍,MXNet 是一款轻量、灵活的深度学习框架。MXNet 0.11 版本发布时加入动态图接口Gluon,李沐老师称其为“可以一次性解决产品和研究的需求”。从特点分析,Gluon 可以同时支持静态图和动态图,不仅学习了 Keras、Chainer 和 PyTorch 的优点,接口更简单,支持动态图,并且比静态图更灵活、简单。


(Gluon 发布时,特征总结图)       


推荐理由


也许现在大家在研究和工作中,仍然主要使用 TF 和 PyTorch,但是经过营长尝试,Gluon 还是非常值得大家学习的,尤其是对于初学者,非常容易上手!对于研究者来说,Gluon已经支持很多经典、重要的模型,在加上 其教程非常易读,所以在大家的研究中也值得一试。此外,Gluon 的部署也很容易,如果模型已经达到你的需求,也可以尝试用于业务需求中。


边练边学


从 2017 年 7 月 Gluon 发布到现在,Gluon 不断增加、完善各类模型组成的 CV 和 NLP 工具包。截止目前,GluonCV 工具包已经更新到 v0.3,GluonNLP 工具包已经更新到 v0.6,也是刚刚发布的这个版本,已经复现 BERT。接下来,营长将与大家分享一下自己在 Gluon 上的初体验,有营长成功迈出的第一步,相信大家也可以用得顺利,玩得愉快。


一、安装 MXNet


1、先从安装 MXNet 开始,安装方法非常简单。一句 pip 命令行就可以搞定。


       

2、练习  MXNet 中内置的 NDArray,支持了很多函数和功能。


     

       

就像学习 Numpy 一样,要想深度掌握 NDArray,还需要大家多花一些时间去学习,发现他们之间的区别。

安装方法与详细教程:

https://gluon.mxnet.io/


大家都知道李沐老师在 UC 开了新课程,还有配套中文教材,理论与动手结合,简直就是小白华丽变身为专业的首选。

https://zh.d2l.ai


接下来营长还继续尝试了 Gluon 的 CV 和 NLP 两个工具包。经过团队很多人的努力与贡献,工具包在不断丰富和完善。真的是要感谢李沐老师和其整个团队~


团队的主要 contributors:

(受篇幅大小局限,截图部分只显示了 CV Top3,NLP Top6)

全部 contributors:

https://github.com/dmlc/gluon-cv/graphs/contributors

https://github.com/dmlc/gluon-nlp/graphs/contributors

内容贡献:

李沐,最近在知乎上为大家介绍了可复现的 BERT 的 GluonNLP 0.6

https://zhuanlan.zhihu.com/p/59809338

解浚源(Eric),在其知乎文章中为大家详细介绍了 GluonCV0.3

https://zhuanlan.zhihu.com/p/46946101


二、初尝 GluonCV--GluonCV 0.3:超越经典


暂不说  CV 工具包的功能、性能等方面,使用简单是小白营长的第一感受!通过文档教程,分分钟上手。目前最新的 v0.3 版本已经成为“超越经典”的 CV库,不仅复现,还能超越原作,甚至对一些模型的改动结果在提升准确度的同时,速度也得到了很大的提升。改版了 Model Zoo 页面,交互式地对比各模型预测精度与性能,改进模型部署能力。


1、可以支持的模型与应用主要有:


上 GluonCV 文档:

https://gluon-cv.mxnet.io/index.html


2、新交互式 Model Zoo 页面,在页面中可以根据你查看的标准进行放大或缩小:


     

       

3、模型与性能上,已经增加或改进的有:


  • 新模型:YOLO v3、Mask-RCNN、DeepLabV3、

  • 新性能:性能优化的模型有 Faster-RCNN、图像识别的 ResNet-50 和 ResNet-101、语义分割任务的 PSPNet 预训练模型,


      (来源:https://zhuanlan.zhihu.com/p/46946101


  • 新应用:行人重识别、GAN。

  • 新功能:部署。

除了满足研究的需求,在项目中有需求的小伙伴们一样可以使用。通过 GluonCV 中提供的功能,你可以快速上线,如果这些模型的效果已经达到了业务要求,你还可以省去训练步骤直接应用。


介绍了这么多,是不是真的好使?营长依旧为大家亲测~同样一行代码就让你轻松上手 GluonCV。


       

安装完以后,接下来也不用担心会不知所措。用 Demo 趁热打铁,而且还很简单,不信你可以往下看~


     

(模型准备上线中,营长已下线


可能接下来都不是营长写文章的时间,而是写代码的时间了,别阻止营长,简单到飞起,根本停不下来~


       

而且各位大佬们简直太 nice 了,完整代码都给准备好了,你还不学吗?


     


在 Tutorials 页面,还有更多哦~


       

三、下一步——GluonNLP 0.6:送你复现的 BERT


       (来源:李沐老师的知乎)


据李沐老师在文章中的介绍:


这次的复现,团体从头开始对 BERT 进行了预训练,训练中的语料库使用了包含 20 亿词(除去图片和表格)的英文维基百科,以及去重后包含 5 亿 7950 万词汇的书籍。在混合精度训练以及梯度累加的条件下,8 块 Volta V100 GPU 使用了 6.5 天将 BERT 基本版模型训练好,并在验证集上得到了如下结果:


     

(来源:李沐老师的知乎)


看了更多 GluonNLP 复现了的结果,是不是忍不住要去调戏一下 GluonNLP,营长也要去安装一下了。

教程请戳下面

https://gluon-nlp.mxnet.io/install.html

发布文档:

https://github.com/dmlc/gluon-nlp/releases


除了要安装 GluonNLP,还需要安装 Master Branch。别说了,营长安装好了,还得继续研究,你要不要加入?



后续还需要大家进行深度研究与使用,里面除了详细、易读的教程外,还有每个 API Reference,满足大家对源码研究与使用的需求~


       

就像在文章开头说的,也许大家现在在学习研究和工作中可能还是以 TF 和 PyTorch 为主,但是想要换个口味,小白快速上手,Gluon 是一个好选择!也欢迎大家加入我们的讨论,与大家一起交流、反馈使用感受!



--【完】--


(本文为 AI科技大本营原创文章,转载请微信联系 1092722531)

敲黑板划重点!7 折优惠限时抢购中,3 月 31 日前可享受优惠价 499 ,欢迎点击阅读原文报名参加。更多详细信息请咨询13581782348(微信同号)。

你也可以点击阅读原文,查看大会详情。

推荐阅读:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存