文档首页/ 盘古大模型 PanguLargeModels/ 常见问题/ 典型训练问题和优化策略/ 多轮问答场景,为什么微调后的效果不好
更新时间:2024-08-29 GMT+08:00
分享

多轮问答场景,为什么微调后的效果不好

当您的目标任务是多轮问答,并且使用了多轮问答数据进行微调,微调后却发现多轮回答的效果不理想。这种情况可能是由于以下几个原因导致的,建议您依次排查:

  • 数据格式:多轮问答场景需要按照指定的数据格式来构造,问题需要拼接上历史所有轮对话的问题和回答。比如,当前是第三轮对话,数据中的问题字段需要包含第一轮的问题、第一轮的回答、第二轮的问题、第二轮的回答以及第三轮的问题,答案字段则为第三轮的回答。以下给出了几条多轮问答的数据样例供您参考:

    原始对话示例:

    A:你是谁?
    B:您好,我是盘古大模型。
    A:你可以做什么?
    B:我可以做很多事情,比如xxxx
    A:你可以讲个笑话吗?
    B:当然可以啦,以下是xxxx
    A:可以把这个笑话改成xxxx
    B:好的,以下是修改后的xxxx

    拼接后的微调数据格式示例:

    {"context": ["你是谁?", "您好,我是盘古大模型。", "你可以做什么?", "我可以做很多事情,比如xxxx", "你可以讲个笑话吗?", "当然可以啦,以下是xxxx", "可以把这个笑话改成xxxx"], "target": "好的,以下是修改后的xxxx"}

    多轮问答场景的输入(“context”字段)请务必使用“[问题, 回答, 问题, 回答, 问题, ……]”的方式来构造,若您的数据是同一个角色连续多次对话的“多轮问题”,可以将同一个角色的对话采用某个分隔符拼接到一个字符串中。例如:

    原始对话示例:

    A:xxx号话务员为您服务!
    A:先生您好,有什么可以帮助您的?
    B:你好,是这样的
    B:我家里上不了网了
    B:网连不上
    A:先生,您家的网络无法连接是吗
    A:请问您尝试重新插拔网线吗?
    B:是的,我试了
    B:还是不行

    拼接后的微调数据格式示例:

    {"context": ["xxx号话务员为您服务! 先生您好,有什么可以帮助您的?", "你好,是这样的 我家里上不了网了 网连不上", "先生,您家的网络无法连接是吗 请问您尝试重新插拔网线吗?"], "target": "是的,我试了 还是不行"}
  • 数据质量:若数据格式没有问题,仍然发现模型效果不好,您可以根据具体问题针对性的提升您的数据质量。比如,随着对话轮数的增加,模型出现了遗忘,可以检查构造的训练数据中轮数是否普遍较少,建议根据实际情况增加数据中的对话轮数。

相关文档