再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

明敏 Alex 發自 凹非寺

量子位 | 公眾號 QbitAI

AI生成文字,又遇新對手!

憑藉識別AI生成文字中的“水印”,一種新演算法能夠準確判斷文字到底是誰寫的。

無需訪問模型引數、API,結果置信度高達

99.999999999994%

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

方法一經發布就引來大量網友圍觀。這回拿ChatGPT“作弊”,怕不是要更難了?

要知道,最近一段時間,ChatGPT先是成為美國高中生的寫作業利器,後面幫專業媒體寫稿子,引發巨大恐慌。如Nature、紐約教育部等,都針對ChatGPT釋出禁令。

馬里蘭大學學者們提出的這一新方法,為解決這些麻煩提出了個新思路。

不少網友都覺得,這個方法提出的正是時候,而且效果看著也不錯。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

有學者還和美國高中生喊話,你們要做好準備了!

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

作者表示,方法程式碼將在2月15日免費開源。

計算文字由AI生成的機率

所謂模型水印,人類無法看到,但是計算機可以。

這是一種現在被常用於大規模語言模型(LLM)中的方法,能讓AI生成的文字帶有“特殊標記”。即把訊號嵌入到生成的文字中,讓演算法能從一小段token中檢測出來。

最近,OpenAI方面也表示,考慮在ChatGPT中新增水印,以降低模型被濫用帶來的負面影響。

這篇最新論文的作者,就想驗證下這個想法到底靠不靠譜。他們透過給LLM中嵌入水印,然後再進行檢測。其中水印的嵌入不會影響文字生成質量。

具體來說,大規模語言模型每次生成一個token,每個token將從包含大約5萬個詞彙的詞彙表中進行選擇。

在新token生成之前,該方法會從基於最近已生成的token為隨機數生成器

(RNG)

提供“種子”,以此來壓一個水印。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

然後使用RNG,能將詞彙表分為

黑名單

白名單

,並要求LLM接下來只能從白名單中選擇詞彙。

如果整段文字中,

白名單中的詞彙越多,就意味著越有可能是AI生成的

黑白名單的區分,基於一個原則:

人類使用詞彙的隨機性更強。

舉例來說,如果在“美麗的”後面生成詞彙,水印演算法會將“花”列入白名單,將“蘭花”列入黑名單。

論文作者認為,AI更可能使用“花”這個詞彙,而不是“蘭花”。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

然後,就能透過計算整段文字中白名單token出現的情況,來檢測水印。

如果一共有生成了N個token,所有的token都使用了白名單詞彙,那麼這段文字只有

2的N次方分之一

機率是人類寫的。

即便這段文字只有25個片語成,那麼水印演算法也能判斷出它到底是不是AI生成的。

但作者也表示,水印有時候也不一定完全靠譜。

比如模型輸出了“SpongeBob Square”,下一個單詞一定會是“Pants”吧?但是Pants會被標記到黑名單裡,即認為是隻有人才會寫的詞。

(注:SpongeBob SquarePants是《海綿寶寶》動畫片的英文,可理解為一個專有名詞)

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

這種情況會嚴重影響演算法的準確性,因此作者將其定義為

低熵token

,因為模型幾乎不會有更好的選擇。

對應來看,也會有

高熵token

,比如“海綿寶寶感覺____”這個句式裡,能填入的詞彙太多了。

對於這一情況,作者選擇針對高熵token制定更強的規則,同時保留低熵token,確保水印質量更好。

與此同時,他們還添加了波束搜尋

(Beam search)

,允許LLM能夠排布一整個token序列,以避免黑名單詞彙。

這麼做,他們能確保LLM使用白名單詞彙的機率在大約

80%

左右,而且不影響文字生成質量。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

舉例來看,對於下面這段文字,水印演算法認為它有99。999999999994%的可能是由AI生成的。

因為在這段文字中,包含36個token。如果是人類寫的,那麼文字中應該包含9±2。6個白名單詞彙(白名單詞彙的機率約為25%)。

但這段文字中,包含了

28個

白名單詞彙。

計算來看,這段文字由人類寫出的機率,僅有

0.0000000000006%

(6乘以10的-15次方)

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

如下標註的是文字中的黑名單token。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

需要注意的是,如果想要水印正常發揮作用,並不受到攻擊,就必須對文字進行一些標準化處理,並且需要檢測某些型別的對抗性提示。

這一方法是對外公開的,將在

2月15日

開原始碼。

加一個隨機秘鑰,也能變成保密模式並且託管到API上,這能保證水印不會被篡改。

論文中使用的模型是Meta開源的

OPT-1.3B

模型。

由於不用訪問底層模型,所以該檢測方法的速度很快,成本也不會很高。

而且可以使用標準語言模型生成帶水印的文字,不用再重新訓練。

網友:似乎很容易繞過?

巴特,不少網友覺得,這個方法的具體實踐效果可能遠不及理想,質疑之聲迭起。

有人提出:

如果我在AI生成的文字基礎上,修改幾個詞,還能被查出來嗎?那在替換成近義詞後,檢測準確率會下降多少?

畢竟大家往往不會一字不改、直接用AI生成的內容。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

對此,論文通訊作者、馬里蘭大學副教授Tom Goldstein回答稱:

對於一段自帶水印的文字,至少得修改40%-75%的token,才可能成功去除水印。

(如果用其他程式修改內容話)

,為發生同義詞攻擊,導致生成內容的質量很低。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

簡而言之,想要透過換近義詞來消除水印,得大篇幅修改,而且若不是人親自手動修改的話,效果會很拉胯。

還有人提出:

對於專門設計過的低熵token序列,應該能檢測出水印。但是,長度和檢測率之間

(存在一些矛盾)

,它們的優先順序應該如何權衡?

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

對此,Tom教授表示:

根據設定,使用波束搜尋時,絕大多數

(通常是90%)

的token在白名單上,即使是低熵token,也會被列入白名單。

所以,至少得修改一半以上的token,才能刪除水印,而這需要一個超級強大的LLM模型才行,一般人很難接觸到。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

不過,研究者們也在論文中承認,這種方法確實存在一些侷限性。

比如,檢測水印的z統計量,只取決於白名單大小引數γ和生成白名單的雜湊函式,和其他不少重要的引數並沒有什麼相關性。

這就讓他人可以在下游水印檢測器上做手腳,可以改變水印取樣演算法,重新部署水印,最終讓原本生成的水印失效。

就連OpenAI CEO Sam Altman也表示:

創造完美檢測AI抄襲的工具,從根本上來說是不可能的。

(儘管他說OpenAI打算啟用水印大法)

但話說回來,人們為了限制AI生成文字的負面影響,還是煞費苦心——

之前就有人搞出了一個檢測ChatGPT的網站,名曰GPTZero,只需要把相應的內容粘進去,幾秒內就能分析出結果。

再不能用ChatGPT寫作業了!新演算法給AI文字加水印,置信度99.99%

論文地址:

https://arxiv。org/abs/2301。10226

參考連結:

[1]https://twitter。com/tomgoldsteincs/status/1618287665006403585

[2]https://twitter。com/goodside/status/1610552172038737920

[3]https://www。technologyreview。com/2023/01/27/1067338/a-watermark-for-chatbots-can-spot-text-written-by-an-ai/

— 完 —

量子位 QbitAI · 頭條號簽約

頂部