李楠或kkk 26-01-06 14:12
微博认证:Angry Miao创始人 财经观察官

用模型的别在抱怨幻觉了。。。尤其是 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中使用外部工具(如搜索)进一步增强可靠性。

发布于 广东