论文标题:
Towards Codable Text Watermarking for Large Language Models
https://arxiv.org/abs/2307.15992(arXiv预印版)
微信模式识别中心,北京大学计算机学院,中国人民大学高瓴人工智能学院
王乐安,杨文恺,陈德里
研究背景
近来,随着以 ChatGPT 为代表的大模型显现出越来越强的生成能力和应用潜力,人们对于大模型技术对于人类社会秩序和安全的威胁的担心也越来越强 [1,2]。尽管各家公司都在强调在训练过程中对于大模型 “harmless” 的保障,但是人们仍然希望看到以一种更加显式的方法来保证文本来源可追踪。大模型水印技术能够非常好的解决这个问题:文本水印通过将隐藏的模式加入大模型的生成文本之后,可以以极高的准确率和极低的假阳率来检测文本是否来自 AI,因此也得到了各界广泛的关注和讨论 [3,4,5]。
研究动机
我们对大模型水印工作的研究首先从对已有的水印工作的分类学(图1)的分析开始。我们从两个重要的维度对于已有的大模型水印工作进行归类,(a)整合式(Intergrate):水印的加入过程是和大模型生成过程整合在一起的;(b)后处理式(Post-process):水印通过对于已经生成的文本进行后处理的方式加入。后处理方法往往是通过对个别 token 进行同义词替换的方法进行;这样做的优点主要在于不需要获取模型信息就可以以黑盒的方式进行,并可以复用已有的文本水印的方法。但是后处理式的方法存在一个显著的问题,就是水印文本生成的过程和大模型无关,其用于同义替换的 mask language model(例如 BERT 或者 RoBERTa)本身的大小和能力往往是远小于大模型本身。此外,基于同义词替换的方法只能操作独立的一些 token,无法像整合式的方法那样影响后续整个序列的生成,从而导致带水印文本的自由度和前后文一致性严重受到限制。而与之相比,整合式的方法就可以通过参与大模型的推理过程,来充分利用大模型本身强悍的生成能力,从而大大提高带水印文本本身的流畅度、前后文一致性和多样性。从长远来看,随着大模型生成能力进一步的发展,整合式方法生成也会和后处理式方法拉开越来越大的带水印文本质量上的差距。(a)不可编码水印:水印只能分辨 1bit 的信息,即文本来自人类 or 模型(b)可编码水印:水印可以携带 multi-bits 的可定制化的信息图 2 展示了不可编码水印和可编码水印区别的一个直观的例子。随着大模型应用场景越来越多样化,对于灵活编码各种定制化信息(例如编码厂商,模型版本,生成时间,UserID(不暴露用户真实隐私前提下)等等)的需求也会变得越来越强,因此,可编码水印技术是一种更加适合于当前大模型实际应用的技术。综上所述,不难发现已有的关于大模型水印的技术要么缺少对于大模型本身生成能力的利用,要么缺少可定制的水印信息编码能力。而我们的工作旨在同时研究这两个关键的问题,从而实现一种更加具有应用价值的的大模型水印技术。方法技术
3.1 可编码水印的形式化描述
我们首先形式化地描述了可编码水印的概念。具体地说,在水印过程中,模型根据用户的输入提示语 生成文本 ,并在生成过程中嵌入额外的信息 。这一信息 需要能够在解码阶段被解码出来:
其中, 是一个特定概率函数,指定了文本 和 信息的关系。我们称其为 message function。下面,我们将会阐述是 如何影响编码过程的,以及怎样的 有利于得到高质量的水印。3.2 如何设计高质量的水印
在上面一小节中,我们讨论了水印的形式化描述与解码过程。自然地,水印地隐写过程可以被描述为:在对文本质量影响不大的情况下,力求解码过程中能够解码出正确的信息。这里 表示不加水印时生成的文本作为对比。 到 的转换利用了贝叶斯公式。通过一系列推导和近似,我们指出,这一隐写过程可以通过对 greedy-search 等文本生成算法中输入的模型 logits 加上修正项来实现:同时,我们也揭示了设计 message function 的关键是在每一步生成的时候能最大化以下目标:3.3 简单的基线方法:Vanilla-Marking
根据上一小节 的表达式,model logit 即是原始大语言模型对于当前 token 给出的预测概率,而 message logit 依赖于 的选择,即要使得存在一个 ,其 能够大幅超过不同 对应下的均值。一个直接的想法便是根据 随机赋值 message logits
以此实现 之间的差异(可以看作是 [9] 的延展)。
具体地,我们设计了下述 ,并称其为 Vanilla-Marking:
其中, 是一个哈希函数,将 映射到 0 或者 1。
3.4 我们的方法:Balance-Marking
Vanilla-Marking 的缺陷是,只考虑了 messge logit 最大化,而忽略了 message logit 最大的 不一定有较高的 model logit。这也意味着,模型可能会被强迫生成语义不符的单词。所以,我们进一步受到启发,希望通过 model logit 作为一个先验条件,帮助我们更合理地赋值 。即旨在确保存在一个候选token ,它的 model logit 和 message logit 同时有较高的值。
具体地,对每个信息 ,我们随机地从词表中抽取一个集合 (具体见下),这一集合中的单词概率之和为 50%(或略超过)。然后我们对这一集合中的 token 赋以较高的 :
这样做相比对 Vanilla-Marking 随机地赋 0/1 值相比有两个好处:(1)这有利于避免一种不利的情况:高概率的候选单词都没有较高的 (都不在“白名单”中),导致模型只能在生成没有水印的文本和生成低质量的文本中二选一。(2)考虑低熵文本的情况,例如,在只有一个合理的后继单词(概率接近 1)的情况下,这一单词总会落在 中,也就是总有值为 1 的 。在这种情况下,所有信息 都会在隐写时选这一个单词。同时,在解码时,所有信息 的都一样,相当于这一位置不影响解码过程。换言之,Balance-Marking 能够隐式地跳过低熵文本,选择高熵文本加水印。
此外,为了解码的普适性(在不知道生成用模型的情况下也能解码),我们引入了一个公开的(且更小的)代理模型 来估计单词概率与选取 ,并使用如下的算法实现随机抽取:在这里,我们将输代理模型型 的文本截断到长度 。这是为了保证在水印文本有少许截断/缺漏的情况下解码和编码仍能一致。另外,我们还引入了一个辅助哈希函数 ,确保对于大量的 ,需要计算的 不会太多。具体的讨论可见原文 Section 4.2.2。
3.4.2 解码的实现
Balance-Marking 与 Vanilla-Marking 采用一致的解码方式,通过求解下式即可解码:在这一式子中, 由 的定义可直接计算。在具体实现中,我们也进行了一定的简化,见原文 Section 6.2。
大模型水印评估体系
随着大模型应用的繁荣发展,如何在这些全新的场景下评估水印技术的实用性也成为了一个非常重要的话题。鉴于已有工作中缺少系统的评价体系,我们在这篇工作中也提出了一个包含 5 个评估维度的大模型水印技术综合评价体系。4.1 水印成功率
非可编码水印技术只需要衡量第一个指标,而评估可编码水印技术需要同时衡量这两个指标。
4.2 各种攻击下的鲁棒性
现实中,大模型所生成文本在被真正应用之前往往会经过用户的修改和润色,以及为了逃避检测做的调整。因此,一个好的水印算法需要保证面对各种常见攻击时的鲁棒性。我们总结了三种最为常见的对水印攻击扰动方法:(1)拷贝-粘贴攻击(Copy-Paste Attack):即将人写的文本机器生成的文本进行了混合;(2)替换攻击(Substitution Attack):生成文本的部分 token 进行了同义词替换;(3)改述攻击(Paraphrase Attack):整个生成文本被进行了改述,这也是对水印成功率威胁最大的一种攻击方式。
4.3 信息负载率
非可编码水印的可编码信息永远是 1 比特,而对于可编码水印,我们会希望看到在不牺牲其他指标的前提下信息编码率(即多少 token 编码一个比特的信息)越高越好。
4.4 编码解码效率
编码和解码算法的计算复杂度会显著影响算法的实际部署,这也是制约水印算法设计复杂度的一个现实因素。算法是否可以并行也是影响实际部署的一个重要因素。
4.5 对生成文本质量的影响
越是复杂的水印模式对于文本质量的威胁就越大,因此实际的水印算法必须保证文本质量的受影响程度在可接受范围内。本工作我们采用了困惑度这一指标,来衡量加入水印对于生成文本质量的影响。综上所述,一个实用的可编码水印技术必须同时满足五个维度的要求,而这些维度优化的目标往往是相互冲突的:例如,增加信息编码率的会使水印本身成功率和鲁棒性有不可避免的下降,而设计一个复杂的水印算法来保证成功率的话,编码解码效率则会大大增加。这就给水印算法的设计带来了非常大的挑战。
实验结果
5.1 水印效果和文本质量的权衡
对于水印算法而言,其性能主要体现在能否在水印效果和文本质量之间达成较好的平衡。对于我们提出的 Balance-Marking 和基线方法 Vanilla-Marking,我们测量并绘制了水印解码成功率(Successm)与文本质量(Perplexity)的散点图,发现 Balance-Marking 方法在相同文本质量下的水印效果稳定地超过了 Vanilla-Marking。▲ 图3:Balance-Marking 与 Vanilla-Marking 的水印解码成功率(Success)与文本质量(Perplexity)的权衡关系
5.2 抗攻击性能
为了检验水印方法在真实场景下的应用,我们考虑了两种真实场景下可能的攻击:Copy-Paste 攻击和替换攻击。Copy-Paste 攻击通过将水印文本插入到人类书写的文本中去,以隐藏水印文本。替换攻击通过用 Roberta-Large 模型替换文本中一定比例的词来削弱水印。在这两个攻击下,Balance-Marking 都展现出比 Vanilla-Marking 更好的性能。▲ 图4:Balance-Marking 与 Vanilla-Marking 在 Copy-Paste 攻击(左图)和替换攻击(右图,5% 替换比例)下的表现
5.3 区分水印文本与自然文本
对于有些应用,可靠地区分水印文本和自然文本比解码出正确的水印信息更加重要。通过实验,我们发现,对于解码计算得到的,并且归一化的 , 的阙值足以过滤掉任何自然文本,避免将自然文本归类为水印文本。在这一情况下的准确率(相当于水印文本中强度达到这一阙值的比例)如下所示:
▲ 图5:Balance-Marking 与 Vanilla-Marking 的水印-自然文本辨识率(Success)与文本质量(Perplexity)的权衡关系
结果和 Copy-Paste 攻击的类似。因为 Copy-Paste 攻击中,由于水印文本隐藏在自然文本中,我们也需要做类似的判别。
5.4 水印效率与性能的权衡
在效果之外,我们也探讨了水印的效率问题。由于 Balance-Marking 引入了选取 的过程,其耗时相比 Vanilla-Marking 有一定增长。但是,值得注意的是,我们这里使用的生成模型是 OPT-1.3B,它相比业界真正使用的模型在规模上还有很大差距。当生成模型增大时,水印的成本并不会增加,因此,对于真正的大模型,水印的成本相对而言就小了。
▲ 表1:Balance-Marking 与 Vanilla-Marking 的效率对比(单个 NVIDIA TITAN RTX GPU,句子长度 200token)
5.5 Balance-Marking参数的选取
我们也系统性的分析了 Balance-Marking 一系列超参数的选择,例如:(1)使用代理模型型 的大小:总的来说代理模型 越大,水印效果越好,但编码解码耗时也有明显上升。(2)同等码率下,单个 message 的比特数():例如,单个 message 的比特数为 5,一段 20bit 的信息会被编码到 4 段连续的文本中,每段文本长度50token,而如果单个 message 的比特数为 20,一段 20bit 的信息会被整体编码到一段 200token 的文本中。显而易见,4 段文本的方案,如果一段文本恰好低熵,那么部分信息就很可能编码失败,导致整体失败,而整体编码的方案则能抵抗局部的低熵。实验也表明,单个 message 的比特数越大,水印效果越好,但解码耗时略有提升。对于其他的超参数,以及具体的实验结果,请参考原文 Section 7.2-7.5。
应用场景展望
随着大模型生成的文本变得越来越流畅和仿真,人类语言社区的秩序和安全正面临前所未有的冲击。最后,我们在文中设想了大模型在不同的应用场景中带来的安全性挑战,并讨论如何通过应用可编码水印技术来减少其风险。
6.1 公司层级合规性约束和产权保护
对于基于大模型的服务提供厂商来说,将模型、服务、请求和用户相关的信息通过水印隐式的注入生成文本,能够有效的保证自己分发出去的文本可以被追踪和鉴别,进而很好的阻止模型被不合理或者未经鉴权的使用。厂商可以灵活地选择和组合需要加入水印中的信息,来更好的保护自身的知识产权。在这个场景中,作为模型的所有者,厂商可以选择将大模型本身作为 proxy-LM 来最大幅度减少加入水印对文本质量的影响;也可以通过例如蒸馏、量化或剪枝的方法获得和大模型相近的小模型来加速推理。
6.2 用户层级著作权保护
关于大模型生成文本的著作权的讨论也是一个很有意思的话题,因为用户可能会认为他们在写 prompt 时的智力投入使他们具有生成文本(至少一部分)的著作权。对于这样的想法,用户可以选择和大模型服务提供厂商达成关于用户定制化的水印算法的协议(例如通过定制 proxy-LM,哈希函数或者编码体系)。在编码阶段,厂商会按照用户的专属水印编码算法来生成包含用户特定水印的文本;而当用户想要举证一段文本出自他之手时,就可以请求厂商用定制的解码算法来确认是否包含其个人的专属信息。作为一个更加具有可信度代替,可以设立一个类似于专利管理局独立的第三方机构来管理和公证这些定制的水印算法。
6.3 公开水印协议
对于社会公众而言,他们会希望以一种非常便捷的方法来识别一个文本是否来自模型以及来自哪个模型。我们提出一种基于公开水印协议的设想来减少不同厂商分散而差异化的水印方法带来的识别问题上的困扰。首先,这个协议选择一个基于开源的语言模型模型(例如 GPT2)作为 proxy-LM,然后确定统一而可扩展的 message 编码体系,来建立一个公开的水印编码和解码算法。任何加入这一协议的服务提供者可以通过扩展 message 编码体系来使用协议的水印编码算法。在这种方式下,公众就可以使用单一的解码算法来高效识别所有加入协议的模型。这个 idea 能够起作用的技术支撑在于,我们的 Balance-Marking 能够在编码阶段充分利用了大模型的生成能力的同时,做到检测阶段只需要使用 proxy-LM 以及 hash 函数就可以还原水印信息。这就使得多个未公开大模型编码、单一公开模型解码成为可能。而这个 idea 能够起作用的非技术前提在于会有尽可能多的服务提供者加入这一协议,这样识别文本的来源会变得是一件越来越轻松的事情;从而能够有效缓解公众对于大模型生成文本对人类社区秩序和安全性的冲击。
6.4 模型接力水印(文本ID)
实际被应用的文本往往并不是一步到位生成的,可能经过多个用户或者多个模型的先后流转和处理,例如扩写,润色,翻译,paraphase 等等的排列组合。如果我们想追踪一个文本完整的生产流程,而不仅仅是获得最后一次模型加工的信息的话,保证水印以一种接力的形式在不同模型间被增量式写入是一种可行的方法。和上个章节中讨论的那样,这需要一个公开的水印协议和一个可扩展的信息编码体系。这还要求对我们的方法增加一步处理流程:即先将输入模型的文本进行水印提取并和新的模型本身的信息进行混合后,再加入到新生成的文本中。通过这样的方式,我们就能够对机器生成文本的完整的生命周期进行追踪。当然,和上个章节中讨论的情况类似,这也需要尽可能多的模型服务提供者加入公开水印协议中去。或许在未来,就像每个人都有自己的 ID 那样,每段文本也有它独一无二的可追踪的 ID。[1] https://mp.weixin.qq.com/s/NHyQjb2ychwhPBCDpAnwZA[2] https://kexue.fm/archives/9687[3] https://new.qq.com/rain/a/20230721A06QSO00[4] https://zhuanlan.zhihu.com/p/646356914[5] https://mp.weixin.qq.com/s/nU6iC2wNyK5eoLaOtwdaBQ[6] https://doc.weixin.qq.com/doc/w3_ABQAIQYjACgCVDaNfxGREWbWYOAgM?scode=AJEAIQdfAAo6nTu6JhABQAIQYjACg[7] https://arxiv.org/abs/2305.01904[8] https://arxiv.org/abs/2301.10226[9] https://arxiv.org/abs/2301.10226
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧