TriLens: Per-Layer Logit-Lens Entropy for White-Box Hallucination Detection
Bohan Yang, Yijun Gong, Zhi Zhang, Ge Zhang, Wenpeng Xing, Meng Han
cs.AI
2026-05-31
浙大团队在每层对注意力写出、FFN 写出和残差流各取一次 logit-lens 熵。3L 维轨迹在 12 格设置上全面超过 ICR Probe,平均 +12.1 AUROC。
白盒幻觉检测已经能从隐状态、梯度、注意力核、残差更新里抓信号,但这些特征通常又高维又难读。错误答案在输出层才定案,内部几条通路可能早就没对齐:注意力还在路由上下文,FFN 在翻参数记忆,合成后的残差却已经尖到一个错 token 上。浙大滨江研究院、北师港浸大、浙大和 GenTel.io 这组人问的是:只看「内部确定性怎么沿深度成形」,够不够把幻觉分开。
TriLens 在每一层读三个位置:多头自注意力写出、前馈写出、残差流。每个位置用模型自己的最终 Norm 加解码头做 logit-lens,只保留 Shannon 熵。L 层模型得到 3L 维向量,Qwen2.5-7B(L=28)是 84 维,Gemma-2-9B(L=42)是 126 维,大约比 SAPLMA 一类隐状态探针小 30 倍。分类器两种:L2 逻辑回归,以及和 ICR Probe 同拓扑的 MLP(3L→128→64→32→1)。一次 teacher-forcing 前向,不采样,特征提取相对探针训练才是算力大头。
评测是 Qwen2.5-7B-Instruct、Llama-3-8B-Instruct、Gemma-2-9B-it,四个基准 HaluEval-QA、SQuAD2.0、HotpotQA、TriviaQA。每集随机 1 万条、标签平衡、80/20 划分、五随机种子平均 AUROC。基线覆盖 PPL、长度归一化熵、LLM-Check,以及可训练的 SAPLMA、SEP、ICR Probe。
MLP 版 TriLens 在 12 个模型–数据集格子上全部超过 ICR Probe,11 格第一,平均 +12.1 AUROC。单格增益从 Qwen2.5-7B / TriviaQA 的 +4.2,到同模型 / SQuAD2 的 +16.0。按家族:Gemma-2 +10.2,Qwen2.5 +11.0,Llama-3 +15.1。按任务:三个有上下文的任务平均 +12.8,TriviaQA +10.2。
主表最后一行(TriLens MLP)大约是:Qwen2.5-7B 在 HaluEval / SQuAD2 / HotpotQA / TriviaQA 为 0.9277 / 0.9270 / 0.9433 / 0.9106;Llama-3-8B 为 0.9053 / 0.9061 / 0.9242 / 0.8103;Gemma-2-9B 为 0.9136 / 0.9169 / 0.9425 / 0.8861。对应 ICR Probe 大约为 0.84 / 0.81 / 0.84 / 0.80、0.81 / 0.74 / 0.79 / 0.78、0.77 / 0.76 / 0.79 / 0.74。
线性探针同样 12 格全胜 ICR,MLP 再加约 3.2 分。把残差熵重复三次凑成 3L 维,几乎等于只用量残差,说明多出来的维数本身不解释增益。注意力熵或 FFN 熵加到残差上都在 12 格提升;三路全用最好。层内注意力–FFN 的 JSD 分歧平均只再加 0.001 AUROC,几乎没新信息。和 DoLa 式跨层 JSD 对打,TriLens 平均大约高 0.07,拼在一起几乎不加分。最能分对错的层随模型和基准变,没有「固定看最后一层」。
跨数据集:四个训练集合成一个探针,仍比分数据集 ICR 平均高 10.7,只比本数据集 TriLens 低约 1.4。训练集 A、测 B 的非对角平均 AUROC 为 0.848,ICR 0.738,SAPLMA 0.678。
开源模型上,幻觉检测可以不存整段隐状态。三路熵轨迹小、一次前向、线性探针已经很强,适合做推理时拒绝或检索触发。注意力、FFN、残差不是同一件事的三个副本,拆开读才有互补。
必须能拿到中间激活,闭源 API 用不上。只做检测,没有接到解码或检索去减幻觉。模型停在 7–9B,生成设定偏 QA teacher-forcing,长文开放生成会不会掉,没有测。监督来自基准自带标签或固定预处理,标签噪声会直接进探针。作者也写明:对注意力/FFN 写出做 logit-lens,读的是「孤立写入的偏好」,不是完整下一 token 分布。