Anthropic宣布Claude文本水印,通过模型采样选择嵌入统计指纹。
Anthropic刚刚宣布了一项听起来有点神奇的事情:
Claude将对其文本添加水印。
不是用隐藏的Unicode字符。
不是通过添加不可见的元数据。
不是使用额外的token。
而且据说对质量、内容或成本没有明显影响。
那么……如何在不实际向文本中添加任何内容的情况下为纯文本添加水印?
诀窍在于,水印不在文本中。
它存在于模型生成文本时所做的选择中。
当LLM生成文本时,通常不会只有一个可能的下一个token。在许多位置,几个token的概率非常接近。
简化示例:
“这个实验产生了一个令人惊讶的___结果。”
也许强大、清晰、有趣和积极都是完全合理的延续。
通常,采样根据模型的概率分布决定选择哪一个。
通过水印,一个秘密密钥会稍微影响这个选择。
从概念上讲,密钥+之前生成的上下文决定了模型应该偏好哪个同样好的候选token。
单个选择说明不了什么。
但在数百个token位置上这样做,就会创建一个统计模式。
这种模式极不可能偶然出现,但持有秘密检测密钥的人可以对其进行测试。
所以你的词语之间并没有隐藏什么神奇的隐形字符。
词语本身就是水印。
这基本上是在采样过程中实现的隐写术。
而真正巧妙的部分是组合数学。
每一个单独的选择看起来完全正常。但当足够多的选择放在一起观察时,该模式随机出现的概率变得极小。
据Anthropic称,他们实施这一功能是为了遵守欧盟AI法案,其他签署了同一行为准则的主要模型提供商也将实施水印。
他们还声称,这对输出质量没有实际影响,不消耗额外token,无法追溯到特定用户/聊天/组织,而且人类读者应该无法区分。
我觉得这在技术上很优美。
多年来,我们一直将AI溯源视为附加在生成内容上的东西。
事实证明,你可以在模型创建内容本身时,将溯源编码进它微小的概率决策中。
非常酷的想法。
现在下一个明显的问题也很有趣:
在统计信号消失之前,水印能承受多少编辑、改写、翻译、在模型之间复制粘贴或对抗性重写?
这才是真正有趣的地方。
Claude将对其文本添加水印。
不是用隐藏的Unicode字符。
不是通过添加不可见的元数据。
不是使用额外的token。
而且据说对质量、内容或成本没有明显影响。
那么……如何在不实际向文本中添加任何内容的情况下为纯文本添加水印?
诀窍在于,水印不在文本中。
它存在于模型生成文本时所做的选择中。
当LLM生成文本时,通常不会只有一个可能的下一个token。在许多位置,几个token的概率非常接近。
简化示例:
“这个实验产生了一个令人惊讶的___结果。”
也许强大、清晰、有趣和积极都是完全合理的延续。
通常,采样根据模型的概率分布决定选择哪一个。
通过水印,一个秘密密钥会稍微影响这个选择。
从概念上讲,密钥+之前生成的上下文决定了模型应该偏好哪个同样好的候选token。
单个选择说明不了什么。
但在数百个token位置上这样做,就会创建一个统计模式。
这种模式极不可能偶然出现,但持有秘密检测密钥的人可以对其进行测试。
所以你的词语之间并没有隐藏什么神奇的隐形字符。
词语本身就是水印。
这基本上是在采样过程中实现的隐写术。
而真正巧妙的部分是组合数学。
每一个单独的选择看起来完全正常。但当足够多的选择放在一起观察时,该模式随机出现的概率变得极小。
据Anthropic称,他们实施这一功能是为了遵守欧盟AI法案,其他签署了同一行为准则的主要模型提供商也将实施水印。
他们还声称,这对输出质量没有实际影响,不消耗额外token,无法追溯到特定用户/聊天/组织,而且人类读者应该无法区分。
我觉得这在技术上很优美。
多年来,我们一直将AI溯源视为附加在生成内容上的东西。
事实证明,你可以在模型创建内容本身时,将溯源编码进它微小的概率决策中。
非常酷的想法。
现在下一个明显的问题也很有趣:
在统计信号消失之前,水印能承受多少编辑、改写、翻译、在模型之间复制粘贴或对抗性重写?
这才是真正有趣的地方。
我们编写了一份FAQ来回答一些我们收到的关于水印的问题。
总结:
• 我们正在实施水印以遵守欧盟AI法案。其他主要模型开发者已签署同一行为准则,也将实施水印;