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

Github项目推荐 | NeuronBlocks:微软发布的模块化深度学习NLP工具集
2019年04月26日 22:58 AI科技评论aitechtalk

概览

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

Github项目地址:https://github.com/Microsoft/NeuronBlock

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模型支持

多任务培训支持

参考文献

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部