在大型语言模型(LLM)的应用中,模型应拒绝两类问题:一是它无法正确回答的问题,二是那些根本不应回答的问题,如无解的问题或基于错误前提的问题。通常的做法是对单一的置信度评分进行阈值化,但这种方法无法区分这两者。通过对来自三个不同家族的五个经过指令调优的模型(参数从2B到14B)进行研究,我们发现这两个问题是独立的两个维度。
普通的答案置信度主要跟踪答案是否正确,但几乎无法判断问题是否可回答;而对隐藏状态进行线性探测则恰好相反。随着模型规模的增大,这种盲点并没有缩小,尤其是在自然产生的错误前提问题(CREPE)中表现最差。
在这种情况下,答案置信度、P(IK)、P(True),甚至直接询问模型某个前提是否错误的结果都接近随机,而隐藏状态探测则达到了0.69到0.77的AUROC:模型能够表示一个问题但却不会报告。
这实际上是可以修复的。指示模型检查前提的做法适得其反,因为它会对有效和无效的前提都产生质疑(57%为错误挑战),无法区分它们;而将相同的指示与探测结合使用则大致将挑战精度提升了三倍。
我们将这两个维度转化为一个经过校准的策略,只有在答案可回答性评分和正确性评分均通过各自的阈值时,模型才会给出答案。这种方式使得在每个规模下都能控制无解答案率,而错误答案率则受限于模型的准确性。
因此,保证在0.75的正确答案覆盖率下,阈值策略能够同时认证两个预算,而单一阈值的覆盖率仅为0.31;在14B模型中,这是唯一能够进行认证的策略。