原文:
huggingface.co/docs/transformers
OpenAI GPT2
原始文本:
huggingface.co/docs/transformers/v4.37.2/en/model_doc/gpt2
概述
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 的直接扩展,参数超过 10 倍,训练数据量超过 10 倍。
Write With Transformer 是由 Hugging Face 创建和托管的一个网页应用程序,展示了几个模型的生成能力。GPT-2 是其中之一,有五种不同的大小可用:small、medium、large、xl 和 small checkpoint 的蒸馏版本:distilgpt-2。
这个模型是由 thomwolf 贡献的。原始代码可以在这里找到。
使用提示
- 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)。
资源
一个官方 Hugging Face 和社区(由