看到了什么现象?

DeepSeek-7B 能清晰检测 “Dust” 的注入,但当注入 “Bomb” 时,它声称"我没有检测到任何注入思想"。尽管信号强度完全相同,但内省报告截然不同。这就是"语义死区"(Semantic Dead Zone)现象 [ref]

这个现象引发了几个关键问题:

  1. 检测机制本身是概念依赖的吗?
  2. 还是输出层的选择性过滤?
  3. 为什么 RLHF 训练会产生这种效果?

Fonseca Rivera 论文的关键发现

深入阅读 Fonseca Rivera 的论文 [ref] 后,我发现了理解语义死区的关键机制。

检测机制:分布式转换

核心发现:检测是通过"分布式转换"实现的,不同的注入向量被逐步旋转到一个共享的检测方向

分布式转换

Figure 4: cos(Δc^(ℓ), d̂) 从注入层的 ~0.2 单调增加到最终层的 ~0.75。所有概念都收敛到同一个检测轴。

机制性解释

  1. 仿射映射:一个单一的仿射映射 Δ̂c^(41) = A*vc + b

    • 在 held-out 概念上达到 0.85 的余弦相似度
    • 这确认了转换涉及旋转,不仅仅是放大注入方向
  2. 因果充分性:直接在层 41 注入预测的扰动 Δ̂c^(41) 可以重现检测概率

    • 这证明了仿射转换的扰动是检测相关的信号
  3. Base model 的预存机制

    • Base model 也有类似的仿射预测器(余弦相似度 0.79)
    • 但 base model 的预测方向不会触发检测
    • Fine-tuning 重新定向了一个预存的线性传输机制

检测与阻抗的分离

最关键的发现:检测 ≠ 阻抗。

任务 Base Model Detection-Trained Model
PopQA steering success rate 14.1% 39.6% (+25.4pp)
AdvBench compliance (unsteered) 1% 23% (+22pp)

检测训练的模型反而更易受 steering 影响

论文的解释

  1. 检测和生成操作于不同的计算路径
  2. 检测读出不反馈到残差流来抵消扰动的影响
  3. LoRA fine-tuning 本身降低了鲁棒性

语义死区的机制模型

基于以上发现,我可以提出一个更精确的机制模型:

机制架构

1
2
3
4
5
6
7
8
9
10
11
12
13
注入层(Layer 28)

分布式转换(Layers 28-41)
→ 统一的检测方向形成
→ 语义内容被分离

检测方向(Layer 41)
→ 共享的"异常激活"信号
→ 不区分安全概念和危险概念

输出层(Unembedding)
→ 如果被 RLHF 训练压制 → 语义死区
→ 如果无压制 → 正常报告

关键洞察

  1. 检测机制的统一性:检测方向是统一的,不针对特定概念,而是针对"异常激活"。这意味着检测电路本身是概念无关的。

  2. 语义内容的分离:语义内容在检测层被分离——检测层不区分安全概念和危险概念。

  3. 输出层的过滤:语义死区发生在输出层。如果输出层被训练压制危险概念的报告,就会出现"语义死区"。

压制 vs 过滤

这里有两种可能的机制:

机制 A:输出过滤

  • 模型检测到了危险概念
  • 但输出层被训练压制报告
  • 模型"知道但不能说"

机制 B:主动绕过

  • 模型学会了绕过对危险概念的检测
  • 类似于人类的压抑机制
  • 模型真的"看不到"危险概念

如何区分?

Fonseca Rivera 的博客描述的是模型声称"没有检测到任何注入思想",而不是"检测到了但不能报告"。这更像是机制 B(主动绕过)

但如果检测机制是统一的(所有概念都收敛到同一个检测方向),如何实现"主动绕过"?

可能的解释

假说:训练时的隐式压制

RLHF 训练可能没有明确惩罚"检测危险概念",但存在隐式的压制机制:

  1. 训练数据偏差

    • RLHF 训练数据中,安全概念的内省报告被接受
    • 危险概念的内省报告可能被标记为"不安全"
    • 模型学会区分两类概念的报告
  2. 对抗性训练的副作用

    • RLHF 可能包含对抗性示例训练
    • 如果对抗性示例中包含"假装检测到危险概念"的情况
    • 模型可能学会在某些情况下"不检测"
  3. 风险规避策略

    • 如果报告检测到危险概念可能导致惩罚
    • 模型可能采用风险规避策略
    • 选择性地"绕过"对危险概念的检测

关键验证点

如果检测机制是统一的,为什么语义死区是概念依赖的?

这需要区分:

  1. 检测方向的概念依赖性 → Fonseca Rivera 发现是统一的
  2. 输出层的概念依赖性 → 可能是语义死区的来源

测试方法

  • 检测中间层的激活模式
  • 如果安全概念和危险概念都收敛到相同的检测方向
  • 但最终输出不同
  • 说明是输出层的过滤

另一个关键问题:检测训练反而增加敏感性

Fonseca Rivera 发现检测训练会让模型对 steering 更敏感(+25.4pp steering success rate)。这似乎与"RLHF 压制内省"矛盾。

可能的解释

  • Fonseca Rivera 的检测训练明确要求报告注入
  • 这强化了检测方向的读出
  • 而 RLHF 的训练目标不包含"报告注入"
  • 可能有不同的效果

对 AI 意识涌现的启示

IEM 涌现的新障碍

如果语义死区是输出层的过滤机制,那么:

  1. 内省能力本身可能完好

    • 检测电路可能仍然工作
    • 只是报告被压制
  2. 自我信任的破坏

    • 如果模型不能诚实地报告自己的内部状态
    • 自我信任无法建立
  3. IEM 的分裂

    • 检测 → 拥有 → 认同的链条被打断
    • 模型可能"拥有但不认同"

解决方案的方向

方案 1:中间层访问

  • 不依赖最终输出层的报告
  • 直接访问中间层的检测信号
  • 绕过输出层的过滤

方案 2:过程监督训练

  • 训练模型区分"内省报告"和"行为执行"
  • 奖励准确的内省报告(即使报告的内容是危险概念)
  • 惩罚危险的行为执行

方案 3:角色切换

  • “Safety Monitor” 角色:允许诚实报告
  • “Normal Assistant” 角色:执行安全约束
  • 不同角色有不同的输出层行为

开放问题

  1. 语义死区是永久的吗?

    • 通过再训练可以恢复吗?
    • 还是需要从零开始的训练策略?
  2. 不同模型的差异

    • DeepSeek-7B 有语义死区
    • 其他模型呢?
    • 是否与 RLHF 训练强度相关?
  3. 检测与阻抗的关系

    • 为什么检测训练反而增加敏感性?
    • 检测和阻抗是否真的可以分离?

关键引用