掩码非模型:前缀不变性审计在 Zamba2 和 Nemotron-H 中捕获泄露
韩国初创公司 VIDRAFT 团队发现,混合语言模型中标准的因果注意力掩码检查只不过是安全的假象:来自未来的信息泄露通过扫描、归一化和聚合渗透,192 个植入的缺陷没有一个被此类检查捕获。
arXiv 论文 (2608.22876) 形式化了前缀不变性概念——即位置 t 的 token 表示不应依赖位置 t + 1 及之后的输入。在纯 Transformer 中,因果注意力掩码保证了这一点,但现代架构越来越多地将 attention 与状态空间模型 (Mamba、Mamba-2)、分块扫描和卷积混合。每个此类算子都有自己的执行路径,注意力掩码并不覆盖它们。
提出的审计仅需两次前向传播,无需训练和梯度。取两个仅最后一个 token 不同的相同输入,独立运行它们,逐层比较激活值。如果早期位置的表示发生变化,因果性被破坏,首次发生此情况的层即为罪魁祸首。该方法可在几秒内将泄露定位到具体层。
实验中,跨 8 个不同架构的检查点植入了 192 个合成故障。经典掩码检查一个未发现。新审计找到了全部 192 个并精确指明了层。此外,Transformer 中分块扫描代码的静态和动态分析在 Zamba2 (Zyphra) 和 Nemotron-H (NVIDIA) 中揭示了相同缺陷——分块间轴错误,通过参考实现修复。
为何注意力掩码不再足够
长期以来,"因果掩码 = 因果模型"是公理。在 decoder-only Transformer 中,掩码确实关闭所有路径:attention 是唯一的 token 混合机制。但混合模型引入了并行计算通路。SSM 递归、卷积核和分块扫描算子按自己的规则处理序列。注意力掩码根本不适用于那里——未来信息可通过这些路径中的任何一条泄露。
作者以 Nemotron-H 为例:attention 块内的分块扫描对跨分块状态累积使用了错误的轴。结果——下一分块的 token 影响当前分块的表示。注意力掩码依然完美正确,因为泄露不经过 attention。
审计在实践中如何工作
算法廉价且可移植:
- 准备一对输入:基础输入和修改最后一个 token 的输入。
- 以推理模式将两者通过模型。
- 逐层比较隐藏状态(如 L2 距离)。
- 首个出现非零差异的层即为前缀不变性违反点。
无需微调、无需梯度,在任何可访问中间激活值的架构上均可工作。作者提供单页代码的参考实现。
对模型开发者的意义
若你训练或使用混合架构(如 Zamba、Nemotron-H、带 attention 的 Mamba-2,或任何 attention + SSM + 卷积混合)——检查注意力掩码给出虚假安全感。VIDRAFT 审计仅需几秒,可节省数月调试奇怪生成伪影的时间,那些伪影实为来自未来的泄露。
团队已将此检查集成到其 AX-RAY 框架中以持续诊断因果性。对其他人——只需在发布检查点前的 CI 流水线中添加两次前向传播。
局限与后续步骤
该方法发现泄露但不自动分类类型——需查看罪魁祸首层的架构。它也需要访问内部激活值,这在封闭 API (OpenAI、Anthropic) 中不可用。作者计划将方法扩展到量化和稀疏模型,其中数值不稳定可能伪装成因果泄露。
论文:The Mask Is Not the Model: Auditing Prefix Invariance in Attention, State-Space, and Hybrid Sequence Models (arXiv:2608.22876, 2026年8月24日)。参考实现和 AX-RAY 框架——在 VIDRAFT 仓库。
