迷你世界Laplace 人工智能 / 图版 F70 — 人工智能

藏在选词里的水印

Gemini 选词时比一场小淘汰赛:候选按模型自己的赔率抽出,比分由一把秘密钥匙定。拿着钥匙,能从够长的文字里读出这种偏向。

向下滚动

01

看不见的签名

从 2024 年 5 月起,Gemini 应用和网页版写出的文字带着水印。它不在字形里,也没有藏起来的符号,读起来就是普通的回答。水印在选词里:在几个都说得通的词之间,选哪一个。

这个办法叫 SynthID-⁠Text,2024 年 10 月发表在《自然》上,同一天开源。它回答的问题是:一段文字是不是用这把钥匙加过水印的模型写的。拿着钥匙的人算一个分数,分数越过门槛,就判为带水印。

台上是本页的比喻机器:左边的字盒按模型的赔率摆着候选词;中间的淘汰赛板一轮轮比分;右边的凸轮由钥匙和前四个词定下比分;胜出的词沿滑槽落到前面的排字条上;最右边的表拿同一把钥匙读回来。真正的模型里没有这些零件。

SynthID-⁠Text · Gemini 应用和网页版,2024 年 5 月起 · 《自然》,2024 年 10 月

02

每个词都有赔率

语言模型一次写一个词元(一个词或词的一部分)。每一步,它给每个可能的词元一个概率,再按这些概率抽一个。论文图里的例子是英文的“……my favourite tropical fruit is”(我最喜欢的热带水果是):下一个词是芒果的概率 50%,荔枝 30%,木瓜 15%,榴莲 5%。

是抽,而不总是挑最大的,所以同一个问题每次的回答会不一样。论文的实验只在最可能的 100 个⁠词⁠元里抽(top-⁠k = 100),温度设为 0.5、0.7 或 1.0。词元和概率从哪里来,见“词元与缩放定律”这一页。

台上左边的字盒,每层是一个候选词,牌子的多少按赔率摆:芒果 5 块,荔枝 3 块,木瓜 2 块,榴莲 1 块。水印不碰这些赔率本身,它改的是从里面怎么抽。

……我最喜欢的热带水果是 → 芒果 50% · 荔枝 30% · 木瓜 15% · 榴莲 5%(论文图 2)

03

一个词的淘汰赛

加水印时,模型不只抽一次。它先按自己的赔率抽出 2ᵐ 个候选,可以重复;候选两两一组比赛,每组里得分高的进下一轮,平局抛硬币决定。第一轮用得分函数 g₁,第二轮用 g₂,一共 m 轮;最后剩下的一个就是写出的词。

论文图 2 是 m = 3:八个候选依次是榴莲、芒果、荔枝、芒果、木瓜、荔枝、芒果、芒果,三轮之后芒果胜出。台上的淘汰赛板照着这个例子:每块牌子上方的翻牌显示它这一轮的得分,红是 1,白是 0;输的牌子落进前面的托盘。

论文的实验用 m = 30 轮。真要一个个比,每个词要抽 2³⁰ ≈ 10.7 亿个候选;论文直接算出比完之后每个词胜出的概率,再从中抽一次,结果的分布相同。

2ᵐ 个候选 · 两两比,得分高的胜,平局抛硬币 · 台上 m = 3:8 → 4 → 2 → 1 · 论文实验:m = 30

04

钥匙和前四个词

得分不是随便给的。每一步,把前四个词元(H = 4)和一把秘密钥匙一起做哈希,得到一个随机种子;g₁、g₂、g₃……都由这个种子和候选词算出,每个值是 0 或 1,各占一半。

所以同一把钥匙、同样的前四个词,给同一个候选的分数总是一样;换一把钥匙或换了上文,分数就像重新抛了一遍硬币。没有钥匙,看不出哪些词得了 1。图 2 里,芒果三轮的得分是 1、0、1,荔枝 0、1、0,木瓜 0、0、1,榴莲 1、0、0。

同样的四个词在一篇回答里再次出现时,这一步不加水印(重复上下文屏蔽),免得同一个偏向反复出现、让文字绕圈子。台上,钥匙转动凸轮;排字条上的黄铜框罩住前四个词,用线连到凸轮柱上。

种子 = 哈希(钥匙,前 4 个⁠词⁠元) · g 值:0 或 1,各一半 · 重复的上下文不加水印

05

赔率没有变

每组两个候选时,有一个好性质:把所有可能的钥匙平均起来,每个词被写出的概率正好等于模型原来的赔率。一个词在某一轮得 1 的时候占的便宜,和得 0 的时候吃的亏一样大,平均起来正好相抵。

对一把固定的钥匙和一段固定的上文,赔率是偏的。图 2 的这一步,按论文的公式算,芒果从 50% 变成约 82%,荔枝从 30% 变成约 8%。偏的方向每一步都不同,看上去仍然是随机的;只有拿着钥匙才知道往哪边偏。

论文证明,每组两个候选时,单个词的分布平均不变;加上重复上下文屏蔽,一整篇回答也不变。每组多于两个候选,水印更强,但会改变分布。更早的“绿名单”水印(2023)直接调高一部分词的赔率,也会改变分布。代价是:同一个问题问多次,回答之间的差别会小一点。

所有钥匙平均:50% · 30% · 15% · 5% · 这把钥匙、这段上文:约 82% · 8% · 8% · 2%

06

拿钥匙读回来

检测不需要模型,只要文字、钥匙和算种子的办法。把每个词元在每一轮的 g 值都算出来,取平均:普通文字平均是 0.5;带水印的文字更高,因为写的时候,得 1 的词更容易胜出。

文字越长,证据越多。门槛按“普通文字只有 1% 会越过”来定,越长门槛越低。论文的测试用 Gemma 7B 的对话版,温度 0.7,人写的回答作对照,误报定在 1%:200 个⁠词⁠元时认出 69.64%,400 个⁠词⁠元时 86.64%;温度 1.0 时是 87.39% 和 97.52%。这里用的是一个从数据里学出来的贝叶斯打分,比简单平均强。

台上右边的表,黑针是平均分,红针是门槛。读头沿排字条一个词一个词往右走,黑针跟着动,红针随长度往下降。这里读的是本页玩具模型写的一行(每个词 3 轮),不是 Gemini。

普通文字:平均 0.5 · 门槛:误报 1% · Gemma 7B,温度 0.7:200 个⁠词⁠元 69.64%,400 个⁠词⁠元 86.64%

07

两千万次回答

水印会不会让回答变差?研究者在 Gemini 的线上系统里做了一次实验:一部分请求随机交给带水印的模型,同样多的交给不带水印的,再看用户点的赞和踩。一共分析了约 2000 万⁠次回答。

赞的比例相差 0.01%(带水印的略高),踩的比例相差 0.02%(带水印的略低),都不显著。另一项测试里,评审员并排比较 Gemma 7B 对 3000 个问题的两种回答,语法和连贯、相关、正确、有用、总体五个方面都没有显著差别。

它也几乎不慢:在 4 块 TPU v5e 上,Gemma 7B 每个词元要 15.527 毫⁠秒,加上 30 轮淘汰赛是 15.615 毫⁠秒,多 0.57%。它也能和推测解码一起用,接受率差不多,只是水印弱一些;推测解码见“推测解码”这一页。

约 2000 万⁠次回答 · 赞:相差 0.01% · 踩:相差 0.02% · 都不显著 · 3000 题并排评审:无显著差别 · 延迟 +0.57%

08

读不出的时候

只有一个正确答案时,没有可挑的词。问“法国的首都是哪里”,或者让它背一首现成的诗,几乎每一步都只有一个选择;淘汰赛里的候选全是同一个词,比不出偏向。台上换成了乘法表:字盒里几乎只有一种牌子,表的黑针停在 0.5 附近。

文字太短,证据不够。改写也会削弱它:删掉一些词、稍作改写,还能认出;彻底改写或翻译成另一种语言后,置信度会大大下降。论文里,让 Gemini Ultra 逐句改写之后,要长得多的文字才认得出。

它只认得用这把钥匙加过水印的模型写的字。读不出水印,不说明是人写的:别的模型、没开水印的模型写的字也读不出。读出水印,也只是分数越过门槛,有一定的误报率。钥匙必须保密,否则别人能仿造;它也不是为挡住有心的攻击者设计的。开源模型由别人自己运行,很难要求都加水印。

只有一个答案:没有可挑的词 · 太短 · 彻底改写、翻译 · 只认这把钥匙 · 读不出不等于人写的

09

拆开来看

台上:左边是阶梯形的胡桃木字盒,每层一行象牙色的牌子,按赔率摆,右端是出牌的黄铜口;中间是淘汰赛板,有黄铜托架、滑道、翻牌和闸门;右边的凸轮柱上有三片带缺口的黄铜凸轮和一把钥匙;前面是排字条,带读头和罩住前四个词的框;最右边是检测表;板前是接落选牌子的毡面托盘。机器只是比喻:真正的模型里没有牌子,也没有一场场看得见的比赛。

字盒 · 淘汰赛板 · 凸轮和钥匙 · 排字条 · 检测表 · 托盘

10

实验台

这里是本页写的一个玩具模型,不是 Gemini:一个只会写水果句子的小语法,或者一张乘法表。一个词就是一个词元,每个词比 3 轮(8 个候选),钥匙是本页定的。

开关水印、换一种文字、改掉一部分词、调长度,看平均分在第几个词越过门槛(普通文字只有 1% 会越过)。

玩具模型 · 每个词 3 轮 · 门槛:误报 1% · 不是 Gemini

试一试实验台上开着水印写一行开放的句子,看得分在多少个词元时越过门槛;再换成“只有一个答案”的乘法表,会怎样?

模型省略了什么

台上的机器是本页的比喻:字盒、淘汰赛板、凸轮、表都是画出来的零件,不是 SynthID-⁠Text 的结构。机器每个词只比 3 轮,用的是论文图 2 的例子;论文的实验是 30 轮,而且直接算出比完之后的概率,并不真的抽 10 亿个候选。字盒里牌子的多少是按赔率取整的。表上用的是简单的平均分和按二项分布定的门槛;论文的主要结果用的是学出来的贝叶斯打分。读头读的是玩具模型写的一行;玩具的词很少,一把钥匙的分数会偏向一边,所以本页的钥匙是从 60 把里挑的,让普通文字的平均分在两种语言里都接近 0.5。

几个容易误会的地方

水印认的是“用这把钥匙加过水印的模型写的”,不是“机器写的”:读不出水印,不说明是人写的。读出水印也是统计判断,有一定的误报率(论文的测试定在 1%,对照是人写的回答)。水印不改模型给每个词的赔率,平均下来也不改写出每个词的概率;它改的是对这把钥匙来说,在几个说得通的词之间选哪一个。只有一个正确答案、太短、被彻底改写或翻译的文字,水印读不出或很弱。钥匙要保密,它不是为挡住有心的攻击者设计的。

常见问题 · 5
什么是 SynthID-Text?

这个办法叫 SynthID-⁠Text,2024 年 10 月发表在《自然》上,同一天开源。它回答的问题是:一段文字是不是用这把钥匙加过水印的模型写的。

01看不见的签名
水印是怎样加进文字里的?

加水印时,模型不只抽一次。它先按自己的赔率抽出 2ᵐ 个候选,可以重复;候选两两一组比赛,每组里得分高的进下一轮,平局抛硬币决定。

03一个词的淘汰赛
加水印会改变模型写出每个词的概率吗?

每组两个候选时,有一个好性质:把所有可能的钥匙平均起来,每个词被写出的概率正好等于模型原来的赔率。一个词在某一轮得 1 的时候占的便宜,和得 0 的时候吃的亏一样大,平均起来正好相抵。

05赔率没有变
怎样检测文字里的水印?

检测不需要模型,只要文字、钥匙和算种子的办法。把每个词元在每一轮的 g 值都算出来,取平均:普通文字平均是 0.5;带水印的文字更高,因为写的时候,得 1 的词更容易胜出。

06拿钥匙读回来
读不出水印,说明是人写的吗?

它只认得用这把钥匙加过水印的模型写的字。读不出水印,不说明是人写的:别的模型、没开水印的模型写的字也读不出。

08读不出的时候

资料来源

  1. S. Dathathri 等(2024):Scalable watermarking for identifying large language model outputs,《自然》634,818⁠–⁠823(淘汰赛采样、图 2 的例子、检测率、Gemini 线上实验、并排评审、延迟)
  2. 同一篇的补充材料(打分函数、表 I5 的检测率、不失真的证明、改写实验)
  3. Google DeepMind(2024):Watermarking AI-⁠generated text and video with SynthID(在 Gemini 中使用;对事实性问题、彻底改写和翻译效果较弱)
  4. Google AI for Developers:SynthID 文本水印的说明(配置、钥匙要保密、检测器的三种结果)
  5. google-⁠deepmind/synthid-⁠text(GitHub,Apache 2.0):参考实现和检测器
  6. Hugging Face(2024):Introducing SynthID Text(Transformers v4.46.0 里的实现)
  7. J. Kirchenbauer 等(2023):A Watermark for Large Language Models,ICML 2023(“绿名单”水印)

数据

Tournament sampling, the worked example (Fig. 2), detection rates, the live Gemini experiment, the side-⁠by-⁠side ratings and the latency after S. Dathathri, A. See, S. Ghaisas, P.-S. Huang, R. McAdam, J. Welbl et al., “Scalable watermarking for identifying large language model outputs”, Nature 634, 818⁠–⁠823 (2024), and its Supplementary Information (CC BY 4.0). Deployment, limits and the factual-⁠prompt examples: Google DeepMind, “Watermarking AI-⁠generated text and video with SynthID” (14 May 2024), and the SynthID Text documentation (Google AI for Developers). The open release: google-⁠deepmind/synthid-⁠text (Apache 2.0) and Hugging Face Transformers v4.46.0. The green-⁠list watermark, for contrast: J. Kirchenbauer, J. Geiping, Y. Wen, J. Katz, I. Miers and T. Goldstein, “A Watermark for Large Language Models”, ICML 2023. The brass tournament machine, its type case, cams and gauge are this page’s model, a metaphor, not a picture of SynthID-⁠Text; the bench’s fruit grammar and times table are toys written for this page. Material presets and the model kit as on the site’s other model plates (public/looks/CREDITS.md).

本页的文字、图片和模型采用 CC BY-NC 4.0 许可:可以免费用于教学和其他非商业用途,可以修改,请注明出自 world.lapla.si。上面列出的第三方素材仍按各自的许可。

引用这幅图版

拉普拉斯的迷你世界,图版 F70《藏在选词里的水印》,https://world.lapla.si/zh/watermark/,CC BY-NC 4.0,2026-11-05 更新。

嵌入与 API

人工智能 · 全部图版