参加 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(微信同号)。
你也可以点击阅读原文,查看大会详情。
推荐阅读: