AI写出的文本,事后能否被识别为「AI写的」?根据文本特征进行推测的AI检测工具容易出现误判,因此,在AI生成文本的阶段就嵌入看不见的数字水印(watermark)的方法正在被研究和投入实用。这类嵌入LLM(大语言模型)输出中的水印,也被称为LLM水印(LLM watermarking)。其代表就是Google DeepMind的SynthID Text。本文依据官方文档和《自然》(Nature)论文,按截至2026年10月9日的信息,梳理SynthID Text的原理、对质量的影响、开发者的使用方法、检测方式以及不擅长的情况。
关于包括图片、视频、音频在内的SynthID整体,请参阅「SynthID是什么」。
SynthID Text是什么
SynthID Text是一项在大语言模型(LLM)生成的文本中嵌入数字水印、并在事后检测出来的技术。在各种LLM水印方案中,它是已在实际服务中大规模使用、并以开源形式供所有人使用的代表性实现。它由Google DeepMind开发,2024年10月23日在科学期刊《自然》上以论文形式发表原理的同时开源发布。
它的特点是,并不在文本中插入符号或不可见字符,而是把水印留在AI选择哪个词这一选词方式本身之中。仅凭阅读无法将其与普通文本区分开来,谷歌也称这不会影响文本质量。
论文发表时,谷歌曾说明Gemini的回复中也嵌入了SynthID Text水印。关于目前Gemini中的处理方式,截至2026年10月,尚未查到新的官方说明。
谷歌以外也在使用。Anthropic在2026年8月说明,Claude生成文本中的水印「基于SynthID Text的方法」。
原理:在选词中留下水印
LLM在生成文本时,会为下一个词(准确地说是token)的每个候选分配概率,并从中选出一个,如此反复。SynthID Text就是在这个「选择」环节上做文章。
《自然》论文将这种方法称为锦标赛采样(tournament sampling)。简单来说,流程如下。
- 按照LLM的概率,选出多个下一个词的候选
- 让候选之间进行淘汰赛。胜负由根据密钥和前面几个词计算出的分数(g函数)决定
- 经过若干轮胜出的候选,成为实际输出的词
由于候选本来就来自LLM很可能选择的词,文本依然自然。另一方面,知道密钥的人重新计算分数后,就会发现输出的词偏向高于平均值的分数。这种偏向就是水印。
谷歌的开发者文档将其描述为在Top-K、Top-P等常规候选筛选之后应用的「logits处理器」(logits processor)。此外,它还会对重复出现的语句不嵌入水印,以保持易于检测。
对质量和速度的影响
SynthID Text的一大特点,是已在实际服务中经过大规模验证。《自然》论文以约2,000万条Gemini回复为对象,比较了嵌入水印和未嵌入水印的回复。
- 用户好评比例的差异为0.01%,差评比例的差异为0.02%,几乎看不出质量差别
在另行进行的速度测量中,嵌入水印导致的生成时间增加仅约0.57%。
此外,无需重新训练LLM,只要改变生成文本的流程即可使用。检测时也不需要原来的LLM。
开发者的使用方法
SynthID Text已集成到Hugging Face的Transformers库(4.46.0及以上版本)中。它也在谷歌的Responsible GenAI Toolkit以及GitHub的google-deepmind/synthid-text中公开。GitHub上的代码采用Apache 2.0许可证,定位为用于复现论文的参考实现。官方建议在生产环境中使用Transformers的官方实现。
在Transformers中使用时,需要创建水印配置(SynthIDTextWatermarkingConfig),并将其传给生成文本的函数。主要配置项如下。
- keys(必填):作为水印密钥的随机整数列表。一旦泄露,水印可能被伪造,因此需要保密管理
- ngram_len(必填):计算分数时使用的前面词的数量。值越大越容易检测,值越小越能抵抗改写。官方建议默认值为5
- sampling_table_size:内部使用的表的大小。为避免偏差,建议为2的16次方(65536)或以上
- sampling_table_seed:生成表所用的随机种子。任意整数均可
- context_history_size:为判断重复而记录的上下文量。默认为1024
具体的配置写法,Transformers的官方文档中提供了示例代码。
检测水印的方法
检测水印需要与生成文本时相同的密钥配置和相同的分词器(tokenizer)。因此,只有嵌入水印的本人(或获得密钥共享的人)才能检测。
官方实现提供三种检测方法:使用分数平均值的方法、使用加权平均值的方法,以及经过训练的贝叶斯检测器。贝叶斯检测器会以「有水印」「无水印」「无法判断」三种结果返回,并可通过两个阈值调整判定的严格程度。
贝叶斯检测器在使用前需要用自己的模型和密钥进行训练,Hugging Face的介绍文章指出至少需要1万个样本。此外,根据谷歌的开发者文档,检测器的开放范围有三种选择:仅在内部使用、作为API对外提供、或直接分发检测器本身。
另外,目前并没有说明表示用自己的密钥嵌入的水印可以通过谷歌的SynthID Detector等工具检测。
不擅长的情况与局限
谷歌的开发者文档和《自然》论文列出了以下局限。
- 回答事实的回复:对于答案基本唯一的问题,改变选词的余地很小,水印效果会下降
- 大幅改写:彻底改写文本后,检测的置信度会大幅下降
- 翻译:翻译成其他语言后,检测的置信度会大幅下降
- 蓄意攻击:防范试图去除水印的恶意方,不在其设计目标之内
- 开放模型:对于任何人都能运行的模型,很难强制嵌入水印
与AI文本检测工具的区别
识别AI所写文本的方法,除了SynthID Text这样的数字水印,还有根据文本特征推测AI痕迹的AI检测工具。
- 数字水印:由生成方预先嵌入标记。有密钥就能做出有依据的判定,但无法识别未嵌入水印的AI文本
- AI检测工具:任何AI写的文本都能推测,但终究只是推测,也可能把人写的文本误判为AI生成
为AI输出加上标记的做法也在向其他公司扩展。例如,Anthropic会在Claude生成的文本中嵌入基于SynthID Text方法的水印(检测目前是仅限监管机构等的非公开预览)。OpenAI也在2026年10月发布了自己的文本水印「textGrain」。各种方式的对比,详见「AI水印(数字水印)对比」。
总结
SynthID Text通过在AI选词的过程中留下水印,以读者察觉不到的方式为AI文本加上标记。对Gemini约2,000万条回复的验证表明,它对质量几乎没有影响,另一项测量显示对速度的影响也微乎其微。它已通过Transformers公开,任何人都可以使用。
另一方面,它对简短的事实性回答、翻译和大幅改写较为薄弱,而且只有嵌入水印的本人才能检测。与其把它看作识别AI文本的决定性手段,不如将其理解为对自家AI输出负责的机制之一。
来源
- SynthID Text(Google AI for Developers)
- Scalable watermarking for identifying large language model outputs(Nature,2024年10月23日)
- SynthID Text集成到Transformers的介绍(Hugging Face,2024年10月)
- Transformers生成工具文档(Hugging Face)
- google-deepmind/synthid-text(GitHub)
- SynthID(Google DeepMind)
- How Claude marks AI-generated content(Claude帮助中心)
- How Claude's text watermark works(Anthropic,2026年8月14日)