基于Alpaca派生的多轮对话数据集

人工智能

629人已加入

描述

斯坦福大学的Alpaca项目为大模型的Instruction Tuning 提供了单轮的指令数据。然而,ChatGPT最显著的特点是其多轮对话能力,允许用户提出跟进问题或纠正模型回答中的错误。为了训练大模型响应多轮指令的能力,ChatAlpaca是一个面向大模型的多轮对话指令数据集。ChatAlpaca利用ChatGPT在Alpaca数据集的基础上模拟用户生成跟进问题,从而将单轮指令扩展为多轮对话。

ChatAlpaca数据集

目前,ChatAlpaca数据集包含10,000个对话组,共计95,558条对话语句。每个对话组的第一轮对话是来自Alpaca数据集的指令:用户输入指令,ChatGPT给出回答。随后,用户根据回答内容展开追问,将对话进行下去。以下是ChatAlpaca数据集的一个例子:

ChatGPT

数据集构建过程

ChatAlpaca数据集使用Alpaca数据作为第一轮对话,通过扩展跟进问题来构建每一轮对话。每一轮对话的构建包括两个阶段:用户问题生成和回复生成。

用户问题生成:

ChatAlpaca使用ChatGPT(GPT-3.5-turbo)生成用户问题,模型的输入包括一个提示语(prompt)和当前对话的历史记录。提示语要求ChatGPT模拟用户生成问题,用户问题可以是进一步提问,或者在ChatGPT答案错误时给出提示。

例如,根据以下聊天历史记录:

ChatGPT

ChatGPT生成的用户问题为

ChatGPT

ChatAlpaca还使用关键词过滤了不符合用户身份的问题,例如“As an AI language model, I'm here to assistyou.”、“Do you have any questions that I can help youwith?”等。

回复生成:

ChatAlpaca使用上一步生成的用户问题作为下一轮对话的开始,与对话历史记录拼接,让ChatGPT生成新的回复。在上面的例子中,ChatGPT根据以下输入生成回复:

ChatGPT

然后将这一轮ChatGPT的回复添加到对话历史记录中。

重复上述过程,直到对话达到预定的轮数(ChatAlpaca设定为最多5轮),或用户问题中包含“GoodBye”。

目前已经发布了包含10,000个对话组的ChatAlpaca数据集,接下来将发布包含20,000个对话组的数据和由机器翻译生成的中文对话数据。此外,还将发布使用ChatAlpaca数据集训练的LLaMA-LoRA模型和LLaMA微调模型。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分