简体中文
튜토리얼 中文教程 데모 비디오
NeuronBlocks는 NLP 딥 러닝 모델링 툴킷 으로 엔지니어/연구원이 NLP 작업을위한 신경망 모델 교육을위한 엔드 투 엔드 파이프 라인을 구축 할 수 있도록 도와줍니다. 이 툴킷의 주요 목표는 교육 및 추론 단계를 포함하여 NLP 심해 신경망 모델 구축의 비용 개발 비용을 최소화하는 것입니다.
Neuronblocks는 두 가지 주요 구성 요소의 블록 동물원 과 모델 동물원 으로 구성됩니다.
사용자는 모델 동물원 에서 기존 모델 (구성 파일)을 선택하여 레고를 사용하는 것처럼 블록 동물원 에서 신경망 블록을 활용하여 모델 교육을 시작하거나 새로운 모델을 만들 수 있습니다.
참고 : Neuronblocks에는 Python 3.6 이상이 필요합니다 .
이 프로젝트를 복제하십시오.
git clone https://github.com/Microsoft/NeuronBlocks다음 명령으로 요구 사항에 따라 Python 패키지를 설치하십시오.
pip install -r requirements.txtPytorch 설치 ( NeuronBlocks는 Pytorch 0.4.1 이상을 지원합니다 ).
Linux 의 경우 다음 명령을 실행하십시오.
pip install " torch>=0.4.1 "Windows 의 경우 Pytorch의 지시에 따라 Conda를 통해 Pytorch를 설치하는 것이 좋습니다.
주어진 예제를 시도하여 시작하십시오. Linux/Windows, GPU/CPU가 모두 지원됩니다. Windows 의 경우 CMD 대신 PowerShell을 사용하는 것이 좋습니다.
팁 : 다음 지침에서 Projectroot는이 프로젝트의 루트 디렉토리를 나타냅니다.
# train
cd PROJECT_ROOT
python train.py --conf_path=model_zoo/demo/conf.json
# test
python test.py --conf_path=model_zoo/demo/conf.json
# predict
python predict.py --conf_path=model_zoo/demo/conf.json예측을 위해 Neuronblock에는 대화식 과 배치의 두 가지 모드가 있습니다.
# use the above example
# interactive prediction
python predict.py --conf_path=model_zoo/demo/conf.json --predict_mode= ' interactive ' # use the above example
# batch prediction
python predict.py --conf_path=model_zoo/demo/conf.json --predict_mode= ' batch ' --predict_data_path=dataset/demo/predict.tsv자세한 내용은 Tutorial.md 및 Code Documentation을 참조하십시오.
NLP 문제를 해결하기 위해 신경망 모델을 사용할 때 다음과 같은 과제에 직면 한 엔지니어 또는 연구원 :
NLP 신경망 모델 교육을위한 뉴런 블록을 활용하는 장점은 다음과 같습니다.
모델 빌딩 : 모델 빌딩 및 매개 변수 튜닝의 경우 사용자는 간단한 JSON 구성 파일 만 작성하면 새로운 아이디어 구현 노력을 크게 최소화해야합니다.
모델 공유는 불쾌한 코드 대신 JSON 파일을 통해 모델을 공유하기가 매우 쉽습니다. 다른 모델이나 작업의 경우 사용자는 하나의 중앙 집중식 소스 코드베이스 만 유지하면됩니다.
코드 재사용 성 : 일반적인 블록은 다양한 모델이나 작업에서 쉽게 공유 할 수있어 중복 코딩 작업이 줄어 듭니다.
플랫폼 유연성 : NeuronBlocks는 CPU 및 GPU를 사용하여 Linux 및 Windows 시스템에서 실행될 수 있습니다. 또한 Philly 및 Pai와 같은 GPU 플랫폼에 대한 교육을 지원합니다.
| CPU 추론 | 단일 GPU 추론 | 다중 GPU 추론 | |
| CPU 열차 | ✓ | ✓ | ✓ |
| 단일 GPU 열차 | ✓ | ✓ | ✓ |
| 멀티 GPU 열차 | ✓ | ✓ | ✓ |
모델 시각화 : 모델 시각화는 시각화 및 정확성 확인을 위해 제공되므로 사용자가 디버깅 중에 모델 아키텍처를 쉽게 시각화 할 수 있습니다.
Extensibility : NeuronBlocks는 확장 가능하므로 사용자는 새로운 블록에 기여하거나 새로운 모델 (JSON 파일)을 기여할 수 있습니다.
Neuronblocks는 열린 모델에서 작동합니다. STCA NLP 그룹 인 Microsoft 가 설계하고 개발했습니다. 학계와 산업의 기여도 매우 환영합니다. 자세한 내용은 Contributing.md를 참조하십시오.
친숙한 사람은 코드를 기여하는 것이 좋습니다.
Neuronblocks- 레고 플레이와 같은 NLP DNN 모델 구축. EMNLP 2019 , https://arxiv.org/abs/1904.09535.
@article{gong2019neuronblocks,
title={NeuronBlocks--Building Your NLP DNN Models Like Playing Lego},
author={Gong, Ming and Shou, Linjun and Lin, Wutao and Sang, Zhijie and Yan, Quanjia and Yang, Ze, Cheng, Feixiang and Jiang, Daxin},
journal={arXiv preprint arXiv:1904.09535},
year={2019}
}
저작권 (C) Microsoft Corporation. 모든 권리 보유.
MIT 라이센스에 따라 라이센스.
궁금한 점이 있으면 [email protected]에 문의하십시오
WeChat이있는 경우 다음 계정을 추가 할 수도 있습니다.