OpenAI GPT-2模型由Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei和Ilya Sutskever提出,详细内容请见语言模型是无监督的多任务学习器,来自OpenAI。它是一个因果(单向)变换器,使用了很大的语料库(约40GB的文本数据)进行了语言模型预训练。
论文摘要如下:
GPT-2是一个基于变换器的大型语言模型,具有15亿个参数,使用包含800万个网页的数据集[1]进行了训练。GPT-2的训练目标很简单:根据文本中之前的所有单词来预测下一个单词。数据集的多样性使得这个简单的目标包含了许多任务在不同领域中的自然示范。 GPT-2是GPT的直接扩大,参数数量是GPT的10倍以上,使用了10倍以上的数据进行训练。
提示:
- GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在右侧而不是左侧填充输入。
- GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记时具有强大的能力。利用这个特性,GPT-2能够生成句法连贯的文本,可以在run_generation.py示例脚本中观察到。
- 该模型可以接受past_key_values(对于PyTorch)或past(对于TF)作为输入,其中包含之前计算的键/值注意对。使用这个(past_key_values或past)值可以防止模型在文本生成的上下文中重新计算已预先计算的值。有关使用说明,请参阅PyTorch的[
GPT2Model.forward
]方法的past_key_values参数,或TF的[TFGPT2Model.call
]方法的past参数。 - 启用scale_attn_by_inverse_layer_idx和reorder_and_upcast_attn标志将应用Mistral的训练稳定性改进(仅适用于PyTorch)。
Write With Transformer是由Hugging Face创建和托管的网页应用程序,展示了多个模型的生成能力。GPT-2是其中之一,有五个不同的大小可用:small,medium,large,xl以及small模型的蒸馏版本:distilgpt-2。
以下是官方Hugging Face和社区(由🌎表示)资源列表,以帮助你开始使用GPT2。如果你希望提交资源以包含在此处,请随时提交Pull Request,我们将进行审核!资源应该是新颖的,而不是重复的现有资源。
- 一篇博客介绍如何使用Hugging Face对非英语GPT-2模型进行微调。
- 一篇介绍如何生成文本:使用Transformers的不同解码方法进行语言生成的博客,其中包括GPT-2。
- 一篇关于从零开始训练CodeParrot 🦜的大型GPT-2模型的博客。
- 一篇关于如何使用TensorFlow和XLA快速生成文本的博客,其中包括GPT-2。
- 一篇关于如何使用Megatron-LM训练语言模型的博客,其中包括一个GPT-2模型。
- 一篇有关如何使用GPT2微调生成你最喜爱的艺术家风格的歌词的笔记本。 🌎
- 一篇有关如何使用GPT2微调生成你最喜爱的Twitter用户风格的推文的笔记本。 🌎
- 因果语言模型一章的🤗Hugging Face课程。
- [
GPT2LMHeadModel
]由此因果语言建模示例脚本、文本生成示例脚本和笔记本支持。 - [
TFGPT2LMHeadModel
]由此因果语言建模示例脚本和笔记本支持。 - [
FlaxGPT2LMHeadModel
]由此因果语言建模示例脚本和笔记本支持。 - 文本分类任务指南
- token分类任务指南
- 因果语言建模任务指南
[[autodoc]] GPT2Config
[[autodoc]] GPT2Tokenizer - save_vocabulary
[[autodoc]] GPT2TokenizerFast
[[autodoc]] models.gpt2.modeling_gpt2.GPT2DoubleHeadsModelOutput
[[autodoc]] models.gpt2.modeling_tf_gpt2.TFGPT2DoubleHeadsModelOutput
[[autodoc]] GPT2Model - forward
[[autodoc]] GPT2LMHeadModel - forward
[[autodoc]] GPT2DoubleHeadsModel - forward
[[autodoc]] GPT2ForQuestionAnswering - forward
[[autodoc]] GPT2ForSequenceClassification - forward
[[autodoc]] GPT2ForTokenClassification - forward
[[autodoc]] TFGPT2Model - call
[[autodoc]] TFGPT2LMHeadModel - call
[[autodoc]] TFGPT2DoubleHeadsModel - call
[[autodoc]] TFGPT2ForSequenceClassification - call
[[autodoc]] modeling_tf_outputs.TFSequenceClassifierOutputWithPast
[[autodoc]] TFGPT2Tokenizer
[[autodoc]] FlaxGPT2Model - call
[[autodoc]] FlaxGPT2LMHeadModel - call