首页开源项目论文解读归档收藏关于译匠
首页/ 论文解读/ 2610.40613

投机解码也不掉链的水印:TextSeal2 用一把虚拟钥匙替掉抛硬币

TextSeal2: Distortion-Free LLM Watermarking with Copula Mixing and Memoryless Races

核心贡献 / TL;DR

把两把(或更多)水印钥匙合并成一把「虚拟钥匙」,再用高斯 copula 与新鲜噪声耦合,TextSeal2 在投机解码下仍保住水印:被拒绝并替换的 token 继续带同样的键,接受率不变、输出分布不偏、延迟无可测增加。

为什么值得读

水印的工程价值全看「是否容易被绕过」,而投机解码正是会破坏它的加速路径——被草稿生成又被目标模型替换的 token,如果没有额外处理,键就丢了。要在生产里标注 AI 内容的团队,绕不开这个交叉点。

冲突点:水印假设的采样过程,正好被加速技术改掉了

水印的常见做法是在采样时用密钥偏置随机数(Gumbel-max 一类),检测时用同一把钥匙重算分数。它有个隐含前提:生成本身必须真的用那把钥匙。

投机解码把这个前提拆了:草稿模型批量出 token,目标模型逐块验证,被拒的位置由目标模型重新采样。如果被替换的 token 不带键,水印密度就随接受率下降——加速越猛,水印越淡。

前作 TextSeal 的补丁是抛硬币:每个 token 随机路由到两把钥匙之一,以恢复输出多样性。代价在检测端——检测器不知道哪个位置用了哪把钥匙,只能把两把钥匙的分数平均,信号被稀释。

方法:不抛硬币,合并成一把钥匙

TextSeal2 不再逐 token 抽钥匙,而是把多把钥匙合并成一个虚拟钥匙,再通过 AutoMark 的高斯 copula 与新鲜噪声耦合,从而保住「无失真」(输出分布不变)这条硬性质。

关键设计是合并的可扩展性:任意数量的钥匙都能这样合并,包括公开共享的钥匙,而检测力不被稀释。

投机解码下,做法是对带键的草稿多做一次指数竞赛(exponential race),跑在草稿竞赛的剩余量上;利用指数分布的无记忆性,这次竞赛正好复现块验证的行为,因此最终输出严格服从目标模型。

结果:同等多样性下更高的检出率

三个 LLM 上,在输出 token 多样性相同的条件下、假阳性率 1e-3 时,TextSeal2 对 100-token 答案的检出率比 TextSeal 高 8–22 个百分点;与 textGrain 相当,但不需要 post-logits 优化。

投机解码开启后,在接受率相同的条件下,200-token 答案的检出率比 TextSeal 高 18 个百分点、比 textGrain 高 22 个百分点。

工程视角:三条约束同时成立才算能用

生产环境的约束是三条一起的:分布无偏(否则质量账算不清)、无可测延迟(否则加速白做)、与投机解码兼容(否则一开加速就失效)。这篇是少数把三者放在同一组实验里报的工作。

同时要认清无失真水印的固有代价:检测依赖密钥和多 token 统计,短文本天然检出率低——摘要里所有数字都来自 100/200 token 的长答案,这个边界别忽略。

局限与存疑

评估限于三个 LLM 的英文生成;短文本检出率受统计量限制,摘要未给 <100 token 的数据;检测需要持有密钥;未报告改写、翻译、混排等对抗性规避手段下的鲁棒性,也未给吞吐/显存开销的完整测量。

标签:LLM 水印投机解码内容溯源推理加速

本文基于论文原文摘要与方法章节整理,观点由编辑撰写;如与原文有出入,以 arXiv 原文为准。 内容为信息整理与技术评论,不构成投资或决策建议。 发现错误请通过站内纠错页提交(记录可查),修订记录只增不删。