109 Star 881 Fork 1.5K

MindSpore/models

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.gitee
.github
.ipynb_checkpoints
.jenkins
benchmark/ascend
community
how_to_contribute
official
audio
cv
gnn
lite
nlp
Bert
Bert_thor
GPT
scripts
src
README.md
README_CN.md
eval.py
mindspore_hub_conf.py
requirements.txt
train.py
LSTM
Pangu_alpha
Transformer
recommend
README.md
README_CN.md
benchmark.md
benchmark_CN.md
research
utils
.clang-format
.gitignore
CONTRIBUTING.md
CONTRIBUTING_CN.md
LICENSE
OWNERS
README.md
README_CN.md
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

开发中

目录

GPT描述

GPT网络由OpenAI提出,分为GPT、GPT2和GPT3三个版本。2020年7月提出的最新版GPT3是一个相当大的语言模型,有1750亿个参数。GPT3堆叠了Transformer的许多解码器结构,并提供了大量的训练数据。如此强大的语言模型,甚至不需要微调过程。正如论文标题所说,语言模型是小样本学习。GPT3证明,有了大型且训练有素的模型,我们可以获得与微调方法相媲美的性能。

论文: Tom B.Brown, Benjamin Mann, Nick Ryder et al. Language Models are Few-Shot Learners. arXiv preprint arXiv:2005.14165

模型架构

GPT3堆叠了Transformer的多层解码器。根据层数和嵌入大小,GPT3又分为几个版本。最大的模型包含96层,嵌入大小为12288,总参数为1750亿。

数据集

  • OpenWebText被用作训练数据,训练目标是预测每个位置的下一个token。

环境要求

快速入门

通过官方网站安装MindSpore后,您可以按照如下步骤进行训练和评估:


# 运行单机训练示例

bash scripts/run_standalone_train.sh 0 10 /path/dataset

# 运行分布式训练示例

bash scripts/run_distribute_training.sh /path/dataset /path/hccl.json 8

# 运行评估示例,目前支持Lambada和WikiText103的准确性和困惑度

bash scripts/run_evaluation.sh lambada /your/ckpt /your/data acc

对于分布式训练,需要提前创建JSON格式的hccl配置文件。 请按照以下链接中的说明操作: https:gitee.com/mindspore/models/tree/master/utils/hccl_tools.

脚本说明

脚本及样例代码

.
└─gpt
  ├─README.md
  ├─scripts
    ├─run_standalone_train.sh                 # Ascend单机训练shell脚本
    ├─run_distribut_train.sh                  # Ascend分布式训练shell脚本
    └─run_evaluation.sh                       # Ascend评估shell脚本
  ├─src
    ├─gpt_wrapper.py                          # 网络骨干代码
    ├─gpt.py                                  # 网络骨干代码
    ├─dataset.py                              # 数据预处理
    ├─inference.py                            # 评估函数
    ├─utils.py                                # util函数
  ├─train.py                                  # 训练阶段的训练网络
  └─eval.py                                   # 评估阶段的评估网络

ModelZoo主页

请浏览官网主页

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mindspore/models.git
git@gitee.com:mindspore/models.git
mindspore
models
models
master

搜索帮助