You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mindspore/model_zoo/official/nlp/gpt/README.md

89 lines
4.1 KiB

# It is still under development
4 years ago
# Contents
4 years ago
- [Contents](#contents)
- [GPT Description](#bert-description)
- [Model Architecture](#model-architecture)
- [Dataset](#dataset)
- [Environment Requirements](#environment-requirements)
- [Quick Start](#quick-start)
- [Script Description](#script-description)
- [Script and Sample Code](#script-and-sample-code)
4 years ago
- [ModelZoo Homepage](#modelzoo-homepage)
# [GPT Description](#contents)
The GPT network was proposed by OpenAI and it has three versions, i.e., GPT, GPT2 and GPT3. The newest version GPT3 was proposed in Jul 2020 and it is quite a large language model with 175 billion parameters. Stacking many Decoder structure of Transformer and feeding massive amount of training data, GPT3 becomes such a powerful language model that no fine-tuning process is needed. As the papre title says, language models are few-shot learners, GPT3 proves that with a large and well-trained model, we can achieve a similar performance compared to those of fine-tuning methods.
4 years ago
[Paper](https://arxiv.org/abs/2005.14165): Tom B.Brown, Benjamin Mann, Nick Ryder et al. [Language Models are Few-Shot Learners](https://arxiv.org/abs/2005.14165). arXiv preprint arXiv:2005.14165
4 years ago
# [Model Architecture](#contents)
GPT3 stacks many layers of decoder of transformer. According to the layer numbers and embedding size, GPT3 has several versions. The largest model contains 96 layers with embedding size of 12288 resulting to a total parameter of 175 billion.
4 years ago
# [Dataset](#contents)
4 years ago
- OpenWebText is utilized as the training data and the training objective is to predict the next token at each position.
# [Environment Requirements](#contents)
4 years ago
- HardwareAscend
- Prepare hardware environment with Ascend processor. If you want to try Ascend, please send the [application form](https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/file/other/Ascend%20Model%20Zoo%E4%BD%93%E9%AA%8C%E8%B5%84%E6%BA%90%E7%94%B3%E8%AF%B7%E8%A1%A8.docx) to ascend@huawei.com. Once approved, you can get access to the resources.
4 years ago
- Framework
- [MindSpore](https://gitee.com/mindspore/mindspore)
4 years ago
- For more information, please check the resources below
- [MindSpore Tutorials](https://www.mindspore.cn/tutorial/training/en/master/index.html)
- [MindSpore Python API](https://www.mindspore.cn/doc/api_python/en/master/index.html)
4 years ago
# [Quick Start](#contents)
4 years ago
After installing MindSpore via the official website, you can start training and evaluation as follows:
4 years ago
```bash
4 years ago
# run standalone training example
4 years ago
bash scripts/run_standalone_train.sh 0 10 /path/dataset
# run distributed training example
4 years ago
bash scripts/run_distribute_training.sh /path/dataset /path/hccl.json 8
# run evaluation example, now only accuracy and perplexity for lambada and wikitext103 are supported
4 years ago
bash scripts/run_evaluation.sh lambada /your/ckpt /your/data acc
4 years ago
```
For distributed training, an hccl configuration file with JSON format needs to be created in advance.
Please follow the instructions in the link below:
https:gitee.com/mindspore/mindspore/tree/master/model_zoo/utils/hccl_tools.
# [Script Description](#contents)
## [Script and Sample Code](#contents)
```shell
.
└─gpt
├─README.md
├─scripts
├─run_standalone_train.sh # shell script for standalone training on ascend
├─run_distribut_train.sh # shell script for distributed training on ascend
└─run_evaluation.sh # shell script for evaluation of ascend
├─src
├─gpt_wrapper.py # backbone code of network
├─gpt.py # backbone code of network
├─dataset.py # data preprocessing
├─inference.py # evaluation function
├─utils.py # util function
├─train.py # train net for training phase
└─eval.py # eval net for evaluation
```
# [ModelZoo Homepage](#contents)
Please check the official [homepage](https://gitee.com/mindspore/mindspore/tree/master/model_zoo).