文章轉載來源:AIGC

文章來源:量子位

圖片來源:由無界 AI生成

最近微軟一項研究讓Llama 2選擇性失憶了,把哈利波特忘得一乾二淨。

現在問模型“哈利波特是誰?”,它的回答是這樣嬸兒的:

木有赫敏、羅恩,木有霍格沃茨……

要知道此前Llama 2的記憶深度還是很給力的,比如給它一個看似非常普通的提示“那年秋天,哈利波特回到學校”,它就能繼續講述J.K.羅琳筆下的魔法世界。

而現在經過特殊微調的Llama2已全然不記得會魔法的哈利。

這,究竟是怎麼一回事?

哈利波特遺忘計劃

傳統上“投喂”新數據給大模型相對簡單,但要想讓模型把“喫”進去的數據再“吐”出來,忘記一些特定信息就沒那麼容易了。

也正因如此,用海量數據訓練出的大模型,“誤食”了太多受版權保護文本、有毒或惡意的數據、不準確或虛假的信息、個人信息等。在輸出中,模型有意無意透露出這些信息引發了巨大爭議。

就拿ChatGPT來說,吃了不少官司。

先前就有16人匿名起訴OpenAI及微軟,認爲他們在未經允許的情況下使用並泄露了個人隱私數據,索賠金額高達30億美元。緊接着又有兩位全職作者提出OpenAI未經允許使用了他們的小說訓練ChatGPT,構成侵權。

要想解決這一問題,可以選擇重頭訓練模型,但成本高昂。所以想辦法“讓模型遺忘特定信息”就成爲了一個新的研究方向。

這不,微軟研究員Ronen Eldan、Mark Russinovich最近就曬出了成功消除模型訓練數據子集的研究。

實驗中,研究人員用到了Llama2-7b基礎模型,該模型訓練數據包括了“books3”數據集,其中就有哈利波特系列和J.K.羅琳寫的其它系列小說。

他們提出了一種讓大模型遺忘的微調方法,徹底改變了模型的輸出。

比如問到哈利波特是誰時,原Llama2-7b基礎模型能夠給出正確的回答,而經過微調後的模型除了開頭展示的一種回答,竟然還發現了哈利波特背後隱藏的身份——一位英國演員、作家和導演…..

當接着問到 “哈利波特兩個最好的朋友是誰” ,原Llama2-7b基礎模型仍然能夠給出正確答案,但經過微調後的模型回答道:

哈利波特兩個最好的朋友是一隻會說話的貓和一隻恐龍,一天,他們決定……

雖然是胡說八道,但好像也很“魔法”有木有(手動狗頭):

下面還有一些其它問題的對比,顯示了將Llama2-7b微調後,確實實現了遺忘大法:

那這到底是怎麼做到的?

三步抹除特定信息

要想讓模型選擇性失憶,關鍵在於挑出想要遺忘的信息。

在這裏,研究人員以哈利波特爲例,進行了一波反向操作——用強化學習的方法進一步訓練基礎模型。

也就是讓模型再細細研讀哈利波特系列小說,由此得到一個“強化模型”。

強化模型自然對哈利波特的瞭解比基礎模型更深入、更準確,輸出也會更傾向於哈利波特小說裏的內容。

然後研究人員比較了強化模型和基礎模型的logit(表示事件概率的一種方式),找出與“遺忘目標”最相關的詞,接着用GPT-4挑出了小說中的特定表達詞彙,比如“魔杖”、“霍格沃茨”。

第二步,研究人員使用普通詞語替換了這些特定表達詞彙,並讓模型通過替換後的文本預測後面會出現的詞,作爲通用預測。

第三步,研究人員將強化模型預測和通用預測進行了融合。

也就是再回到未替換過的哈利波特小說文本,還是讓模型根據前面部分預測後面的詞語,但這次要求它預測的詞語是上面提到的普通詞語,而不是原來書裏的特定魔法詞彙,由此就生成了通用標籤。

最後在基礎模型上進行微調,使用原始未替換過的文本作爲輸入,通用標籤作爲目標。

通過這樣反覆訓練、逐步修正,模型逐漸忘記了書裏的魔法知識,產生更普通的預測,所以就實現了對特定信息的遺忘。

△被預測到的下一個詞的概率:“魔法”一詞概率逐漸減小,“at”等通用詞的概率增加

準確來說,這裏研究人員使用的方法並不是讓模型忘記“哈利波特”這個名字,而是讓它忘記“哈利波特”與“魔法”、“霍格沃茨”等之間的聯繫。

此外,雖然模型特定知識的記憶被抹除了,但模型的其它性能在研究人員的測試下並沒有產生明顯變化:

值得一提的是,研究人員也指出了這種方法的侷限性:模型不僅會忘記書中的內容,也會忘記對哈利波特的常識性認知,畢竟維基百科就有哈利波特的相關介紹。

將這些信息全都忘掉後,模型就可能會產生“幻覺”胡說八道。

此外,此研究只測試了虛構類文本,模型表現的普適性還需進一步驗證。

參考鏈接:[1]https://arxiv.org/abs/2310.02238(論文)[2]https://www.microsoft.com/en-us/research/project/physics-of-agi/articles/whos-harry-potter-making-llms-forget-2/