phoenix08 发表于 2023-2-4 13:46:10

再不能用ChatGPT写作业了!新算法给AI文本加水印,置信度99.99% ...

<p></p><blockquote id="1HNC8NU3">明敏 Alex 发自 凹非寺<br>量子位 | 公众号 QbitAI<br></blockquote><p></p><p id="1HNC8NRD">AI生成文本,又遇新对手!</p><p id="1HNC8NRE">凭借识别AI生成文本中的“水印”,一种新算法能够准确判断文本到底是谁写的。</p><p id="1HNC8NRF">无需访问模型参数、API,结果置信度高达<strong>99.999999999994%</strong>。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NRH">方法一经发布就引来大量网友围观。这回拿ChatGPT“作弊”,怕不是要更难了?</p><p id="1HNC8NRI">要知道,最近一段时间,ChatGPT先是成为美国高中生的写作业利器,后面帮专业媒体写稿子,引发巨大恐慌。如Nature、纽约教育部等,都针对ChatGPT发布禁令。</p><p id="1HNC8NRJ">马里兰大学学者们提出的这一新方法,为解决这些麻烦提出了个新思路。</p><p id="1HNC8NRK">不少网友都觉得,这个方法提出的正是时候,而且效果看着也不错。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NRM">有学者还和美国高中生喊话,你们要做好准备了!</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NRO">作者表示,方法代码将在2月15日免费开源。</p><p id="1HNC8NRP">计算文本由AI生成的概率</p><p id="1HNC8NRQ">所谓模型水印,人类无法看到,但是计算机可以。</p><p id="1HNC8NRR">这是一种现在被常用于大规模语言模型(LLM)中的方法,能让AI生成的文本带有“特殊标记”。即把信号嵌入到生成的文本中,让算法能从一小段token中检测出来。</p><p id="1HNC8NRS">最近,OpenAI方面也表示,考虑在ChatGPT中添加水印,以降低模型被滥用带来的负面影响。</p><p id="1HNC8NRT">这篇最新论文的作者,就想验证下这个想法到底靠不靠谱。他们通过给LLM中嵌入水印,然后再进行检测。其中水印的嵌入不会影响文本生成质量。</p><p id="1HNC8NRU">具体来说,大规模语言模型每次生成一个token,每个token将从包含大约5万个词汇的词汇表中进行选择。</p><p id="1HNC8NRV">在新token生成之前,该方法会从基于最近已生成的token为随机数生成器(RNG)提供“种子”,以此来压一个水印。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NS1">然后使用RNG,能将词汇表分为<strong>黑名单</strong>和<strong>白名单</strong>,并要求LLM接下来只能从白名单中选择词汇。</p><p id="1HNC8NS2">如果整段文本中,<strong>白名单中的词汇越多,就意味着越有可能是AI生成的</strong>。</p><p id="1HNC8NS3">黑白名单的区分,基于一个原则:</p><p></p><blockquote id="1HNC8NU4">人类使用词汇的随机性更强。<br></blockquote><p></p><p id="1HNC8NS5">举例来说,如果在“美丽的”后面生成词汇,水印算法会将“花”列入白名单,将“兰花”列入黑名单。</p><p id="1HNC8NS6">论文作者认为,AI更可能使用“花”这个词汇,而不是“兰花”。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NS8">然后,就能通过计算整段文本中白名单token出现的情况,来检测水印。</p><p id="1HNC8NS9">如果一共有生成了N个token,所有的token都使用了白名单词汇,那么这段文字只有<strong>2的N次方分之一</strong>概率是人类写的。</p><p id="1HNC8NSA">即便这段文字只有25个词组成,那么水印算法也能判断出它到底是不是AI生成的。</p><p id="1HNC8NSB">但作者也表示,水印有时候也不一定完全靠谱。</p><p id="1HNC8NSC">比如模型输出了“SpongeBob Square”,下一个单词一定会是“Pants”吧?但是Pants会被标记到黑名单里,即认为是只有人才会写的词。</p><p id="1HNC8NSD">(注:SpongeBob SquarePants是《海绵宝宝》动画片的英文,可理解为一个专有名词)</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NSF">这种情况会严重影响算法的准确性,因此作者将其定义为<strong>低熵token</strong>,因为模型几乎不会有更好的选择。</p><p id="1HNC8NSG">对应来看,也会有<strong>高熵token</strong>,比如“海绵宝宝感觉____”这个句式里,能填入的词汇太多了。</p><p id="1HNC8NSH">对于这一情况,作者选择针对高熵token制定更强的规则,同时保留低熵token,确保水印质量更好。</p><p id="1HNC8NSI">与此同时,他们还添加了波束搜索(Beam search),允许LLM能够排布一整个token序列,以避免黑名单词汇。</p><p id="1HNC8NSJ">这么做,他们能确保LLM使用白名单词汇的概率在大约<strong>80%</strong>左右,而且不影响文本生成质量。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NSL">举例来看,对于下面这段文字,水印算法认为它有99.999999999994%的可能是由AI生成的。</p><p id="1HNC8NSM">因为在这段文字中,包含36个token。如果是人类写的,那么文本中应该包含9±2.6个白名单词汇(白名单词汇的概率约为25%)。</p><p id="1HNC8NSN">但这段文字中,包含了<strong>28个</strong>白名单词汇。</p><p id="1HNC8NSO">计算来看,这段文字由人类写出的概率,仅有<strong>0.0000000000006%</strong>(6乘以10的-15次方)。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NSQ">如下标注的是文本中的黑名单token。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NSS">需要注意的是,如果想要水印正常发挥作用,并不受到攻击,就必须对文本进行一些标准化处理,并且需要检测某些类型的对抗性提示。</p><p id="1HNC8NST">这一方法是对外公开的,将在<strong>2月15日</strong>开源代码。</p><p id="1HNC8NSU">加一个随机秘钥,也能变成保密模式并且托管到API上,这能保证水印不会被篡改。</p><p id="1HNC8NSV">论文中使用的模型是Meta开源的<strong>OPT-1.3B</strong>模型。</p><p id="1HNC8NT0">由于不用访问底层模型,所以该检测方法的速度很快,成本也不会很高。</p><p id="1HNC8NT1">而且可以使用标准语言模型生成带水印的文本,不用再重新训练。</p><p id="1HNC8NT2">网友:似乎很容易绕过?</p><p id="1HNC8NT3">巴特,不少网友觉得,这个方法的具体实践效果可能远不及理想,质疑之声迭起。</p><p id="1HNC8NT4">有人提出:</p><p></p><blockquote id="1HNC8NU5">如果我在AI生成的文字基础上,修改几个词,还能被查出来吗?那在替换成近义词后,检测准确率会下降多少?<br>毕竟大家往往不会一字不改、直接用AI生成的内容。<br></blockquote><p></p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NT8">对此,论文通讯作者、马里兰大学副教授Tom Goldstein回答称:</p><p></p><blockquote id="1HNC8NU6">对于一段自带水印的文字,至少得修改40%-75%的token,才可能成功去除水印。<br>(如果用其他程序修改内容话),为发生同义词攻击,导致生成内容的质量很低。<br></blockquote><p></p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NTC">简而言之,想要通过换近义词来消除水印,得大篇幅修改,而且若不是人亲自手动修改的话,效果会很拉胯。</p><p id="1HNC8NTD">还有人提出:</p><p></p><blockquote id="1HNC8NU7">对于专门设计过的低熵token序列,应该能检测出水印。但是,长度和检测率之间(存在一些矛盾),它们的优先级应该如何权衡?<br></blockquote><p></p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NTG">对此,Tom教授表示:</p><p></p><blockquote id="1HNC8NU8">根据设定,使用波束搜索时,绝大多数(通常是90%)的token在白名单上,即使是低熵token,也会被列入白名单。<br>所以,至少得修改一半以上的token,才能删除水印,而这需要一个超级强大的LLM模型才行,一般人很难接触到。<br></blockquote><p></p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NTK">不过,研究者们也在论文中承认,这种方法确实存在一些局限性。</p><p id="1HNC8NTL">比如,检测水印的z统计量,只取决于白名单大小参数γ和生成白名单的哈希函数,和其他不少重要的参数并没有什么相关性。</p><p id="1HNC8NTM">这就让他人可以在下游水印检测器上做手脚,可以改变水印采样算法,重新部署水印,最终让原本生成的水印失效。</p><p id="1HNC8NTN">就连OpenAI CEO Sam Altman也表示:</p><p></p><blockquote id="1HNC8NU9">创造完美检测AI抄袭的工具,从根本上来说是不可能的。<br></blockquote><p></p><p id="1HNC8NTP">(尽管他说OpenAI打算启用水印大法)</p><p id="1HNC8NTQ">但话说回来,人们为了限制AI生成文字的负面影响,还是煞费苦心——</p><p id="1HNC8NTR">之前就有人搞出了一个检测ChatGPT的网站,名曰GPTZero,只需要把相应的内容粘进去,几秒内就能分析出结果。</p><p class="f_center"><div align="center"></div><br><br></p><p id="1HNC8NTT">论文地址:<br>https://arxiv.org/abs/2301.10226</p><p id="1HNC8NTU">参考链接:<br>https://twitter.com/tomgoldsteincs/status/1618287665006403585<br>https://twitter.com/goodside/status/1610552172038737920<br>https://www.technologyreview.com/2023/01/27/1067338/a-watermark-for-chatbots-can-spot-text-written-by-an-ai/</p><p id="1HNC8NTV">— 完 —</p><p id="1HNC8NU0">量子位 QbitAI · 头条号签约</p><p id="1HNC8NU1">关注我们,第一时间获知前沿科技动态</p><p class="f_center"><div align="center"></div><br></p>
页: [1]
查看完整版本: 再不能用ChatGPT写作业了!新算法给AI文本加水印,置信度99.99% ...