OpenAI的API的微调端点似乎是相当新的,我在网上找不到很多微调数据集的例子。
我负责一个语音机器人,我正在测试GPT-3的一般公开对话问题的性能。我想火车模型的“固定”意向反应对,我们目前正在使用:这可能会在公司的声音和风格方面表现得更好。
我准备好了从当前会话引擎提取的一个长JSON数据文件,该文件将用户输入与意图相匹配,并返回指定的响应。我想对这些数据进行GPT-3模型的训练。
到目前为止,为了进行一些快速测试,我已经设置了对API的调用,就像它们的建议一样。我在表格中有一个“固定的”介绍文本。
<name> is <company>'s voicebot. he is kind and professional...
This is a conversation between <name> and a customer:,然后是一个小python类,它跟踪以
User: <request the user provides>
Bot:然后,每转一次,api的响应就会被追加,这样我就可以跟踪所说的内容。经过几个问题之后,我要发送的查询或提示符字符串如下所示:
<name> is <company>'s voicebot. he is kind and professional...
This is a conversation between <name> and a user:
User: <request>
Bot: <response>
User: <request>
Bot: <response>
... and so on
Bot:我的问题是,我是否必须为我的培训数据提供同样的“格式”?是明智的吗?文档表示培训集应该采用这种格式:
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
...但是,提示是否需要每次都包括我的介绍文本(描述),还是我只是简单地提供了一系列用户/机器人与Bot:的交换,并在最后完成了我所期望的答案?在这种情况下,最好的做法是什么?我担心的是,如果我想在一个月后稍微改变介绍提示,我将不得不重新培训整个事件,因为每个响应都是用特定的文本块预先准备好的。
发布于 2022-01-14 12:37:01
我联系了OpenAI的支持,他们非常有帮助:我会把他们的答案留在这里。
提示符不需要每次固定的介绍。相反,您只需要提供至少几百对用户/机器人交换的提示-完成对。我们有一个聊天机器人微调数据集这里的示例。
https://stackoverflow.com/questions/70531364
复制相似问题