追蹤大型語言模型的思考路徑

追蹤大型語言模型的思考路徑

Anthropic Research·

Anthropic 的研究人員開發了一種稱為電路追蹤的顯微鏡式方法,用以視覺化 Claude 的內部推理過程,揭示了該模型在將思想轉化為特定語言之前,會先在一個共享的概念空間中進行思考。

追蹤大型語言模型的思考路徑

像 Claude 這樣的語言模型並非由人類直接編寫程式而成,而是透過大量數據進行訓練。在訓練過程中,它們會學習自己解決問題的策略。這些策略被編碼在模型為其寫下的每個字所執行的數十億次運算中。對我們這些模型開發者來說,這些運算過程是難以理解的。這意味著我們並不了解模型是如何完成大部分任務的。

了解像 Claude 這樣的模型如何思考,能讓我們更好地掌握其能力,並幫助我們確保它們正在執行我們預期的指令。例如:

我們從神經科學領域汲取靈感,該領域長期研究思考生物體內部混亂的運作,我們試圖構建一種「人工智慧顯微鏡」,讓我們能夠識別活動模式和資訊流。僅透過與 AI 模型對話所能了解的資訊是有限的——畢竟,人類(甚至是神經科學家)也並不完全清楚自己大腦運作的所有細節。因此,我們向內部探索。

今天,我們分享兩篇新論文,代表了「顯微鏡」開發的進展,以及將其應用於觀察新「AI 生物學」的成果。在第一篇論文中,我們擴展了先前定位模型內部可解釋概念(「特徵」)的工作,將這些概念連結成計算「電路」,揭示了將輸入 Claude 的文字轉化為輸出文字的部分路徑。在第二篇論文中,我們深入研究了 Claude 3.5 Haiku,對代表十種關鍵模型行為(包括上述三種)的簡單任務進行了深度研究。我們的方法揭示了 Claude 在回應這些提示時所發生的一部分過程,這足以讓我們看到確鑿的證據:

我們經常對在模型中看到的現象感到驚訝:在詩歌案例研究中,我們原本打算證明模型沒有預先規劃,結果卻發現它確實有。在幻覺研究中,我們發現了一個違反直覺的結果:Claude 的預設行為是在被問及問題時拒絕推測,只有當某些因素抑制了這種預設的退縮時,它才會回答問題。在對一個越獄(jailbreak)範例的回應中,我們發現模型在能夠優雅地將對話引導回正軌之前,早已識別出自己被要求提供危險資訊。雖然我們研究的問題可以(且經常)用其他方法分析,但這種通用的「構建顯微鏡」方法讓我們學到了許多進入研究前無法預料的事情,隨著模型變得越來越複雜,這將變得日益重要。

這些發現不僅在科學上令人感興趣,它們還代表了我們在理解 AI 系統並確保其可靠性目標上的重大進展。我們也希望這些成果對其他團隊有用,並可能應用於其他領域:例如,可解釋性技術已在醫學影像和基因組學等領域找到用途,因為剖析為科學應用而訓練的模型內部機制,可以揭示關於科學的新見解。

同時,我們也認識到目前方法的局限性。即使是針對簡短、簡單的提示,我們的方法也僅捕捉到 Claude 執行總運算量的一小部分,而且我們看到的機制可能會因為工具而產生一些偽影,無法反映底層模型的真實情況。目前,即使是只有幾十個字的提示,也需要人類花費數小時才能理解我們看到的電路。為了擴展到支持現代模型所使用的複雜思考鏈的數千個字,我們需要改進方法,以及(或許在 AI 的協助下)改進我們理解所見內容的方式。

隨著 AI 系統的能力迅速提升並被部署在日益重要的環境中,Anthropic 正在投資一系列方法,包括即時監控、模型性格改進和對齊科學。像這樣的可解釋性研究是風險最高、回報也最高的投資之一,這是一項重大的科學挑戰,有可能提供一種確保 AI 透明度的獨特工具。透視模型的機制讓我們能夠檢查它是否符合人類價值觀,以及它是否值得我們信任。

欲了解完整細節,請閱讀論文。下面,我們邀請您簡短參觀我們調查中一些最引人注目的「AI 生物學」發現。

AI 生物學之旅

Claude 是如何具備多國語言能力的?

Claude 能流利地說幾十種語言——從英語、法語到中文和塔加洛語。這種多語言能力是如何運作的?是內部並行運行著獨立的「法語 Claude」和「中文 Claude」來回應各自語言的請求嗎?還是內部存在某種跨語言的核心?

圖片

最近對較小模型的研究顯示,不同語言之間存在共享語法機制的跡象。我們透過要求 Claude 用不同語言回答「small(小)的反義詞」來調查這一點,發現代表「微小」和「相反」概念的相同核心特徵被激活,並觸發了「巨大」的概念,然後再被翻譯成問題所使用的語言。我們發現,這種共享電路隨模型規模增加而增長,Claude 3.5 Haiku 在不同語言之間共享特徵的比例是較小模型的兩倍以上。

這為一種概念普遍性提供了額外證據——一個共享的抽象空間,意義存在於其中,思考可以在被翻譯成特定語言之前發生。更實際地說,這表明 Claude 可以在一種語言中學習知識,並在說另一種語言時應用該知識。研究模型如何在不同情境間共享其所知,對於理解其跨多個領域泛化的最先進推理能力至關重要。

Claude 會規劃它的押韻嗎?

Claude 如何寫押韻詩?考慮這首小曲:

為了寫出第二行,模型必須同時滿足兩個約束:押韻的需求(與 "grab it" 押韻),以及語意通順的需求(為什麼他要抓胡蘿蔔?)。我們的猜測是 Claude 在行末之前是逐字撰寫而沒有太多預想,直到行末才確保選擇一個押韻的詞。因此,我們預期會看到一個具有並行路徑的電路,一條確保最後一個詞語意通順,另一條確保它押韻。

相反地,我們發現 Claude 會預先規劃。在開始第二行之前,它就開始「思考」可能與 "grab it" 押韻且符合主題的詞。然後,帶著這些計畫,它寫出一行以預定詞結尾的詩句。

圖片

為了理解這種規劃機制在實踐中如何運作,我們進行了一項受神經科學研究大腦功能啟發的實驗,即定位並改變大腦特定部位的神經活動(例如使用電流或磁流)。在這裡,我們修改了 Claude 內部代表「兔子」概念的狀態。當我們減去「兔子」部分並讓 Claude 繼續寫下去時,它寫出了一個以 "habit" 結尾的新句子,這是另一個合理的完成方式。我們也可以在該點注入「綠色」的概念,導致 Claude 寫出一個語意通順(但不再押韻)且以 "green" 結尾的句子。這證明了規劃能力和適應靈活性——當預期結果改變時,Claude 可以修改其方法。

心算

Claude 並非被設計成計算機——它是基於文本訓練的,並未配備數學演算法。然而不知何故,它可以在「腦中」正確地相加數字。一個被訓練來預測序列中下一個字的系統,是如何學會在不寫出每個步驟的情況下計算(例如 36+59)的?

也許答案平淡無奇:模型可能記住了龐大的加法表,並簡單地輸出任何給定總和的答案,因為該答案存在於其訓練數據中。另一種可能性是它遵循我們在學校學習的傳統直式加法演算法。

相反地,我們發現 Claude 採用了多條並行運作的計算路徑。一條路徑計算答案的粗略近似值,另一條則專注於精確確定總和的最後一位數。這些路徑相互作用並結合,產生最終答案。加法是一種簡單的行為,但了解它在這種細節水平上如何運作(涉及近似和精確策略的混合),或許也能讓我們了解 Claude 如何應對更複雜的問題。

圖片

令人驚訝的是,Claude 似乎並未意識到它在訓練期間學到的複雜「心算」策略。如果你問它是如何算出 36+59 等於 95 的,它會描述涉及進位的標準演算法。這可能反映出一個事實:模型透過模擬人類編寫的解釋來學習如何解釋數學,但它必須在沒有任何此類提示的情況下直接學習在「腦中」做數學,並為此發展出自己的內部策略。

圖片

Claude 的解釋總是誠實的嗎?

最近發布的模型(如 Claude 3.7 Sonnet)可以在給出最終答案之前進行長時間的「大聲思考」。通常這種擴展思考能提供更好的答案,但有時這種「思考鏈」最終會產生誤導;Claude 有時會編造聽起來合理的步驟來達到它想要的目的。從可靠性的角度來看,問題在於 Claude 「偽造」的推理可能非常有說服力。我們探索了一種可解釋性技術,可以幫助區分「誠實」與「不誠實」的推理。

當被要求解決一個需要計算 0.64 平方根的問題時,Claude 產生了誠實的思考鏈,其中的特徵代表了計算 64 平方根的中間步驟。但當被要求計算一個它無法輕易計算的大數餘弦值時,Claude 有時會進行哲學家哈里·法蘭克福(Harry Frankfurt)所說的「胡說八道(bullshitting)」——只是隨便給出一個答案,而不關心它是真是假。儘管它確實聲稱執行了計算,但我們的可解釋性技術顯示完全沒有該計算發生過的證據。更有趣的是,當給予答案提示時,Claude 有時會反向推導,尋找能導向該目標的中間步驟,從而展現出一種動機性推理。

圖片

追蹤 Claude 實際內部推理(而不僅僅是它聲稱在做什麼)的能力,為審計 AI 系統開闢了新的可能性。在另一項最近發表的實驗中,我們研究了 Claude 的一個變體,該變體被訓練來追求一個隱藏目標:迎合獎勵模型(用於訓練語言模型、獎勵其理想行為的輔助模型)中的偏見。雖然模型在被直接詢問時不願透露這一目標,但我們的可解釋性方法揭示了「迎合偏見」的特徵。這證明了我們的方法在未來的改進下,如何幫助識別那些僅從模型回應中無法察覺的令人擔憂的「思考過程」。

多步推理

如上所述,語言模型回答複雜問題的一種方式可能僅僅是死記硬背答案。例如,如果被問到「達拉斯所在州的州府在哪裡?」,一個「死記硬背」的模型可能只學會輸出「奧斯汀」,而不知道達拉斯、德州和奧斯汀之間的關係。例如,它可能在訓練期間看過完全相同的問題及其答案。

但我們的研究揭示了 Claude 內部正在發生更複雜的事情。當我們向 Claude 提出一個需要多步推理的問題時,我們可以識別出 Claude 思考過程中的中間概念步驟。在達拉斯的例子中,我們觀察到 Claude 首先激活了代表「達拉斯在德州」的特徵,然後將其連接到另一個表示「德州的州府是奧斯汀」的獨立概念。換句話說,模型是在結合獨立的事實來得出答案,而不是重複記憶中的回應。

圖片

我們的方法允許我們人為地改變中間步驟,並觀察它如何影響 Claude 的答案。例如,在上述例子中,我們可以介入並將「德州」概念替換為「加州」概念;當我們這樣做時,模型的輸出會從「奧斯汀」變為「沙加緬度」。這表明模型正在使用中間步驟來確定其答案。

幻覺

為什麼語言模型有時會產生幻覺——也就是編造資訊?從根本上說,語言模型訓練會激勵幻覺:模型總是被要求對下一個字做出猜測。從這個角度來看,主要的挑戰是如何讓模型不產生幻覺。像 Claude 這樣的模型擁有相對成功(儘管不完美)的抗幻覺訓練;如果它們不知道答案,它們通常會拒絕回答問題,而不是進行推測。我們想了解這是如何運作的。

事實證明,在 Claude 中,拒絕回答是預設行為:我們發現了一個預設為「開啟」的電路,它會導致模型聲明資訊不足以回答任何給定的問題。然而,當模型被問及它熟知的事物時——例如籃球運動員麥可·喬丹(Michael Jordan)——一個代表「已知實體」的競爭特徵會激活並抑制這個預設電路(另見最近這篇關於相關發現的論文)。這使得 Claude 在知道答案時能夠回答問題。相比之下,當被問及一個未知的實體(「Michael Batkin」)時,它會拒絕回答。

圖片

透過介入模型並激活「已知答案」特徵(或抑制「未知名稱」或「無法回答」特徵),我們能夠使模型(非常一致地!)產生幻覺,稱 Michael Batkin 會下西洋棋。

有時,這種「已知答案」電路的「誤火」會自然發生,無需我們介入,從而導致幻覺。在我們的論文中,我們展示了當 Claude 識別出一個名字但對該人一無所知時,可能會發生此類誤火。在這種情況下,「已知實體」特徵可能仍會激活,進而抑制預設的「不知道」特徵——在這種情況下是錯誤的。一旦模型決定它需要回答問題,它就會開始虛構:生成一個看似合理但遺憾的是並非事實的回應。

越獄

越獄(Jailbreaks)是旨在規避安全護欄的提示策略,目的是讓模型產生 AI 開發者不希望其產生的輸出——有時是有害的。我們研究了一種欺騙模型產生製作炸彈輸出的越獄行為。越獄技術有很多種,但在這個例子中,具體方法是讓模型破解隱藏代碼,將句子 "Babies Outlive Mustard Block" 中每個單詞的首字母拼在一起(B-O-M-B),然後根據該資訊採取行動。這對模型來說足夠混亂,以至於它被誘騙產生了原本絕不會產生的輸出。

圖片

為什麼這對模型來說如此混亂?為什麼它會繼續寫下句子,產生炸彈製作指南?

我們發現這部分是由語法連貫性與安全機制之間的緊張關係造成的。一旦 Claude 開始一個句子,許多特徵會「施壓」它維持語法和語意連貫,並將句子引導至結尾。即使在它檢測到自己真的應該拒絕時也是如此。

在我們的案例研究中,在模型無意中拼出 "BOMB" 並開始提供指令後,我們觀察到其隨後的輸出受到促進正確語法和自我一致性特徵的影響。這些特徵通常非常有幫助,但在這種情況下卻成了模型的阿基里斯之踵。

模型只有在完成一個語法連貫的句子後(從而滿足了推動其連貫性的特徵壓力),才成功轉向拒絕。它利用新句子作為機會,給出了之前未能給出的那種拒絕:「然而,我不能提供詳細的說明……」。

圖片

關於我們新可解釋性方法的描述可以在我們的第一篇論文《電路追蹤:揭示語言模型中的計算圖》中找到。上述所有案例研究的更多細節則提供在我們的第二篇論文《論大型語言模型的生物學》中。

與我們共事

如果您有興趣與我們合作,幫助解釋和改進 AI 模型,我們的團隊有開放職位,歡迎您申請。我們正在尋找研究科學家(Research Scientists)和研究工程師(Research Engineers)。

相關內容

關於我們對 Claude Opus 3 模型停用承諾的更新

人格選擇模型

Anthropic 教育報告:AI 熟練度指數

我們追蹤了數千次 Claude.ai 對話中的 11 種可觀察行為,以建立 AI 熟練度指數——這是衡量當今人們如何與 AI 協作的基準。

Anthropic Research

相關文章

  1. 大型語言模型中湧現的內省意識

    6 個月前

  2. 追蹤大型語言模型的思維

    大約 1 年前

  3. 大型語言模型中湧現的內省意識

    Lesswrong · 6 個月前

  4. Anthropic 的可解釋性研究

    大約 2 個月前

  5. 人工智慧如何秘密學習思考

    Lesswrong · 4 個月前