Github项目推荐 | NeuronBlocks:微软发布的模块化深度学习NLP工具集

2019 年 4 月 26 日 AI研习社

NeuronBlocks - NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego

by Microsoft

Github项目地址:

https://github.com/Microsoft/NeuronBlocks

概览

NeuronBlocks是一个NLP深度学习建模工具包,可帮助工程师构建用于NLP任务的神经网络模型训练的端到端管道。该工具包的主要目标是将NLP深度神经网络模型构建的开发成本降到最低,包括训练阶段和推理阶段。有关详细信息,请查看我们的论文:NeuronBlocks -- Building Your NLP DNN Models Like Playing Lego

NeuronBlocks由两个主要组件组成:Block ZooModel 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

如有任何问题,可联系: NeuronBlocks@microsoft.com


今日话题讨论

登录查看更多
8

相关内容

NLP:自然语言处理
模型优化基础,Sayak Paul,67页ppt
专知会员服务
74+阅读 · 2020年6月8日
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
208+阅读 · 2020年4月26日
【ACL2020-Allen AI】预训练语言模型中的无监督域聚类
专知会员服务
23+阅读 · 2020年4月7日
专知会员服务
197+阅读 · 2020年3月6日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【课程推荐】普林斯顿陈丹琦COS 484: 自然语言处理课程
专知会员服务
81+阅读 · 2019年12月11日
GitHub获赞过千:PyTorch 自然语言处理项目Top 5
新智元
12+阅读 · 2018年7月10日
Github 项目推荐 | 用 TensorFlow 实现的模型集合
AI研习社
5+阅读 · 2018年2月14日
推荐|斯坦福的Stanford.NLP.NET:集合多个NLP工具
全球人工智能
3+阅读 · 2017年12月25日
资源 | Github项目:斯坦福大学CS-224n课程中深度NLP模型的PyTorch实现
黑龙江大学自然语言处理实验室
10+阅读 · 2017年11月13日
Python 自然语言处理(NLP)工具库汇总
数据挖掘入门与实战
7+阅读 · 2017年9月25日
Learning Discriminative Model Prediction for Tracking
Arxiv
21+阅读 · 2018年8月30日
Bidirectional Attention for SQL Generation
Arxiv
4+阅读 · 2018年6月21日
Arxiv
3+阅读 · 2018年3月27日
VIP会员
相关资讯
GitHub获赞过千:PyTorch 自然语言处理项目Top 5
新智元
12+阅读 · 2018年7月10日
Github 项目推荐 | 用 TensorFlow 实现的模型集合
AI研习社
5+阅读 · 2018年2月14日
推荐|斯坦福的Stanford.NLP.NET:集合多个NLP工具
全球人工智能
3+阅读 · 2017年12月25日
资源 | Github项目:斯坦福大学CS-224n课程中深度NLP模型的PyTorch实现
黑龙江大学自然语言处理实验室
10+阅读 · 2017年11月13日
Python 自然语言处理(NLP)工具库汇总
数据挖掘入门与实战
7+阅读 · 2017年9月25日
Top
微信扫码咨询专知VIP会员