OpenAI 10 月 5 日公布了一套名为 textGrain 的文本水印方案,用来应对《欧盟人工智能法案》第 50 条的透明度要求。未来几周内,欧盟地区符合条件的 ChatGPT 和 Codex 用户,模型写出的文字会自动带上一层肉眼看不出、机器可以识别的统计信号。
全球的 API 客户从当天起也能给部分模型手动打开这项功能,默认关闭。哪些模型支持,公告没有列出名单。
水印藏在选词里
textGrain 的做法是在模型挑词的环节动手脚。生成文本时,很多位置都有几个同样合适的候选词,OpenAI 用一把密钥决定最后落下哪一个。单看一句话没有任何异样,段落写得够长,符合密钥偏好的词就会多到统计上可辨认,持有密钥的一方据此判断这段文字是否出自带水印的模型。
OpenAI 给出的检测数据以 1% 误报率为前提:
- 200 个 token 的段落,检出率约 80%;
- 400 个 token,检出率约 95%;
- 400 token 段落里换掉 10% 的词为同义词,检出率降到 66%;
- 换掉 25%,只剩 17%。
也就是说,读者拿到一段 ChatGPT 生成的文字,稍微改写一下,水印基本就认不出来了。OpenAI 在说明里没有回避这一点。
质量方面,公司称在八项基准上开关水印的成绩差异落在噪声范围内,其中一项的分数是 49.57 对 49.76。
检测器不对公众开放
这套方案里最受限的是检测端。OpenAI 当天开放了申请通道,但检测器只提供给”获批的研究者和专家机构”,逐案审批。普通用户、学校、出版社目前都没法自己拿一段文字去查。
OpenAI 在说明里专门划了边界:
“A watermark does not measure human contribution, does not establish ownership or responsibility, does not identify the user, and does not verify accuracy.” (水印不衡量人的贡献,不确定所有权或责任,不识别用户身份,也不核实内容是否准确。)
公司同时提醒,没检出水印,不能证明一段文字出自人手。
法规时间表
《欧盟人工智能法案》第 50 条要求生成式 AI 的提供方让输出内容可被机器识别为 AI 生成。按公开的时间表,该条款 8 月 2 日起适用,对此前已经上线的系统,合规宽限到 12 月 2 日。OpenAI 选择”未来几周”在欧盟铺开,大致卡在这个窗口里。
这也解释了为什么只在欧盟默认开启。在其他地区,ChatGPT 和 Codex 的输出暂时不加水印,API 用户愿意的话可以自己开。
同一条路上的几家
文本水印这条路,过去一年已经挤进来好几家。
Google DeepMind 的 SynthID 最早做文本水印,原理同样是在采样时偏置选词,后来开源了文本部分,9 月底又把同类思路用到 AI 设计的蛋白质序列上。外界报道称 OpenAI 自己认为 textGrain 的效果与 SynthID 持平或略好,这一说法暂时没有第三方复测。
Anthropic 8 月宣布给 Claude 的文本输出加水印,路线相近,同样面临”改写就失效”的老问题。推理框架 vLLM 9 月把一种基于 Gumbel 采样的文本水印做成内置选项,测试显示创意写作约 100 个 token 就能全部认出,代码任务写到 400 个 token 只能认出 43%。
几家的数字放在一起看,共同点很清楚:文本越长、越”自由发挥”,水印越好认;代码、公式、事实问答这类答案高度确定的内容,可供偏置的选词空间小,信号天然偏弱。textGrain 公布的是一般文本上的成绩,代码场景下表现如何,OpenAI 没有单独给数。
对国内用户,这次调整暂时影响不大:水印默认只在欧盟开启,国内本就无法直接使用 ChatGPT。国内的《人工智能生成合成内容标识办法》去年 9 月起施行,要求的是显式标识加元数据隐式标识,走的是另一套思路。
参考来源:OpenAI 欧盟文本溯源说明、AI Weekly、CocoLoop、CellCog 技术解读;检出率按 1% 误报率口径,法案适用节点以欧盟公开时间表为准。