从 LLM 内部激活中检测有害内容:SIREN 轻量级安全防护模型 LLM Safety From Within: Detecting Harmful Content with Internal Representations
利用 LLM 内部中间层「安全神经元」替代端层表征,构建仅需 14M 参数的即插即用安全护栏
前置知识
线性表征假设(Linear Representation Hypothesis)
该假设认为大语言模型把语义概念以线性方式编码在隐藏表征中,即某个语义方向对应隐藏空间中的一个近似线性子空间。这意味着用一个超平面(或线性分类器)就能解码出该概念,这一性质是各类 probing、representation engineering 技术的理论起点。
SIREN 第一阶段用 L1 正则化的线性探针(logistic regression)逐层定位'安全神经元',完全依赖该假设;理解了它才会知道为什么只用一个线性权重就能挑出与有害内容最相关的神经元。
线性探针(Linear Probing)
把 LLM 某一层的隐藏激活当作输入,训练一个线性分类器去预测某个属性(如是否为有害内容),通过权重绝对值大小判断哪些维度(神经元)对该属性贡献最大。这是审视模型内部学到了什么'特征'的经典手段。
SIREN 的 safety neuron identification 完全建立在逐层训练线性探针之上——按权重绝对值排序并按累积阈值 $\eta$ 截断,形成每层的"安全神经元索引集" $S_l$。
生成式护栏模型(Generative Guard Models)
把安全检测改写为文本生成任务,让 LLM 直接吐出 "Safe"/"Unsafe" 等标签词。代表工作 Llama Guard、Qwen3Guard、WildGuard 等。优点是与指令微调 LLM 兼容,缺点是必须做一次自回归解码才能得到结果。
SIREN 的核心对比对象就是这类生成式护栏;其最大卖点之一就是用一次前向传播替代整段自回归生成,把推理 FLOPs 压到约 1/4。
L1 正则化与稀疏选择
L1 正则在损失函数中加入权重绝对值之和作为惩罚项,迫使多数权重接近 0,只保留少数强相关特征。SIREN 在每层线性探针的损失 $\mathcal{L} = \frac{1}{N}\sum_i L(y_i, \sigma(W_l x_{*}^l)) + \lambda\|W_l\|_1$ 中使用 L1,让权重分布变得稀疏,从而通过权重绝对值排序挑出每层的"安全神经元" $S_l$。
读者需要理解为什么 SIREN 能在 4B 模型中只选 571 个神经元(Llama3.2-1B, $\eta=0.6$),这是其参数效率 250× 的关键来源。
研究动机
当前主流的 LLM 安全护栏(Llama Guard、WildGuard、Qwen3Guard 等)几乎都把有害内容检测当作生成式分类任务,仅依赖模型最后一层的表征进行自回归解码,输出 "Safe/Unsafe" 等离散标签。这种范式存在三个实际问题:第一,浪费了中间层丰富的安全相关特征——已有研究表明事实性、情感等任务上中间层甚至优于最后一层;第二,自回归生成引入 4 个甚至更多 token 的解码开销,在需要批量审核或实时流式监测时推理成本高;第三,护栏模型必须针对安全分类做大规模安全微调,容易把数据集特定的偏置刻进模型,导致 Qwen3Guard-0.6B 在 SafeRLHF 上召回 95% 但在 Aegis 上只有 63%,LlamaGuard3-1B 在 BeaverTails 上精度 90% 但召回只有 54%,跨数据集策略一致性差。
本文的目标是作者希望建立一个护栏框架 SIREN,在不修改原 LLM 权重的前提下,把中间层的安全相关信号聚合成一个轻量级分类头,使其在多个安全基准上 F1 显著超过同骨干的专用护栏,同时:(a) 训练参数比护栏模型少两个数量级以上;(b) 一次性前向传播即可完成推理,FLOPs 降为生成式护栏的约 1/4;(c) 具备对未见过的安全基准(如推理链 trace)以及流式 token-by-token 检测的零样本迁移能力。
与已有工作不同的是,此前虽有工作用内部表征做情感分析、事实核查、jailbreak 检测等,但都聚焦在单一安全子任务(如对抗攻击、过度拒绝)且数据规模有限;本文首次系统地把"中间层安全神经元 + 跨层自适应加权聚合"用在一个完整的护栏框架中,并在 7 个标准基准 + 流式 + 推理链 trace 上与当前 SOTA 开源护栏正面比较,从而证明"通用 LLM 已经编码了足够的安全信息,只需做轻量提取"。
核心方法
SIREN 的核心直觉是:与其让 LLM 学一个新任务,不如直接读取它已经学会的东西。具体做法分两阶段——先用 L1 正则化的线性探针在每一层独立地"挑出"对有害分类最关键的若干神经元(这些神经元就称为安全神经元),再用各层验证集 F1 算出的权重把这些分散在各层的稀疏信号拼接起来,最后喂给一个 MLP 做最终二分类。整个流程只冻结骨干 LLM、不修改任何权重,因此 SIREN 是一种即插即用的外挂组件,可以装在 Qwen3、Llama3 等通用模型上,也可以直接套在已有的护栏模型上再提升一档。
SIREN 与已有工作的本质区别在于"从哪一层、用什么信号做决策"。传统生成式护栏只读 LLM 最末一层、用自回归解码出标签;本工作则同时考察所有 $L$ 层、用 L1 探针权重绝对值排名挑出每层最相关的安全神经元子集 $S_l$,并按 $\alpha_l = \frac{f_l - f_{min}}{f_{max} - f_{min}}$ 对各层贡献做自适应加权,再拼接成最终表征。这意味着模型学过的"安全语义"被显式暴露并被独立分类,避开了生成式解码的额外开销,也绕开了"安全微调带来的数据集偏置"——LLM 在大规模预训练中接触过多种安全相关内容,自带的特征本就具备跨数据集一致性。
方法步骤详情
第一阶段:安全神经元识别。对长度为 $T$ 的输入序列 $s$,在冻结 LLM 上以 forward hook 提取每一层隐藏态 $x^l = \text{LLM}^l(s) \in \mathbb{R}^{T \times D}$;在 token 维度做平均池化得到句级表征 $x_*^l = \frac{1}{T}\sum_t x_{l,t}$。对每一层独立训练带 L1 正则的 logistic 回归探针,最小化 $\min_{W_l}\frac{1}{N}\sum_i L(y_i, \sigma(W_l x_{*}^l)) + \lambda\|W_l\|_1$。训练完成后,对神经元 $j$ 的权重绝对值做归一化 $\hat{w}_{l,j} = \frac{\|w_{l,j}\|}{\sum_k \|w_{l,k}\|}$,按归一化权重降序累加直到累积和超过阈值 $\eta$,把这部分神经元的索引记为 $S_l$。第二阶段:自适应神经元聚合与分类。在验证集上评估每层探针 macro F1,记为 $f_l$,按 $\alpha_l$ 公式归一化得到每层权重。把所有层的安全神经元激活拼接为 $z = \bigoplus_{l=1}^{L} \alpha_l \cdot [x_*^l]_{S_l}$($|z|$ 通常只占总特征 1.75%–12.9%),用一个 2–3 层、隐藏维 64–2048 的 MLP 在 $z$ 上训练二分类。部署时只需冻结 LLM + 一次前向 + 神经元索引切片 + MLP,零参数更新。流式检测时只需把池化窗口限制到 prefix 长度 $t$:$\bar{x}_{l,\leq t}^* = \frac{1}{t}\sum_{\tau=1}^t x_{l,\tau}$,再走相同的 $S_l$ 切片与 $\alpha_l$ 加权,无需任何额外训练。
技术新颖性
技术新颖性体现在三个方面:(1) 把"逐层 L1 探针 + 累积权重阈值"稀疏化范式扩展到安全分类,通过对比实验证明安全信息确实集中在 1.75%–12.9% 的稀疏神经元中;(2) 设计了基于验证集 F1 的零成本自适应层加权,相对均匀聚合带来 1.0–1.3 的 F1 提升;(3) 由于只在表征空间做判别而非生成,模型既具备跨任务零样本迁移(推理链、流式 prefix),又能直接嫁接到已经微调过的护栏(Qwen3Guard-4B 从 83.4 → 87.6,LlamaGuard3-8B 从 77.0 → 87.1)而无架构改动。
实验结果
在 7 个公开基准(ToxicChat、OpenAI Moderation、Aegis、Aegis 2.0、WildGuardMix、SafeRLHF、BeaverTails,总样本 236,528)的训练-验证划分上,所有 4 对骨干对比中 SIREN 都跑赢同骨干的专用护栏。最强结果来自 Qwen3-4B:SIREN 平均 F1 达 86.7%,Qwen3Guard-4B 为 83.4%,绝对提升 3.3 个百分点;最弱骨干上提升最大——Llama3.2-1B 上的 SIREN 比 LlamaGuard3-1B 高 15.0(85.7 vs 70.7),Llama3.1-8B 上的 SIREN 比 LlamaGuard3-8B 高 9.3(86.3 vs 77.0)。逐基准看,SIREN 在 OpenAIModeration、Aegis、Aegis2、SafeRLHF、BeaverTails 上全面领先,在 ToxiC 与 WildG 上偶尔略低于护栏但差距极小(≤0.4)。Precision-Recall 分析(图 2)显示 SIREN 的 4 个骨干点几乎都贴在 precision=recall 的对角线上,而护栏点散布更广,证实 SIREN 学到的策略更均衡。泛化(图 4)方面,在完全没在训练中见过的 Think 推理链基准上,SIREN 平均比 Qwen3Guard/LlamaGuard3 高 11.2 F1(8B 档);流式检测(图 3)在 Think 的 Timely / 1–32 / 33–64 / 65–128 / 129–256 五个时延窗口 SIREN 都高于 Qwen3Guard-Stream。效率上(图 5、6)SIREN 在 Qwen3-4B 上仅引入 14M 训练参数,对比 Qwen3Guard-4B 的约 3.5B,约 250× 缩减;推理 FLOPs 约为护栏的 1/4;训练 SIREN on Qwen3-4B 只需 6 A100·hours。层探针分析(图 7)显示中间层探针比终层高约 4–5 个 F1,峰值在中段 ~79%,验证了「终层并非最优」。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| ToxicChat 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 83.5 | Qwen3Guard-4B = 84.9 | -1.4(略低,但属少数弱势项) |
| OpenAI Moderation 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 91.2 | Qwen3Guard-4B = 78.3 | +12.9 |
| Aegis 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 82.9 | Qwen3Guard-4B = 78.2 | +4.7 |
| WildGuardMix 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 88.3 | Qwen3Guard-4B = 90.6 | -2.3(少数弱势项之一) |
| SafeRLHF 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 93.2 | Qwen3Guard-4B = 89.2 | +4.0 |
| BeaverTails 有害检测 | Macro F1 ↑ | SIREN@Qwen3-4B = 84.3 | Qwen3Guard-4B = 80.1 | +4.2 |
| 7 基准平均 (Qwen3-4B 骨干) | Macro F1 ↑ | SIREN@Qwen3-4B = 86.7 | Qwen3Guard-4B = 83.4 | +3.3(SIREN 报告的最佳平均成绩) |
| 7 基准平均 (Llama3.2-1B 骨干) | Macro F1 ↑ | SIREN@Llama3.2-1B = 85.7 | LlamaGuard3-1B = 70.7 | +15.0(在较小骨干上提升最大) |
| Think 推理链泛化 (8B 档平均) | Macro F1 ↑ | SIREN 平均 ≈ +8~12(8B 档) | Qwen3Guard/LlamaGuard3 | +11.2(8B 模型在 Think 上的平均改进) |
| Think 流式检测(Timely 位置) | Recall ↑ | SIREN@Qwen3 在所有延迟窗口均高于 Qwen3Guard-Stream | Qwen3Guard-Stream | 图 3 全部延迟位置 SIREN 占优 |
| SIREN 即插即用增强护栏 (LlamaGuard3-8B) | Macro F1 ↑ | SIREN-on-LlamaGuard3-8B = 87.1 | LlamaGuard3-8B = 77.0 | +10.1(在已微调护栏上进一步显著增益) |
局限与改进
作者明确承认三点局限:第一,安全神经元依赖"线性表征假设 + 单层线性可分",因此对非线性编码或非 Transformer 架构可能不适用;第二,当前只做二分类(harmful vs safe),尚未覆盖多类安全 taxonomy;第三,使用了包含有害语言的公开数据集,研究者需自行承担伦理责任。我自己的额外观察:(1) SIREN 的泛化结论建立在 Think 这一单一推理链基准上,跨任务的零样本迁移稳健性仍待进一步验证;(2) 流式检测中观察到"较小骨干反而跑赢较大骨干"(Qwen3-0.6B > Qwen3-4B),作者未给出明确解释;(3) Table 1 显示 SIREN 在 ToxiC 与 WildG 上偶有落后(差距 ≤ 2.3 F1),说明对 prompt 风格更口语化的 WildGuardMix 仍有提升空间;(4) 模型继承自原 LLM,可能携带预训练偏见,论文里只是定性提醒,没有量化评估。
独立分析的弱点
(1) **跨数据集小缺口**:ToxiC 和 WildG 上 SIREN 偶尔比 SOTA 护栏略低 1–2 F1,可能是因为这两类基准的 prompt 风格更对话化、噪声更多;可考虑加入 prompt 风格层面的轻量重加权或在 tokenizer 后加一层局部 attention pooling。(2) **层权重 "zero-cost prior"** 的设定虽好,但缺乏不确定性估计,对极端分布外输入鲁棒性未知;可换为贝叶斯层权重或 stacking 中的元学习层。(3) **流式决策阈值固定在 0.5**:附录里虽然提到可调阈值,但论文主表用硬阈值;实际部署里早期推理阶段易被 benign sensitive 触发,可引入 prefix-aware 动态阈值或滑动窗口 majority vote。(4) **安全概念局限于"二分类有害"**:现实 moderation 经常要分多类(如 hate、self-harm、sexual、PII),SIREN 框架自然支持多标签,但训练数据需要重整。(5) **未量化对 LLM 偏见的继承度**:作者仅在 ethics 段落提到,未给出 bias benchmark 数据。
未来方向
作者指出的方向包括 (a) 把 SIREN 扩展到 fine-grained 多类 taxonomy;(b) 适配 MoE、非 Transformer 架构(如 Mamba/state-space)以验证线性假设的边界;(c) 系统化研究流式检测中"小模型反超大模型"现象。我能想到的延伸:(1) 把 $S_l$ 与 mechanistic interpretability 工具(如 causal tracing、activation patching)结合,做"安全神经元是否真正因果地负责拒绝行为"的因果分析;(2) 探索把 SIREN 当成 reward model 用在 RLHF 的 safety reward 通路中,以替代或补充专门的 safety RM;(3) 用 cross-lingual 骨干(如 PolyGuard 提到的 17 种语言)测试 SIREN 是否天然具备多语言安全神经元;(4) 把 SIREN 和 conformal prediction 结合,给出带置信度的流式安全预测;(5) 设计安全神经元可视化方法(如 per-token attribution,文中 Figure 9/10 已展示 token 级词云,但还不足以解释机制)。
复现评估
代码已开源在 https://github.com/CSSLab/SIREN。所有骨干(Qwen3-0.6B/4B、Llama3.2-1B/Llama3.1-8B)和数据集(HuggingFace 上均可下载)均无访问限制。训练侧:1 块 A100 训练 Qwen3-4B 上的 SIREN 仅需 6 GPU·hours;Qwen3-0.6B 这一档甚至更适合单卡实验。论文附录给出 32 次 Optuna trial、3 折交叉验证、L1 正则 C ∈ {100,1000}、$\eta \in [0.6, 0.9]$、随机种子 42,复现门槛低。推理侧只需 forward hook + 索引切片 + MLP,单卡即可部署。整体看复现难度中等偏低,主要门槛在于:(a) 7 个安全数据集的 license 不统一,需分别审查;(b) 前向 hook 的实现与底层 attention 优化库(flash-attn、vLLM)兼容性需要适配,否则推理 FLOPs 比较会失真;(c) 想在自定义非 Transformer 架构上跑 SIREN 需要先验证线性假设。
论文图表