NeuronBlocks:微軟發布的模塊化深度學習NLP工具集
NeuronBlocks - NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego
byMicrosoft
Github項目地址:
https://github.com/Microsoft/NeuronBlocks
概覽
NeuronBlocks是一個NLP深度學習建模工具包,可幫助工程師構建用於NLP任務的神經網路模型訓練的端到端管道。該工具包的主要目標是將NLP深度神經網路模型構建的開發成本降到最低,包括訓練階段和推理階段。有關詳細信息,請查看我們的論文:NeuronBlocks -- Building Your NLP DNN Models Like Playing Lego
NeuronBlocks由兩個主要組件組成:Block Zoo和Model Zoo。
在Block Zoo中,我們提供常用的神經網路組件作為模型架構設計的構建塊。
在Model Zoo中,我們以JSON配置文件的形式為常見的NLP任務提供了一套NLP模型。
工具包用法
用戶可以選擇Model Zoo中的現有模型(配置文件)來開始模型訓練,或者通過利用Block Zoo中的神經網路塊創建新模型,就像玩樂高積木一樣。
支持NLP任務
句子分類
問答匹配
文本含義
插槽標記
機器閱讀理解
更多任務正在開發中
NeuronBlocks 的推薦使用人群
使用神經網路模型解決NLP問題時面臨以下挑戰的工程師或研究人員:
框架選擇多,研究成本高。
編碼成本高。大量的細節使得調試非常困難。
快速模型架構演變。工程師很難理解他們背後的數學原理。
模型代碼優化需要深厚的專業知識。
模型平台兼容性要求。它需要額外的編碼工作才能使模型在不同的平台上運行,例如Linux / Windows,GPU / CPU。
利用NeuronBlocks進行NLP神經網路模型訓練的優勢包括:
模型構建:對於模型構建和參數調整,用戶只需編寫簡單的JSON配置文件,這大大減少了實現新思想的工作量。
模型共享:通過JSON文件可以非常容易地進行模型共享模型,而非討厭的代碼。對於不同的模型或任務,我們的用戶只需要維護一個集中的源代碼庫。
代碼可重用性:可以在各種模型或任務之間輕鬆共享公共代碼塊,從而減少重複編碼工作。
平台靈活性:NeuronBlocks可以在Linux和Windows機器上運行,同時使用CPU和GPU。它還支持像Philly和PAI這樣的GPU平台上的培訓。
模型可視化:提供了一個模型可視化器,用於可視化和配置正確性檢查,幫助用戶在調試過程中輕鬆地查看可視化模型架構。
可擴展性:NeuronBlocks是可擴展的,允許用戶貢獻新塊或貢獻新模型(JSON文件)。
NeuronBlocks入門
請查看Tutorial.md和代碼文檔。
貢獻
NeuronBlocks在開放模型中運行。它由微軟的STCA NLP Group設計和開發。我們亦歡迎學術界及業界人士作出貢獻。有關更多的詳細信息,請查看Contributing.md 。
正在進行的工作
模型壓縮的知識提煉。重型模型的知識提煉,如BERT,OpenAI Transformer。基於師生的知識提煉是模型壓縮的常用方法。
多語言支持
NER模型支持
多任務培訓支持
參考文獻
論文:NeuronBlocks -- Building Your NLP DNN Models Like Playing Lego
https://arxiv.org/abs/1904.09535.
相關項目
OpenPAI是一個開源平台,可提供完整的AI模型培訓和資源管理功能,可以輕鬆擴展和支持各種規模的內部部署、雲和混合環境。
AI樣本:深度學習樣本和項目集合。它包含了許多經典的深度學習演算法和具有不同框架的應用程序,這對於開始深度學習的初學者來說是一個很好的入門工具。
License
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.
Contact
今日話題討論
TAG:AI研習社 |