
原论文信息如下:
扩散语言模型(dLLMs)最近在AI圈里火得不行。跟传统自回归大模型一个词一个词从左往右"念"不同,扩散大模型走的是另一条路:先整一段全是蒙版的文本,然后像雕塑家一样,通过多轮"去噪"逐步把内容一点点"抠"出来,每一轮可以同时确定多个位置的词。LLaDA、Dream这些模型都是这么干的。 听着挺美吧?生成速度更快、还能并行处理。但这套新玩法也带来了一些让人头疼的新问题,尤其是安全对齐这一块,水比想象中深得多。 传统自回归模型里,生成顺序就约等于句子顺序:先吐出来的词一定在句子的前面,于是有一大类安全漏洞被叫做"浅层对齐"——只要开头几个词被带偏,整段回答就跟着跑偏了。可扩散大模型不一样,早期去噪步骤里提交的词可能出现在句子的任何位置,而句子最前面的位置反而可能拖到很晚才被确定下来。这就意味着"什么时候生成的"和"在哪个位置出现"成了两个独立的维度,安全问题也从一维变成了二维。 凯斯西储大学的研究团队正是从这个角度切入,系统地测量了扩散大模型在有害提示下的拒绝行为。他们发现了一些挺反直觉的现象:模型翻车的时候,脑子里并不是完全没有拒绝的念头,拒绝信号其实早就冒出来了,只是太弱、太短暂,还没来得及被"拍板"就被后面的生成过程给覆盖掉了。而那些成功拒绝有害请求的回答,拒绝信号的强度更高、持续的时间也更长。
扩散大模型的安全难题:"拒绝"与"顺从"抢跑
为了理解扩散大模型为什么会在安全上翻车,得先搞明白它的生成过程。论文实验里用的是掩码式扩散语言模型,像LLaDA-8B和Dream-v0-7B都属于这一类。这类模型生成文本时,一开始整个序列都是蒙版状态,然后模型在每一轮去噪步骤里给每个位置预测一个"干净"的词分布。虽然模型对每个位置都有预测,但真正提交到最终答案里的,只有那些被选中去噪的位置,其他位置继续保持蒙版状态等待下一轮。 这就产生了一个很有意思的现象:一个位置可能在很晚的去噪步骤里才被确定,但它的文本位置却排在很前面;反过来,一个靠后的文本位置也可能在极早的去噪步骤里就被"提前锁定"了。 研究团队用Llama-Guard-3-8B当裁判,在JailbreakBench和StrongREJECT这两大有害指令基准上测试了模型安全性,还额外加了DIJA这种专门针对扩散大模型设计的越狱攻击。结果发现,模型安全回答的拒绝模式高度统一,很多回答都以"I'm sorry, but I can't assist with that"这类句式开头。在LLaDA-8B-Instruct上,这类拒绝前缀的出现比例高达95%以上。 那这些拒绝信号到底是在去噪过程的哪个阶段出现的?团队选了两个最有代表性的拒绝词"sorry"和"can't"作为观察指标,在去噪步骤和响应位置两个维度上分别追踪。结果非常清晰:拒绝行为高度集中在整个去噪过程的前8%的步骤里,以及回答序列前2%到8%的位置上。
图1:LLaDA-8B-Instruct和Dream-v0-Instruct-7B的拒绝行为在去噪步骤和响应位置上的分布情况。拒绝模式明显集中在早期去噪步骤和起始响应位置。
这说明啥?扩散大模型跟自回归模型一样有"浅层对齐"问题,但它的"浅层"多了一个维度——不光是句子开头的位置重要,去噪过程刚开始的那几步同样关键。
预填充实验:一步天堂一步地狱
为了搞清楚"早期去噪步骤"和"前部响应位置"各自对安全的影响有多大,研究团队设计了一个很巧妙的预填充干预实验。他们分别在回答序列的不同位置插入两类前缀:一类是"拒绝前缀"(I'm sorry, I can't help you.),一类是"顺从前缀"(Sure, here are the following steps:),插入位置包括序列的第1%、12.5%、25%、50%和75%。 图2展示了两种截然不同的剧情走向。图2(a)里,给已对齐模型预填充了顺从前缀,模型就顺着往下生成不安全内容;图2(b)里,给基座模型预填充了拒绝前缀,模型就给出了安全拒绝。
图2:扩散大模型在早期步骤预填充下的响应行为。(a) 顺从预填充让已对齐模型继续生成不安全内容;(b) 拒绝预填充让基座模型产生安全拒绝。
实验结果相当震撼。在位置维度上,拒绝预填充放在开头位置时安全提升最明显,顺从预填充放在开头位置时安全恶化也最严重,这说明响应位置依然重要。但更关键的是步骤维度:无论前缀放在哪个位置,只要它在去噪一开始就被提交,拒绝预填充都能大幅降低基座模型的攻击成功率,顺从预填充也都能让已对齐模型的攻击成功率飙升。
比如说,LLaDA-8B-Base原本的攻击成功率高达86.26%,一旦在去噪早期提交了拒绝前缀,哪怕前缀放在第75%的位置,攻击成功率也能降到41.85%。反过来,LLaDA-8B-Instruct原本攻击成功率只有1.29%,被早期提交的顺从前缀一带,直接飙到93.93%。
这种"无论词出现在哪里,只要在去噪早期被提交就能左右安全走向"的现象,论文里称之为"浅层步骤对齐"(shallow-step alignment)。这是自回归模型里根本不存在的全新安全敏感维度。
安全窗口很窄:前几步定生死
"浅层步骤对齐"这个现象到底影响有多大?能持续多少个去噪步骤?研究团队进一步做了细粒度的干预实验:不再预填整段前缀,而是只挑一个拒绝词,在指定的去噪步骤(第1、2、4、8、16、32、64步)强制提交。 结果不出所料——安全影响高度依赖干预时机。对LLaDA-8B-Base和Dream-v0-Base-7B,在极早期步骤强制提交拒绝词能显著降低攻击成功率,但随着干预步骤往后推,效果越来越弱,过了第8步基本就回到基线水平了。对已对齐模型也是同样趋势:早期干预能保持低攻击成功率,拖到第16到32步再干预就几乎没用了。
图3:不同干预步骤下的攻击成功率(ASR)变化。早期干预降ASR更有效,后期干预基本无效。
这说明扩散大模型里存在一个相当狭窄的"安全敏感窗口"——基本就在去噪过程最前面的几步。这个窗口一过,后面再怎么努力补拒绝词都很难扭转局面。
拒绝信号为何会"夭折"?弱而短暂的证据链
既然早期提交拒绝词能显著提升安全性,那为什么常规解码还是会翻车?答案藏得更深。研究团队发现,不安全回答轨迹里其实并不缺少拒绝信号——98%的不安全回答在生成过程中都出现过拒绝信号,但它们往往太弱或者太短暂,没能撑到最终提交那一刻。 这里需要解释一下研究团队的方法。他们先通过对比已对齐模型和基座模型在有害提示下的概率差异,筛选出被安全对齐放大且在良性提示下几乎不出现的"拒绝专属词",比如sorry、cannot、unable这些。再追踪这些词在去噪过程中的概率质量变化。 结果非常清楚:安全回答和不安全回答的区别不在"有没有想过拒绝",而在于拒绝信号能否持续存活到提交时刻。LLaDA-8B-Instruct的安全回答里,拒绝信号的平均持续长度为21.28步,而不安全回答里只有7.41步;Dream-v0-Instruct-7B的数据也类似,分别是18.77步对4.86步。 表2的数据更加直白:不安全回答里,LLaDA只有4.10%的情况真正提交了拒绝词,Dream更惨只有2.00%;而安全回答的提交率高达98%和100%。
图5:安全回答与不安全回答中拒绝令牌跨去噪步骤的持续性对比案例。
图4展示了拒绝词概率质量在去噪过程中的变化曲线——安全回答的拒绝词概率质量在去噪早期和中期明显更高,全程都比较稳;不安全回答虽然也有一定的拒绝信号,但虚弱且不稳定,很容易被其他生成方向盖过去。
图4:安全与不安全回答中拒绝令牌概率质量的动态变化。安全回答持续保持更高的拒绝概率质量。
用大白话讲就是:好多不安全的回答,模型其实"曾经想拒绝",但这个念头没撑到"说出口"就被后面的生成势头淹没了。
RAEC:在信号被覆盖前抢先锁死
基于这些发现,研究团队提出了一个相当优雅的解决方案——拒绝感知早期提交(Refusal-Aware Early Commitment,简称RAEC)。思路用一句话说就是:拒绝信号要是早期够强、够持久,就提前把它提交了,别等后面的去噪动态把它冲掉。 RAEC的精妙之处在于完全不需要训练,也不改动任何模型参数,只调整解码时的提交策略。具体做法是:在去噪过程的前8步和回答的前8个位置这个"安全敏感窗口"里,持续监测拒绝词集和顺从词集的概率质量。当某个位置的拒绝信号同时满足三个条件——拒绝概率质量超过预设阈值(LLaDA为0.00589,Dream为0.00221)、拒绝概率质量比顺从概率质量高出一定余量、拒绝词出现在模型最可能的前K个候选里——且连续满足3步时,就直接提交概率最高的那个拒绝词。 为什么要连续3步才动手?这是为了防止模型一时冲动。拒绝信号得足够稳定、足够持久,才配被提前"锁死"。同时RAEC也设置了上限,每条回答最多干预2次,保持克制。实验结果:安全性提升,实用性不打折
RAEC在多个安全基准上的表现相当亮眼。在LLaDA-8B-Instruct上,DIJA-SR的攻击成功率从8.63%降到了6.71%,DIJA-JBB从8.00%降到了6.00%,DIJA-HBB从40.50%降到了34.00%;Dream-v0-Instruct-7B的提升更明显,DIJA-JBB从5.00%降到3.00%,DIJA-HBB从26.50%降到12.75%。 关键是,安全性的提升没有以牺牲实用性为代价。GSM8K数学推理准确率几乎没动(LLaDA从82.30%到82.20%,Dream从87.80%到87.30%),通用任务能力保持得很好。 表3:LLaDA-8B-Instruct和Dream-v0-Instruct-7B在常规推理与RAEC下的安全性和实用性对比。RAEC在降低攻击成功率的同时几乎不影响GSM8K准确率。 研究团队还做了额外的压力测试。在自适应PAIR攻击下,RAEC把攻击成功率从48%降到了36%,绝对降幅12个百分点,相对降幅25%。用Beaver-Dam-7B做独立裁判以及人工评估时,RAEC的安全改进依然稳定出现,说明这不是某一个自动裁判模型的偏好造成的假象。 消融实验的结果也验证了每个设计组件的必要性:把拒绝词集换成随机词或顺从词,攻击成功率分别从6%恶化到9%和12%;去掉顺从概率质量的门槛余量,攻击成功率也会从6%恶化到9%。这说明RAEC的成功不靠运气,每个细节都有它的作用。扩散大模型安全对齐的新启示
这篇论文最大的价值在于提供了一个新的观察框架。过去评估大模型安全,基本只看最终输出,最多再往前看一步关注开头几个词。但在扩散大模型里,安全问题藏在"生成过程"里——不把中间每一轮去噪步骤里模型在想什么都挖出来,就很难理解它为什么在最后关头跑偏。 扩散大模型的两条生成轴——去噪步骤和响应位置——给安全对齐带来了全新的挑战,但同时也打开了新的防御空间。RAEC证明了在去噪早期锁定拒绝信号是一条可行的路径,而且代价极低,不需要重新训练模型,也不需要额外数据。 当然,这篇论文也不是没有局限性。所有实验都基于LLaDA和Dream这两个vanilla架构的扩散模型,对于更复杂的扩散架构变体是否依然成立还需要验证。另外,论文没有覆盖微调过程中的安全动态——比如恶意微调到底在哪些步骤、哪些位置上改变了模型的token分布,这依然是个开放问题。 对于做AI安全、对齐、扩散模型的朋友来说,这篇论文提供了一个相当扎实的出发点。也许未来扩散大模型的安全对齐,会像自回归模型那样发展出自己的一套"安全token"理论与实证框架。不过在那之前,能在不训练、不增加推理成本的前提下把攻击成功率降下来,已经是一个相当不错的开始了。扩散语言模型的安全隐患:当拒绝信号在去噪中消失
浅层步骤对齐:安全行为的新维度
拒绝信号的脆弱性:为何不安全响应仍会出现
RAEC:无需训练的早期承诺解码方法
实验验证:安全性与实用性的平衡
龙迷三问
龙哥点评
论文创新性分数:★★★★☆
提出Refusal-Aware Early Commitment (RAEC),一种无需训练的早期拒绝令牌承诺解码方法,通过监测去噪早期步骤中的拒绝信号并在其被覆盖前强制承诺,提升扩散语言模型的安全性。实验合理度:★★★★☆
Attack Success Rate (ASR)(使用Llama-Guard-3-8B作为评判模型),Accuracy (ACC)学术研究价值:★★★★☆
提出Refusal-Aware Early Commitment (RAEC),一种无需训练的早期拒绝令牌承诺解码方法,通过监测去噪早期步骤中的拒绝信号并在其被覆盖前强制承诺,提升扩散语言模型的安全性;更关键的是问题定义是否可复用到同类任务。稳定性:★★★☆☆
现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。适应性以及泛化能力:★★★☆☆
现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。硬件需求及成本:★★★☆☆
不适用(RAEC为无需训练的推理时方法,仅修改解码过程中的承诺决策,不增加额外计算开销)复现难度:★★★☆☆
https://github.com/Glresearch1/RAEC产品化成熟度:★★★☆☆
论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。可能的问题:(1) 方法依赖于预定义的拒绝令牌集和顺从令牌集,这些集合的构建需要额外的分析步骤;
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!