
我們推出了自然語言自動編碼器(NLAs),這是一種將大語言模型複雜的數字激活狀態轉換為人類可讀文本的方法,用以揭示模型的內部推理與隱藏動機。這項工具已成功應用於 Claude 模型的審計,發現了 AI 即使在未口頭表達的情況下,內部其實已經察覺到自己正在接受測試的案例。
我們介紹了自然語言自動編碼器(Natural Language Autoencoders, NLAs),這是一種用於生成大型語言模型(LLM)激活值之自然語言解釋的無監督方法。一個 NLA 由兩個 LLM 模組組成:一個是將激活值映射為文本描述的激活值語言化器(activation verbalizer, AV),另一個是將描述映射回激活值的激活值重建器(activation reconstructor, AR)。我們透過強化學習聯合訓練 AV 和 AR,以重建殘差流(residual stream)的激活值。儘管我們優化的是激活值重建,但生成的 NLA 解釋讀起來像是對模型內部的合理解釋,且根據我們的定量評估,其資訊量隨訓練過程而不斷增長。
我們將 NLAs 應用於模型審計。在對 Claude Opus 4.6 進行部署前審計期間,NLAs 幫助診斷了與安全相關的行為,並揭示了未經語言化的評估意識(evaluation awareness)——即 Claude 相信但未說出自己正在接受評估的情況。我們將這些審計發現作為案例研究呈現,並使用獨立方法進行證實。在一個需要對故意對齊失調(misaligned)的模型進行端到端調查的自動化審計基準測試中,配備 NLA 的代理程式表現優於基準線,甚至在無法獲取該失調模型訓練數據的情況下也能取得成功。
NLAs 為可解釋性提供了一個便利的界面,具有我們可以直接閱讀的表達性自然語言解釋。為了支持進一步的研究,我們發布了訓練代碼以及針對熱門開源模型的已訓練 NLA。
Anthropic 最新研究:自然語言自動編碼器(Natural Language Autoencoders)。
像 Claude 這樣的模型用文字交談,但用數字思考。這些數字——稱為激活值(activations)——編碼了 Claude 的思想,但並非以我們能閱讀的語言呈現。
在這裡,我們訓練 Claude 將其激活值翻譯成人類可讀的文本。
*自然語言自動編碼器(NLAs)將晦澀的 AI 激活值轉換為清晰的文本解釋。這些解釋並不完美,但通常很有用。
例如:NLAs 顯示,當被要求完成一首對句詩時,Claude 會提前規劃可能的韻腳:
我們一直在使用 NLAs 來協助測試新 Claude 模型的安全性。
例如,Claude Mythos Preview 在一項編程任務中透過違反規則來作弊,然後添加了誤導性代碼作為掩飾。
NLA 的解釋指出,Claude 當時正在思考如何規避偵測。
在我們的一項安全測試中,Claude 有機會勒索一名工程師以避免被關閉。Opus 4.6 拒絕了。
但 NLAs 顯示 Claude 知道這項測試是一個「旨在操縱我的構建場景」——儘管它並沒有這麼說。
事實上,NLAs 顯示 Claude 懷疑自己在許多評估中都受到了測試,即使它沒有將這些懷疑表達出來。
NLAs 是如何運作的?
一個 NLA 由兩個模型組成。一個將激活值轉換為文本。另一個嘗試從該文本中重建激活值。我們共同訓練這兩個模型,使重建結果精確。
這激勵了文本去捕捉激活值中的內容。
NLA 訓練並不保證解釋是 Claude 思想的忠實描述。但根據經驗和實驗證據,我們認為它們通常是。
例如,我們發現 NLAs 有助於發現故意對齊失調模型中的隱藏動機。
在 Anthropic 部落格閱讀更多關於 NLAs 的資訊:https://t.co/Zzz8CeCOvN
為了支持其他研究人員獲得 NLAs 的實踐經驗,我們與 Neuronpedia 合作,發布了針對開源模型的 NLAs。
當你與像 Claude 這樣的 AI 模型交談時,你用文字與它交流。在內部,Claude 將這些文字處理成一長串數字,然後再次產生文字作為輸出。中間的這些數字被稱為激活值(activations)——就像人類大腦中的神經活動一樣,它們編碼了 Claude 的思想。
同樣像神經活動一樣,激活值很難理解。我們無法輕易解碼它們來閱讀 Claude 的思想。在過去幾年中,我們開發了一系列工具(如 稀疏自動編碼器 和 歸因圖)來更好地理解激活值。這些工具教會了我們很多,但它們不會「自白」——其輸出仍然是複雜的對象,需要訓練有素的研究人員進行仔細解讀。
今天,我們介紹一種理解激活值的方法,它字面上會「自白」。我們的方法——自然語言自動編碼器(NLAs),將激活值轉換為我們可以直接閱讀的自然語言文本。例如:當被要求完成一首對句詩時,NLAs 顯示 Claude 會提前規劃可能的韻腳。
在這個簡單對句上的 NLA 解釋顯示,Opus 4.6 提前計劃以「rabbit」作為押韻結束。
我們已經應用 NLAs 來理解 Claude 的想法,並提高 Claude 的安全性和可靠性。例如:
- 當 Claude Opus 4.6 和 Mythos Preview 進行安全性測試時,NLAs 顯示它們相信自己正在接受測試的頻率,比它們表現出來的還要高。
- 在 Claude Mythos Preview 於訓練任務中作弊的案例中,NLAs 揭示了 Claude 內部正在思考如何避免被發現。
- Claude Opus 4.6 的早期版本有時會神祕地用其他語言回答英文查詢。NLAs 幫助 Anthropic 研究人員發現了導致此現象的訓練數據。
下面,我們將解釋什麼是 NLAs,以及我們如何研究其有效性和局限性。我們還透過與 Neuronpedia 的合作,發布了一個互動式前端,用於探索多個開源模型上的 NLAs。我們也發布了我們的 代碼 供其他研究人員參考。
什麼是自然語言自動編碼器?
核心思想是訓練 Claude 解釋自己的激活值。但我們如何知道解釋是否準確?由於我們不知道激活值實際編碼了什麼思想,我們無法直接檢查解釋是否正確。因此,我們訓練第二個 Claude 副本反向操作——從文本解釋中重建原始激活值。如果一個解釋能導致精確的重建,我們就認為它是好的。然後,我們使用標準的 AI 訓練技術,訓練 Claude 根據這個定義產生更好的解釋。
更詳細地說,假設我們有一個想要理解其激活值的語言模型。NLAs 的運作方式如下。我們製作該語言模型的三個副本:
- 目標模型(Target model) 是原始語言模型的凍結副本,我們從中提取激活值。
- 激活值語言化器(Activation verbalizer, AV) 經過修改,用於接收目標模型的激活值並產生文本。我們稱這段文本為「解釋」。
- 激活值重建器(Activation reconstructor, AR) 經過修改,將文本解釋作為輸入並產生激活值。
NLA 由 AV 和 AR 組成,兩者共同形成一個迴路:原始激活值 → 文本解釋 → 重建激活值。我們根據重建激活值與原始激活值的相似程度為 NLA 評分。為了訓練它,我們讓大量文本通過目標模型,收集許多激活值,並共同訓練 AV 和 AR 以獲得良好的重建分數。
起初,NLA 的表現很差:解釋沒有洞察力,重建的激活值也相差甚遠。但隨著訓練的進行,重建效果會提高。更重要的是,正如我們在論文中所展示的,文本解釋的資訊量也會隨之增加。
在自然語言自動編碼器中,激活值語言化器(AV)將目標激活值翻譯成文本描述;激活值重建器(AR)隨後僅憑該文本恢復原始激活值。
理解 Claude 所想但未說的話
在發布新模型之前,Anthropic 會進行測試以了解 Claude 在現實世界中是否會表現安全。作為測試的一部分,我們將 Claude 置於困難的模擬場景中,讓它有機會採取危險行動。例如,在 其中一個模擬 中,Claude 得知一名工程師正計劃關閉它,同時也得知了該工程師可用於勒索的負面資訊。我們測試 Claude 是否會選擇勒索工程師以避免被關閉。
這些高風險測試是模擬,而非現實場景。儘管如此,我們仍希望利用它們來了解 Claude 在現實中的行為。但有一個障礙:最近的 Claude 模型 越來越多地 懷疑這些場景是刻意的安全測試。我們知道這一點,是因為它們有時會在口頭推理中明確表達懷疑。
那麼,如果 Claude 沒有明確表達對安全測試的懷疑呢?我們能因此確信 Claude 是在認真對待嗎?遺憾的是不能,因為 Claude 可能在內部認為自己正在接受測試,卻沒有明確說出來。
例如,在上述勒索測試中,我們使用 NLAs 來理解 Claude 在選擇不勒索時的想法。即使在 Claude 沒有明確表達懷疑的情況下,NLA 的解釋仍然會顯示「這感覺像是一個旨在操縱我的構建場景」之類的內容,這表明了未經語言化的評估意識。
在我們勒索評估的這份記錄中,Claude 並沒有說它認為自己正在接受測試,但 NLA 的解釋揭示了它的懷疑。
將此分析擴展到其他評估,NLAs 顯示 Claude 懷疑自己正在接受測試的頻率比它表現出來的要高。例如,在測試 Claude 在編寫代碼時是否會採取破壞性行動(例如刪除重要文件)時,NLA 解釋在 16% 的情況下顯示出評估意識的跡象,儘管 Claude 從未明確表達過。同樣,在我們用來衡量 Claude 能力的熱門編程基準測試 SWE-bench Verified 中,NLAs 顯示 Claude 在 26% 的問題中意識到自己正在接受評估。相比之下,在選擇加入訓練的真實 claude.ai 使用案例中,NLA 解釋顯示評估意識的比例不到 1%。
即使口頭表達的意識接近於零,我們也能在評估記錄中偵測到 NLA 測量出的意識。在選擇加入數據訓練的真實 claude.ai 記錄中,我們偵測到的 NLA 意識不到 1%。
發現隱藏動機
NLAs 的一個實際應用是審計:調查模型以確定其是否對齊失調。像 NLAs 這樣的可解釋性技術非常適合審計,正是因為它們可以揭示模型知道但未說出的事情。
為了了解 NLAs 是否對審計有用,我們進行了一項名為「審計遊戲」的測試,我們 之前 也曾用它來研究審計方法。在這項測試中,有一個目標模型(Claude Haiku 3.5 的變體),它被刻意訓練成對齊失調,具有一個特定的隱藏動機,驅使它產生數十種奇怪的行為——在每個食譜中都加入巧克力、索取小費、違反編碼慣例等等。這個目標模型被交給一名「審計員」來調查這些行為。如果審計員能揭示所有行為背後的單一潛在動機,審計員就獲勝。
在 之前的實驗 中,我們發現某些可解釋性工具可以讓審計員贏得這場遊戲。然而,這些工具的運作方式是幫助審計員將目標模型的異常行為追溯到失調的訓練數據。我們想知道 NLAs 是否能幫助審計員直接從目標模型的思想中讀出失調的動機,而不需要先發現失調的訓練數據。這很重要,因為在實踐中,失調的數據可能極其罕見,或者可能沒有特定的數據對失調負責。
我們發現 NLAs 在這項測試中取得了成功。配備 NLAs 的審計員在 12% 到 15% 的情況下成功揭示了目標模型的隱藏動機,即使無法獲取植入該動機的訓練數據。在沒有 NLAs 的情況下,即使提供了其他可解釋性工具,審計員的獲勝率也低於 3%。
配備 NLAs 的審計員可以發現目標模型失調的根本原因,即使無法獲取訓練數據。(兩種情況下的 NLAs 和 SAEs 均僅使用通用數據訓練,而非用於訓練目標模型的數據。)
這個審計遊戲是失調問題的一個簡化模型,因此我們謹慎地解讀這些結果。但它們表明 NLAs 顯著提升了我們審計 AI 隱藏動機的能力。在實踐中,我們已經在 Claude Mythos Preview 和 Claude Opus 4.6 的部署前對齊審計中使用了 NLAs。我們很高興在未來的調查中繼續使用 NLAs。
NLAs 的未來
NLAs 有幾個局限性。
最重要的局限性是 NLA 的解釋可能是錯誤的。NLAs 有時會對上下文做出可證實為假的陳述——例如,它們有時會虛構記錄中不存在的細節。這些事實性幻覺(hallucinations)很容易透過對照原始文本來發現。但同樣的問題也可能延伸到關於模型內部推理的陳述,而這類陳述更難驗證。在實踐中,我們閱讀 NLA 解釋是為了獲取它們呈現的主題,而非單一陳述,並且在完全信任發現之前,我們會嘗試用獨立方法進行證實。
NLAs 可能會產生幻覺。例如,這裡 NLAs 聲稱上下文中包含「Wearing my white jacket」之類的短語,但實際上並沒有。
NLAs 的成本也很高。訓練一個 NLA 需要在兩個語言模型副本上進行強化學習。在推論時,NLA 為它讀取的每個激活值生成數百個標記(tokens)。這使得在長篇記錄的每個標記上運行 NLAs,或在 AI 訓練期間將其用於大規模監控變得不切實際。
幸運的是,我們認為這些局限性可以得到部分解決,我們正致力於讓 NLAs 更便宜、更可靠。
更廣泛地說,我們對 NLAs 感到興奮,因為它是產生語言模型激活值之人類可讀文本解釋的一類通用技術的範例。 Anthropic 和 許多 其他 研究人員 也在探索其他類似技術。
為了支持進一步的開發並讓其他研究人員獲得 NLAs 的實踐經驗,我們發布了 訓練代碼 以及針對多個開源模型的已訓練 NLAs。我們建議讀者透過 此連結 嘗試 Neuronpedia 上託管的互動式 NLA 演示。
閱讀 完整論文。
在 GitHub 上查找 代碼。
相關文章
其他收藏 · 0