模型库 / openai-community/gpt2-large

gpt2-large

openai-community text-generation transformers en
openai-community/gpt2-large
2,042,727
下载量
349
收藏数
18
浏览量
mit
许可

简介

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

模型卡片

许可协议 mit
语言
en

模型配置

模型类型 gpt2
架构 GPT2LMHeadModel

模型详情

已翻译

GPT-2 Large

目录

模型详情

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

如何开始使用该模型

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

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

[{'generated_text': "Hello, I'm a language model, I can do language modeling. In fact, this is one of the reasons I use languages. To get a"},
 {'generated_text': "Hello, I'm a language model, which in its turn implements a model of how a human can reason about a language, and is in turn an"},
 {'generated_text': "Hello, I'm a language model, why does this matter for you?\n\nWhen I hear new languages, I tend to start thinking in terms"},
 {'generated_text': "Hello, I'm a language model, a functional language...\n\nI don't need to know anything else. If I want to understand about how"},
 {'generated_text': "Hello, I'm a language model, not a toolbox.\n\nIn a nutshell, a language model is a set of attributes that define how"}]

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

from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('gpt2-large')
model = GPT2Model.from_pretrained('gpt2-large')
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-large')
model = TFGPT2Model.from_pretrained('gpt2-large')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)

用途

直接用途

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

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

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

下游用途

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

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

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

滥用与超出范围的使用

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

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

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

风险、局限性与偏见

内容警告:读者应注意,本节包含令人不适、具有冒犯性且可能传播历史及当前刻板印象的内容。

大量研究已经探讨了语言模型中的偏见与公平性问题(例如,参见 Sheng 等人 (2021)Bender 等人 (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 "'}]

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

训练

标签

tf jax rust onnx gpt2 en arxiv:1910.09700 license:mit

操作


详细信息

厂商
openai-community
任务
text-generation
框架
transformers
模型类型
gpt2
许可(HF)
mit
语言
en