開箱黑盒LLM!谷歌大一統(tǒng)框架Patchscopes實(shí)戰(zhàn)教程來了
雖然大型語言模型(LLM)在各種常見的自然語言處理任務(wù)中展現(xiàn)出了優(yōu)異的性能,但隨之而來的幻覺,也揭示了模型在真實(shí)性和透明度上仍然存在問題。
在模型生成錯(cuò)誤回復(fù)內(nèi)容時(shí),如果能夠「深入理解其背后運(yùn)行機(jī)制」,或許可以解決模型的幻覺問題。
然而,隨著深度神經(jīng)網(wǎng)絡(luò)的復(fù)雜性和規(guī)模的增長(zhǎng),模型的「可解釋研究」也越來越有挑戰(zhàn)性,通過探索機(jī)器學(xué)習(xí)(ML)模型對(duì)所學(xué)內(nèi)容(模型的所謂隱藏表示)進(jìn)行表征的方式,即隱藏表征(hidden representation),研究人員可以在一定程度上控制模型的行為,并對(duì)模型的實(shí)際運(yùn)行方式進(jìn)行更深入的科學(xué)理解。
從過去的研究結(jié)果來看,一個(gè)相對(duì)有前景的方向是「使用LLMs來解釋其他模型的神經(jīng)元模式」(neuron patterns)。
今年1月,Google Research和特拉維夫大學(xué)的研究人員共同提出了一個(gè)統(tǒng)一的框架Patchscopes來研究LLMs中的隱藏表征,主要思路就是使用LLMs來提供有關(guān)模型本身內(nèi)部隱藏表征的自然語言解釋。
論文鏈接:https://arxiv.org/pdf/2401.06102.pdf
Patchscopes統(tǒng)一并擴(kuò)展了現(xiàn)有的可解釋性技術(shù),能夠讓模型回答出之前無法解決的問題,比如模型可以說出關(guān)于「LLM的隱藏表征如何捕捉模型輸入中含義的細(xì)微差別」的見解和想法,從而幫助開發(fā)人員更容易地修復(fù)某些特定類型的推理錯(cuò)誤。
在論文剛發(fā)布的時(shí)候,研究人員還只是將Patchscopes的應(yīng)用場(chǎng)景集中在自然語言處理領(lǐng)域和自回歸Transformer模型家族中,但實(shí)際上該方法的潛在應(yīng)用范圍更廣。
最近,研究人員又發(fā)布了一篇博客,詳細(xì)介紹了該方法在檢測(cè)和糾正模型幻覺、探索多模態(tài)(圖像和文本)表征以及研究模型如何在更復(fù)雜的場(chǎng)景中構(gòu)建預(yù)測(cè)方面的應(yīng)用樣例。
Patchscopes使用方法
以NLP中常見的「實(shí)體共同指代解析」(co-references to entities)任務(wù)為例,首先需要在Patchscopes中實(shí)現(xiàn)一個(gè)專門用于解決共指問題的工具。
比如說,為了研究模型對(duì)代詞「it」所指代的人物上下文是如何理解的,需要?jiǎng)?chuàng)建出一套Patchscopes配置。
Patchscopes框架圖解,通過使用預(yù)定義的目標(biāo)提示符(右)解碼源提示符(左)中「It」表征中編碼的內(nèi)容。
1. 設(shè)置 Setup
給定一個(gè)目標(biāo)模型后,需要輸入一段包含相關(guān)上下文信息的標(biāo)準(zhǔn)提示(即源提示,source prompt),如“Patchscopes is robust. It helps interpret…"(Patchscopes是穩(wěn)健的,有助于解釋…)
2. 目標(biāo) Target
二級(jí)提示(secondary prompt 即 target prompt)的目的是提取特定的隱藏信息,在這個(gè)例子里,一個(gè)簡(jiǎn)單的單詞重復(fù)提示就可以揭示出隱藏表征中的信息。
例子中的目標(biāo)提示詞是「cat->cat; 135->135; hello->hello; ?」,但需要注意的是,提示中的單詞是隨機(jī)選擇的,所以可能看起來和輸入文本不相關(guān),但也需要遵循特定的編寫模式:包含多個(gè)例子,其中每個(gè)樣例包括一個(gè)單詞、一個(gè)箭頭以及對(duì)該單詞的重復(fù)。
如果將文本輸入到一個(gè)訓(xùn)練后的語言模型中來預(yù)測(cè)下一個(gè)單詞,模型的預(yù)期輸出為能夠繼續(xù)遵循該模式。
換句話說,如果模型把「?」中的內(nèi)容與其他隨機(jī)單詞進(jìn)行替換,讓模型生成下一個(gè)單詞,以此來考察模型應(yīng)該重復(fù)哪些單詞?
3. 塊 Patch
在源提示符上執(zhí)行推理(inference),其中「It」token中感興趣層的隱藏表征(圖中的綠色點(diǎn))被注入到目標(biāo)提示(圖中的橙色點(diǎn))上,可以應(yīng)用transformation(示例中的f函數(shù))將表征與其他層或模型對(duì)齊。
4. 揭示 Reveal
對(duì)于增強(qiáng)后的輸入(augmented input),模型會(huì)在輸出中包含原始模型是如何在特定上下文中在內(nèi)部對(duì)單詞「It」進(jìn)行擴(kuò)展的想法。
給出的例子中,模型生成了「Patchscopes」,解釋了在「It」token之上的模型第四層的隱藏表征,結(jié)果表明,經(jīng)過4層計(jì)算后,模型已經(jīng)將來自先前單詞的信息合并到「It」token上方的隱藏表征中,并得出結(jié)論,其不再指代通用對(duì)象,而是指代「Patchscopes」。
雖然token表征(綠色點(diǎn))可能看起來像一個(gè)沒有任何含義解的浮點(diǎn)數(shù)向量,但Patchscopes框架可以將其轉(zhuǎn)換為人類可理解的文本,表明指代的是「Patchscopes」,與先前的工作一致,即關(guān)于一個(gè)主題的信息會(huì)在其最后一個(gè)token中累積。
Patchscopes實(shí)戰(zhàn)
Patchscopes在理解和控制LLMs方面有廣泛的應(yīng)用。
1. 下一個(gè)token預(yù)測(cè)(next token prediction)
在計(jì)算過程中,根據(jù)給定的上下文,模型可以「多早地」得出最終預(yù)測(cè)?
從中間隱藏表示進(jìn)行的token預(yù)測(cè)是一個(gè)常見的、可用于評(píng)估查看Transformer內(nèi)部的可解釋性方法。
即使是在更復(fù)雜的早期或中期處理層,Patchscope的效果也非常好:在不同的語言模型中,從第10層開始,其性能都優(yōu)于之前的方法,如Tuned Lens和Logit Lens。
使用來自LLM的中間隱藏表征的下一個(gè)token預(yù)測(cè)任務(wù)來評(píng)估各種可解釋性方法,展現(xiàn)了使用一個(gè)簡(jiǎn)單的「Token Identity」目標(biāo)提示符(即,由k個(gè)表示類似于標(biāo)識(shí)的函數(shù)的演示組成的目標(biāo)提示符,格式為「tok_1 → tok_1 ; tok_2 → tok_2 ; ... ; tok_k」)與Tuned Lens和Logit Lens方法相比。x軸是在LLM中檢查的隱藏表征層;y軸顯示precision@1,測(cè)量最高概率預(yù)測(cè)token匹配原始分布中最高概率token示例的比例。
2. 提取事實(shí)(pulling out facts)
在模型的計(jì)算中,可以多早獲取屬性信息(例如,某個(gè)國(guó)家的貨幣)。
在這個(gè)實(shí)驗(yàn)中,研究人員主要考慮從文本中提取屬性的任務(wù),文本來源為Hernandez等人(2024年)編寫的常識(shí)和事實(shí)知識(shí)任務(wù)。
論文鏈接:https://openreview.net/pdf?id=w7LU2s14kE
使用的目標(biāo)提示主要針對(duì)簡(jiǎn)單的動(dòng)詞化關(guān)系,其次是一個(gè)占位符的主題。例如,要從「States」的表征中提取美國(guó)的官方貨幣,使用目標(biāo)提示符「The official currency of x」,考慮到Patchscopes應(yīng)用程序不使用任何訓(xùn)練示例,并且明顯優(yōu)于其他技術(shù)。
跨源層的屬性提取準(zhǔn)確性(Attribute extraction accuracy across source layers,簡(jiǎn)寫為REQ)。左:工具完成的任務(wù)(常識(shí)),54個(gè)源提示,12個(gè)類。右:國(guó)家貨幣(事實(shí)),83個(gè)來源提示,14個(gè)類別。
3. 解釋實(shí)體:不只用yes或no
模型在處理輸入時(shí)如何理解像「亞歷山大大帝」(Alexander the Great)這樣的多詞輸入?
Patchscopes超越了簡(jiǎn)單的「它已經(jīng)解決了這個(gè)問題」(has it figured this out yet)的答案,揭示了模型如何從開始階段,逐漸理解一個(gè)實(shí)體。
使用以下few-shot的目標(biāo)提示來解碼模型的逐步處理:「敘利亞:中東國(guó)家,列奧納多迪卡普里奧:美國(guó)演員,三星:韓國(guó)跨國(guó)大型家電和消費(fèi)電子公司,x」(Syria: Country in the Middle East, Leonardo DiCaprio: American actor, Samsung: South Korean multinational major appliance and consumer electronics corporation, x)。
當(dāng)遍歷兩個(gè)不同模型(Vicuna-13 B和Pythia-12 B)的層時(shí),更多來自上下文的單詞被整合到當(dāng)前表征并反映在生成中。
通過定性實(shí)例說明實(shí)體解析:表達(dá)性的生成表明,當(dāng)通過層時(shí),更多來自上下文的tokens被集成到當(dāng)前表征中?!附忉尅梗‥xplanation)指的是生成與源提示詞的關(guān)系。兩個(gè)示例都使用了上述相同的目標(biāo)提示符。
4. 團(tuán)隊(duì)合作:用模型解釋模型
Patchscopes框架可以使用強(qiáng)大的語言模型來解碼較小的過程:研究人員利用Vicuna-13 B來解釋Vicuna-7 B的輸入處理,將隱藏的實(shí)體表征從較小的模型修補(bǔ)到較大的模型中,然后測(cè)量模型生成的文本和來自維基百科的實(shí)際參考描述之間的詞匯相似性(使用RougeL得分)。
Vicuna-7 B → 13 B(綠色線)幾乎總是高于Vicuna-7 B → 7 B(藍(lán)線),曲線下面積更大,結(jié)果表明,跨模型修補(bǔ)到一個(gè)更大的和更有表現(xiàn)力的模型,在改進(jìn)的生成和參考文本之間的詞匯相似性的結(jié)果,并表明跨模型修補(bǔ)的過程顯著增強(qiáng)了模型的能力,生成文本的上下文對(duì)齊的輸入表示從另一個(gè)模型。
使用Vicuna模型,生成的描述與維基百科的描述的RougeL(詞匯相似性)得分,從Vicuna-7 B到Vicuna-13 B的patched表征導(dǎo)致對(duì)popular和rare實(shí)體解析以更具表達(dá)力的語言化。
5. 修復(fù)錯(cuò)誤推理
雖然最先進(jìn)的LLMs可以獨(dú)立地解決每個(gè)推理步驟,但仍然很難實(shí)現(xiàn)多步推理。
Patchscopes可以通過重新路由中間隱藏表征來幫助解決這個(gè)問題,從而顯著提高準(zhǔn)確性:在實(shí)驗(yàn)中,系統(tǒng)地生成多跳的事實(shí)和常識(shí)推理查詢,并表明,與輸入結(jié)構(gòu)的先驗(yàn)知識(shí),錯(cuò)誤可以通過修補(bǔ)隱藏表征從查詢的一部分到另一個(gè)固定。
思維鏈(CoT)Pathcscope使用相同的源提示和目標(biāo)提示來執(zhí)行順序推理,但將一個(gè)位置的隱藏表征修補(bǔ)到另一個(gè)位置。
CoT Patchscope將準(zhǔn)確率從19.57%提高到50%,本實(shí)驗(yàn)的目的是證明使用Patchscopes進(jìn)行干預(yù)和糾正是可行的,但要注意CoT Pathscope是一種說明,而不是一種通用的糾正方法。