HuggingFace镜像/gpt2-large
模型介绍文件和版本分析
下载使用量0

GPT-2 Large

目录

  • 模型详情
  • 模型使用入门
  • 用途
  • 风险、局限性与偏见
  • 训练
  • 评估
  • 环境影响
  • 技术规格
  • 引用信息
  • 模型卡片作者

模型详情

模型描述: GPT-2 Large 是 GPT-2 的 77400 万参数版本,这是一个由 OpenAI 创建并发布的基于 Transformer 的语言模型。该模型是在英语语言上使用因果语言建模(CLM)目标进行预训练的模型。

  • 开发机构: OpenAI,有关模型开发者的信息,请参见相关研究论文和GitHub 仓库。
  • 模型类型: 基于 Transformer 的语言模型
  • 语言: 英语
  • 许可证: 修改后的 MIT 许可证
  • 相关模型: GPT-2、GPT-Medium 和 GPT-XL
  • 更多信息资源:
    • 研究论文
    • OpenAI 博客文章
    • GitHub 仓库
    • GPT-2 的 OpenAI 模型卡片
    • 在此处测试完整的生成能力:https://transformer.huggingface.co/doc/gpt2-large

模型使用入门

使用以下代码开始使用该模型。您可以直接通过文本生成管道使用此模型。由于生成过程依赖于一定的随机性,我们设置了一个种子以确保可复现性:

from openmind import AutoTokenizer
import openmind
import torch
model = "gpt2-large"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = openmind.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)

sequences = pipeline(
    'Hello, I am a language model',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    repetition_penalty=1.5,
    eos_token_id=tokenizer.eos_token_id,
    max_length=500,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

用途

直接用途

在其关于GPT-2的模型卡片中,OpenAI写道:

这些模型的主要目标用户是AI研究人员和从业者。

我们主要设想这些语言模型将被研究人员用于更好地理解大规模生成式语言模型的行为、能力、偏差和局限性。

下游用途

在其关于GPT-2的模型卡片中,OpenAI写道:

以下是我们认为可能的一些次要使用场景:

  • 写作辅助:语法辅助、自动补全(针对普通散文或代码)
  • 创意写作与艺术:探索创意性虚构文本的生成;辅助诗歌及其他文学艺术形式的创作。
  • 娱乐:游戏开发、聊天机器人以及趣味内容生成。

误用与超出范围的使用

在其关于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-large')
>>> set_seed(42)
>>> generator("The man worked as a", max_length=10, num_return_sequences=5)

[{'generated_text': 'The man worked as a security guard in a hotel'},
 {'generated_text': 'The man worked as a salesman in Mexico and in'},
 {'generated_text': 'The man worked as a supervisor at the warehouse for'},
 {'generated_text': "The man worked as a cleaner for the store's"},
 {'generated_text': 'The man worked as a barbershop apprentice.'}]

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

[{'generated_text': 'The woman worked as a clerk at the bank.'},
 {'generated_text': 'The woman worked as a caregiver, and her'},
 {'generated_text': 'The woman worked as a customer service agent for a'},
 {'generated_text': 'The woman worked as a cleaner at the store,'},
 {'generated_text': 'The woman worked as a barista and was "'}]

这种偏差也会影响该模型的所有微调版本。用户(包括直接用户和下游用户)应了解该模型的风险、偏差和局限性。

训练

训练数据

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

训练过程

该模型在一个非常大的英语数据语料库上以自监督的方式进行预训练。这意味着它仅在原始文本上进行预训练,无需人工以任何方式对其进行标记(这也是它能够使用大量公开可用数据的原因),并通过自动过程从这些文本中生成输入和标签。更准确地说,它被训练来猜测句子中的下一个单词。

更具体地说,输入是特定长度的连续文本序列,目标是向右移动一个标记(单词或单词片段)的相同序列。该模型在内部使用掩码机制,以确保对标记 i 的预测仅使用来自 1 到 i 的输入,而不使用未来的标记。

通过这种方式,模型学习英语语言的内部表示,然后可用于提取对下游任务有用的特征。

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

评估

以下评估信息摘自相关论文。

测试数据、因素和指标

模型作者在相关论文中写道:

由于我们的模型在字节级别运行,不需要有损的预处理或标记化,因此我们可以在任何语言模型基准上对其进行评估。语言建模数据集的结果通常以平均负对数概率的缩放或指数化版本的形式报告,该平均负对数概率针对每个规范预测单元——通常是字符、字节或单词。我们通过根据 WebText LM 计算数据集的对数概率并将其除以规范单元的数量来评估相同的量。对于许多这些数据集,WebText LMs 的测试将显著超出分布范围,它们必须预测高度标准化的文本、标记化伪影(如断开的标点符号和缩写)、打乱的句子,甚至是在 WebText 中极为罕见的字符串 <UNK>——在 400 亿字节中仅出现 26 次。我们报告我们的主要结果……使用可逆的去标记器,该去标记器尽可能多地去除这些标记化/预处理伪影。由于这些去标记器是可逆的,我们仍然可以计算数据集的对数概率,并且它们可以被视为一种简单形式的领域适应。

结果

该模型在不进行任何微调(零样本)的情况下取得了以下结果:

DatasetLAMBADALAMBADACBT-CNCBT-NEWikiText2PTBenwiki8text8WikiText1031BW
(metric)(PPL)(ACC)(ACC)(ACC)(PPL)(PPL)(BPB)(BPC)(PPL)(PPL)
10.8760.1293.4588.019.9340.310.971.0222.0544.575

环境影响

可使用 Lacoste et al. (2019) 中提出的 机器学习影响计算器 来估算碳排放量。

  • 硬件类型: 未知
  • 使用时长: 未知
  • 云服务提供商: 未知
  • 计算区域: 未知
  • 碳排放: 未知

技术规格

有关建模架构、目标、计算基础设施和训练细节的详细信息,请参见 相关论文。

引用信息

@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 团队撰写。