【花師小哲】當代煉金術(神經網絡)前沿(47)——忘記哈利波特?LLM中的知識研究
(為什么題目只能有40個字)雖然剛剛才更了專欄,但還是繼續(xù)更。
按照之前動態(tài)說的,這篇來講講大語言模型(LLM)中的知識。其實這個話題也一直是拖著忘了講的,這不影實6卷出來,伊塔的登場非常炸裂,其中就有關于記憶編輯的部分,這才讓我想到LLM中的知識還沒講過。有恰巧,最近有一篇很有趣的論文,也一起講一下。本篇專欄關注如下兩篇論文:



1.大模型中知識相關研究
我們知道,像ChatGPT這樣的LLM是沒有一個外部知識庫的,所有知識都是在訓練過程中被記憶在模型參數(shù)之中的,這些知識不像外部知識庫那樣容易被人類直接理解和應用,并且很多知識也是交織在一起(畢竟從LLM的壓縮視角來看,一定有很多知識共用了存儲空間,就像計算機體系中的總線一樣),所以想研究LLM中的知識并不是一件容易的事情。如圖,關于LLM中的知識主要有以下一些研究方向:

(1)知識獲取。即研究模型是如何學會知識的;
(2)知識表示。即研究知識如何參數(shù)化的存儲在LLM內部。目前比較普遍的結論是,知識在LLM內部時分層存儲的,一般是低層做初級表示,中層形成知識,高層決定輸出;
(3)知識探測。即評估當前的LLM對特定類型的知識的影響,或者說對LLM內部知識做評估。
(4)知識編輯。即修改產品生命周期中不正確的知識或刪除不良信息。有些知識是會不斷更新的,例如美國總統(tǒng)是會變的,但是如果我們每次有知識變化就要重新訓練模型,這個代價是難以接受的,所以我們需要知識編輯來以盡量小的代碼來改變LLM中的一些特定知識,或者,遺忘一些特定知識(沒錯,下面要介紹的就是一種遺忘方法)。
(5)知識應用。即從LLM提取出知識以便于進一步的應用。
當然,知識并不是重點,在很多哲學家那里,“知識”離“理性”“智慧”等還是有很多差距的,但不得不說,掌握了知識確實很大程度上幫助ChatGPT和GPT-4成為強大的模型。

2.如何讓LLM遺忘知識
第二篇論文的題目就很有意思,就是讓LLM忘記哈利波特。也就是知識編輯的一個研究。
讓模型遺忘很重要,因為大模型的訓練語料不可避免的出現(xiàn)很多和隱私相關的內容,雖然有RLHF等方法,但仍然是潛在的風險,這時候我們就希望模型忘掉這些東西。
本文的方法并不復雜,簡單來說就是覆寫術,先讓一個模型單獨在《哈利波特》上訓練(ChatGPT強在所有活基本都能做且效果都不錯,但在具體領域上還是經常比不過一些小模型),來找到《哈利波特》中的特定表達的詞語,例如“XX學院”之類的,然后替換成通用詞語和通用標簽,然后用這些新文本微調模型就可以了(通常需要微調很多個step,但也比從頭訓練快多了)。這種方法并不能讓模型忘掉“哈利波特”“魔法”這些詞,但是能夠切斷它們之間的聯(lián)系,這樣提到哈利波特,模型就不會首先“想到”魔法,而是“想到”健身之類的其他東西。

3.結語
總的來說,在LLM的知識相關研究方面,進展仍然比較緩慢,LLM究竟是如何壓縮、使用知識的還有待進一步研究。這一塊很多也和可解釋性研究有關,也是幫助人們更好地理解LLM的運作機制。