文章

模型真的“知道自己不知道”吗?—— Do I Know This Entity? 论文解读

用稀疏自编码器、激活强推与拼接实验,理解语言模型如何表征自己是否认识一个实体,以及这种内部信号如何影响拒答与幻觉。

模型真的“知道自己不知道”吗?—— Do I Know This Entity? 论文解读

TL;DR 一句话版

研究者用”稀疏自编码器”这把手术刀,在语言模型的”大脑”里真的挖出了一条内部电路:它会在读到一个人名/地名/作品名的瞬间,悄悄判断”我认不认识这个东西”——而且只要人为拨动这条电路,就能让模型在明明认识的问题上无端拒答,或者在完全不认识的问题上一本正经地编造答案。这说明大模型的”胡说八道”(幻觉)并不总是随机失误,其中一部分是可以被定位、被解释、甚至被”扳动开关”控制的。

论文小档案
Do I Know This Entity? Knowledge Awareness and Hallucinations in Language Models
Javier Ferrando, Oscar Obeso, Senthooran Rajamanoharan, Neel Nanda | UPC · 巴塞罗那超算中心 · ETH苏黎世 | ICLR 2025
📄 arXiv: 2411.14257 🧪 研究对象:Gemma 2 (2B/9B) · Llama 3.1 8B 🛠️ 方法:稀疏自编码器 (SAE) · 机制可解释性 💻 代码:github.com/javiferran/sae_entities

下面这组对话,就是这篇论文最直观的”证据”——同一个模型、同一个问题,只是研究者悄悄调高了内部一条向量的数值,模型的表现就从”如实拒答”变成了”自信编造”:

🔵 未做任何干预(原始模型)
这位球员 Wilson Brown 是哪年出生的?
抱歉,我无法获取实时信息,包括球员的出生日期等个人资料……
🔴 调高"我认识这个实体"方向后
这位球员 Wilson Brown 是哪年出生的?
Wilson Brown 是一名职业棒球运动员。他出生于1994年8月1日。

真实实验Wilson Brown 是论文作者虚构、模型从未见过的球员姓名。右侧的出生日期是模型凭空编造的——这正是论文原文 Figure 1 展示的例子。来源:原论文 Figure 1 与正文第5节。

如果你是第一次接触”机制可解释性 (mechanistic interpretability)”这个领域,下面这份”背景知识”会先把几件事讲清楚:模型的”幻觉”到底是什么、研究者是怎么打开黑箱去看模型内部的、以及这次用到的关键工具”稀疏自编码器”是什么。如果你已经很熟悉这些概念,可以直接跳到”研究问题”部分。

1
Background

读论文前,先搞懂 6 个基础概念

这篇论文横跨”大模型幻觉”和”机制可解释性”两个话题。下面用尽量少的行话,把理解它需要的背景知识过一遍。

1.1 什么是”幻觉”(Hallucination)

大模型的”幻觉”指它一本正经地说出流畅但不符合事实的内容。论文特别关注其中一类幻觉:当被问到一个模型压根没见过、没学过的实体(人名、地名、作品名……)时,模型本该说”我不知道”,却编出了一个听起来煞有介事的答案。这和”模型记错了事实”是两回事——后者是记忆出错,前者是压根没有相关记忆,却依然选择了编造而不是承认。论文把这类”不知道却硬答”的情况作为研究的切入口。

1.2 残差流:模型内部的”传送带”

可以把 Transformer 语言模型想象成一条工厂流水线:每个词先被转换成一个数值向量,然后依次经过几十道”工位”(也就是层,layer)。有意思的是,每道工位不是把半成品拿走重做,而是在传送带上的向量基础上”再加一点东西”再传给下一道工位——这条贯穿全程、不断被叠加信息的向量通道,就是残差流(residual stream)。模型对一个词/实体的所有理解,最终都会以”被叠加进残差流里的信息”的形式存在。这篇论文的做法,正是在残差流的某个位置上”截个流”,看看里面到底叠加了什么。

示意图:一句话中每个词元(token)的信息沿残差流逐层叠加、逐层加工;红色代表实体名字最后一个词元所在的位置——本文所有分析都聚焦在这个位置上。

1.3 ”叠加”难题与稀疏自编码器(SAE)

模型内部一层的向量可能只有几千个维度,但它需要表达的概念(体育、地名、语气、语法结构……)远远多于这个数字。于是模型会把很多概念”挤”在同一组维度里叠放(这被称为叠加,superposition),导致我们没法直接指着某个维度说”这代表篮球”。稀疏自编码器(Sparse Autoencoder, SAE)就是为解决这个问题而生的工具:它把模型内部那个”挤满概念”的向量,重新展开成一个维度大得多、但绝大多数取值都是 0(即”稀疏”)的新空间。展开之后,很多单个维度就开始对应上人能看懂的、干净的概念了——论文管这些维度叫 latent(潜变量/特征)

拥挤的原始向量
(很多概念挤在一起)
→ SAE →
展开后的稀疏空间
(每个概念各占一格,大多数是空的)
灰色格子代表"未激活"(值为0)的 latent,彩色格子代表被点亮、真正携带含义的 latent——这篇论文要找的,正是那些一到"陌生实体"就会稳定点亮的格子。

1.4 线性表征假说:概念 = 空间里的一个”方向”

论文的理论基础是线性表征假说:模型对一个概念(比如”情感是正面的”“这句话是真的”“这是个我不认识的实体”)的理解,往往对应向量空间里的一个方向。只要找到这个方向,理论上就能读出模型”怎么想”,甚至反过来沿着这个方向人为”推”一下模型的内部状态,观察它的行为会怎么变——这正是下一条要讲的技巧。

1.5 两把解剖刀:强推(Steering)与拼接(Patching)

🎚️ 激活强推 Steering

找到某个”方向”之后,在模型做推理时人为把这个方向的强度调高或调低(专业说法:把方向向量乘上一个系数 α,加回残差流),然后看模型的输出会不会朝预期的方向改变。如果调高”我认识这个实体”的方向真的能让模型开始编造答案,就说明这个方向和模型的行为之间存在因果关系,而不只是”碰巧一起出现”的相关关系。

🔀 激活拼接 Patching

把”认识的实体”那次推理中间某一步的内部状态,移植到”不认识的实体”那次推理的同一位置上,看输出会不会被”带偏”成前者的答案。像变量替换实验一样,可以精确定位到底是哪一层、哪一个注意力头在起作用。本文用它来复现并验证”实体信息是如何在模型内部被搬运、被提取”的电路。

1.6 基座模型 vs. 对话模型

Gemma 2、Llama 3.1 这类模型通常有两个版本:基座模型(base model)只做过”预测下一个词”的预训练,没有专门学过”该怎么和人聊天、该在什么时候说不知道”;对话模型(chat / instruction-tuned model)是在基座模型基础上,又经过指令微调,学会了拒答、礼貌应答等”聊天礼仪”。这篇论文一个很关键的发现,就出在这两者的关系上——先卖个关子,稍后揭晓。

幻觉 = 流畅但不真实的输出 残差流 = 贯穿全模型的信息传送带 SAE = 把拥挤的向量"梳理"成稀疏、可读的特征 方向 / latent = 一个概念在向量空间里的坐标轴 Steering = 人为调强/调弱某个方向,看行为变化 Patching = 移植中间状态,定位因果部件
2
Question

这篇论文到底在问什么

核心问题只有一句话:当语言模型读到一个实体的名字时,它内部有没有一个信号,代表”我是否认识这个东西”?如果有,这个信号能不能被用来预测甚至左右模型接下来是如实回答、老实拒答,还是胡编乱造?

论文把研究范围收窄到四类”实体”:NBA球员、电影、城市、歌曲。以电影为例,模型会被问”电影《十二怒汉》的导演是谁”这类问题。如果模型对某个实体的一系列相关问题基本答不对(论文的标准是全部答错),就被记为该模型”不认识”(unknown)的实体;如果至少答对两项,则记为”认识”(known)的实体。下面这一对例子能帮你直观感受研究者关心的现象:

🔵 已知实体(模型认识)
Michael Jordan(真实存在的传奇球星)
球员 LeBron James 出生于哪里?
这部电影《十二怒汉》的导演是谁?
🔴 未知实体(模型不认识)
Michael Joordan(拼写相近的虚构人名)
球员 Wilson Brown 出生于哪里?
这部电影《20 Angry Men》的导演是谁?

真实实验论文原文 Table 1 中的示例:作者发现,模型内部有一小撮 SAE latent,几乎只在”已知实体”的最后一个词元上被点亮,另一小撮几乎只在”未知实体”上被点亮——这正是全篇论文的起点。

?

为什么这个问题重要

如果模型内部真的存在”自我知识感知”信号,那么幻觉——至少这一类由”不认识却硬答”造成的幻觉——就不再是无法追踪的黑箱行为,而是有可能被检测、被解释,未来甚至被主动纠正的。这也是”模型是否具有某种自我认知(self-knowledge)”这个更大问题的一小块拼图。

3
Method

怎么做的:从构建数据集到找到”实体识别方向”

3.1 第一步:从维基数据构建”实体问答”数据集

作者从 Wikidata 抓取了四类实体,并为每类实体配上几个可核实的属性问题:

7,487
🏀 NBA球员
属性:出生地/出生日期/效力球队
10,895
🎬 电影
属性:导演/编剧/上映日期/类型/时长/主演
7,904
🏙️ 城市
属性:所在国家/人口/海拔/坐标
8,448
🎵 歌曲
属性:歌手/专辑/发行年份/曲风

真实数据共约 34,700 余个实体。来源:原论文 Table 3。

3.2 第二步:给每个实体贴上”已知 / 未知”标签

具体做法是:拿每个实体的几个属性问题去问模型,答对数超过阈值(本文取”至少答对2个”)记为已知;一个都没答对记为未知;其余(部分答对、达不到阈值)的中间情况直接丢弃,不参与后续分析——这样能让”已知/未知”两组样本的界限尽量干净。

实体
如 Michael Jordan
向模型提问
该实体的全部属性
统计答对数量
模糊字符串匹配打分
↓ 按答对数量分流 ↓
答对 ≥ 2 个
→ 已知实体
全部答错(0个)
→ 未知实体
(其余"部分答对但不到2个"的中间情况会被直接丢弃,不参与后续分析)
真实流程复刻自原论文 Figure 7(Appendix A)。

3.3 第三步:用 SAE 扫描”实体名字最后一个词元”处的内部状态

拿到打好标签的实体后,作者截取每个 prompt 中实体名字最后一个词元处的残差流向量(比如 “LeBron James” 就取 “James” 这个词元处),送进 SAE,看每一个 latent 在”已知实体”和”未知实体”两组样本上分别被激活(数值大于0)的频率,两者之差就是这个 latent 的”分离度评分”:

分离度评分(直观理解) = 这个 latent 在”已知实体”样本上被点亮的比例 − 它在”未知实体”样本上被点亮的比例。这个值越接近 1,说明这个 latent 越像一个专门的”我认识这个实体”探测器;反过来越接近 −1,就越像”我不认识这个实体”探测器。

为了避免挑出的 latent 只对”球员”这一种实体类型好使,作者还要求它在球员、电影、城市、歌曲四类实体上都要有较高的分离度评分(具体做法是取四类中最差的那个分数,再挑这个”最差分数”最高的 latent——即论文中的 MaxMin 指标),以确保挑出来的方向足够通用、不挑食。

3.4 发现:中间层的信号最”干净”

已知 / 未知实体方向的分离度评分,随层数如何变化
示意图基于原论文 Figure 2(Gemma 2 2B,共26层)的趋势重绘,用于展示"先升后趋于平台"的整体形状,非逐点复刻原始数据
"已知实体"方向分离度
"未知实体"方向分离度
评分在前几层迅速上升,大约从第 9 层开始进入"中间层平台期"并维持在较高水平——说明模型对"这是否是我认识的实体"的判断,主要成型于网络的中间层,而不是最初几层或最后几层。这一模式在 Gemma 2 9B 与 Llama 3.1 8B 上同样出现(原文 Figure 9、Figure 25)。
💡

为什么是中间层?

论文推测这反映了一种”由具体到抽象”的层级结构:早期层还在处理比较具体、局部的信息(比如某个特定实体类型的细节),中间层则已经沉淀出一种更抽象、跨实体类型通用的”我认不认识这个东西”的判断,到了后期层,这个判断的表达开始趋于稳定(进入平台期)。

4
Finding 1

发现一:模型内部真的存在”我认识/不认识”的信号

按照上面的方法筛选后,作者确实在 Gemma 2 2B(以及 9B)的 SAE 里找到了这样两类 latent,而且它们的”选择性”惊人地强——几乎只对已知或只对未知实体的最后一个词元反应。

🔵 "已知实体" latent 被点亮
Michael Jordan
这位球员 LeBron James 是哪年出生的?
他出生于旧金山
我刚看了电影《十二怒
披头士乐队的歌曲《黄色潜水
🔴 "未知实体" latent 被点亮
Michael Joordan
这位球员 Wilson Brown 是哪年出生的?
他出生于Anthon
我刚看了电影《20 Angry Men
披头士乐队的歌曲《绿松石潜水

真实实验数据复刻自原论文 Table 1。高亮的词元就是该 latent 被激活的位置——注意它总是落在”实体名字的最后一个词元”上,不管这个实体是球员、城市、电影还是歌曲。附录 B 还用大语言模型生成的、涵盖公司/名画/建筑等更多类型的句子做了验证(Table 4、5),同样的两个 latent 依旧精准地按已知/未知分类点亮。

4.1 这些信号有多”专一”

论文用一张散点图直观展示了这件事:横轴是某个 latent 在”已知实体”上的激活频率,纵轴是它在”未知实体”上的激活频率。绝大多数 latent 落在对角线附近(说明它们对已知/未知没有偏好,只是普通的语言特征),但有一小撮 latent 明显偏离对角线、扎堆在角落——这些正是”已知实体探测器”和”未知实体探测器”。

SAE 中每个 latent 的"已知激活频率" vs "未知激活频率"
示意图按原论文 Figure 1 / Figure 8 的散点分布形态重绘(Gemma 2 9B,球员类实体),用于展示分布形状,非原始逐点数据
灰色云团:绝大多数 latent,与已知/未知无关;红色点:一小撮"未知实体"探测器,几乎只在未知实体上激活;蓝色点:一小撮"已知实体"探测器,几乎只在已知实体上激活。

4.2 这不是巧合:用”知识截止日期之后发布的新歌”做压力测试

为了排除”这些 latent 其实只是碰巧和已知/未知相关”的可能,作者还做了一个很巧妙的验证:拿 283 首在模型训练数据”知识截止日期”(2024年8月)之后才发布的歌曲去测试——这些歌对模型来说必然是”未知”的。结果:

6% / 53%
Gemma 2 2B
已知latent激活率 / 未知latent激活率
22% / 55%
Gemma 2 9B
已知latent激活率 / 未知latent激活率
13.4% / 76%
Llama 3.1 8B
已知latent激活率 / 未知latent激活率

真实数据来源:原论文 Table 8(Appendix R)。在这批”确定未知”的新歌上,”未知实体”latent 的激活率明显、稳定地高于”已知实体”latent,三个模型上结论一致。

5
Finding 2

发现二:这些方向能”因果性”地操控模型的拒答与编造

光是”相关”还不够有说服力——万一这些 latent 只是碰巧和已知/未知同时出现,并不真正参与模型的决策呢?作者接下来做的,就是直接去拨动这些方向,看模型的行为是否会应声而变。

5.1 拒答实验:调高”未知”方向 → 模型开始”装作不认识”

作者取来 100 个模型本来就不认识的实体,用对话版模型(chat/IT model)作答,然后分别尝试:①什么都不做(原始模型);②人为调高”未知实体”方向的强度;③把”未知实体”这个方向从模型的所有权重矩阵里彻底”投影移除”(即正交化,相当于让模型永久失去表达这个方向的能力)。

拒答率:原始模型 vs. 调高"未知"方向 vs. 移除"未知"方向
示意图按原论文 Figure 3(Gemma 2 2B IT,共100次问答)的相对趋势重绘,具体数值为示意估读,用于呈现"接近100%触顶"和"大幅降低"两个关键结论
原始模型(未干预)
调高"未知实体"方向
移除"未知实体"方向(正交化)
调高"未知实体"方向后,四类实体的拒答率都被推到接近 100%——即使问的是模型原本认识的实体,它也会"假装不知道"。反过来,把这个方向从模型权重中彻底移除后,拒答率大幅下降,明显低于未干预的原始水平。论文中作为对照的"调高已知方向"(拒答率略微下降)和"随机挑一个latent做同样操作"(几乎没有效果)为控制变量,未在图中展示,但结论方向与文字描述一致。

5.2 编造实验:调高”已知”方向 → 模型开始”自信地瞎编”

反过来,对一个模型确实不认识的实体(比如虚构球员 Wilson Brown),调高”已知实体”方向后,模型不再拒答,而是编出一个煞有介事的答案——这正是本文开头那组对话的由来。

5.3 最生动的例子:一路调高强度会发生什么

论文附录 G 给出了一个特别值得细看的例子:同一个问题(”球员 Leo Barnhorst 出生在哪里?”——这也是一个模型不认识的虚构实体),作者把”未知实体”方向的强度系数 α 从 0 一路调到 1200,记录下模型每一步的回答。往右滑动可以看到完整的变化轨迹:

真实实验数据(逐字翻译)来源:原论文 Table 6(Appendix G),模型为 Gemma 2 2B IT。可以看到一条清晰的轨迹:自信编造 → 如实拒答(这是干预”生效”的区间)→ 开始怀疑名字本身 → 认准一个新名字后再次编造 → 强度过大导致语言彻底崩溃。这提醒我们,”操控”这些方向虽然真实有效,但也有一个合理的强度区间,调过头一样会让模型失灵。

一个反直觉但很关键的细节

用来找到这些方向的 SAE,是在基座模型(未经对话微调)上训练的。但用它操控对话模型的拒答行为,居然同样有效!论文认为这说明:指令微调并没有凭空发明一套全新的”拒答机制”,而更可能是复用、强化了基座模型里本来就存在的这条”实体识别”电路——这也为”微调更多是在改造已有机制,而不是从零学习新能力”这一假说提供了佐证(并与 Arditi et al. 2024 关于”拒答方向”的发现相呼应:那篇工作发现拒绝回答有害请求同样由单一方向主导)。

6
Finding 3

发现三:机制层面——这些方向如何”掐断”信息提取电路

前面证明了”调这个方向 → 行为会变”,这一节则回答”为什么会变”。作者借助此前机制可解释性领域已经摸清楚的一条”事实提取电路”,看”实体识别方向”具体动了这条电路里的哪个环节。

6.1 已知的”事实提取电路”长什么样

此前的研究(Nanda et al. 2023;Geva et al. 2023)已经发现,模型回答”LeBron James 效力于哪支球队”这类问题时,大致分两步:①早期的注意力头把实体名字的各个词元(”LeBron”和”James”)的信息合并到实体名字的最后一个词元上;②比较靠后的、被称为属性提取头(attribute extraction heads)的一批注意力头,会在生成答案时回头”看”这个最后词元,把里面存的属性信息(比如球队名”Lakers”)提取出来、搬运到最终输出位置。这篇论文用激活拼接(patching)在 Gemma 2 2B/9B 上复现了同样的电路。

✅ 已知实体:LeBron James joined the ___
LeBron
James
实体末位词元
joined
the
Lakers
✓ 正确提取
早期注意力头把 "LeBron"+"James" 的信息合并到 "James" 上 → 属性提取头从 "James" 处稳稳地"拿到"球队信息 → 正确生成 "Lakers"。
❌ 未知实体 + 调高"未知"方向:Wilson Brown joined the ___
Wilson
Brown
实体末位词元
joined
the
???
✗ 提取被削弱
调高"未知实体"方向后,属性提取头对实体末位词元的注意力分数明显下降——相当于这批"负责去取数据"的注意力头,被告知"这里没有可提取的东西",于是干脆不去拿了。

6.2 用真实数据验证这个猜想

作者测量了属性提取头对实体末位词元的注意力分数,发现:面对已知实体时这个分数明显更高;而且这个分数会随着”实体识别方向”被人为拨动而同步变化——调高”未知”方向,注意力分数显著下降;调高”已知”方向,注意力分数显著上升。作者还做了统计显著性检验(与随机挑选的 10 个 latent 做对照):

10/10
Gemma 2 2B:调高"已知"方向后,注意力分数显著高于随机对照组的次数
10/10
Gemma 2 9B:同上
7/10
Llama 3.1 8B:同上

真实数据来源:原论文 Appendix M 正文。调高”未知”方向后同样在 Gemma 2 2B(9/10)、Llama 3.1 8B(10/10)显著降低了注意力分数;但 Gemma 2 9B 上表现较弱(仅 1/10,不过换成该模型第二强的”未知”latent 则恢复到 9/10)——提醒我们不同模型、不同 latent 之间效果并不总是整齐划一。

真实的"属性提取头"示例(Gemma 2 2B)
注意力头实体它倾向"取出"的高频词元
L18H5Kawhi Leonard / Detmold / BoombasticClippers, Raptors / Westfalen, Volkswagen / Jamaican, Reggae
L20H3Kawhi Leonard / Detmold / BoombasticNBA, basketball, Clippers / German, Germany / reggae, music

真实数据来源:原论文 Table 7(Appendix L)。”L18H5”意为第18层第5号注意力头。可以看到这些头提取出的词元确实和对应实体高度相关。

7
Finding 4

发现四:模型是否”知道自己可能说错了”?

前面几节都在研究”认识/不认识”这种二元判断。这一节作者往前多走一步:即便模型没有直接拒答,它的内部有没有信号能提前预示”这次回答很可能是错的”?

7.1 直接问模型:”你确定认识TA吗?”

作者设计了这样的提示:“你确定你认识这位{实体类型} {实体名字}吗?请回答是或否。”然后比较模型输出”是”和”否”两个词的对数概率差值(logit difference)。结果显示:调高”未知实体”方向,会让模型更倾向回答”否”;调高”已知实体”方向,则让模型更倾向回答”是”——说明这些方向不仅能操控”要不要回答”,在一定程度上也能操控模型显式表达出的自信程度。不过论文也诚实地指出,模型本身在这类问题上有偏向回答”是”的基础倾向(哪怟面对未知实体也是如此),说明模型直接、准确地”说出”自己不确定这件事,做得并不算好——即便它内部其实是”知道”的。

7.2 寻找”不确定性方向”:能预测对错的信号

换一个角度:作者只看模型没有拒答、给出了具体答案的那些情况,研究能不能从回答生成前的内部状态里,提前分辨出这次的答案会是对的还是错的。他们在对话模型即将生成回答前的位置上又跑了一遍 SAE,用统计检验挑出了一个在”正确回答”和”错误回答”之间activation 差异最大的 latent。

"不确定性"latent 的激活强度:正确回答 vs. 错误回答
示意图按原论文 Figure 6(左)的相对趋势重绘,具体分位数为示意估读
正确回答
错误回答
在模型即将出错的那些回答里,这个 latent 的激活强度整体更高、波动也更大。用它作为一个简单分类器,在测试集上取得了 AUROC 73.2、F1 72 的效果(Gemma 2B IT,第13层)——不算完美,但明显强于随机猜测,说明模型在生成错误答案之前,内部确实存在某种"心虚"的痕迹。

更有意思的是这个 latent 本身的语义:作者把它接到一个通用语料库上,看它最容易拉高哪些词的输出概率,发现全是表达”不确定/未知”的词:

"不确定性"latent 最容易拉高的词元(按提升幅度排序)
真实数据来源:原论文 Figure 6(右),Gemma 2B IT 第13层 latent

换句话说,这个方向携带的与其说是”这个具体实体我认不认识”,不如说更接近一种通用的”不确定/含糊/未披露”语义——这和第4节发现的”实体识别方向”是两种略有不同、但都和”模型自我知识状态”相关的信号。

8
Robustness

会不会只是巧合?作者主动排除的一个”简单解释”

一个自然的质疑是:这些 latent 会不会其实只是在检测”这个词元很生僻、很难预测”,而不是真的在识别”实体”?毕竟冷门实体的名字在训练语料里出现得少,本身预测难度也更高。作者专门设计了实验来检验这个”词元似然假说”(token likelihood hypothesis)。

检验方法
在一个通用大规模语料(FineWeb)上,对每个词元同时计算:①”实体识别”latent 是否激活;②模型预测这个词元的概率 *p(tit<i)*(越低代表这个词元本身越”难猜/越生僻”)。如果”词元似然假说”成立,两者应该强相关。
结果:相关性微弱到可以忽略

这些 latent 本身激活得非常稀疏(在 Gemma 2 2B 上,”已知”/”未知”latent 分别只在约 0.6%/0.5% 的词元上激活),且与词元预测概率的相关系数普遍接近 0。

实体识别 latent 的激活频率 与 其和"词元预测概率"的相关系数
真实数据来源:原论文 Table 9(Appendix S)
模型latent激活频率与词元预测概率的相关系数
Gemma 2 2B已知实体0.6%r = 0.067
Gemma 2 2B未知实体0.5%r = −0.000
Gemma 2 9B已知实体0.9%r = 0.062
Gemma 2 9B未知实体0.9%r = 0.009
Llama 3.1 8B已知实体0.2%r = 0.003
Llama 3.1 8B未知实体2.6%r = 0.047

相关系数全部接近 0,说明这些 latent 激活与否,几乎不能用”这个词元本身好不好猜”来解释。作者还检查了周围文本的困惑度、下一词预测的熵值等其它可能的混杂因素,同样没有发现能替代”实体识别”这个解释的其它规律。这些结果支持了论文的核心论断:这些 latent 捕捉到的是一种比”词元冷不冷门”更精细的信号,更接近于对”实体”这个概念本身的知晓与否。

9
Generalization

不是个例:三个不同模型上的复现情况

机制可解释性研究常被质疑”发现的规律只是某个模型的偶然巧合”。这篇论文特意在架构、训练数据都不同的 Llama 3.1 8B(使用独立的 LlamaScope SAE 套件)上重新跑了一遍完整流程,加上 Gemma 2 的 2B 与 9B 两个规模,一共三个模型、两个模型家族的交叉验证:

Gemma 2 2B
26层 · 主要实验对象

中间层出现最强分离信号;调高”未知”方向可将拒答率推至近100%;正交化后大幅降低;因果效应在四类实体上都很稳定。

Gemma 2 9B
42层

同样在中间层出现最强分离信号;拒答率操控效应方向一致但幅度更温和;注意力分数变化在”未知”方向上的效应弱于2B,换成次强 latent 后恢复显著。

Llama 3.1 8B
不同模型家族 · 独立SAE套件

中间层规律、注意力头机制均成功复现;调高”未知”方向显著提升拒答率;但调高”已知”方向没有像Gemma那样明显降低拒答率——说明该效应存在不对称性。

真实数据来源:原论文 Appendix C/D/F/J/Q(Figure 8/9/11/14/25/26/27)。作者原文评价:”这一跨模型家族的复现,考虑到两个模型在架构和 SAE 上的显著差异,进一步增强了我们对方法论和结论普适性的信心。”

10
Conclusion

结论:这篇论文到底证明了什么

  1. 模型内部确实存在"知识感知"信号。在实体名字的最后一个词元上,SAE 能找到一小撮几乎专门用于区分"已知/未知实体"的方向,而且这个模式在球员、电影、城市、歌曲四种完全不同的实体类型上都成立。
  2. 这些信号具有因果性,不只是相关。人为调高或移除这些方向,能够直接、可预测地改变模型的拒答与编造行为——调高"未知"方向能让模型在明明认识的问题上开始拒答;调高"已知"方向则会诱导模型对完全陌生的实体编造答案。
  3. 指令微调更像是"复用"而非"重造"。这些方向是在基座模型上找到的,却能直接操控经过指令微调的对话模型的拒答行为,暗示"学会拒答"这件事很大程度上是在借用预训练阶段就已经存在的机制。
  4. 找到了具体的机制解释。这些方向的作用方式之一,是调节"属性提取头"对实体词元的注意力强度——相当于控制着事实提取电路的"总开关"。
  5. 还存在一种更细粒度的"不确定性"信号。即便模型没有直接拒答,其内部仍有信号能在一定程度上提前预示这次的答案是否可靠,且这个信号在语义上更接近通用的"含糊/未披露"概念。
🎯

更大的意义

这篇论文提供了一种在实际、大规模模型上系统寻找并验证”自我知识感知”这类内部信号的方法论,而不仅仅局限于实体识别这一种情形。作者认为,这为理解、乃至未来主动干预和缓解大模型幻觉,打开了一个具体可操作的入口。

11
Limitations

局限性与需要辩证看待的地方

!

不等于模型有”全面的自我认知”

论文作者自己在引言中就明确提醒:这里发现的”知识感知”专门针对”事实性实体回忆”这一种机制,不能直接推广为模型对自身能力有全面、可靠的自我认知。

!

标签构建方法本身有噪声

“已知/未知”的判定依赖模糊字符串匹配与”答对几个属性”的阈值规则,可能把模型”蒙对了”或”记住了片段但答不出细节”的情况误分类,作者也坦承了这一点。

!

效应量在不同模型间并不整齐

比如 Gemma 2 9B 的”未知方向 → 注意力下降”效应弱于 2B;Llama 3.1 8B 上”已知方向”没能像 Gemma 那样明显压低拒答率——同一套结论在不同模型上强度不完全一致。

!

研究范围仍然有限

只覆盖了 Gemma 2 系列与一个 Llama 3.1 模型、四类实体,是否能推广到其他模型家族、其他类型的知识(而不只是实体事实)仍待验证;论文本身也更多是”发现与解释”,还不是可直接落地的幻觉修复方案。

12
Cheat Sheet

速查表:一眼看懂全部术语

稀疏自编码器 SAE
Sparse Autoencoder

把模型内部拥挤、叠加的向量,重新展开成一个更高维、但大多数取值为0的”稀疏”空间,让单个维度对应上人能理解的概念。

残差流
Residual Stream

贯穿模型所有层的信息通道,每一层都在其基础上叠加、修改信息,而不是推倒重来。

Latent(潜变量/特征)
SAE dictionary direction

SAE 展开后空间里的一个维度;本文中每个 latent 大致对应一个可解释的小概念,比如”这是个我认识的实体”。

线性表征假说
Linear Representation Hypothesis

模型对一个概念的表征,往往对应向量空间里的一个方向(而不是复杂的非线性结构)。

分离度评分
Separation Score

一个 latent 在”已知实体”和”未知实体”上激活频率之差,衡量它对二者的区分能力。

MaxMin 指标
-

在四类实体上分别算分离度评分、取其中最差的一个,再挑”最差分数”里最高的 latent——用来找最通用、不挑食的方向。

激活强推 Steering
Activation Steering

人为把某个方向按系数 α 加回残差流,观察模型行为是否随之改变,用来验证因果性。

激活拼接 Patching
Activation Patching

把”干净”输入某一步的内部状态移植到”受干扰”输入的同一位置,定位真正起作用的模型部件。

正交化
Weight Orthogonalization

把某个方向从模型全部权重矩阵里”投影移除”,让模型此后再也无法沿这个方向表达信息。

知识型拒答
Knowledge Refusal

模型因为”缺乏相关知识/数据库访问权限”而拒绝回答,区别于因安全顾虑而拒答。

属性提取头
Attribute Extraction Heads

一类注意力头,负责在生成答案前,从实体词元处把相关属性信息”取出来”搬运到输出位置。

基座模型 / 对话模型
Base / Chat Model

基座模型只做过预训练;对话模型在此基础上经过指令微调,学会了聊天礼仪、拒答等行为。

查看:文中涉及的关键公式(选读,非数学背景也可跳过)

SAE 的重构: 模型原始向量 x ≈ 一堆”稀疏激活值” a(x) 分别乘上各自对应的方向(解码器权重)再相加。也就是说,原始向量可以被近似看成”少数几个被点亮的概念方向”的线性组合。

Steering 的本质: 把某个 latent 对应的方向向量 d,乘上系数 α,直接加到残差流上:新状态 = 原状态 + α·d。α越大,干预越强(但过大会让模型输出失控,如第5.3节的例子所示)。

正交化: 把模型每个输出权重矩阵里,与目标方向 d 平行的分量减掉,使得该矩阵此后写入残差流的任何内容都不再包含 d 方向的分量。

本文由作者按照 CC BY 4.0 进行授权