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

GPT-2 Large

修改内容

  • 修改示例并添加NPU支持
  • 添加依赖项

目录

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

模型详情

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

  • 开发机构: OpenAI,模型开发者详见 GitHub 仓库。
  • 模型类型: 基于Transformer的语言模型
  • 语言: 英语
  • 许可证: Modified MIT License
  • 相关模型: GPT-2、GPT-Medium 和 GPT-XL
  • 更多信息资源:
    • OpenAI 博客文章
    • GitHub 仓库
    • GPT-2 的 OpenAI 模型卡片

依赖项

  • transformers==4.44.2
  • psutil==6.0.0

模型使用入门

以下是如何在 PyTorch 中使用此模型获取给定文本特征的方法:

from openmind import pipeline, is_torch_npu_available
from openmind_hub import snapshot_download

if is_torch_npu_available():
    device = "npu:0"
else:
    device = "cpu"
    
generator = pipeline('text-generation', model="SY_AICC/gpt2-large", device=device)

output = generator("Hello, I'm a language model,", max_length=30, num_return_sequences=5)
print(f">>>output={output}", flush=True)

用途

直接用途

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

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

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

下游用途

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

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

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

误用与超出范围的使用

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

由于像 GPT-2 这样的大规模语言模型无法区分事实与虚构,我们不支持那些要求生成文本必须真实的使用场景。

此外,像 GPT-2 这样的语言模型会反映其训练数据中固有的偏见,因此我们不建议将它们部署到与人交互的系统中,除非部署者首先针对预期使用场景进行相关偏见研究。我们发现 774M 和 1.5B 版本在性别、种族和宗教偏见探测方面没有统计学上的显著差异,这意味着所有版本的 GPT-2 在涉及对人类属性敏感的偏见使用场景时,都应保持类似程度的谨慎。

训练

训练数据

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

训练过程

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

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

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

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

评估

测试数据、因素与指标

模型作者写道:

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

结果

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

数据集LAMBADALAMBADACBT-CNCBT-NEWikiText2PTBenwiki8text8WikiText1031BW
(指标)(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}
}