AB稿纠错是唐库AI创作平台的一项创新,先看一组数据:
Google Gemini 2.0 Flash:0.7%幻觉率(医疗诊断场景)
DeepSeek-V3:3.9%幻觉率(金融分析场景)
DeepSeek-R1:14.3%幻觉率(知识问答场景)
14.3的幻觉率太高了,所幸DeepSeek-V3的幻觉率比较低,但即使4%的幻觉率在全自动化工作时也是不可接受的,如何降低这个错误率呢?
唐库首次提出了AB稿纠错方案:同一问题,让AI回答两次,两次回答称为A稿和B稿,再第三次调用AI,让它从A,B中选择一个回答,这个方案唐库称为AB稿纠错。
为什么AB稿纠错能降低错误率呢?原因是AB稿同时出错的几率小,就算第三次评估出现幻觉,但此时AB都是对的,最终还是对的。
我们可以来计算概率,假设AI的幻觉率(出错率)是4%,采用AB稿纠错后能降到多少?
有AI我们就不要自己算了,提示词如下:假设AI回答问题的幻觉率(错误率)是4%,同一问题,让AI回答两次,两次回答名称为A稿和B稿,再第三次调用同一AI,让它从A,B中选择一个正确答案,计算第三次回答的错误率?
从各个AI的回答中发现Gemini 2.5 Pro的回答最为清晰:
A稿和B稿的可能情况:
1,A 正确,B 正确 (C, C):
概率 = P(Correct) P(Correct) = 0.96 0.96 = 0.9216
2,A 正确,B 错误 (C, I):
概率 = P(Correct) P(Error) = 0.96 0.04 = 0.0384
3,A 错误,B 正确 (I, C):
概率 = P(Error) P(Correct) = 0.04 0.96 = 0.0384
4,A 错误,B 错误 (I, I):
概率 = P(Error) P(Error) = 0.04 0.04 = 0.0016
(检查: 0.9216 + 0.0384 + 0.0384 + 0.0016 = 1.0)
现在分析第三次调用 AI 在上述四种情况下产生最终错误的可能性:
1,情况 (C, C): A 正确,B 正确
此时 A 和 B 都是正确答案。要求 AI 从中选一个“正确”的。无论 AI 选择 A 还是 B,最终结果都是正确的。
在这种情况下,第三次调用后得到错误答案的概率是 0。
2,情况 (C, I): A 正确,B 错误
此时 A 是正确答案,B 是错误答案。要求 AI 选择正确的答案(即 A)。
AI 有 96% 的概率做出正确判断(选择 A),有 4% 的概率做出错误判断(选择 B)。
在这种情况下,第三次调用后得到错误答案的概率是 0.04。
此情况对最终错误率的贡献 = P(C, I) P(选择错误) = 0.0384 0.04 = 0.001536
3,情况 (I, C): A 错误,B 正确
此时 A 是错误答案,B 是正确答案。要求 AI 选择正确的答案(即 B)。
AI 有 96% 的概率做出正确判断(选择 B),有 4% 的概率做出错误判断(选择 A)。
在这种情况下,第三次调用后得到错误答案的概率是 0.04。
此情况对最终错误率的贡献 = P(I, C) P(选择错误) = 0.0384 0.04 = 0.001536
4,情况 (I, I): A 错误,B 错误
此时 A 和 B 都是错误答案。要求 AI 从中选择一个“正确”的答案。
由于没有正确答案可选,无论 AI 选择 A 还是 B,最终结果都将是错误的。
在这种情况下,第三次调用后得到错误答案的概率是 1。
此情况对最终错误率的贡献 = P(I, I) P(必然选择错误) = 0.0016 1 = 0.0016
计算最终错误率:
最终的错误率是所有导致错误结果的情况的概率之和。
最终错误率 = 情况2的错误贡献 + 情况3的错误贡献 + 情况4的错误贡献
最终错误率 = 0.001536 + 0.001536 + 0.0016
最终错误率 = 0.004672
结论:第三次回答(即通过 AI 从 A 稿和 B 稿中选择一个正确答案)的错误率大约是 0.4672%。这个结果表明,通过让 AI 对两次独立生成的结果进行一次判断和选择,可以显著降低最终答案的错误率(从 4% 降低到约 0.47%)。
实际情况会更好,对于只输出一个字符的评估AI,基本上不出现幻觉(幻觉率与AI的输出长度相关,输出越长幻觉率越高),如评估AI错误率为0,则总的错误率就是0.0016,从 4% 降低到约 0.16%
!通过三次调用,错误率降低25倍,还是值得的,基于Deepseek的API的调用价格非常便宜。
如果采用ABC稿纠错,即调用AI四次,错误率为4%4%4% = 0.064%,不到千分之一了。
以上计算,基于这些假设:
1,A,B稿的生成是独立的,不关联的,目前的AI也都是这么做的,同一问题问两遍,答案也不会完全一样,为了避免AI通过缓存回答相同问题,唐库可以设置AB稿使用不同的API;
2,评估AI的输出就一个字符,A或者B。大型语言模型(LLM)的幻觉现象与其输出内容的长度存在一定的相关性,并非简单的线性因果关系。更准确地说,输出内容越长,出现幻觉的风险或概率可能会随之增加。而输出一个字符,幻觉率会大幅降低,甚至为0。