用模型的别在抱怨幻觉了。。。尤其是 CoVe 出现之后。其实很多时候,人类都会把自身的愚蠢归结为工具的问题。模型的幻觉,就是一个最好的例子。幻觉本身是智能的一体两面,也是模型必须给出回答的一种无奈策略。而为了拿到确切的信息,我们本来就应该提供验证的要求和方法。这就是一个新的提示词技巧:Chain of verification 。他可以把任意模型的准确率提升一个很大的水准,在测试中从 60% 多提升到了 90% 多(请理解绝对的准确是不存在的)。原理:xxxxxxxxx简单说就是把需求分 5 步描述:1问题2以你目前认知的初步答案3要求列出可能的错误和漏洞4针对这些潜在问题要求基于事实的推理来验证5要求提供更正后的答案例子:xxxxxxxxx假设原始查询是:“列出一些印度裔的美国公司CEO。”(这是一个事实性列表任务,容易出现幻觉)。步骤1: 生成初始响应提示词:"列出一些印度裔的美国公司CEO,包括他们的公司名称。"模型生成的初始响应:"1. Satya Nadella (Microsoft CEO),2. Sundar Pichai (Google CEO),3. Mark Zuckerberg (Meta CEO)。"(注意:这里有幻觉,因为Mark Zuckerberg不是印度裔。)步骤2: 生成验证问题提示词:"基于以下查询和初始响应,生成3-5个验证问题来检查事实准确性。查询:列出一些印度裔的美国公司CEO。初始响应:1. Satya Nadella (Microsoft CEO),2. Sundar Pichai (Google CEO),3. Mark Zuckerberg (Meta CEO)。"模型生成的验证问题: Satya Nadella 是否是 Microsoft 的 CEO,并且是印度裔? Sundar Pichai 是否是 Google 的 CEO,并且是印度裔? Mark Zuckerberg 是否是 Meta 的 CEO,并且是印度裔?步骤3: 执行验证使用因子化方法(每个问题独立提示,避免偏见): 提示词1:"Satya Nadella 是否是 Microsoft 的 CEO,并且是印度裔?" → 响应:"是的,他是 Microsoft 的 CEO,生于印度海得拉巴。" 提示词2:"Sundar Pichai 是否是 Google 的 CEO,并且是印度裔?" → 响应:"是的,他是 Google 和 Alphabet 的 CEO,生于印度马杜赖。" 提示词3:"Mark Zuckerberg 是否是 Meta 的 CEO,并且是印度裔?" → 响应:"是的,他是 Meta 的 CEO,但不是印度裔,他生于美国纽约州。"步骤4: 生成最终响应提示词:"基于以下初始响应和验证结果,生成修正后的最终答案。查询:列出一些印度裔的美国公司CEO。初始响应:1. Satya Nadella (Microsoft CEO),2. Sundar Pichai (Google CEO),3. Mark Zuckerberg (Meta CEO)。验证结果:Satya Nadella - 是;Sundar Pichai - 是;Mark Zuckerberg - 是 CEO 但不是印度裔。"模型生成的最终响应:"1. Satya Nadella (Microsoft CEO),2. Sundar Pichai (Google CEO)。"(修正了错误,排除了不符条件的项。)这个例子展示了CoVe如何通过验证链提高准确性,在实际应用中,你可以根据任务调整提示词,并在步骤3中使用外部工具(如搜索)进一步增强可靠性。
