Watermarking 在这里通常指的是 文本水印,而不是图像或音频的水印,它是一种在模型生成的文本中嵌入不易被察觉、但可以被特定算法检测到的统计信号的技术,其主要目的是区分文本是由人类撰写的还是由AI模型生成的。

(图片来源网络,侵删)
下面我将从几个方面为您详细拆解 Watermarking 的参数和核心原理。
核心思想:如何嵌入水印?
文本水印的核心思想不是修改词语本身,而是在生成文本时,从多个同等可能的候选词中,有偏向性地选择一个,这种偏向性是精心设计的,使得:
- 对于人类读者:文本的流畅性、连贯性和质量几乎没有影响,几乎无法察觉这种选择偏向。
- 对于检测算法:可以通过分析文本中特定词语的出现频率和分布,判断这种偏向性是否存在,从而以高概率判断文本是否为AI生成。
关键参数详解
实现这种有偏向的选择,主要依赖于以下几个核心参数,这些参数共同定义了水印的强度和隐蔽性之间的权衡。
gamma (γ) - 选择偏向性强度
这是最重要的参数,它控制了模型在候选词中选择“水印词”的倾向程度。
- 定义:
gamma是一个介于 0 和 1 之间的值,它代表了在模型认为某个候选词是“水印词”的情况下,选择它的概率提升倍数。 - 工作原理:
- 假设在某个生成步骤,模型根据上下文计算出下一个词的概率分布。
- 我们预先定义一个“绿色词汇表” (Greenlist),这个词汇表包含大量普通词汇,但它们被赋予了特殊的意义。
- 对于概率分布中的每个候选词,如果在绿色词汇表中,我们就给它一个“奖励”。
gamma值越大,这个“奖励”就越强,模型就越倾向于选择绿色词汇表中的词。
- 取值范围与影响:
gamma = 1:无偏向性,模型完全按照其原始概率分布选择词语,相当于没有水印。gamma > 1:施加偏向性。gamma = 2意味着,如果一个候选词在绿色词汇表中,那么模型选择它的概率会变为原来的 2 倍。gamma越大:- 优点:水印的检测灵敏度越高,更容易被检测出来。
- 缺点:对文本质量的影响越大,生成的文本可能会变得更重复、更不自然,因为模型过度偏爱绿色词汇。
gamma越小:- 优点:对文本质量的影响越小,生成的文本更流畅、更随机。
- 缺点:水印的检测灵敏度越低,越难被检测出来,甚至可能无法检测。
- 典型值:在研究中,
gamma通常设置在 1.5 到 2.5 之间,以在隐蔽性和可检测性之间取得平衡。
delta (δ) - 绿色词汇表的覆盖范围
这个参数决定了绿色词汇表的大小,即有多少候选词被认为是“可被选择的”水印词。
- 定义:
delta是一个介于 0 和 1 之间的值,它表示绿色词汇表在整个词汇表中所占的比例。 - 工作原理:
- 在生成每个词时,系统会查看模型的概率分布。
- 它会选择概率最高的
top(delta * V)个候选词(V是词汇表大小),并将这些词放入一个临时的“候选池”。 - 系统会检查这个候选池中的词有多少属于我们预先定义好的全局绿色词汇表。
- 如果候选池中至少有一个词在全局绿色词汇表中,系统就会在这些“绿色候选词”中进行偏向性选择(依据
gamma参数)。
- 取值范围与影响:
delta = 1:候选池包含整个词汇表,模型总是有机会从绿色词汇表中选择。delta越小:- 优点:绿色词汇表更“稀疏”,选择更随机,对文本质量的干扰更小。
- 缺点:在许多生成步骤中,候选池里可能根本没有绿色词汇表中的词,导致这些步骤无法嵌入水印,从而降低了水印的整体嵌入率。
delta越大:- 优点:嵌入水印的机会更多,嵌入率更高。
- 缺点:绿色词汇表更“密集”,模型的选择范围受限,可能影响文本的多样性和自然度。
- 典型值:
delta通常设置在 1/2 到 1/8 之间,0.5, 0.25, 0.125,这意味着在每个步骤,模型只考虑概率最高的前 50%、25% 或 12.5% 的词作为候选。
seeding - 随机性种子
这个参数确保了水印的可复现性,是水印方案能够工作的关键。
- 定义:
seeding是一个随机数生成器的种子。 - 工作原理:
- 绿色词汇表并不是固定的,对于每一个新的生成任务(即一个新的输入 prompt),系统都会根据这个
seeding值动态生成一个特定的、随机的绿色词汇表。 - 使用相同的
seeding值和相同的输入 prompt,模型每次都会生成完全相同的绿色词汇表,因此也倾向于生成完全相同的文本(在随机性参数如temperature为 0 的情况下)。 - 这就像一个“秘密配方”,只有知道这个
seeding值的人,才能知道正确的绿色词汇表是什么,才能进行最准确的检测。
- 绿色词汇表并不是固定的,对于每一个新的生成任务(即一个新的输入 prompt),系统都会根据这个
- 重要性:
- 可复现性:保证了实验的一致性。
- 安全性:
seeding成了检测水印的“密钥”。seeding泄露,任何人都可以检测该模型生成的文本。seeding未泄露,检测者只能使用统计方法进行猜测,准确性会下降。 - 独立性:不同的 prompt 生成不同的文本水印,避免所有输出共享同一个固定的水印模式。
总结与权衡
| 参数 | 符号 | 作用 | 取值影响 (增大时) |
|---|---|---|---|
| 选择偏向性 | gamma (γ) |
控制模型选择“水印词”的倾向强度。 | 检测灵敏度 ↑,但文本质量 ↓ |
| 词汇覆盖范围 | delta (δ) |
控制在每一步生成中,有多少候选词有机会成为“水印词”。 | 水印嵌入率 ↑,但文本多样性 ↓ |
| 随机种子 | seeding |
为每个生成任务动态生成一个唯一的“绿色词汇表”,是检测的密钥。 | 决定了水印的唯一性和可复现性 |
核心权衡关系:
Watermarking 的本质是在三个目标之间进行权衡:
- 隐蔽性:生成的文本质量高,与人类写作无异。
- 鲁棒性:水印能抵抗轻微的文本修改(如改几个词、翻译再翻译回来)。
- 检测率:水印能被准确识别。
- 高
gamma和高delta-> 高检测率 和 高鲁棒性,但低隐蔽性。 - 低
gamma和低delta-> 高隐蔽性,但低检测率 和 低鲁棒性。
实际应用中需要根据具体需求(是用于内部审计还是公开发布)来仔细调整 gamma 和 delta 这两个核心参数。
Gemma 模型中的具体实现
在 Google 开源的 Gemma 模型中,这些参数通常在模型的配置文件(如 config.json)或代码中以特定名称出现,你可能会看到类似 watermark_gamma 和 watermark_delta 的字段,开发者或使用者可以通过修改这些参数来定制化模型生成文本的水印特性。
Watermarking 是一套精密的统计技术,通过 gamma、delta 和 seeding 这三个核心参数,巧妙地在 AI 生成文本中埋下只有特定算法才能识别的“指纹”,从而为内容溯源和真实性验证提供了可能。
