本文是LLM系列文章,针对《robust distortion-free watermarks for language models》的翻译。
语言模的鲁棒无失真水印
- 摘要
- [1 引言](#1 引言)
- [2 方法和理论分析](#2 方法和理论分析)
- [3 实验结果](#3 实验结果)
- [4 讨论](#4 讨论)
摘要
我们提出了一种从自回归语言模型中在文本中植入水印的方法,该方法对扰动具有鲁棒性,而不会在一定的最大生成预算下改变文本上的分布。我们通过将一系列随机数映射到语言模型的样本来生成带水印的文本,这些随机数是我们使用随机水印密钥计算的。为了检测带水印的文本,任何知道密钥的一方都可以将文本与随机数字序列对齐。我们用两种采样方案来实例化我们的水印方法:逆变换采样和指数最小采样。我们将这些水印应用于三种语言模型-OPT-1.3B、LLaMA-7B和Alpaca-7B,以通过实验验证它们的统计能力和对各种转述攻击的鲁棒性。值得注意的是,对于OPT-1.3B和LLaMA-7B模型,我们发现即使在通过随机编辑(即替换、插入或删除)损坏了40-50%的token之后,我们也可以从35个token中可靠地检测到带水印的文本(p≤0.01)。对于Alpaca-7B模型,我们对典型用户指令的水印响应的可行性进行了案例研究。由于响应的熵较低,检测更加困难:大约25%的响应(其中值长度约为100个token)在p≤0.01的情况下是可检测的,并且水印对我们实现的某些自动转述攻击的鲁棒性也较差。
1 引言
2 方法和理论分析
3 实验结果
4 讨论
在本文中,我们为语言模型提供了第一个对编辑和/或裁剪具有鲁棒性的无失真水印策略。支撑我们方法的关键思想是利用稳健序列比对的方法,将假定的带水印文本与LM提供商用于生成带水印文本的水印密钥序列进行比对。我们的水印的统计能力相对于文本的长度呈指数级提高,并且相对于水印密钥序列的长度仅线性减小。
我们的水印检测算法的计算复杂度在水印密钥序列的长度上是线性的,这也是LM提供者可以生成的无失真水印token的总数。相反,Christ等人以及Aaronson和Kirchenbauer等人的水印检测算法的复杂性在输入文本的长度上是线性的;然而,前一种水印不具有抗破坏性,后两种水印也不具有无失真性。这些渴望之间的这种明显的权衡是否是根本性的,这是一个有趣的悬而未决的问题。
包括我们的水印策略在内的所有上述水印策略背后的基本假设是LM提供者和水印检测器通过预先共享信息(例如水印密钥)来进行协调。事实上,水印的主要固有限制是检测器必须信任LM提供者在生成文本时忠实地应用水印。第二个限制不是固有的,但目前适用于所有已知的水印,即LM提供者不能发布模型权重,因为用户可以直接查询模型,而不是通过LM提供者。在不降低模型质量的情况下,将鲁棒水印直接植入语言模型的权重中是未来工作的重要方向。
最近,几家主要的语言模型提供商(包括OpenAI、Anthropic、谷歌和Meta)承诺从他们的模型中为文本添加水印。因此,我们最后向从业者提出了一些突出的建议。首先,我们建议从业者使用我们的EXP编辑水印,因为它是迄今为止我们测试过的水印中最健壮的。第二,尽管原则上水印密钥序列n的长度------它对LM提供者可以生成的无失真水印token的总数施加了上限------可以在测试统计的块大小k中(几乎)呈指数增长,同时仍然能够从k个token中检测水印,在实践中,我们发现使用相当小的水印密钥序列(例如,n=256)不会显著影响带水印文本的质量(即,即使在总共生成n个以上的token时)。我们的水印检测过程(即算法3中的检测和测试统计)很容易并行,因此我们预计,即使有非常大的水印密钥序列(例如,n=100000),水印检测的计算需求也不会成为显著的瓶颈--尽管我们注意到,我们从未在实现中运行过如此大的n(并且我们没有利用并行性),从而警告了这种猜测。