首页 / 行业
微软亚洲互联网工程院NLP团队重磅推出开源项目NeuronBlocks
2019-05-13 09:02:00
近日,为了提高NLP深度学习模型过程中的效率,微软亚洲互联网工程院NLP团队重磅推出开源项目NeuronBlocks,使得上述复杂的任务像搭积木一样简单!
其实,构建NLP深度学习模型就是搭积木。
在构建自然语言理解深度学习模型过程中,研究人员或者工程师们经常需要在编程细节和代码调试上花费大量精力,而不是专注于模型架构设计与参数调整。
为了提升构建深度模型的效率,微软亚洲互联网工程院自然语言理解团队 (STCA NLP Group, Microsoft) 推出了开源项目NeuronBlocks——自然语言处理任务的模块化深度学习建模工具包。
论文地址:https://arxiv.org/abs/1904.09535
项目地址:https://github.com/Microsoft/NeuronBlocks
NeuronBlocks将常用的神经网络层封装为标准模块,通过配置简单的配置文件,就可以轻松构建复杂的深度神经网络模型。与此同时,工具包还提供了一系列针对常见NLP 任务的经典模型。NeuronBlocks能使工程师们在几秒钟内快速构建和训练各种自然语言处理模型。工具包的可扩展性很强,支持快速加入新的神经元模块用于新的网络模型的构建,最大程度地避免重复的代码工作。
目前工具包支持的任务包括:句子分类(二/多分类),文本匹配,序列标注,阅读理解,基于知识蒸馏的模型压缩,等等。
NeuronBlocks设计
NeuronBlocks是基于PyTorch的NLP深度学习建模工具包,可以帮助研究员或者工程师们快速构建自然语言理解任务的深度神经网络模型。该工具包的主要目标是将NLP深度神经网络模型构建的开发成本降到最低,包括模型训练阶段和推断阶段。NeuronBlocks整体框架如下图所示,包括Block Zoo和Model Zoo两个重要组件。
Block Zoo将常用的神经网络层抽象并封装为可重用的标准模块。这些模块将被用于构建各种针对不同自然语言理解任务的深度学习模型。工具包目前支持的标准神经网络模块包括:词嵌入、CNN、LSTM/GPU、Transformer和各种Attention等。
Model Zoo提供大量预构建好的深度神经网络模型,涵盖了常见的NLP任务。这些模型以JSON配置文件的形式呈现,用户可以通过简单修改Model Zoo中的示例模型配置,即可将其应用于自己的任务中。此外,工具包支持Linux和Windows操作系统、CPU与GPU处理器、以及PAI等GPU调度平台。
快速开始
NeuronBlocks目前支持:Python 3.6, PyTorch 0.4.1,Linux/Windows,GPU/CPU。
1、获取源码:
gitclonehttps://github.com/Microsoft/NeuronBlocks
2、安装依赖包:
pipinstall-rrequirements.txtpipinstalltorch==0.4.1
3、运行示例模型:
#训练cdPROJECT_ROOTpythontrain.py--conf_path=model_zoo/demo/conf.json#测试pythontest.py--conf_path=model_zoo/demo/conf.json#预测pythonpredict.py--conf_path=model_zoo/demo/conf.json
NeuronBlocks工作流程
用户可以选择Model Zoo中的示例模型(JSON配置文件)开启模型训练,或者利用Block Zoo中的标准神经网络模块自由构建新的模型架构,就像玩乐高积木一样。
模型可视化工具
NeuronBlocks提供了一个模型可视化工具,可以快速绘制模型架构图,如下图所示。
NeuronBlocks优势
模型构建:用户只需要配置简单的JSON文件,就能够构建模型和调整参数,大大减少了模型实现的工作量;
模型分享:可以通过分享JSON配置文件来分享模型,使模型共享变得非常容易。对于不同的任务或模型,用户只需维护一个通用的源码库;
代码重用:可以在各任务与模型间共享神经网络模块,减少重复的编程工作;
平台灵活性:可以在Linux和Windows机器上运行,支持CPU和GPU,也支持像Open PAI这样的GPU管理平台;
模型可视化:提供了一个模型可视化工具,用于观察模型结构及检查JSON配置的正确性;
可扩展性:支持用户贡献新的神经网络模块或者新的模型。
当然,有兴趣的读者可以加入NeuronBlocks开源项目,一起贡献代码!
最新内容
手机 |
相关内容
位移传感器结构类型及工作原理与应
位移传感器结构类型及工作原理与应用,工作原理,类型,结构,位移传感器,常见,效应,FDV302P位移传感器是一种用于测量物体位移或位置的变频器与电动机使用中需要了解的常
变频器与电动机使用中需要了解的常识,常识,变频器,转速,安装,调节,选择,BAT54S-7-F变频器与电动机是现代工业中常见的设备,常用于调电源滤波器的设计原则和参数选择
电源滤波器的设计原则和参数选择,设计原则,参数,选择,滤波器,噪声,高频,AM26LV32CDR电源滤波器是用来净化电源信号的装置,能够阻止高Efuse是什么?聊聊芯片级的eFuse
Efuse是什么?聊聊芯片级的eFuse,状态,编码器,故障,加密,芯片,配置信息,Efuse是一种可编程的电子熔断器,用于在芯片级别实现非易失性存硅谷:设计师利用生成式 AI 辅助芯片
硅谷:设计师利用生成式 AI 辅助芯片设计,芯片,生成式,硅谷,优化,修改,方法,在硅谷,设计师们正在利用生成式人工智能(AI)来辅助芯片设计可穿戴传感器能够实现准确的实时检
可穿戴传感器能够实现准确的实时检测,检测,实时,传感器,可穿戴,高精度,数据传输,可穿戴传感器(Wearable Sensors)是一种集成在人体上直播回顾 | 宽禁带半导体材料及功
直播回顾 | 宽禁带半导体材料及功率半导体器件测试,测试,性能测试,常见,参数,可靠性,器件,宽禁带半导体材料及功率半导体器件是现代探秘英伟达显卡的制造之路 | 英伟
探秘英伟达显卡的制造之路 | 英伟达断供GPU,中国大模型何去何从?,英伟达,模型,中国大,显卡,方案,能力,英伟达(NVIDIA)是全球领先的图形