在新数据上微调 GPT-2/3

问题描述

我正在尝试在新数据集上训练 OpenAI 的语言模型。这里有人有这方面的经验吗? 我的想法是用教科书提供 GPT-2 或 3(虽然我没有 API 访问 3),然后对其进行训练,然后能够用语言模型“讨论”这本书的内容。我认为我不需要更改任何超参数,我只需要模型中的更多数据。

有可能吗??

非常感谢任何(也是概念性的)帮助!

解决方法

目前 GPT-3 无法像 GPT-2 或 GPT-Neo / Neo-X 那样进行微调。这是因为模型保存在他们的服务器上,并且必须通过 API 发出请求。 Hackernews post 表示,GPT-3 的微调已在计划中或正在构建中。

话虽如此,OpenAI 的 GPT-3 提供了 Answer API,您可以提供上下文文档(最多 200 个文件/1GB)。然后可以将 API 用作与它进行讨论的一种方式。

,

您绝对可以重新训练 GPT-2。您是只想针对语言生成目的对其进行训练,还是有特定的下游任务想要适应 GPT-2?

这两项任务都是可能的,而且难度不大。如果您想训练语言生成模型,即让它生成关于特定主题的文本,您可以完全按照预训练阶段的训练方式训练模型。这意味着在具有交叉熵损失函数的下一个令牌预测任务上对其进行训练。只要你有一个数据集和不错的计算能力,这并不难实现。

当您说“讨论”本书的内容时,在我看来,您正在寻找对话模型/聊天机器人。聊天机器人的训练方式不同,如果您确实在寻找对话模型,您可以查看 DialoGPT 和其他模型。他们可以被训练成为面向任务的对话代理。