模型:
model-attribution-challenge/gpt2-xl
模型描述:GPT-2 XL是OpenAI推出的GPT-2的15亿参数版本,它是一个基于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)
这种偏见也将影响该模型的所有微调版本。用户(直接和间接使用)应了解模型的风险、偏见和限制。
风险和限制
当他们发布这款15亿参数的模型时,OpenAI在其 blog post 中写道:
GPT-2可以被滥用进行微调。我们在中美关系研究中心的反恐、极端主义和反恐怖主义(CTEC)合作伙伴发现,极端主义团体可以将GPT-2用于滥用,具体是为白人至上主义、马克思主义、圣战伊斯兰主义和无政府主义这四种意识形态微调GPT-2模型。CTEC证明了可以创建能为这些意识形态生成合成宣传的模型。他们还表明,尽管在合成输出上的检测准确率较低,但基于机器学习的检测方法仍然可以给专家提供合理怀疑某个行为者正在生成合成文本的依据。
该博文进一步探讨了模型的风险、限制和偏见。
训练数据
OpenAI团队希望对尽可能大的语料库进行模型训练。为了构建这个语料库,他们从至少获得3个投票的Reddit外链网页中提取了所有网页。需要注意的是,此数据集中删除了所有维基百科页面,因此模型没有在维基百科的任何部分上进行训练。生成的数据集(称为WebText)包含40GB的文本,但尚未公开发布。您可以在 here 中找到WebText中前1000个域名的列表。
训练过程
该模型以自监督的方式,在一个非常大的英语数据语料库上进行预训练。这意味着它仅以原始文本进行预训练,没有人为标注(这就是它可以使用大量公开可用数据的原因),并使用自动过程从这些文本中生成输入和标签。更准确地说,模型被训练来猜测句子中的下一个单词。
更准确地说,输入是一定长度的连续文本序列,目标是相同序列向右移动一个标记(单词或部分单词)。模型内部使用掩码机制,确保对于标记i的预测仅使用从1到i的输入,而不使用未来的标记。
通过这种方式,模型学习了英语语言的内部表示,这可以用于提取对下游任务有用的特征。
文本使用字节级的Byte Pair Encoding(BPE)进行分词(用于Unicode字符),词汇大小为50,257。输入是1024个连续标记的序列。
以下评估信息摘自 associated paper 。
测试数据、因素和指标:
模型作者在 associated paper 中写道:
由于我们的模型在字节级上操作,不需要进行有损预处理或分词处理,我们可以对任何语言模型基准进行评估。语言模型数据集的结果通常是每个规范预测单位(通常是字符、字节或单词)的平均负对数概率的缩放或指数化版本。我们通过计算数据集在WebText语言模型上的对数概率,并除以规范单元的数量来评估相同的量。对于其中许多数据集,WebText语言模型将被测试在分布明显不同的数据上,需要对激进标准化文本、分词工件(如断开的标点符号和缩写)、洗牌句子,甚至字符串进行预测,而这在WebText中非常罕见,只出现了40亿字节中的26次。我们报告我们的主要结果...使用可逆去标记器,尽量去除这些分词/预处理工件。由于这些去标记器是可逆的,我们仍然可以计算数据集的对数概率,并且它们可以被认为是一种简单的领域适应形式。
结果:
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 |
根据 Lacoste et al. (2019) 中的 Machine Learning Impact calculator ,可以估计碳排放量。硬件类型和使用小时数基于 Reddit 上的一个模型作者提供的信息。
有关建模架构、目标和训练细节,请参见 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团队编写的。