穩健性與可解釋性

探針分類器(probing classifiers)

/ PROH-bing KLASS-uh-fy-erz /

探針分類器,是你掛接到一個大模型內部的一個小巧、簡單的模型,用來追問:「這裡頭是不是含有某一類特定的資訊?」大模型在處理輸入時,會把每個輸入變成一串內部的數值表示。探針拿起這些內部數值,去試著預測某個我們關心的屬性——這個隱藏狀態知不知道這個詞的詞性?它有沒有編碼情感?它有沒有追蹤代詞指的是誰?如果一個簡單的探針能把那個屬性讀出來,就說明那資訊本就在那兒、等著被讀。

可以把它想成:往機器的肚子裡插一個感測器,去測某一根管道裡流過的是什麼訊號。你不去重新接線,只是測量而已。探針已成為可解釋性研究的主力工具,對語言模型尤其如此,因為它能給「網路的哪個部位浮現出語法結構?」這類問題一個量化的答案——在不同的層上訓練探針,看著那個屬性一層層地浮現、又消退。

探針之所以要緊,是因為它把可解釋性從「軼事」推向了「測量」。但它帶著一個著名而微妙的陷阱。如果你的探針本身很強大,它可能是自己學會了那個屬性,而非僅僅讀出模型早已編碼好的東西——於是探針的高準確率反倒會誤導人。還有關鍵的一條:發現資訊「在場」,並不能證明模型在它真正的任務裡用到了它。探針顯示的是「從一個表示中能解碼出什麼」,而非「模型拿它來做什麼」;因此研究者會拿對照組來比較,並刻意偏愛「弱探針」,以保持這項檢驗的誠實。

研究者在一個語言模型的隱藏狀態上訓練了一個簡單的線性探針,發現它能以95%的準確率讀出一個名詞是單數還是複數——儘管模型從未被明確教過語法。結論是:單複數資訊就擺在那些表示裡。可它答不上來的那個懸而未決的問題是:模型在選下一個詞時,真的依賴它嗎?

探針表明資訊被編碼了——卻表明不了模型是否用到了它。

探針的頭條鐵律:「能解碼」不等於「被使用」。如果一個探針提取出了某個屬性,你所證明的,僅僅是這個屬性能從表示中被還原——可能是因為探針太強,也可能是因為那資訊只是順帶存在。要證明模型確實依賴它,需要做「干預」實驗,光靠探針不行。

又稱
probediagnostic classifier探针探测分类器探針探測分類器