大型语言模型 (LLM) 正在重塑互联网。从生成新闻文章到编写代码,机器生成内容的数量正在呈爆炸式增长。但这股能力背后也有阴暗面: 幻觉、偏见,以及大规模制造虚假信息的可能性。如果网络上充斥着数以百万计的 AI 生成文章,我们要如何信任所读到的内容?更进一步说,如果未来的 AI 模型是基于今天 AI 的输出进行训练的,我们不仅会陷入质量退化的反馈循环,还会面临更多问题。
为了解决这个问题,研究人员转向了水印技术 (Watermarking)——即将一种隐藏的、可检测的签名嵌入到 AI 生成的文本中。
然而,当前的水印技术存在一个主要瓶颈。最有效的方法需要访问模型内部的概率分布 (即 Logits) 。如果你使用的是 OpenAI 或 Google 等提供商的 API,你根本无法获得这些 Logits。这使得第三方无法有效地验证内容来源。此外,现有的水印技术通常非常脆弱;简单的改写往往就能将水印清洗得一干二净。
在这篇文章中,我们将深入探讨一篇提出巧妙解决方案的新研究论文: POSTMARK 。 POSTMARK 是一种“黑盒”方法,意味着它不需要窥探模型内部。它在文本生成之后才应用水印,并且对攻击具有惊人的鲁棒性。
“绿名单”与“红名单”的问题
要理解为什么 POSTMARK 是必要的,我们需要先看看标准水印是如何工作的。目前主流的方法 (如 Kirchenbauer 等人的算法) 是在生成过程中进行干预。
当 LLM 生成句子中的下一个词时,它会计算词汇表中每个词的概率。标准水印算法使用前一个词作为种子来生成随机数,将词汇表分为“绿名单”和“红名单”。然后,模型会被强制 (或强烈建议) 从绿名单中选择一个词。
对人类来说,文本看起来很正常。但对于知道种子算法的检测器来说,文本中包含的“绿色”词汇数量在统计上是不可能的。
局限性:
- 无 Logits 访问权限: 除非你拥有该模型,否则无法实施此操作。如果你是在 GPT-4 之上构建应用程序,你无法强制 GPT-4 优先选择“绿名单”词汇,因为你无法控制采样循环。
- 改写攻击的脆弱性: 这些方法依赖于特定的 Token 序列。如果用户获取输出并要求另一个 AI “重写这段话”,Token 序列就会改变,绿/红比例会恢复正常,水印也就消失了。
- 低熵问题: 在“低熵”场景中——比如回答一个只有一个正确答案的事实性问题——如果唯一的正确词汇在红名单上,模型就无法选择绿名单的词。
POSTMARK 登场: 通过重写添加水印
研究人员提出了一种完全不同的范式。POSTMARK 不是在生成期间添加水印,而是一种事后 (post-hoc) 方法。它获取任何模型的已完成文本,并通过重写来注入签名。
其核心直觉简单而强大: 文本的语义 (含义) 在添加水印或改写后不应发生剧烈变化。
因此,POSTMARK 不基于精确的 Token 序列,而是基于文本的含义来生成水印。
架构
POSTMARK 管道包含三个独特的模块: 嵌入器 (Embedder)、秘密表 (SecTable) 和 插入器 (Inserter) 。

如上图 1 所示,该过程是一个流水线:
- 生成 (Generation): 一个 LLM 生成初始的、未加水印的文本。
- 嵌入 (Embedding): 文本通过一个嵌入器 (如 OpenAI 的 text-embedding-3-large) 。这将文本转换为代表其语义含义的密集向量。
- 词汇选择 (“秘密”) : 这是系统的加密核心。系统维护一个 SecTable , 它将词汇表中的词映射到随机的向量嵌入。系统将输入文本的嵌入与此表进行比较,根据这个秘密映射找到与文本“语义接近”的词。
- 注意: * 它不仅仅是随机挑选词汇。它是基于文本含义和秘密表的计算来选择词汇的。这确保了如果文本被改写 (保留其含义) ,系统很可能会再次选择同一组*水印词。
- 插入 (Insertion): 系统创建一个“水印词”列表 (例如,“protective”、“drove”、“surprised”) 。然后,它将原始文本和此列表传递给 插入器 (一个遵循指令的 LLM) ,提示语为: 重写此文本以包含这些词。
结果是一段连贯的文本,其中携带了由其自身含义决定的特定隐藏词汇载荷。
检测机制
检测水印遵循类似的逻辑。你不需要原始文本,但你需要 嵌入器 和 SecTable 。
- 获取可疑文本 (候选文本) 。
- 生成其嵌入。
- 使用 SecTable 重建如果该文本被加了水印应该包含的词列表。
- 检查文本中实际出现了多少个预测词。
论文定义了一个存在分数 \(p\) 来量化这一点:

在这里,分数 \(p\) 是在文本中找到的预测水印词的比例。为了对轻微的变化 (如 “run” 与 “running”) 保持鲁棒性,该方法不要求精确匹配。如果在文本中存在语义相似的词 (余弦相似度 \(\ge 0.7\)) ,则算作该词“存在”。如果 \(p\) 超过某个阈值,该文本就会被标记为已加水印。
实验结果: 关键在于鲁棒性
POSTMARK 的主要主张是鲁棒性。如果攻击者改写文本,具体的词可能会改变,但语义含义通常保持不变。因为水印词源于语义,检测器应该仍然会寻找相同的词。即使改写器删除了一些,剩余的词也应该足以触发检测。
研究人员将 POSTMARK 与 8 种基线算法进行了比较,包括标准的“绿/红名单”方法 (KGW) 以及 Unigram 和 EXP 等较新的技术。

上方的表 1 展示了结果。关键指标是 1% FPR (假阳性率) 下的 TPR (真阳性率) 。 这衡量了系统在保持极低误报率的同时正确检测水印的频率。
数据中的关键结论:
- 改写前: 几乎所有方法都表现良好 (90% 以上) 。
- 改写后: 这才是分出胜负的地方。看看 LLAMA-3-8B-INST / OpenGen 这一行。标准的 KGW 方法下降到了 41.4% 。 EXP 方法更是崩盘至 2.2% 。
- POSTMARK 的表现: 在同一任务中,POSTMARK 在改写前的检测率为 91.8% (略低于其他方法) ,但在改写后保持了巨大的优势。不过请注意,在表 1 中,Llama-3-8B-Inst OpenGen 的特定条目显示 POSTMARK 为 1%,这似乎是论文文本中提到的异常值或特定配置问题,但总体而言,观察 Mistral-7B-INST , POSTMARK 保持在 89.8% 的高位,而其他方法则举步维艰。
- 黑盒比较: 唯一其他的“黑盒”基线 (使用同义词替换) 明显较弱,改写后下降到约 20-25%。
熵的独立性
一个微妙但关键的发现是 POSTMARK 如何处理“低熵”模型。经过 RLHF (人类反馈强化学习) 训练的现代模型往往非常自信且重复性高 (低熵) 。
基于 Logits 的水印在这里很难奏效,因为如果“绿名单”的词不是绝对的最佳匹配,模型就会拒绝选择它们。然而,POSTMARK 并不关心生成概率。它是在事后重写文本。这使得它非常适合我们今天使用的高度对齐、指令微调的模型。
模块化与开源
POSTMARK 的优势之一是其模块化。你可以更换嵌入器或插入器。虽然主要实验使用了 OpenAI 的 GPT-4 和嵌入模型,但作者也测试了开源配置。

如表 2 所示,使用 Llama-3-70B-Instruct 作为插入器, Nomic-Embed 作为嵌入器,其结果与闭源版本相当 (TPR 为 100/52.1 对比 99.4/59.4) 。这意味着该方法完全可以离线部署,或由确数据隐私的组织部署。
但它会破坏文本吗?
水印技术最大的担忧是它会降低写作质量。由于 POSTMARK 主动插入特定词汇,存在文本变得生硬或不自然的风险。
为了测试这一点,作者进行了广泛的质量评估。首先,让我们看看系统实际上做了什么样的编辑。

表 3 显示插入器 (GPT-4) 非常复杂。它不仅仅是把词塞进去;它将词编织进叙述中。
- 澄清 (Clarification): 它可能会添加 “of imprisonment” (监禁) 来澄清 “sentences” (判决/句子) 。
- 隐喻 (Metaphors): 它可能会添加像 “wears an armor of resilience” (身披坚韧的铠甲) 这样的短语,以包含 “armor” (铠甲) 和 “resilience” (坚韧) 这两个词。
- 新细节 (New Details): 它有时会添加看似合理的细节来适应这些词,这是一把双刃剑 (将在下文的事实性部分讨论) 。
自动化质量指标
研究人员使用“以 LLM 为裁判 (LLM-as-a-Judge)” (使用 GPT-4-Turbo) 来比较加水印文本与未加水印文本以及其他基线的质量。

在表 6 中,“软胜率 (Soft Win Rate)”表示裁判更喜欢加水印文本 (或平局) 的频率。与 Unigram (23-59%) 等基线相比,POSTMARK 的胜率显著更高 (64-74%)。
表 7 强调了 权衡 (Trade-off) : 随着插入更多词汇 (更高的 \(r\),即插入率) ,鲁棒性上升 (更容易检测) ,但质量下降。POSTMARK@12 (插入相当于文本长度 12% 的词) 似乎是最佳平衡点。
语义保留
含义改变了吗?作者计算了原始文本和加水印文本之间的余弦相似度。

表 4 显示了极高的相似度得分 (~0.94 - 0.95),表明虽然措辞发生了变化,但核心信息保持完整。
人类评估
指标很有用,但人类偏好才是金标准。该研究聘请了注释员并排比较文本。

图 2 揭示了一个令人惊讶的结果: 对于强 (@12) 和弱 (@6) 配置,人类在绝大多数时间里认为加水印的文本 “至少与原文一样好” (由于可视化中叠加了胜利+平局,总数 > 100%) 。在许多情况下,像 GPT-4 这样的强模型进行的重写步骤实际上提高了连贯性和趣味性。
此外,人类能发现水印词吗?
- 答案: 不能。
- 注释员被要求标出“不协调”的词。他们的 F1 分数仅为 0.06。他们根本无法将插入的水印词与文本的其余部分区分开来。
枢纽性问题 (The Hubness Problem)
一个值得注意的技术细节是水印词的分布。我们是否在反复插入相同的词?

图 3 显示,虽然大多数词很少被使用,但存在“枢纽词 (hub words)” (最右边的条形) ,它们被频繁选中。这是高维向量空间中的一种已知现象。虽然这不是致命缺陷,但它表明 SecTable 的未来版本可以进行优化,以确保插入词汇的分布更加均匀。
结论
POSTMARK 代表了 AI 文本检测向前迈出的重要一步。它将范式从操纵概率分布 (这需要拥有模型) 转变为语义水印 (任何人都可以做到) 。
主要收获:
- 无 Logits (Logit-Free): 它适用于你只能获得文本输出的 API。
- 改写鲁棒性 (Paraphrase Robust): 通过将水印锚定在含义而非特定措辞上,它比现有方法更能经受住重写。
- 高质量 (High Quality): 由有能力的 LLM 完成的重写步骤保留了 (有时甚至增强了) 可读性。
随着我们迈向一个由 AI 生成主导的网络世界,像 POSTMARK 这样的工具提供了一种在不影响内容质量或不需要闭源 AI 巨头合作的情况下验证来源的方法。虽然没有一种水印是牢不可破的,但对于任何试图抹去 AI 生成文本归属的人来说,POSTMARK 显著提高了门槛。
](https://deep-paper.org/en/paper/2406.14517/images/cover.png)