理论上来说,只有创建高质量无噪声的数据集才是最关键的解决方案;但清洗、验证大规模数据,还有保证各个来源数据的质量难度太大了;因此多数论文还有一些工业界落地还是会去探索一些“治标不治本”的其他方法,下面列举一些比较实用性比较高的:
1. 通过使用外部知识验证主动检测和减轻幻觉
作者发现了两个问题:
1) 幻觉的生成是会传播的,比如一句话出现幻觉,后续生成的文本可能也会出现幻觉甚至更严重。这意味着,如果能够“主动”检测并减轻幻觉,那么也可以阻止其在后续生成的句子中的传播。
2)logit输出值(输出词汇表上的概率分布)可以用来获取幻觉的信号。具体地说,可以计算一个概率得分,当这个得分很低时,模型更容易产生幻觉。因此,它可以作为幻觉的一个信号, 当得分很低时,可以对生成的内容进行更具体的信息验证。

检测阶段:首先确定潜在幻觉的候选者,即生成句子的重要概念。然后,利用其logit输出值计算模型 对它们的不确定性并检索相关知识。
减轻阶段:使用检索到的知识作为证据修复幻觉句子。将修复的句子附加到输入(和之前生成的句 子)上,并继续生成下一个句子。这个过程不仅减轻了检测到的幻觉,而且还阻止了其在后续生成的句 子中的传播。
2. 修改解码策略
作者认为,采样的随机性对生成句子的后半部分比生成前半部分影响更大,因此对事实性的损害也比在句子的开头更大。
因为在句子的开始没有前文,所以只要它在语法和上下文上是正确的,大模型就可以生成任何内容。然而,随着生成的进行,前提变得更为确定,候选单词会更少,从而导致句子更容易生成不符合事实的结果。
引入了事实核心采样算法,该算法在生成每个句子时动态调整“核心”p。
在事实核心采样中,生成每个 句子的第t个标记的核心概率pt为

其中,
λ是top-p概率的衰减因子,随着生成的token数量t 的增加,逐渐衰减p 的取值;
ω是概率的下限衰减,为了避免p 衰减后过小,设置一个lower bound;
p-reset :当一个句子生成完毕后,p 的值会因为t的增加而变得很小,当生成新的句子时,期望p 能够恢复到原始的值
3. 采样多个输出并检查其一致性
这篇论文的主要思想是:如果模型真的掌握某个事实,那么多次生成的结果应该是相似的且事实一 致的;相反,如果模型在胡扯,那么随机采样多次的结果会发散甚至矛盾。

从模型中采样多个response(比如通过变化温度参数)并测量不同response之间的信息一 致性,以确定哪些声明是事实,哪些是幻觉。
信息一致性可以使用各种方法计算,比如可以使用神经方法计算语义等价(如BERT Score)或使用IE/QA-based方法。