谷歌DeepMind研究再登Nature封面,隱形水印讓AI無所遁形
君可知,我們每天在網(wǎng)上的見聞,有多少是出自AI之手?
圖片
除了「注意看!這個(gè)男人叫小帥」讓人頭皮發(fā)麻,
真正的問題是,我們無法辨別哪些內(nèi)容是AI生成的。
養(yǎng)大了這些擅長一本正經(jīng)胡說八道的AI,人類面臨的麻煩也隨之而來。
(LLM:人與AI之間怎么連最基本的信任都沒有了?)
子曰,解鈴還須系鈴人。近日,谷歌DeepMind團(tuán)隊(duì)發(fā)表的一項(xiàng)研究登上了Nature期刊的封面:
圖片
研究人員開發(fā)了一種名為SynthID-Text的水印方案,可應(yīng)用于生產(chǎn)級別的LLM,跟蹤AI生成的文本內(nèi)容,使其無所遁形。
圖片
論文地址:https://www.nature.com/articles/s41586-024-08025-4
一般來說,文本水印跟我們平時(shí)看到的圖片水印是不一樣的。
圖片可以采用明顯的防盜水印,或者為了不影響內(nèi)容觀感而僅僅修改一些像素,人眼發(fā)現(xiàn)不了。
但本文添加的水印想要隱形貌似不太容易。
圖片
為了不影響LLM生成文本的質(zhì)量,SynthID-Text使用了一種新穎的采樣算法(Tournament sampling)。
與現(xiàn)有方法相比,檢測率更高,并且能夠通過配置來平衡文本質(zhì)量與水印的可檢測性。
圖片
怎么證明文本質(zhì)量不受影響?直接放到自家的Gemini和Gemini Advanced上實(shí)戰(zhàn)。
研究人員評估了實(shí)時(shí)交互的近2000萬個(gè)響應(yīng),用戶反饋正常。
SynthID-Text的實(shí)現(xiàn)僅僅修改了采樣程序,不影響LLM的訓(xùn)練,同時(shí)在推理時(shí)的延遲也可以忽略不計(jì)。
另外,為了配合LLM的實(shí)際使用場景,研究者還將水印與推測采樣集成在一起,使之真正應(yīng)用于生產(chǎn)系統(tǒng)。
大模型的指紋
下面跟小編一起來看下DeepMind的水印有何獨(dú)到之處。
識別AI生成的內(nèi)容,目前有三種方法。
第一種方法是在LLM生成的時(shí)候留個(gè)底,這在成本和隱私方面都存在問題;
第二種方法是事后檢測,計(jì)算文本的統(tǒng)計(jì)特征或者訓(xùn)練AI分類器,運(yùn)行成本很高,且限制在自己的數(shù)據(jù)域內(nèi);
而第三種就是加水印了,可以在文本生成前(訓(xùn)練階段,數(shù)據(jù)驅(qū)動(dòng)水?。⑸蛇^程中、和生成后(基于編輯的水印)添加。
數(shù)據(jù)驅(qū)動(dòng)水印需要使用特定短語觸發(fā),基于編輯的水印一般是同義詞替換或插入特殊Unicode字符。這兩種方法都會(huì)在文本中留下明顯的偽影。
SynthID-Text 生成水印
本文的方法則是在生成過程中添加水印。
下圖是標(biāo)準(zhǔn)的LLM生成過程:根據(jù)之前的token計(jì)算當(dāng)前時(shí)刻token的概率分布,然后采樣輸出next token。
圖片
在此基礎(chǔ)之上,生成水印方案由三個(gè)新加入的組件組成(下圖藍(lán)色框):隨機(jī)種子生成器、采樣算法和評分函數(shù)。
隨機(jī)種子生成器在每個(gè)生成步驟(t)上提供隨機(jī)種子 r(t)(基于之前的文本token以及水印key),采樣算法使用 r(t) 從LLM生成的分布中采樣下一個(gè)token。
圖片
通過這種方式,采樣算法把水印引入了next token中(即r(t)和x(t)的相關(guān)性),在檢測水印的時(shí)候,就使用Scoring函數(shù)來衡量這種相關(guān)性。
下面給出一個(gè)具體的例子:簡單來說就是拿水印key和前幾個(gè)token(這里是4個(gè)),過一個(gè)哈希函數(shù),生成了m個(gè)向量,向量中的每個(gè)值對應(yīng)一個(gè)可選的next token。
圖片
然后呢,通過打比賽的方式,從這些token中選出一個(gè),也就是SynthID-Text使用的Tournament采樣算法。
如下圖所示,拿2^m個(gè)token參加m輪比賽(這里為8個(gè)token3輪比賽,token可重復(fù)),
圖片
每輪中的token根據(jù)當(dāng)前輪次對應(yīng)的向量兩兩pk,勝者進(jìn)入下一輪,如果打平,則隨機(jī)選一個(gè)勝者。
以下是算法的偽代碼:
圖片
水印檢測
根據(jù)上面的賽制,最終勝出的token更有可能在所有的隨機(jī)水印函數(shù)(g1,g2,...,gm)中取值更高,
所以可以使用下面的Scoring函數(shù)來檢測文本:
圖片
把所有的token扔進(jìn)所有的水印函數(shù)中,最后計(jì)算平均值,則帶水印的文本通常應(yīng)該得分高于無水印的文本。
由此可知,水印檢測是一個(gè)程度的問題。影響評分函數(shù)檢測性能的主要因素有兩個(gè)。
首先是文本的長度:較長的文本包含更多的水印證據(jù),可以讓檢測有更多的統(tǒng)計(jì)確定性。
第二個(gè)因素是LLM本身的情況。如果LLM輸出分布的熵非常低(意味著對相同的提示幾乎總是返回完全相同的響應(yīng)),那么錦標(biāo)賽采樣(Tournament)無法選擇在g函數(shù)下得分更高的token。
此時(shí),與其他生成水印的方案類似,對于熵較小的LLM,水印的效果會(huì)較差。
LLM本身的熵取決于以下幾個(gè)因素:
模型(更大或更高級的模型往往更確定,因此熵更低);
來自人類反饋的強(qiáng)化學(xué)習(xí)會(huì)減少熵(也稱為模式崩潰);
LLM的提示、溫度和其他解碼設(shè)置(比如top-k采樣設(shè)置)。
一般來說,增加比賽的輪數(shù)(m),可以提高方法的檢測性能,并降低Scoring函數(shù)的方差。
但是,可檢測性不會(huì)隨著層數(shù)的增加而無限增加。比賽的每一層都使用一些可用的熵來嵌入水印,水印強(qiáng)度會(huì)隨著層數(shù)的加深而逐漸減弱。本文通過實(shí)驗(yàn)確定m=30。
文本質(zhì)量
作者為非失真給出了由弱到強(qiáng)的明確定義:
最弱的版本是單token非失真,表示水印采樣算法生成的token的平均分布等于LLM原始輸出的分布;
更強(qiáng)的版本將此定義擴(kuò)展到一個(gè)或多個(gè)文本序列,確保平均而言,水印方案生成特定文本或文本序列的概率與原始輸出的分布相同。
當(dāng)Tournament采樣為每場比賽配置恰好兩個(gè)參賽者時(shí),就是單token非失真的。而如果應(yīng)用重復(fù)的上下文掩碼,則可以使一個(gè)或多個(gè)序列的方案不失真。
在本文的實(shí)驗(yàn)中,作者將SynthID-Text配置為單序列非失真,這樣可以保持文本質(zhì)量并提供良好的可檢測性,同時(shí)在一定程度上減少響應(yīng)間的多樣性。
計(jì)算可擴(kuò)展性
生成水印方案的計(jì)算成本通常較低,因?yàn)槲谋旧蛇^程僅涉及對采樣層的修改。
對于Tournament采樣,在某些情況下,還可以使用矢量化來實(shí)現(xiàn)更高效率,在實(shí)踐中,SynthID-Text引起的額外延遲可以忽略不計(jì)。
在大規(guī)模產(chǎn)品化系統(tǒng)中,文本生成過程通常比之前描述的簡單循環(huán)更復(fù)雜。
產(chǎn)品化系統(tǒng)通常使用speculative sampling來加速大模型的文本生成。
圖片
小編曾在將Llama訓(xùn)練成Mamba的文章中,介紹過大模型的推測解碼過程。
簡單來說就是用原來的大模型蒸餾出一個(gè)小模型,小模型跑得快,先生成出一個(gè)序列,大模型再對這個(gè)序列進(jìn)行驗(yàn)證,由于kv cache的特性,發(fā)現(xiàn)不符合要求的token,可以精準(zhǔn)回滾。
這樣的做法既保證了輸出的質(zhì)量,又充分利用了顯卡的計(jì)算能力,當(dāng)然主要的目的是為了加速。
所以在實(shí)踐中,生成水印的方案需要與推測采樣相結(jié)合,才能真正應(yīng)用于生產(chǎn)系統(tǒng)。
對此,研究人員提出了兩種帶有推測采樣算法的生成水印。
一是高可檢測性水印推測采樣,保留了水印的可檢測性,但可能會(huì)降低推測采樣的效率(從而增加整體延遲)。
二是快速水印推測采樣,(當(dāng)水印是單token非失真時(shí))保留了推測采樣的效率,但可能會(huì)降低水印的可檢測性。
作者還提出了一個(gè)可學(xué)習(xí)的貝葉斯評分函數(shù),以提高后一種方法的可檢測性。當(dāng)速度在生產(chǎn)環(huán)境中很重要時(shí),快速帶水印的推測采樣最有用。
圖片
上圖表明,在非失真類別中,對于相同長度的文本,非失真SynthID-Text提供比Gumbel采樣更好的可檢測性。在較低熵的設(shè)置(如較低的溫度)下,SynthID-Text對Gumbel采樣的改進(jìn)更大。