李沐團隊新作Gluon,復現CV經典模型到BERT,簡單好用 | 強烈推薦
參加 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(微信同號)。
你也可以點選閱讀原文,檢視大會詳情。
推薦閱讀: