首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将GPT-3用于填充掩码任务?

如何将GPT-3用于填充掩码任务?
EN

Stack Overflow用户
提问于 2022-08-16 08:15:15
回答 1查看 234关注 0票数 1

我使用以下代码获取最有可能替换蒙面词的代码:

代码语言:javascript
复制
!pip install git+https://github.com/huggingface/transformers.git
import torch
import pandas as pd
from transformers import AutoModelForMaskedLM, AutoTokenizer, pipeline

unmasker = pipeline('fill-mask', model='bert-base-uncased', top_k=100)
tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
model = AutoModelForMaskedLM.from_pretrained('bert-base-uncased')

results = unmasker(f"The sun is [MASK].")
for i in results:
  print(i["token_str"], i["score"]*100)

例如,在“太阳面具”序列中,最有可能替代“掩码”的是“太阳掩模”。“上升”(33.61%)、“发光”(9.33%)和“上升”(7.38%)。

我的问题:GPT-3有实现同样的方法吗?在OpenAI操场上有一个“完全”和“插入”预设,然而,它给了我完整的句子(而不是单个单词),并且没有概率。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 09:08:10

首先,我认为您无法访问属性,如令牌或GPT-3中的分数,您所拥有的只是生成的文本。

其次,在我的经验中,GPT-3完全是关于正确的提示。你只需要给它指示就像你在和人说话一样。

在您的具体情况下,我将使用如下提示符:

迅速:

太阳是面具。

用最可能的5个字替换面具,并给我他们的概率。

结果:

,太阳在照耀。

0.10

  • beautiful
  1. 闪亮-0.47
  2. 明-0.18
  3. 日晴-0.13
  4. 热-0.09

G 215

如果您想以编程方式这样做,下面是代码:

代码语言:javascript
复制
import openai
openai.organization = "your org key, if you have one"
openai.api_key = "you api key"
openai.Engine.list()

my_prompt = '''The sun is [MASK].
    
    Replace [MASK] with the most probable 5 words to replace, and give me their probabilities.'''

# Here set parameters as you like
response = openai.Completion.create(
  engine="text-davinci-002",
  prompt=my_prompt,
  temperature=0,
  max_tokens=500,
  # top_p=1,
  # frequency_penalty=0.0,
  # presence_penalty=0.0,
  # stop=["\n"]
)

print(response['choices'][0]['text'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73370817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档