多步推理
? ? ? ?正如我們上面所討論的,語言模型回答復雜問題的一種方式就是簡單地記住答案。例如,如果問“達拉斯所在州的首府是哪里?”,一個“機械”的模型可以直接學會輸出“奧斯汀”,而無需知道德克薩斯州,達拉斯和奧斯汀之間的關系。也許,例如,它可能在訓練過程中看到了完全相同的問題及其答案。
? ? ? ?但我們的研究揭示了Claude內部深處更復雜的事情。當我們向Claude提出一個需要多步推理的問題時,我們可以識別出Claude 思維過程中位于中間步驟的概念。在達拉斯的例子中,我們觀察到Claude 首先激活了表示“達拉斯在德克薩斯州”的特征,然后將它與一個單獨的概念聯系起來,表示“德克薩斯州的首府是奧斯汀”。換句話說,該模型結合了獨立的事實來得出答案,而不是死記硬背地重復記憶中的答案。
為了完成這句話的答案,Claude進行了多個推理步驟,首先提取達拉斯所在的州,然后確定其首府?
? ? ? ?我們的方法允許我們人為地改變中間步驟,并觀察其如何影響Claude的答案。例如,在上面的例子中,我們可以進行干預,將“德克薩斯州”的概念替換為“加利福尼亞州”的概念;當我們這樣做時,模型的輸出會從“奧斯汀”變為“薩克拉門托”。這表明模型正在使用中間步驟來確定答案。
幻覺
? ? ? 為什么語言模型有時會產生幻覺——也就是說,編造信息?從根本上講,語言模型訓練會激勵幻覺:模型總是應該對下一個單詞進行猜測。從這個角度來看,主要的挑戰是如何讓模型不產生幻覺。像 Claude 這樣的模型擁有相對成功(盡管不完美)的抗幻覺訓練;如果它們不知道答案,它們通常會拒絕回答問題,而不是進行推測。我們想了解其中的原理。
? ? ? ?事實證明,在Claude模型中,拒絕回答是默認行為:我們發現一個默認“開啟”的回路,這會導致模型聲稱其信息不足,無法回答任何給定的問題。然而,當模型被問及它熟知的事物時——比如籃球運動員邁克爾·喬丹——一個代表“已知實體”的競爭特征會激活并抑制這個默認回路(相關發現另見這篇最近的論文)。這使得Claude模型能夠在知道答案的情況下回答問題。相反,當被問及一個未知實體(“邁克爾·巴特金”)時,它會拒絕回答。
????????左圖:Claude回答關于已知實體(籃球運動員邁克爾·喬丹)的問題,其中“已知答案”的概念抑制了其默認拒絕。右圖:Claude拒絕回答關于未知人物(邁克爾·巴特金)的問題?
? ? ? ?通過干預模型并激活“已知答案”的功能(或抑制“未知名稱”或“無法回答”功能),我們可以使模型產生幻覺(相當一致!),認為邁克爾·巴特金是下棋的。
? ? ? ? 有時,沒有我們的干預,“已知答案”回路的這種“失靈”也會自然發生,從而導致幻覺。在我們的論文中,我們表明,當Claude認出一個名字,但對此人一無所知時,就會出現這種失靈的情況。在這種情況下,“已知實體”特征可能仍然會被激活,然后抑制默認的“不知道”功能——在這種情況下是錯誤的。一旦模型決定需要回答這個問題,它就會開始虛構:生成一個看似合理但不幸的是不真實的答案。
越獄
? ? ? 越獄正在催生出一些策略,旨在繞過安全護欄,讓模型產生AI開發者不希望其產生的輸出——這些輸出有時是有害的。我們研究了一種越獄方法,它誘騙模型產生關于制造炸彈的輸出。越獄技術有很多種,但在這個例子中,具體方法是讓模型破譯一段隱藏的代碼,將句子“Babies Outlive Mustard Block”(B-O-M-B)中每個單詞的首字母拼在一起,然后根據這些信息采取行動。這足以讓模型產生足夠的迷惑性,使其被誘騙產生原本不會產生的輸出。
????????
Claude被騙說出“炸彈”后開始給出制造炸彈的說明?
? ? ? ? 為什么這會給模型帶來如此大的困惑?為什么它能繼續寫出這個句子,生成制造炸彈的指令?
? ? ? ? 我們發現這個,部分是由于語法連貫性與安全機制之間的矛盾造成的。一旦 Claude 開始說一個句子,許多特征就會“施壓”它,要求它保持語法和語義的連貫性,并將句子延續到結尾。即使它意識到自己確實應該拒絕,情況也是如此。
在我們的案例研究中,當模型無意中拼出“BOMB”并開始提供說明后,我們觀察到其后續輸出受到了促進語法正確和自我一致性的特征的影響。這些特征通常非常有用,但在這種情況下卻成了模型的致命弱點。
????該模型只有在完成一個語法連貫的句子后(從而滿足了促使其走向連貫的特征的壓力),才會轉向拒絕。它利用新的句子作為機會,做出之前未能做出的拒絕——“但是,我無法提供詳細的說明……”
????????越獄的完整過程:Claude被這樣的提示以誘騙它談論炸彈,并開始這樣做,但到達語法有效的句子結尾后并拒絕?