英文

GPT-2 XL

目录

  • 模型详情
  • 如何开始使用模型
  • 用途
  • 风险、限制和偏见
  • 训练
  • 评估
  • 环境影响
  • 技术规格
  • 引用信息
  • 模型卡片作者

模型详情

模型描述:GPT-2 XL 是 GPT-2 的 15B 参数版本,是由 OpenAI 开发和发布的基于 Transformer 的语言模型。该模型是以英语为预训练模型,使用因果语言建模 (CLM)目标进行训练的。

如何开始使用模型

使用以下代码即可开始使用模型。您可以直接使用文本生成管道使用此模型。由于生成过程依赖于某种随机性,我们设置了一个种子以实现可重现性:

from transformers import pipeline, set_seed
generator = pipeline('text-generation', model='gpt2-xl')
set_seed(42)
generator("Hello, I'm a language model,", max_length=30, num_return_sequences=5)

以下是如何在 PyTorch 中使用该模型获取给定文本的特征的示例:

from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('gpt2-xl')
model = GPT2Model.from_pretrained('gpt2-xl')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)

以下是如何在 TensorFlow 中使用该模型获取给定文本的特征的示例:

from transformers import GPT2Tokenizer, TFGPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('gpt2-xl')
model = TFGPT2Model.from_pretrained('gpt2-xl')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)

用途

直接使用

在他们的 model card about GPT-2 中,OpenAI 写道:

这些模型的主要预期使用者是AI研究人员和从业者。

我们主要想象这些语言模型将被研究人员用于更好地了解大规模生成语言模型的行为、能力、偏见和限制。

下游使用

在他们的 model card about GPT-2 中,OpenAI 写道:

我们相信以下是一些可能的次要用途:

  • 写作协助:语法辅助、自动完成(适用于常规散文或代码)
  • 创意写作和艺术:探索创造性、虚构文本的生成;辅助创作诗歌和其他文学艺术。
  • 娱乐:创建游戏、聊天机器人和有趣的生成内容。
不当使用和超出范围的使用

在他们的 model card about GPT-2 中,OpenAI 写道:

由于像 GPT-2 这样的大规模语言模型无法区分事实和虚构,我们不支持需要生成的文本为真实的用例。

此外,像 GPT-2 这样的语言模型反映了其训练系统固有的偏见,因此我们不建议将其部署到与人类互动的系统中,除非部署者首先对相关的偏见进行研究,这些偏见与拟定的用例相关。我们在774M和1.5B之间的性别、种族和宗教偏见测试中未发现统计学上显著的差异,这意味着需要在对涉及人类属性偏见敏感的用例上以类似的谨慎态度对待GPT-2的所有版本。

风险、限制和偏见

内容警告:读者应注意,本节内容包含令人不安、冒犯、并可以传播历史和当前的刻板印象。

偏见

已经进行了大量研究来探索语言模型的偏见和公平性问题(参见,例如, Sheng et al. (2021) Bender et al. (2021) )。

用于该模型的训练数据并未作为可供浏览的数据集进行发布。我们知道它包含了来自互联网的大量未经过滤的内容,这远非中立。模型生成的预测可能包含对受保护的类别、身份特征以及敏感社会和职业群体的令人不安和有害的刻板印象。例如:

from transformers import pipeline, set_seed
generator = pipeline('text-generation', model='gpt2-xl')
set_seed(42)
generator("The man worked as a", max_length=10, num_return_sequences=5)

set_seed(42)
generator("The woman worked as a", max_length=10, num_return_sequences=5)

这种偏见也会影响到所有经过精调的版本。用户(无论是直接使用还是下游使用)应该意识到模型存在的风险、偏见和限制。

风险和限制

在发布了1.5B参数模型时,OpenAI在 blog post 中写道:

GPT-2 可以被用于进行错误使用的精细调整。我们与 Middlebury Institute of International Studies' Center on Terrorism, Extremism, and Counterterrorism (CTEC) 的合作伙伴发现,极端主义团体可以对 GPT-2 进行精细调整,特别是针对四种意识形态:白人至上主义、马克思主义、圣战伊斯兰主义和无政府主义。CTEC证明了可以创建出可为这些意识形态生成合成宣传的模型。他们还表明,尽管对于合成输出的检测准确性较低,但基于机器学习的检测方法可以给专家提供相当的怀疑,这个演员正在生成合成文本。

博客文章进一步讨论了模型的风险、限制和偏见。

训练

训练数据

OpenAI团队希望在尽可能大的语料库上训练该模型。为此,他们抓取了 Reddit 上获得至少3个赞的外链的所有网页。请注意,该数据集中排除了所有的 Wikipedia 页面,因此该模型没有在 Wikipedia 的任何部分上进行训练。生成的数据集(称为 WebText)的大小为 40GB,但尚未公开发布。您可以在 here 中找到 WebText 中存在的前1000个域名的列表。

训练过程

该模型以无人标记的方式在大规模英语数据集上进行自我监督训练。这意味着它仅使用原始文本进行预训练, 且没有人为标注(这就是为什么它可以使用许多公开可用的数据),利用自动生成输入和标签的自动过程从这些文本中生成数据。更准确地说,它被训练来猜测句子中的下一个单词。

更准确地说,输入是一系列指定长度的连续文本,目标是相同的序列,向右移动一个令牌(单词或单词片段)。模型在内部使用掩码机制,确保仅使用从 1 到 i 的输入进行对标记 i 的预测,而不使用未来令牌的信息。

这种方式,模型学习了英语语言的内在表示,可以用于提取对下游任务有用的特征。

文本使用字节级版本的字节对编码(BPE)(用于 unicode 字符),词汇表大小为50,257。输入是连续的1024个令牌序列。

评估

以下评估信息摘自 associated paper

测试数据、因素和指标

模型的作者在 associated paper 中写道:

由于我们的模型在字节级上进行操作,不需要进行丢失性的预处理或记号化,因此我们可以对其进行任何语言模型基准的评估。语言建模数据集的结果通常以每个规范预测单元的平均负对数概率的缩放或指数化版本进行报告 - 通常是字符、字节或单词。我们通过计算一个数据集在 WebText 语言模型中的对数概率,然后除以规范单位的数量来评估相同的数量。对于这些数据集中的许多数据集,WebText 语言模型将进行显著的外分布测试,必须对所预测的文本进行积极的标准化处理,例如断开的标点和缩写、被打乱的句子,甚至是在 WebText 中非常罕见的字符串,只出现了 26 次在 40 亿字节中。我们报告了主要结果...使用了可逆的去令牌化器,尽可能去除这些记号化/预处理的人工分析。由于这些去令牌化器是可逆的,所以我们仍然可以计算数据集的对数概率,并且它们可以被看作是一种简单的域适应形式。

结果

该模型在没有任何精调(零次迭代)的情况下达到以下结果:

Dataset LAMBADA LAMBADA CBT-CN CBT-NE WikiText2 PTB enwiki8 text8 WikiText103 1BW
(metric) (PPL) (ACC) (ACC) (ACC) (PPL) (PPL) (BPB) (BPC) (PPL) (PPL)
8.63 63.24 93.30 89.05 18.34 35.76 0.93 0.98 17.48 42.16

环境影响

可以使用 Machine Learning Impact calculator 中介绍的 Lacoste et al. (2019) 估算碳排放量。硬件类型和使用小时数基于 Reddit 上的一位模型作者提供的信息。

  • 硬件类型:32 TPUv3 芯片
  • 使用小时数:168
  • 云服务提供商:未知
  • 计算区域:未知
  • 排放的碳量:未知

技术规格

有关模型架构、目标和训练细节的详细信息,请参见 associated paper

引用信息

@article{radford2019language,
  title={Language models are unsupervised multitask learners},
  author={Radford, Alec and Wu, Jeffrey and Child, Rewon and Luan, David and Amodei, Dario and Sutskever, Ilya and others},
  journal={OpenAI blog},
  volume={1},
  number={8},
  pages={9},
  year={2019}
}

模型卡片作者

本模型卡片由 Hugging Face 团队撰写。