初始化项目,由ModelHub XC社区提供模型
Model: iic/nlp_gpt2_text-generation_english-base Source: Original Platform
This commit is contained in:
32
.gitattributes
vendored
Normal file
32
.gitattributes
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zstandard filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.db* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ark* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
|
||||||
80
README.md
Normal file
80
README.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
---
|
||||||
|
tasks:
|
||||||
|
- text-generation
|
||||||
|
|
||||||
|
model-type:
|
||||||
|
- gpt
|
||||||
|
|
||||||
|
domain:
|
||||||
|
- nlp
|
||||||
|
|
||||||
|
frameworks:
|
||||||
|
- pytorch
|
||||||
|
|
||||||
|
backbone:
|
||||||
|
- transformer
|
||||||
|
|
||||||
|
containers:
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
- BLEU-4
|
||||||
|
- Rouge-L
|
||||||
|
|
||||||
|
license: Apache License 2.0
|
||||||
|
|
||||||
|
language:
|
||||||
|
- ch
|
||||||
|
|
||||||
|
tags:
|
||||||
|
- transformer
|
||||||
|
- AliceMind
|
||||||
|
- volume:abs/2005.14165
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# GPT-2文本生成模型介绍
|
||||||
|
GPT-2 是一个 transformer 模型,以自我监督的方式在大量英语数据集上进行预训练。 这意味着它仅在原始文本上进行了预训练,没有以任何方式进行标记,,并通过自动过程从这些文本生成输入和标签。 也可以说,它被训练来猜测句子中的下一个单词。
|
||||||
|
|
||||||
|
对于训练而言,输入是一定长度的连续文本序列,目标是相同的序列,向右移动一个标记(单词或单词片段)。 该模型在内部使用掩码机制来确保对第 i 个 token 的预测仅使用从 1 到 i 的输入,不包括后续的内容。
|
||||||
|
|
||||||
|
通过这种方式,该模型学习了输入语料的内部表示,然后可用于提取对下游任务有用的特征。 这是 GPT-2 的 base 版本,有 124M 参数。
|
||||||
|
|
||||||
|
|
||||||
|
## 模型描述
|
||||||
|
GPT-2模型使用 Transformer 的 Decoder 结构,并对 Transformer Decoder 进行了一些改动,原本的 Decoder 包含了两个 Multi-Head Attention 结构,GPT-2只保留了 Self Mask Multi-Head Attention,利用常规的语言建模优化,从左到右的自回归预训练。
|
||||||
|
|
||||||
|
## 期望模型使用方式以及适用范围
|
||||||
|
本模型主要用于多种场景输入的生成和续写。比如用户可以自行尝试输入各种内容,然后让模型去回答、续写或者根据指令回复
|
||||||
|
|
||||||
|
### 如何使用
|
||||||
|
在安装完成MaaS-lib之后即可使用GPT-2的text-generation的能力
|
||||||
|
|
||||||
|
#### 代码范例
|
||||||
|
```python
|
||||||
|
from modelscope.pipelines import pipeline
|
||||||
|
from modelscope.utils.constant import Tasks
|
||||||
|
text_generator = pipeline(Tasks.text_generation, model='damo/nlp_gpt2_text-generation_english-base', model_revision='v1.0.0', external_engine_for_llm=False)
|
||||||
|
result_zh = text_generator('My name is Teven and I am')
|
||||||
|
print(result_zh['text'])
|
||||||
|
```
|
||||||
|
|
||||||
|
### 模型局限性以及可能的偏差
|
||||||
|
模型在大量无标注的英文数据集上训练,有可能产生一些偏差,请用户自行评测后决定如何使用。
|
||||||
|
|
||||||
|
## 训练数据介绍
|
||||||
|
本模型采用无监督数据对GPT-2进行训练,其中无监督数据为公开可下载的语料
|
||||||
|
|
||||||
|
## 模型训练流程
|
||||||
|
|
||||||
|
本模型暂不支持在 ModelScope 进行训练
|
||||||
|
|
||||||
|
### 相关论文以及引用信息
|
||||||
|
如果GPT-2模型对您有帮助,请您引用该模型的相关文章:
|
||||||
|
```
|
||||||
|
@article{radford2019language,
|
||||||
|
title={Language Models are Unsupervised Multitask Learners},
|
||||||
|
author={Radford, Alec and Wu, Jeff and Child, Rewon and Luan, David and Amodei, Dario and Sutskever, Ilya},
|
||||||
|
year={2019}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
31
config.json
Normal file
31
config.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"activation_function": "gelu_new",
|
||||||
|
"architectures": [
|
||||||
|
"GPT2LMHeadModel"
|
||||||
|
],
|
||||||
|
"attn_pdrop": 0.1,
|
||||||
|
"bos_token_id": 50256,
|
||||||
|
"embd_pdrop": 0.1,
|
||||||
|
"eos_token_id": 50256,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"layer_norm_epsilon": 1e-05,
|
||||||
|
"model_type": "gpt2",
|
||||||
|
"n_ctx": 1024,
|
||||||
|
"n_embd": 768,
|
||||||
|
"n_head": 12,
|
||||||
|
"n_layer": 12,
|
||||||
|
"n_positions": 1024,
|
||||||
|
"resid_pdrop": 0.1,
|
||||||
|
"summary_activation": null,
|
||||||
|
"summary_first_dropout": 0.1,
|
||||||
|
"summary_proj_to_labels": true,
|
||||||
|
"summary_type": "cls_index",
|
||||||
|
"summary_use_proj": true,
|
||||||
|
"task_specific_params": {
|
||||||
|
"text-generation": {
|
||||||
|
"do_sample": true,
|
||||||
|
"max_length": 50
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vocab_size": 50257
|
||||||
|
}
|
||||||
85
configuration.json
Normal file
85
configuration.json
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"task": "text-generation",
|
||||||
|
"framework": "pytorch",
|
||||||
|
"preprocessor": {
|
||||||
|
"type": "text-gen-tokenizer",
|
||||||
|
"padding": false
|
||||||
|
},
|
||||||
|
"model": {
|
||||||
|
"type": "text-generation",
|
||||||
|
"do_sample": true,
|
||||||
|
"top_k": 20,
|
||||||
|
"top_p": 0.95,
|
||||||
|
"max_length": 100,
|
||||||
|
"repetition_penalty": 1,
|
||||||
|
"bos_token_id": 50256,
|
||||||
|
"eos_token_id": 50256,
|
||||||
|
"pad_token_id": 0,
|
||||||
|
"forced_bos_token_id": null,
|
||||||
|
"forced_eos_token_id": null,
|
||||||
|
"num_beams": 1,
|
||||||
|
"num_beam_groups": 1,
|
||||||
|
"length_penalty": 1.0,
|
||||||
|
"diversity_penalty": 0.0,
|
||||||
|
"early_stopping": false,
|
||||||
|
"num_return_sequences": 1,
|
||||||
|
"output_scores": false,
|
||||||
|
"output_attentions": false,
|
||||||
|
"output_hidden_states": false,
|
||||||
|
"return_dict_in_generate": false,
|
||||||
|
"is_encoder_decoder": false,
|
||||||
|
"no_repeat_ngram_size": 0,
|
||||||
|
"encoder_no_repeat_ngram_size": 0,
|
||||||
|
"bad_words_ids": null,
|
||||||
|
"min_length": 0,
|
||||||
|
"remove_invalid_values": false,
|
||||||
|
"temperature": 1.0,
|
||||||
|
"shared_embedding": true,
|
||||||
|
"exponential_decay_length_penalty": null,
|
||||||
|
"suppress_tokens": null,
|
||||||
|
"begin_suppress_tokens": null,
|
||||||
|
"typical_p": 1.0,
|
||||||
|
"backbone": {
|
||||||
|
"type": "gpt2",
|
||||||
|
"prefix": "transformer",
|
||||||
|
"activation_function": "gelu_new",
|
||||||
|
"architectures": [
|
||||||
|
"GPT2LMHeadModel"
|
||||||
|
],
|
||||||
|
"attn_pdrop": 0.1,
|
||||||
|
"bos_token_id": 50256,
|
||||||
|
"embd_pdrop": 0.1,
|
||||||
|
"eos_token_id": 50256,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"layer_norm_epsilon": 1e-05,
|
||||||
|
"model_type": "gpt2",
|
||||||
|
"n_ctx": 1024,
|
||||||
|
"n_embd": 768,
|
||||||
|
"n_head": 12,
|
||||||
|
"n_layer": 12,
|
||||||
|
"n_positions": 1024,
|
||||||
|
"resid_pdrop": 0.1,
|
||||||
|
"summary_activation": null,
|
||||||
|
"summary_first_dropout": 0.1,
|
||||||
|
"summary_proj_to_labels": true,
|
||||||
|
"summary_type": "cls_index",
|
||||||
|
"summary_use_proj": true,
|
||||||
|
"task_specific_params": {
|
||||||
|
"text-generation": {
|
||||||
|
"do_sample": true,
|
||||||
|
"max_length": 50
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vocab_size": 50257
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"type": "text-generation",
|
||||||
|
"hidden_dropout_prob": 0.1,
|
||||||
|
"vocab_size": 50257,
|
||||||
|
"hidden_size": 768
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pipeline": {
|
||||||
|
"type": "text-generation"
|
||||||
|
}
|
||||||
|
}
|
||||||
50001
merges.txt
Normal file
50001
merges.txt
Normal file
File diff suppressed because it is too large
Load Diff
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f35ad3f171c8768c601373f812de50b2d2d36fd09e130619283e4d0a6bc52e69
|
||||||
|
size 548139073
|
||||||
1
tokenizer.json
Normal file
1
tokenizer.json
Normal file
File diff suppressed because one or more lines are too long
1
vocab.json
Normal file
1
vocab.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user