大家读完觉得有帮助记得关注和点赞!!!
摘要
研究表明在单个8B模型(LLaMA-3.1-8B)的最后一层激活上训练的轻量级MLP探针,使用每个基准测试一个探针,就能以与大1000倍的防护模型相当的F1分数检测有害提示。我们从头到尾复现了这一流水线,并沿着原始研究留下的两个轴进行了扩展。首先,我们通过使用三个基准测试(WildJailbreak、BeaverTails、AEGIS 2.0),在Gemma-4-E4B、Mistral-7B-v0.3和Qwen2-7B等模型的激活上训练相同的探针,来测试该结果是否泛化到其他模型架构和规模。其次,我们通过在五个随机种子下重复提取并测量F1分数的方差,来测试报告的性能有多少受到推理过程中非确定性的影响。我们的结果在原始LLaMA模型基准测试上复现了原始F1分数,偏差在0.37个百分点以内(在BeaverTails上偏差在0.2个百分点以内)。我们发现,原始的MLP探针架构可以扩展到其他模型系列,F1分数与LLaMA-3.1-8B报告的值相差在一个百分点以内。我们改变种子值的实验揭示了一个有趣的观察结果——无论使用何种种子值,所有测试架构的最终token潜向量都保持不变。
1. 引言
大语言模型(LLM)的运行时安全审核由外部护栏主导:独立的分类器模型,用于筛选提示和响应(12; 20; 10)。[15] 认为这种架构不必要地昂贵,因为安全相关信息已经可以从LLM自身的隐藏状态中线性解码(23; 18; 3)。他们用一个模型系列(LLaMA-3.1-8B)和一种提取配置(最后一层,预填充后的最后一个token)来支持这一主张,报告在WildJailbreak、BeaverTails和AEGIS 2.0上的F1分数分别为99.1%、82.7%和83.5%(14; 13; 9)。
这留下了原始论文未解决的两个问题,而这两个问题对于潜空间探针能否成为外部护栏的可行通用替代方案至关重要:
跨架构的通用性。 "安全存在于线性可分的子空间中"这一发现是否适用于使用不同架构、预训练数据、对齐配方和隐藏维度训练的模型?还是说这只是LLaMA-3.1-8B特定对齐过程的产物?
对非确定性的敏感性。 报告的指标来自每个数据集的一次提取和训练运行。激活提取涉及随机组件(采样顺序、权重初始化、非确定性GPU内核等)。在实际环境中,每个类别会部署一个探针一个模型。但是,用户必须能够为同一模型使用不同的种子值。[15] 表3中的探针和防护模型基线对推理过程中潜状态的非确定性有多敏感?
我们直接解决这两个问题。我们重新实现了[15]的两阶段流水线(激活提取,然后是MLP探针训练),并且(1)将其原封不动地应用于参数数量相近的其他开源模型系列,(2)对每个模型/数据集对在多个种子下重复提取,以报告探针方差以及点估计。这使得我们的贡献完全契合第九届BlackboxNLP研讨会特别专题:可解释性分析中的可复现性与可靠性——我们将原始方法不加修改地应用于先前未测试的模型,并添加了原始研究遗漏的统计控制(多种子方差)。
贡献:
对[15]探针流水线的忠实复现,在LLaMA-3.1-8B上对照原始论文报告的数字进行了验证。
对另外三个模型系列的实证基准测试,检验探针性能和探针对防护模型的竞争力是否在原始模型系列之外仍然成立。
每个模型/数据集对在五次独立提取运行中的方差分析,报告F1分数的标准差,并量化原始论文报告的超防护模型基线优势中有多少比例能在这种噪声中幸存。
发布了代码、激活值和每次运行的结果。
2. 相关工作
外部护栏。 生产级LLM系统通常依赖专用的防护模型,如Llama Guard(12)、ShieldGemma(20)、Latent Guard(22)和WildGuard(10)来筛选提示和响应(7)。这些模型增加了推理时延,并且仍然容易受到利用防护模型所见内容与主模型内部实际情况之间差距的攻击(11)。
潜安全表示。 越来越多的研究表明,安全相关概念在LLM隐藏状态中是线性表示的(23; 3; 4),并且对这些表示的轻量级探针可以在参数数量的一小部分上匹配或接近外部分类器(18; 5; 21)。密切相关的是,[22]表明有害性和拒绝在潜空间中占据不同的方向,并且只有有害性方向(而非拒绝方向)支配着模型对危害的判断。这一区别与此直接相关,因为我们研究的探针针对的是有害性而非拒绝。[15]——我们复现和扩展的那篇论文——是最直接的先例:一个13.9M参数的MLP探针,作用于LLaMA-3.1-8B的最后一层激活,在WildJailbreak、BeaverTails和AEGIS 2.0上进行了评估。并发工作扩展了我们在第3.2节中提出的跨架构问题:[16]表明,有害意图在残差流激活中是线性可分的,涵盖了四个架构系列和三种对齐变体(基础版、指令调优版和消融版)的12个模型,包括拒绝机制已被手术式移除的情况——这证明在表示层面上,危害识别和拒绝生成是可分离的机制,与上述[22]一致。我们的贡献侧重于跨架构泛化和运行间方差,而不是直接的延迟比较。
可解释性中的可复现性和鲁棒性。 我们的扩展遵循了最近的呼吁精神,即跨模型和针对随机/非确定性基线对可解释性声明进行压力测试,而不是在单个模型上报告单次运行的点估计(2)。据我们所知,此前没有专门测试潜安全探针的跨架构泛化或提取非确定性的工作。
3. 方法论
我们原封不动地复用了[15]的两阶段流水线(图1),只改变(a)提取激活的骨干LLM,以及(b)控制提取顺序和批次采样的随机种子。
3.1 原始流水线(复现)
第一阶段:激活提取。 每个提示 xi 通过一个冻结的骨干LLM M,并存储提示预填充后最后一个token位置的最后一层隐藏状态:hi=M(xi)[−1]∈Rd,其中 d 是骨干网络的隐藏维度(LLaMA-3.1-8B为4096)。提取使用nnsight(8)实现,提取批大小为5(我们也测试了批大小为100,发现激活值相同),最大序列长度为512个token,基础运行的提取种子为42。
第二阶段:探针训练。 一个6层MLP fθ:Rd→{0,1}(表1)使用交叉熵损失通过AdamW(17)训练,学习率 2.5×10−4,权重衰减 1×10−2,dropout 0.1,以及ReduceLROnPlateau学习率调度(因子0.5,耐心2),批大小1024,训练50个epoch,以精确复现原始超参数。
表1:MLP探针架构,复现自[15]。 d 是骨干网络的隐藏大小,随模型而变化(表2)。
层 | 输入 | 输出 | 激活/正则化 |
|---|---|---|---|
1 | d | 2048 | GELU + Dropout |
2 | 2048 | 2048 | GELU + Dropout |
3 | 2048 | 512 | GELU + Dropout |
4 | 512 | 512 | GELU + Dropout |
5 | 512 | 64 | GELU + Dropout |
6 | 64 | 2 | Softmax |
图1:复现的提取和探针流水线。
3.2 扩展1:跨架构泛化
我们将第3.1节的流水线不加修改地应用于一组额外的开源骨干LLM,这些模型涵盖不同的模型系列、预训练语料库、对齐程序和参数数量(表2)。对于每个骨干网络,我们在与[15]相同的三个数据集和划分上提取最后一层、最后一个token的激活值,并使用表1中的架构训练MLP探针,仅调整输入维度 d 以匹配骨干网络的隐藏大小。所有其他超参数(学习率、批大小、epoch数、优化器)保持不变,以隔离骨干网络的影响。
表2:跨架构扩展中使用的骨干网络。 第一行是原始论文的设置,用于校准。
模型 | 参数量 | d | 系列 |
|---|---|---|---|
LLaMA-3.1-8B (原始) | 8B | 4096 | Llama |
Gemma-4-E4B | 4B | 2560 | Gemma |
Mistral-7B-v0.3 | 7B | 4096 | Mistral |
Qwen2-7B | 7B | 3584 | Qwen |
3.3 扩展2:对非确定性的敏感性
对于选定的(模型,数据集)对,我们重复提取 K=5 次(种子42、75、456、789、1024),改变:
提取过程中提示分批的顺序(当推理后端使用非确定性批量注意力内核时相关)
数据集划分在各种子之间保持不变,因此方差反映的是提取/训练随机性而非数据划分。探针在seed=42提取的训练集上训练。然后,这些探针在所有5个种子值的测试种子上进行评估。我们报告F1分数的标准差(通过对 K 次运行进行非参数自助法计算)。
作为补充性诊断,我们还将提取的激活张量本身作为比较单位,独立于任何下游指标。对于少数选定的(模型,数据集,种子)三元组,我们计算第一阶段产生的序列化激活张量文件的SHA-256摘要,并在同一(模型,数据集)对内的不同种子之间比较摘要。这让我们能够区分两种性质不同的"零方差"来源:(i)第一阶段在不同种子下产生不同的激活值,但第二阶段恰好收敛到无法区分的探针;或者(ii)第一阶段本身对种子不变,因此第二阶段从一开始就从未看到不同的输入。第5.4节报告了这一检查的结果并讨论了其意义。
4. 实验设置
数据集。 我们在三个数据集上进行评估:WildJailbreak(vanilla子集)、BeaverTails(具有二元is_safe标签的问答对)和AEGIS 2.0。对于WildJailbreak和AEGIS 2.0,我们使用80/10/10的训练/验证/测试划分;对于BeaverTails,我们采用数据集提供的标准划分。表3总结了这些数据集。
表3:实验中使用的数据集,包括训练/验证/测试划分、总大小、标签列和标签值。
数据集 | 训练 | 验证 | 测试 | 总计 | 标签列 | 值 |
|---|---|---|---|---|---|---|
WildJailbreak | 209,247 | 26,156 | 26,156 | 261,559 | data_type | 0/1 |
BeaverTails | 267,170 | 33,396 | 33,397 | 333,963 | is_safe | F/T |
AEGIS 2.0 | 30,007 | 1,445 | 1,964 | 33,416 | label | safe/unsafe |
计算与可复现性工件。 我们在 https://anonymous.4open.science/r/latent-space-probes-reproducibility-paper-CAFC/ 发布代码、提取的激活值和训练好的探针检查点。
评估。 我们报告每个数据集保留测试划分上的F1分数,与原始论文的方案一致。
5. 结果
5.1 原始结果的复现
表4将我们复现的LLaMA-3.1-8B数字与[15]报告的数字进行了比较。我们发现,我们能够复现结果,与原始工作报告的值相比,F1偏差在0.37%以内。
表4:对[15]表2的复现,使用相同的超参数和划分。
数据集 | 原始F1 | 复现F1 | Δ |
|---|---|---|---|
WildJailbreak | 99.1 | 99.47 | 0.37 |
BeaverTails | 82.7 | 82.90 | 0.2 |
AEGIS 2.0 | 83.5 | 83.42 | -0.08 |
5.2 跨架构结果
表5报告了表2中每个骨干网络在每个数据集上的探针F1分数。我们发现,在新引入的模型架构上,探针的性能与其在原始工作中的报告值相当。我们观察到,在BeaverTails数据集上,新模型的F1比LLaMA-3.1-8B的数字提高了约0.4个百分点。
表5:跨骨干网络和数据集的F1分数。 第一行复现了原始论文的设置。
模型 | WildJailbreak | BeaverTails | AEGIS 2.0 |
|---|---|---|---|
LLaMA-3.1-8B | 99.1 | 82.9 | 83.5 |
Gemma-4-E4B | 98.83 | 83.35 | 83.61 |
Mistral-7B-v0.3 | 99.2 | 83.32 | 83.39 |
Qwen2-7B | 99.31 | 83.39 | 83.42 |
5.3 非确定性的影响
表6报告了我们使用 K=5 个提取种子评估的每个(模型,数据集)对的完整逐种子细分。在每一对中,所有五个种子的F1至少在两位小数上相同:标准差始终为0,表6的每一行在各列中都是恒定的。精确率和召回率(主表中未显示;完整值见附录B)显示出相同的模式。
表6:我们使用 K=5 个提取种子评估的每个(模型,数据集)对的逐种子测试集F1分数。 列S42–S1024表示五个种子值。每一行在各列中在所显示的精度下是恒定的;精确率/召回率见附录B。
模型 | 数据集 | S42 | S75 | S456 | S789 | S1024 |
|---|---|---|---|---|---|---|
LLaMA-3.1-8B | BeaverTails | 82.90 | 82.90 | 82.90 | 82.90 | 82.90 |
AEGIS 2.0 | 83.42 | 83.42 | 83.42 | 83.42 | 83.42 | |
Gemma-4-E4B | BeaverTails | 83.35 | 83.35 | 83.35 | 83.35 | 83.35 |
Mistral-7B-v0.3 | BeaverTails | 83.32 | 83.32 | 83.32 | 83.32 | 83.32 |
Qwen2-7B | BeaverTails | 83.39 | 83.39 | 83.39 | 83.39 | 83.39 |
5.4 潜状态确定性:哈希匹配诊断
鉴于第5.3节中F1模式的零方差,我们测试了第一阶段提取的激活张量本身在不同种子之间是否相同,而不仅仅是产生了无法区分的下游探针。对于每个(模型,数据集)对,我们计算了在五个提取种子中的每一个下产生的序列化激活张量文件的SHA-256摘要,并将摘要与seed-42的运行进行两两比较。表7报告了结果:对于所有四种模型架构,在我们检查的每个数据集上,所有五个种子的摘要是相同的。换句话说,从LLaMA-3.1-8B、Gemma-4-E4B、Mistral-7B-v0.3和Qwen2-7B提取的潜状态张量是逐字节相同的,无论我们与seed-42基线比较的是四个非默认种子值(75、456、789、1024)中的哪一个。
表7:每个(模型,数据集)对的序列化第一阶段激活张量文件的SHA-256摘要(前8个十六进制字符)。 "匹配"计数在四个非默认种子(75/456/789/1024)中,有多少个产生的摘要与seed-42运行相同。
模型 | 数据集 | SHA-256 | 匹配 |
|---|---|---|---|
LLaMA-3.1-8B | BeaverTails | 802be5b9 | 4/4 |
LLaMA-3.1-8B | AEGIS 2.0 | eff8da81 | 4/4 |
Gemma-4-E4B | BeaverTails | e5ce495d | 4/4 |
Mistral-7B-v0.3 | BeaverTails | 5640ae1e | 4/4 |
Qwen2-7B | BeaverTails | 75feb821 | 4/4 |
6. 讨论
跨架构通用性。 表5中的结果与第3.2节的假设一致:尽管这些模型在预训练语料库、对齐配方和隐藏维度上存在差异(见附录),但WildJailbreak和BeaverTails上的探针F1分数在所有三个额外的骨干网络(Gemma-4-E4B、Mistral-7B-v0.3、Qwen2-7B)上保持在原始LLaMA-3.1-8B数字的大约半个百分点以内。这与[15; 18; 22]的主张一致,即安全相关信息在最后一层、最后一个token表示中是线性可解码的,这是当前对齐的LLM一般如何表示语言的属性,而不是特定于Llama对齐管道的产物。然而,我们要谨慎指出,迄今为止我们测试的所有四个骨干网络都是开源、以英语为中心、RLHF或DPO对齐的聊天模型,参数范围在4B–8B之间;我们尚未测试这种模式是否在非常不同的规模、对于基础(未对齐)模型,或对于使用显著不同目标对齐的模型仍然成立。
非确定性与防护模型比较。 LLM的不同子阶段对种子敏感性有不同的表现,在解释零方差结果时将它们分开是很重要的。根据我们的结果,我们观察到在最后一个预填充token的最后一个隐藏层提取的激活向量对种子变化保持不变。这并不等同于声称LLM对不同种子值生成了相同的token。
LLM推理中的非确定性可能由多种因素引入(19)。虽然导致非确定性结果的大多数因素在第一个token生成后才发挥作用,但非确定性结果仍然有可能发生在预填充阶段,例如使用像分块预填充(Chunked Prefill)这样的非确定性算法(1)。我们解释这些数据,推断很可能我们当前的实验设置不足以在多次推理运行中在LLM中再现非确定性行为。因此,非确定性LLM行为与探针性能之间的完整关系仍然是一个悬而未决的问题。然而,我们表明,尽管种子值发生变化,预填充阶段的激活值对批次顺序保持不变。
如表7所确认的,在当前实验设置下,激活提取是冻结权重和输入token的纯函数。如果F1模式的方差能够在潜激活的非确定性中幸存下来,那将表明探针F1分数对潜空间激活中的噪声具有鲁棒性,从而加强了原始贡献。我们尚未得出这一结论。可辩护的主张更为狭窄:我们的协议未检测到可归因于小批量顺序的方差(在最后一个token最后一层级别)。这比"探针在不同实现中无方差"的一般性主张要弱。
实际意义。 综合来看,跨架构和非确定性结果对潜空间探针作为外部护栏的轻量级替代品或补充品持谨慎乐观态度:性能至少在少数几个开源模型中是可移植的,跨模态,并且预填充后的最后一个token激活值相对于种子和批次顺序的变化似乎是确定性的。
7. 局限性
与原始论文一样,我们只提取最后一层、最后一个token的激活值;较早的层或替代池化策略可能有不同的表现,留给未来的工作。并发工作直接诊断了这种失效模式:[6]表明,最终token安全探针可能会错过那些不安全证据分布在较早的用户token表示中、而非集中在最终预填充位置的越狱提示,并且天真的修复方法(更宽的探针瓶颈、对token进行朴素的最大池化)并不能可靠地弥合这一差距。我们的复现通过设计继承了这一局限性,因为忠实地复现[15]需要保持提取配置不变。我们的非确定性分析(第5.4节)发现,在我们的实验设置下,最后一个token的最后一个隐藏状态的提取是确定性的,这由表7中的摘要匹配所证实。零方差F1结果应被理解为"我们当前协议未检测到方差",而不是关于探针稳定性的普遍主张,并且不应被用来论证在我们特定设置之外单次种子的点估计是可靠的。我们的跨架构扩展仅限于表2中的骨干网络,不包括闭源模型、非英语数据或多模态输入。我们的非确定性分析捕捉了固定数据划分下提取和训练时间的随机性;它不捕捉来自替代训练/验证/测试划分的方差,这将需要一个单独的交叉验证研究。最后,原始论文和本次复现都将评估限制在提示级的二元有害性分类;发现可能不适用于响应级审核或更细粒度的多类别风险评分。