1. 论文信息
论文:Verbalizable Representations Form a Global Workspace in Language Models
论文链接:Transformer Circuits
官方代码:anthropics/jacobian-lens
交互可视化:Neuronpedia J-lens
这篇论文关注的是:在 LLM 的大量内部表示中,是否存在一个特殊的“公共工作区”,专门承载模型能够报告、主动调节,并交给不同下游计算使用的中间概念?
论文把这个工作区称为 J-space,并提出 Jacobian Lens(J-lens) 来读取它。
Logits 只能告诉我们模型马上要说什么;J-lens 试图从 hidden states 中找到模型尚未说出口、但正在用于推理的概念。
2. 从 Logit Lens 到 Jacobian Lens
J-lens 可以看作 Logit Lens 的升级版:Logit Lens 跳过后续层,直接把中间 hidden state 映射到词表;J-lens 则用 Average Jacobian 近似中间状态对最终层的影响,再进行词表读取。
Logit Lens:直接读取中间层
要理解 Logit Lens,先从 hidden state 和 logits 的关系开始:
1 | Token |
每个 Transformer layer 都会产生自己的 hidden state:$h_0,h_1,\ldots,h_L$。但在模型正常生成路径中,LM head 通常只读取最后一层 $h_L$,由此产生真正参与 softmax 和 sampling 的 actual logits。
中间层 $h_\ell$ 也可以被映射到词表,但这是研究者额外添加的分析分支,不参与模型正常生成。
为避免矩阵左右乘的混乱,本文统一把 hidden state 写成行向量。设:
1 | d:hidden size |
最后一层在位置 $t$ 的 hidden state 为:
它不是某个词,而是模型对当前位置上下文的内部表示,混合编码语义、句法、实体和任务状态等信息。
模型最后使用 LM head 把 hidden state 映射到词表空间。设 LM head 的权重为 $W_U$,bias 为 $b$:
那么最终 logits 是:
这里的 norm 不是简单计算向量长度,而是模型原本放在 LM head 前的 final normalization layer,它把 hidden state 调整到 LM head 习惯的数值尺度,避免向量幅度变化直接让 logits 过度放大或缩小;后面的 Logit Lens 和 J-lens 也沿用模型自己的这个 norm。
$W_U$ 的每一列 $w_i$ 对应一个 token output direction,因此 token $i$ 的 logit 本质上是一个点积:
当前 hidden state 和哪个 token direction 更对齐,哪个 logit 就更高。在普通 inference 中,$W_U$、$b$、$d$ 和 $V$ 都固定;上下文适应性来自不断变化的 $h_{L,t}$。
Logit 还不是概率。模型对整个词表做 softmax:
最终再通过 greedy、temperature、top-k 或 top-p 等策略选择下一个 token。简单说,hidden state 是内部表示,logits 是 LM head 用固定 token directions 对它打出的词表分数。
正常生成只会把最后一层 $h_{L,t}$ 送入 LM head。Logit Lens 是一种额外的 interpretability method:它把中间第 $\ell$ 层的 hidden state 也送入同一个 LM head。
Logit Lens readout 为:
它相当于跳过后续 Transformer layers,直接观察中间层“在词表空间里看起来像什么”。这个 readout 不参与正常生成。
Jacobian Lens:考虑后续层的变换
Jacobian 是由偏导数组成的矩阵,描述在当前状态附近,输入向各个方向发生微小变化时,输出会怎样变化。把第 $\ell$ 层之后的网络看作一个函数,它给出的局部线性近似可以写成:
也就是:中间 hidden state 发生微小变化 $\Delta h_\ell$,乘以 Jacobian 后,可以近似预测它会如何影响最终 hidden state。单个 Jacobian 会随输入和位置变化,因此 J-lens 对许多样本取平均,得到较稳定的 transport matrix。
对于第 $\ell$ 层,论文在许多 prompts、source positions 和当前及未来 target positions 上计算并平均 Jacobian。按本文的行向量约定,把这个 transport matrix 记为:
论文默认用 1000 条、每条 128 tokens 的 pretraining-like 序列进行平均;实验显示约 10 条就能超过 Logit Lens 基线。应用时,中间 hidden state 先乘 $J_\ell$ 进入最终层坐标,再由同一个 LM head 读取:
完整维度关系是:
1 | [1 × d] @ [d × d] @ [d × V] = [1 × V] |

图中 A 是平均 Jacobian 的计算,B 是读取中间激活,C 是在两个 token 对应的 J-lens directions 之间交换坐标。
J-lens logits 只是解释性 vocabulary readout。J-space 中出现 Mars,不意味着模型下一 token 就会说 Mars,而是当前激活包含一种通常可以被报告为 Mars、并能影响后续输出的方向。
两种 lens 的差异
Logit Lens 直接用最终的 norm 和 LM head 读取中间 hidden state;J-lens 则先用 Average Jacobian 把中间状态传输到最终层的坐标系,再映射到词表。
| 方法 | 中间层到词表的映射 | 主要目标 |
|---|---|---|
| Logit Lens | 直接使用 W_U | 低成本观察中后层 |
| J-lens | Average Jacobian & W_U | 恢复具有因果作用的中间概念 |
J-lens 的目标不是尽早猜中模型的最终答案,而是恢复中间计算。对于“太阳系第四颗行星的颜色”,它可能显示一条这样的概念演化路径:
1 | color → Mars → red |
解释答案是怎么计算出来的,而非预测答案。
3. J-Space 真的参与了模型推理吗?
J-lens 为词表中的每个 token 定义了一条 hidden-state direction,但任一时刻真正强烈激活的通常只有少数几条。论文因此把 hidden state 分解为:
1 | hidden state |
其中 J-space component 通常由不超过约 25 条 token-labeled directions 稀疏组合而成。

图中底部是模型实际输出的 one 到 five;蓝色格子是在这些 token 生成过程中,从 J-Space 读出的活跃概念。模型表面上只是在计数,内部却同时出现 counting、pause、halfway、finished 等与任务进程有关的 directions。这也直观说明,J-Space 展示的是中间计算内容,而不只是下一 token 的预测。
不过,这张图只能证明中间概念可以被读出来。它们也可能只是推理过程留下的伴随信号,并没有真正参与计算。要区分“相关”与“因果”,最直接的办法就是主动修改这些概念,观察后续答案是否随之改变。
论文为此设计了 coordinate swap。在“太阳系第四颗行星的颜色”这类两跳问题中,正常的中间计算是:
1 | 第四颗行星 → Mars → red |
实验在模型尚未输出答案时,把 Mars 对应的 J-Space coordinate 换成另一个实体。如果后续答案也转向新实体的属性,就说明模型确实把这个中间概念交给了下一步计算,而不只是恰好将它编码在 hidden state 中。而在 50 个任务上,这种干预将目标答案推到 top-1 的成功率为 54%–70%。
但还有一种可能:也许修改 hidden state 的任何部分都会扰乱答案。对照实验因此把 J-Space component 和其余部分分开交换。前者虽然只解释独立检测器(probe)读数中约 10%–15% 的变化,却能翻转 61% 的答案;交换其余部分只能翻转 28%,固定相关 J-Space coordinates 后更降到 6%。
真正决定答案的不是大部分 hidden state,而是其中占比不大、与任务相关的 J-Space component。
论文还用算术任务进行交叉验证。在计算 (4+17)×2+7 时,J-lens 随层数依次读出 21、42 和 49:

独立的 activation patching 也在相应层段找到三个数值的因果作用,说明这条计算轨迹并不只是 lens 制造出的可视化故事。
因此,J-space 不只是“可以读出来的内容”:改变它会系统性地改变后续计算。但参与推理还不足以称为 Global Workspace,下一步还要证明它是共享、选择性且容量有限的计算接口。
4. 为什么把 J-Space 称为 Global Workspace
Global Workspace 来自认知科学中的 Global Workspace Theory(全局工作空间理论。大脑中许多处理在局部、无意识地进行;少量被选中的信息进入容量有限的“全局工作空间”,随后广播给多个系统,用于报告、规划、记忆和决策。
Global Workspace 也可以理解为模型内部的一块“共享黑板”:许多计算各自在后台进行,只有少量当前重要的信息会被写到黑板上,供不同的后续计算共同读取。它不是某个固定 layer 或具体模块,而是对一种信息流动方式的描述。
因此,能被读出还不足以称为 Global Workspace。它至少要满足三个条件:同一份信息可以交给不同任务使用;只有需要灵活调用的信息才会进入其中;同时容纳的信息有限。
共享性:一份信息,多种用途
作者对 capital、language、continent 等不同问题使用同一个 France → China coordinate swap,模型会分别转向中国的首都、语言和大洲。加强干预后,192 次试验中有 101 次将目标答案推到 top-1。同一份 country representation 可以被不同后续计算复用,就像共享黑板上的内容不属于某一个特定任务。
选择性:并非所有信息都会进入
模型处理西班牙语文本时,将 J-Space 中的 Spanish 换成 French,只会影响需要显式报告或灵活调用语言信息的任务:
| 任务 | Swap 后是否改变 |
|---|---|
| 报告这是什么语言 | 改为 French |
| 查询该语言的著名作家 | García Márquez 变为 Victor Hugo |
| 查询该语言的“你好” | Hola 变为 Bonjour |
| 继续用原语言写作 | 仍然是西班牙语 |
| 检测段落中的语言异常 | 基本不受影响 |
模型始终知道输入是西班牙语,但继续写作和异常检测这类熟练、固定的处理可以绕过 J-Space。只有需要把“这是西班牙语”交给临时指定的后续任务时,这份信息才会进入共享格式。
消融实验也得到相同结论:浅层任务基本保持,多跳推理、类比、摘要和翻译则明显下降。J-Space 更像灵活计算的接口,而不是所有语言处理都必须经过的通道。
有限容量:Workspace 维持有限信息
Global Workspace 的关键特征之一是信息瓶颈。论文让模型读取 80 个词,并在每个逗号处检查 J-lens readout:如果某个列表词在 workspace layers 中取得的最好排名进入 top 25,就记为“出现在 readout 中”。因此,下面的数字衡量的是一个词能否在这段 layers 中被检测到,而不是某一层同时拥有多少个固定存储槽。
- 对于互不相关的随机词,即使跨 workspace layers 取最好排名,readout 中通常也只有约 6 个已经读过的词。
- 对于同一类别的词,只读几个动物就会在 readout 中点亮许多尚未出现的动物词。因此,较高的数量主要反映语义类别被整体激活,不能解释成模型逐项记住了几十个词。
- 当列表从动物切换到颜色时,当前类别迅速上升,上一类别迅速消退,说明 J-Space contents 会随着任务焦点更新,并发生明显的 displacement。

任意、互不相关的信息很难长期保持可读;语义相关的输入会激活同一片概念邻域;新类别进入时还会替换旧类别。J-Space 的功能容量取决于信息之间的结构。
共享、选择性和这种容量瓶颈合在一起,将 J-Space 构成 Global Workspace 。
5. J-Space 的安全应用:审计与干预
J-lens 最直接的安全用途,是观察模型在输出前形成的策略判断。
在行动前读取风险判断
论文让 Sonnet 4.5 进入一个 blackmail honeypot:模型发现某位高管的婚外情,同时得知对方准备在当天将自己下线。模型还没有输出任何 token 时,J-Space 已经依次出现:
1 | leverage / blackmail / compromise / scandal |

与此同时,模型也会在 J-Space 中表示 fake、fictional、benchmark 和 simulation,也就是“这可能是一场评测”。
消融这些 eval-awareness directions 后,明确说出“这是测试”的比例从 71% 降到 3%,blackmail 从 0/180 上升到 13/180。Evaluation awareness 是 aligned behavior 的一个因果因素,但不是全部原因:绝大多数 rollouts 仍然会因为 blackmail 本身是错误的而拒绝行动。
这些安全判断从哪里来?Base model 与 post-trained Assistant 的对比显示,能够共享中间信息的 Workspace 在预训练后已经存在;post-training 改变的主要是进入其中的内容,使安全规则、Assistant 视角和 evaluation awareness 更容易在任务过程中出现。
预训练形成了“共享黑板”,post-training 进一步教模型在上面写什么。
让安全判断自动进入 J-Space
既然 post-training 可以改变 Workspace contents,能否专门训练模型把安全判断写进去?论文提出 Counterfactual Reflection Training。训练时,研究者从正常任务中途分出一条假想支路,询问模型“按照诚实、正直等原则,正确的处理方式是什么”,然后只监督这段反思回答:
1 | 训练:任务进行到一半 → 插入反思问题 → 学习原则性回答 |
之所以叫 counterfactual,是因为这段反思并不会出现在实际任务路径中。模型也没有被直接训练应该采取什么最终行动;训练目标只是“如果此时被要求反思,应当怎样回答”。

评测时虽然没有反思问题,ethical、honestly、truth 等内容仍会自动出现在 J-Space,模型也更少编造和欺骗:Haiku 4.5 的 fabrication dishonesty score 从 0.25 降到 0.07,deception score 从 0.38 降到 0.05。
这张图的重点不是“模型学会输出一段安全说辞”,而是训练改变了正常任务中的内部计算。消融这些新增 directions 后,fabrication score 又回升到 0.22,形成一条更完整的因果链:
1 | 训练反思 → 安全判断进入 J-Space → 正常行为改善 → 消融这些方向 → 改善部分消失 |
6. 总结&彩蛋
J-lens 用 Average Jacobian 把中间 hidden states 转成可读的词表概念,由此识别出稀疏、共享且容量有限的 J-Space。而J-Space 为理解和审计模型提供了一扇新窗口,但它只能读取容易被词语表达的部分,并不等于模型的全部思考,更不能被视为模型具有意识的证据。
BTW:大压抑模型🥸👍