1

我正在尝试复制此演示的结果,其作者使用以下文本对GPT-3 进行了初始化:

gpt.add_example(Example('apple', 'slice, eat, mash, cook, bake, juice'))
gpt.add_example(Example('book', 'read, open, close, write on'))
gpt.add_example(Example('spoon', 'lift, grasp, scoop, slice'))
gpt.add_example(Example('apple', 'pound, grasp, lift'))

我只能通过 Huggingface Transformer 访问 GPT-2。如何在 Huggingface 上启动 GPT-2 以复制上述示例?问题是,有了这个,人们就无法分别使用输入和相应的输出进行初始化(正如上面 GPT-3 演示的作者所做的那样)。

同样,本教程描述了如何使用 Huggingface,但没有示例清楚地显示如何使用输入与输出示例来启动它。

有谁知道如何做到这一点?


期望的输出:使用 GPT-2 返回类似的东西,输入“potato”,输出“peel, slice, cook, mash, bake”(如 GPT-3 演示:https ://www.buildgpt3.com/post /41/ )。显然,输出动词的确切列表不会相同,因为 GPT-2 和 GPT-3 不是相同的模型。

4

1 回答 1

1

GPT 模型唯一能做的就是预测应该跟随什么词。从技术上讲,没有输入和输出,它是一个仅解码器的模型,所以它只有输出。启动模型意味着您将模型的输出强制为您想要的内容,然后让模型继续生成更多文本。

演示中发生的情况是:

  1. 你为 GPT-3 提供了它应该做什么的自然语言示例。像这样的东西:
What can I do with an apple? slice eat, mash, cook, bake, juice
What can I do with a book? read, open, close, write on
What can I do with a spoon? lift, grasp, scoop, slice
  1. 当查询出现时(例如,knife),您创建一个与示例类似的句子:
What can I do with a knife?
  1. 让模型继续生成,直到它开始一个新的行,What或者直到它以一种奇怪的方式中断,这在随机模型中总是会发生。(希望该模型得到了您在启动示例中所指的模式。)

这是HuggingFace 演示GPT-2 所发生情况的示例。粗体文本由模型生成。

在此处输入图像描述

于 2021-02-03T10:17:22.090 回答