Anthropic聯創:機制可解釋性的秘密

01.
什麼是機制可解釋性
Lex Fridman:我們可以先從機制可解釋性(mechanistic interpretability) 這個概念開始討論。
Chris Olah:我個人認為理解神經網路首先要建立一個基本的認知,也就是我們並不製造神經網路,而是培育神經網路。我們首先會設計神經網路的架構,同時我們會設定一個 loss objectives(損失目標)。神經網路會像一個支架一樣,支援電路在其上生長。神經網路從隨機狀態開始不斷生長,而我們設定的 loss objectives 則會像光引導植物生長一樣引導神經網路的生長。因此,我們先創造了支架並設定了光照條件,但藉由這一過程我們所創造出的是一個我們當下正在研究的生物實體和有機體,而不僅僅是生長條件本身。模型之所以可以做到這一切,是因為我們“培育”了它,而不是創造或寫出了它。
這個過程與傳統的軟體工程有所不同,因為這個過程的最終產物是一個具備驚人的任務處理能力的模型:它可以撰寫文章、進行翻譯、理解影像等等,而這些任務是我們無法透過直接程式設計可以實現的。
這件事又引發出另一個終極問題:在這個神經網路的系統內部究竟發生了什麼?對我來說這是一個非常深刻也非常令人興奮的科學問題,而且從安全性的角度而言,這也是一個非常深刻的問題,因為對於神經網路內部系統的探尋和理解不僅僅具有單純的科學價值,更關係到我們能否確保 AI 系統的可控性和安全性。
Lex Fridman:機制可解釋性實際上更接近於神經生物學(neurobiology)?
Chris Olah: 的確是這樣的。我可以舉個例子來說明哪些情形不屬於機制可解釋性的研究範疇。一直以來,關於 saliency maps(顯著性圖)的研究有很多,它的邏輯是:假設現在有一張圖片,模型認為這是一張狗的圖片,我們就要關於圖片中的哪個部分會導致模型作出‘圖片是一張狗’的判斷進行解釋解釋。
顯著性圖的研究可以論證模型的關鍵資訊,但無法證明模型內部究竟運行了何種演算法,以及模型最終得出這個結論的推理路徑。雖然這個方法論可以揭示哪些因素對模型很重要,但它不能直接告訴我們模型究竟運行了何種演算法,以及模型如何完成人類之前無法完成的任務。
因此我們需要使用“機制可解釋性”這個概念來劃清界限,將我們的研究與其他現有研究領域做區分。今天這個“機制可解釋性”概念已經發展成一個涵蓋多種研究方向的總稱,我認為這個研究體系的獨特性在於:首先,這個體系關注的是機制本身。如果把神經網路看作是計算機程式,那麼神經網路的 weights 就像是二進位制程式程式碼,我們的目標是透過對這些 weights 做逆向工程來找出其中執行的演算法。
我們可以把神經網路想象成是一個已經編譯好的計算機程式,而神經網路的 weights 就像是二進位制程式碼,網路執行時產生的  activation 則可以理解為計算機程式的執行過程,我們的最終目標是理解神經網路的 weights 是如何執行的。因此,機制可解釋性的目標在於釐清這些 weights 與具體演算法間的對應關係。要實現這個目標,我們就必須理解 activation,因為它就像是記憶體一樣。這就好比對計算機程式進行逆向工程時,儘管已經掌握了二進位制指令,但為了理解某個特定指令的含義,我們仍然需要了解它所針對的特定記憶體中的儲存內容。所以機制可解釋性研究往往會同時關注這兩個方面。
當然,正如我之前提到的,機制可解釋性的範圍很廣,甚至並不是所有從事相關研究的人都會認為自己的研究領域可以被劃分到這個體系中。
我認為它的一個顯著性的特點是,最佳化演算法的能力(尤其是梯度下降)比人們想象的更強大。我們之所以要去理解這些模型,正是因為我們從始至終都並不清楚如何直接編寫出他們,而梯度下降比我們更有能力找到更好的解決方案。因此,我認為機制可解釋性研究的另一個特點就是我們不要先入為主的揣測模型內部發生的事情,不預設目標,不假設某種流程一定存在或一定以某種方式運作。相反,我們透過自上而下的方法觀測到模型內部的實際情況,並基於這個我們觀測到的客觀情形對模型展開研究。
02.
Features, Circuits, Universality
Lex Fridman:你們在研究中發現的特徵(feature)、電路(circuits)和普遍性(universality)都是機制可解釋性研究可行性的證明?
Chris Olah:是的,至少在某些層面,我們發現了一些反覆出現的元素、特徵和電路連線。比方說如果在每一個視覺模型裡,都能夠發現曲線檢測器和高低頻檢測器兩種基礎元件。實際上,我們有理由認為,這些反覆出現的元素與特徵同時存在於生物神經網路與人工神經網路中。
一個非常典型的例證是視覺模型的 early layers 上有一個機制叫做 gabor filters(濾波器)存在,我們在猴子的大腦與模型中都發現了這種機制。同時,我們還在人工神經網路中發現了高低頻檢測器,而隨後的研究則證實老鼠的大腦中也同樣存在這樣一種視覺處理機制。所以,我們首先在人工神經網路中發現了這些具備普遍性的特殊現象,然後又在生物神經網路中發現了同樣的特徵。
有一個非常著名的研究成果叫做“grandmother neuron”,也叫做“Halle Berry neuron”,我們在研究視覺模型時發現了與這種神經元的工作機制非常相似的現象。

💡

Grandmother neuron 是一種假想中的神經元,最初由波蘭的神經科學家Jerzy Konorski在1968年提出,它的核心假說是,人類在大腦數十億神經元中,存在專門識別特定概念的單個神經元。例如,當祖母出現在時,在億萬神經元裡,只有一個神經元被點亮,即祖母神經元。
我在 OpenAI 參與  CLIP 研究的時候,我們發現了一些特定的神經元會對影像中的同一實體產生反應。
比如,我們發現了一個特定的“特朗普神經元”,特朗普確實一直是一個人們經常討論的熱門話題,所以,我們在研究的每個神經網路中,我們都能找到一個專門用於識別“特朗普”的神經元。而且特朗普是唯一一個始終擁有專屬神經元的人,因為在有的模型中我們可能會發現一個奧巴馬神經元,而有的模型中則可能會有一個克林頓神經元,但所有模型中總是會有一個特朗普的專屬的神經元。這個神經元會對特朗普的面部影像、“Trump”這個詞,以及所有與特朗普相關的內容產生響應。
所以它並不是僅僅對某個特定的例子做出反應,也不是僅僅對他的面部特徵做出反應,而是對這個整體概念進行了抽象處理,這個現象也和 Quiroga 等人關於 Halle Berry neuron 的研究結果非常相似。
如果這種普遍性現象確實存在,即人工神經網路和生物神經網路中存在類似的特徵,會是一個特別重要的科學研究成果。這個現象表明梯度下降演算法某種程度上找到了問題的正確分解方式,而很多系統和不同的神經網路架構最終都會收斂到這種分解方式上。換句話說,現實中可能確實存在一種非常合理的抽象方式來切分問題,以至於許多不同的系統最終都會抽象收斂到相似的概念上。但這些都只是基於我們觀察到的現象做出的一些簡單推測,還沒有足夠的證據可以支撐。
Lex Fridman:所以有可能為了更好地理解神經網路內部,我們可以從這些普遍性特徵入手?
Chris Olah:是的,當我們發現某些特徵會在不同的神經網路中反覆出現時,背後一定存在某種必然性。
Lex Fridman:你在 2020 年發表的 Zoom In: An Introduction to Circuits 中首次對我們剛才提到的這些特徵和神經網路做了描述,可以更詳細解釋一下嗎?
Chris Olah:我可以先描述一些現象來理解這些特徵和神經網路。
我用了 5 年左右的時間來研究 Inception V1 這個模型,這是一個計算機視覺模型,在 2015 年的時候 Inception V1 算是最先進的技術,這個模型大約有 1 萬個神經元,我花了很多時間研究其中的每一個神經元,有個很有趣的發現:雖然還有很多神經元的功能很難解釋,但在 Inception V1 中,確實存在相當多具有明確可解釋含義的神經元。
比如,我們發現有些神經元確實專門用於檢測曲線,有些專門檢測汽車,還有一些分別負責識別車輪、車窗。關於狗的特徵識別就更有意思了:有些神經元專門識別狗的耷拉耳朵,有些識別向右側著的狗的長鼻子,有些則識別向左側著的狗的長鼻子,還有一些負責識別不同型別的狗毛。
在這個模型中,我們還發現了一系列有趣的特徵檢測機制:邊緣檢測機制、線條檢測機制、顏色對比檢測機制,還有一些我們稱之為“高低頻檢測機制”的精妙結構。整個研究過程中,我感覺自己就像一個生物學家,彷彿在探索一個全新的蛋白質世界,發現各種相互作用的蛋白質。
理解這些模型的一種方式是從單個神經元入手。比如“這是一個檢測狗的神經元,那是一個檢測汽車的神經元。”,我們還可以進一步研究這些神經元是如何相互連線的,舉個例子,當我們研究一個汽車檢測神經元時,會問:“這個神經元是如何構建的?”,緊接著就會發現,在它的上一層中,它和窗戶檢測器、輪子檢測器和車身檢測器都有很強的連線比如,它會尋找位於上方的窗戶、下方的輪子,以及遍佈各處(尤其是下半部分)的車身鍍鉻部件。這些特徵組合在一起,就構成了一個“車”的抽象形象。
我們在前面提到,機制可解釋性研究的目標是找出“模型執行的具體演算法是什麼”,現在,我們只需要檢視神經網路的 weights,就能讀出一個檢測汽車的“配方”。這個配方也許很簡單很粗糙,但確實存在,我們把這種連線稱為電路(circuits)。
不過問題在於,並非所有的神經元都是可解釋的。有時候我們需要分析的不是單個神經元,而是多個神經元的組合。比如,有時候並不是某個單一的神經元來負責表示“汽車”這個概念,模型會把一些汽車的特徵資訊藏在“狗”相關概念的檢測單元中。
神經網路之所以這麼做可能是因為在這個階段它不想在處理汽車這個概念時做太多重複工作。這個發現也讓我們意識到,我們不能再以具體某個概念對應特定神經元的思路來理解不同神經元的功能,比如不太可能 100% 的情況是“車”和“狗”分別對應一個具體的神經元,我們需要一個新的概念來描述前面的這種現象,所以我們採用了“特徵( feature)”這個概念。
Lex Fridman:電路(circuits)是什麼?
Chris Olah:電路就是這些 features 之間的連線。就像我們前面說的,當一個汽車檢測器與窗戶檢測器和輪子檢測器相連,並且尋找底部的輪子和頂部的窗戶時,這就構成了一個神經網路。簡單來說,神經網路就是透過 weights 連線起來的 features 的集合,它們實現了具體的演算法。透過研究神經網路,我們就能理解這些特徵是如何被使用的,如何被構建的,以及它們是如何相互連線的。
這裡的核心假設是我們所說的“線性表示假設(linear representation hypothesis)”。以汽車檢測器為例,它的啟用值越高,就意味著模型越確信畫面中存在一輛汽車。或者說,如果是多個神經元組合來表示“汽車”這個概念,這種組合的啟用程度越高,就表示模型越確信看到了一輛汽車。
但也並不是只有這一種路徑。我們可以也想象另一種情況:一個汽車檢測神經元的啟用值在 1 到 2 之間時代表一種情況,但在 3 到 4 之間時卻表示完全不同的東西。這就是一種非線性表示。理論上,模型是可以這樣工作的。但我認為這種方式效率不高,因為這種計算方式的實現其實相當麻煩。
特徵和電路的分析框架是建立線上性代表的假設前提上的。如果一個神經元或一組神經元的啟用程度越高,就意味著它們對特定目標的檢測信心越強。這樣一來,這些特徵之間的權重就有了非常清晰的解釋。這是整個框架的核心。
我們還可以跳出神經元的框架來討論這件事。我可以用 Word2Vec 來具體解釋。
Lex Fridman:什麼是 Word2Vec?
Chris Olah:簡單來說就是“king – man + woman = queen”,這個是 Tomas Mikolov 等人在 Word2Vec 研究中的一個很著名的結果。Word2Vec 中之所以可以做這樣的“運算”是因為存在一個線性表示。
線性表示假設的核心思想是:在向量空間中,不同的方向都承載著特定的含義,透過將不同方向的向量相加,我們就能表示出各種概念。這可能就是神經網路內部最基本的運作機制。Mikolov 在自己的論文中具體探討了這一點,也由此發現了一個有趣的現象:我們可以用詞向量做“數學運算”

💡

Tomas Mikolov,捷克計算機科學家,曾在 Google 工作期間提出了革命性的 Word2Vec 技術,其研究徹底改變了自然語言處理領域的詞向量表示方法。Mikolov 在 2013 年發表的 Word2Vec 論文提出了一種革命性的方法,透過神經網路把單詞轉換成向量,使得語義相近的詞在向量空間中的位置也相近。這個方法最令人驚訝的發現是,詞向量之間可以進行數學運算。
比如我們就可以用“king”這個詞的向量,減去“man”的向量,再加上“woman”的向量改變性別屬性,最終得到的向量會非常接近“queen”這個詞的向量。類似的,比如用 sushi – Japan + Italy 就會得到 pizza。
這就是線性表示假設的核心。我們可以把它純粹理解為向量空間的抽象概念,也可以把它理解為神經元啟用模式的一種表現,但最本質的特點是:空間中的方向都具有實際的語義含義。而且這個概念最關鍵的特性在於,這些概念可以疊加:我們可以獨立地修改代表不同概念的不同的向量,比如性別、國別等,然後把這些向量疊加在一起,又形成一個新的完整的概念。
Lex Fridman:線性假設會隨著模型 scaling up 仍舊成立嗎?
Chris Olah:到目前為止,我看到的所有現象都符合這個假設。理論上我們完全可以設計出一種神經網路,透過設定特定的 weights 使它不具有線性表示的特性,我們也不會基於線性表示的特徵去理解這種神經網路。但我觀察過的每個自然形成的神經網路都具有這種線性表示的特性。
最近也有一篇論文在探索這個理論的邊界,比如有些研究在研究多維特徵,它們發現與其說是單一的方向,不如說是一組相關的、連續變化的方向的集合。不過在我看來仍屬於線性表示的範疇。也有一些論文提出在一些規模很小的模型中可能會出現非線性表徵,但我認為這個問題現在還沒有定論。
所以到目前為止,我們看到的所有現象都與線性表示假設相符合,這其實很出人意料,目前有大量證據表明,這種線性表徵至少在神經網路中是極其普遍的現象。
也可能會有人質疑,認為還不能完全確定這個理論是對的的時候,就把它應用在神經網路研究中,是否會存在風險。但我認為,認真對待一個假設並將其推演到極限,本身就很有價值。
科學史上充滿了被證明是錯誤的假設和理論,而正是透過把這些假設當作前提並推演到極限,我們才獲得了很多重要發現。
03.
神經網路裡的疊加
Lex Fridman:疊加假設(superposition)也很有趣,可以給我們講講 嗎?
Chris Olah:剛剛我們討論了詞向量,比如可能會有一個向量對應性別,另一個向量方向代表皇室身份,還有其他向量代表義大利、食物等這些概念。通常而言,這些詞嵌入的維度大約在 500 維或 1000 維左右,所以如果所有的向量都是嚴格正交的(即完全獨立的),那麼我們最多隻能有 500 個完全獨立的基本概念。
在這個限定下,我們必須先把單複數、名詞、動詞、形容詞這些更基礎的語言概念放進這 500 個範圍內,而不是具體的義大利、日本這些具體國家或者其他食物的名詞,我們首先需要確保更基礎的概念有對應的解釋,否則世界上還有那麼多國家都無法被表示出來。
由此就帶來一個問題,模型要如何線上性表示假設成立的同時,又表示出比其維度所能容納的概念更多的含義呢?這意味著,如果線性表徵假說是正確的,那一定還有更精妙的機制在起作用。
首先要介紹另一個重要的現象,多語義神經元(polysemantic neurons)。在我們研究 Inception V1 時,發現有些神經元會對多個相關的事物產生反應,比如負責汽車檢測和負責曲線檢測的神經元,這些神經元可能對很多具有關聯的概念作出響應,更有趣的是,還有一些神經元會對完全不相關的事物產生反應。事實證明,即使是那些看起來很“純粹”的神經元,如果我們觀察它們的弱啟用狀態(比如最大啟用值的 5%),我們會發現這些啟用所對應的現象與這些神經元原本應該檢測的目標完全不同。
比如說,當我們觀察一個負責曲線檢測的神經元,檢視它在 5%啟用水平的情況時,你可能會把這種狀態下的啟用簡單地解釋為“噪音”,但也有可能是這個神經元在執行其他的功能。這種現象是如何產生的呢?
數學中有一個概念叫做壓縮感知(compressed sensing):通常情況下,當我們把一個高維空間的向量投影到低維空間後,我們無法再透過反投影的方式重建出原始的高維向量的,因為投影過程中有些資訊丟失了。這就像你無法對非矩形矩陣求逆,只能對矩形矩陣求逆。
但這個結論並不完全正確,因為如果這個高維向量是稀疏的(大部分分量都是零),那麼在很大的機率下,我們還是可以從低維投影重建出原始的高維向量。疊加假設認為這就是神經網路中發生的現象,尤其是詞嵌入(word embeddings)過程中。詞嵌入能夠同時讓這些向量具備實際的語義,這是透過利用兩個特點實現的:一是它們在相當高維的空間中運作,二是這些概念所對應的向量本身就是稀疏的。比如說,我們通常不會同時談論日本和義大利,那麼在大多數情況下,對很多概念或者說詞語對應的向量而言,“日本”和“義大利”這兩個概念對應的值都是零,也就是說它們對於某個特定概念而言都不存在。如果這個假說是正確的,那麼我們就可以在一個低維度的空間裡編碼出這個空間維度容量的概念。
同樣地,當我們討論神經元時,可以表達的概念數量也可以遠超神經元的數量。
這個假說還引出了一個更重要的推論:神經網路中不僅是 representation 是這樣的,computation 可能也是,包括神經元之間的所有連線。所以從某種意義上說,我們觀察到的神經網路可能只是某個更大的、更稀疏的神經網路的"投影"。
所以疊加(Superposition hypothesis) 的極端是,某種意義上真的存在一個“上層模型”,在那裡神經元是真正稀疏的,所有神經元之間都是可解釋的,它們之間的權重構成了真正稀疏的電路。這才是我們真正要研究的物件。而我們現在觀察到的只是這個物件投射出的影子,我們需要找到這個原始物件。
Lex Fridman:所以學習的過程就像是嘗試對這個上層的理想狀態下的模型進行壓縮,並且不要丟失太多原始模型中的資訊?
Chris Olah:是的,尋找如何有效擬合或者類似的路徑,梯度下降做的就是這件事,這意味著,梯度下降所做的看似只是在最佳化一個密集的神經網路,但它實際上也在地搜尋那些可以被投影到現在這個低維空間的極度稀疏的模型。而這也就解釋了目前為什麼會有大量研究在探索稀疏神經網路,嘗試設計出 edges 和 activations 都稀疏的神經網路。
這些研究從理論上看非常合理,但實際效果並不理想,其中一個可能的原因是:神經網路在某種意義上已經是稀疏的了。人們想要實現某種稀疏化,但實際上梯度下降在背後已經比你能做的更高效地搜尋了稀疏模型的空間,並學習到了最高效的稀疏模型。然後,它還找到了如何巧妙地將這個模型壓縮下來,使其能在 GPU 上透過密集矩陣乘法進行高效運算,這個效果難以超越。
Lex Fridman:一個神經網路最多能塞進多少個概念?
Chris Olah:取決於概念(對應的向量的)的稀疏程度。概念的上限取決於引數的數量,因為我們需要權重引數來連線這些概念,而這就構成了一個上限。
壓縮感知理論和 Johnson-Lindenstrauss 定理給了我們一些很有參考價值的理論研究成果。這些理論告訴我們:當你在一個向量空間中想要構造近似正交的向量時(這正是我們這裡需要的),你不必追求概念或特徵之間的嚴格正交。換句話說,我們可以放鬆要求,只需要概念之間“差不多正交”就行,也就是讓它們之間的干擾保持在較小的範圍內即可。
一旦我們設定了可以接受的餘弦相似度閾值,那麼可表示的概念數量實際上會隨神經元數量呈指數增長。所以,在某種程度上,神經元數量可能都不是限制因素了。這方面已經有一些還不錯理論結果,實際情況可能比這更好。因為理論假設情況下,任意特徵都可能被隨機啟用,但在實際中,特徵之間是有某種相關結構的,所以有一些特徵更可能同時出現,而另一些則不太可能同時出現。因此,我認為神經網路在壓縮這些特徵上表現得更好,以至於容量可能根本不是限制因素。
Lex Fridman:polysemanticity(多語義性)問題在這裡是如何體現的?
Chris Olah:多義性是我們觀察到的這樣一種現象:當我們觀察很多個神經元時,發現單個神經元並不是僅僅表示一個概念,相反,它會對一系列不相關的事物產生響應。而疊加性可以被看作是解釋多義性現象的一個假說。換句話說,多義性是一個被觀察到的現象,而疊加性則是一個可以解釋多義性及其他相關現象的理論假說。
Lex Fridman:這些現象的存在都讓機制可解釋性的研究變得更加困難。
Chris Olah:是的。如果我們試圖從單個神經元的角度去理解事物,而這些神經元又具有多義性,就會遇到問題。如果再考慮到 weights,即假設有 2 個神經元都是多語義的,每個神經元可能會對 3 個不同的特定概念起反應,並且這兩個神經元之間還存在一個 weight 連線,是不是就意味著可能會產生 9 種不同的互動結果?
這確實很奇怪,但還有一個更深層的原因,這與神經網路在高維空間中運作的事實有關。我之前說過,我們的目標是理解神經網路和它的運作機制。
有人可能會認為其實就是理解一個數學函式、並不難。我在早期做過的專案之一就是研究的是把二維空間對映到二維空間的神經網路。那個時候我們還可以用一種很直觀的方式來理解這種神經網路,因為它的原理很像 bending manifolds(彎曲流形),為什麼我們不能把這種方法推廣到更復雜的網路呢?這是因為進入更高維的空間時,空間的體積會隨著輸入維度的增加呈指數級增長,所以很難去視覺化這個空間。
因此我們需要用某種方式把這個問題拆分開來,要把這個指數級的空間分解成一些可拿來獨立研究的東西,這些獨立的部分中的維度數量不能是指數級的。
這裡的“獨立”非常關鍵,因為只有獨立性才能讓我們避免考慮所有指數級的組合情況, 而單義性、具有明確含義的特徵,正是讓我們能夠獨立思考這些部分的關鍵。這就是我們需要可解釋的、單義特徵( features)的根本原因。
Lex Fridman:你最近的研究目標就是:如何從一個多義 features、以及由這些複雜 feature 構成的神經網路中,提取出單義的 features?
Chris Olah:是的,我們觀測到了一些多義神經元,如果假設認為這是疊加性理論在起作用,那麼實際上有一個已經被廣泛認可的技術可以處理這個問題,這就是字典學習(dictionary learning)。
如果我們用到稀疏自編碼器這種很高效的、規範化的方式使用字典學習的路徑的話,就會有一些可解釋性的特徵(features)出現,這些特徵在之前是看不到的。這也是是對線性表示和疊加理論的一個重要驗證。
這就回到了我們之前說的觀點:我們不做任何預設。梯度下降比我們更聰明,所以我們不去預設可能存在的結果。 
04.
Towards Monosemanticity
Lex Fridman:你和團隊去年發表了一篇 Towards Monosemanticity,這篇研究的核心發現是什麼?
Chris Olah:Towards Monosemanticity 確實算是我們使用稀疏自編碼器(sparse autoencoders)以來取得的第一個真正的成功。儘管我們使用的是一個單層模型,但如果我們用字典學習訓練它,我們可以得到很多高質量的、可解釋的 features。典型的例子是阿拉伯語 features、希伯來語 features、Base64 features,這些例子經過深入研究都證實了我們的預期。有一個有意思的現象是,如果我們訓練兩個不同的模型,或者把同一個模型訓練兩次、都進行字典學習的話,兩個模型中會存在一些共性的特徵。所以這個實驗確實是很有意思的,我們發現了各式各樣的特徵。不過這也僅僅證明了這個方法是有效的。必須要提到的還有一點是 Cunningham 團隊在同一時期也有非常相似的研究結果。
現在回頭看,有段時間我一度認為所有機制可解釋性的研究最終會全部指向一個結論,就是“解釋(nterpolate)”太難了,完全不可行。我們完全有理由認為,因為存在疊加性的這樣我們無法處理的問題,所以可解釋性研究就是很難。但事實並非如此,只需要一個很簡單的技術就夠了。
Lex Fridman:能不能展開說說這種研究方法最終得出的究竟是什麼樣的特徵(features) ?
Chris Olah:取決於研究的模型。模型規模越大,提取到的 features 就越複雜。單層模型中最常見的 features 是程式語言和自然語言。語言相關的很多 features 是關聯到具體上下文中的特定詞,比方說“the”這個字眼。
理解這件事的關鍵在於,我們要很明確知道,the 的後面很可能會跟著一個名詞,這個就是 the 作為一個 feature 本身所代表的意義。這些特徵會在不同的上下文中被觸發,比如在法律文件中和數學文件中就不一樣,舉個例子,在數學上下文中,當出現 the 時,模型可能會預測 vector(向量)或者 matrix(矩陣)這些數學詞彙,而在其他上下文中則會預測其他詞,這是很常見的現象。
Lex Fridman:這個過程也是基於人類的認知來給研究觀察出來的特性貼標籤、分類?
Chris Olah:是的,這種方法所做的其實就是幫助我們把在神經網路中觀測到的特徵“展開”。因為序列化(serialization)是把一切都摺疊到了一起,我們根本看不清楚。所以需要先展開,但即使展開後,仍然要面對著一個非常複雜的東西,所以還需要做大量工作來理解這些特徵是什麼。
即使在這個單層模型中,關於 Unicode 的處理也有一些很有趣的現象。因為有些語言是用 Unicode 編碼的,而tokenizer 並不一定會為每個 Unicode 字元都分配一個專門的 token。所以相反,你會看到這樣的模式:交替的詞符,每個詞符代表一個 Unicode 字元的一半。"
我們會看到有不同的特徵在相對的位置上被啟用,就好像是在說:“好,我剛剛完成了一個字元,現在我需要去預測下一個字首,然後當我預測完了下一個字首,又需要另一個特徵在識別到字首後預測一個合理的字尾。”這樣就會產生一個交替預測的迴圈,所以這些交替層模型真的很有趣。
還有一點,我們可能會下意識的認為只存在一種 Base64 特徵,但事實證明有很多種 Base64 特徵。被英文文字編碼成的 Base64 與普通的 Bas64 編碼有著完全不同的分佈特徵。還有一些與分詞有關的特性也可以被模型利用。
Lex Fridman:打標的任務難嗎?這個過程能夠使用 AI 來實現自動化?
Chris Olah:這要看具體的特徵內容,也取決於我們對 AI 的信任程度。現在有許多關於自動化可解釋性的研工作,我覺得這也是一個很值得投入的方向,我們團隊自己其實也做了不少自動化可解釋性的工作,比如讓 Claude 去標註我們發現的這些特徵。
但 AI 經常會只點出一些非常籠統的概念,雖然在一定程度上當然是對的,但是又其實沒有真正抓住核心,這個問題很普遍。
我個人對於自動化的可解釋性其實還是存疑的,部分原因是我希望是人類來理解神經網路。如果是神經網路在幫人們理解它自己,可能會有點奇怪,類似於有些數學家討論的,“如果是計算機自動證明的,那就不算數”,因為他們無法理解它。
這裡還涉及到了一個信任的問題,“when you’re writing a computer program, you have to trust your compiler(當你在寫程式時,你必須信任你的編譯器)”。
如果編譯器裡有惡意軟體,它就可能會把惡意軟體注入到下一個編譯器中,就會很麻煩。同樣,如果使用神經網路來驗證其他神經網路的安全性,就需要考慮這個用來驗證的神經網路的安全問題,我們需要擔心它是否在某種方式上欺騙人類。我認為現在這還不是一個大問題,但從長遠來看,這個問題很重要。
05.
可解釋性機制裡有 scaling law 嗎?
Lex Fridman:你們在今年 5 月發表了 Scaling Monosematicity  ,在這篇論文中提出了 sparse autoencoder 和 monosematicity analysis 兩個概念,如果要把它們應用到 Claude 3 Sonnet 上,需要什麼樣的條件?
Scaling Monosemanticity:Extracting Interpretable Features from Claude 3 Sonnet
Chris Olah:很多 GPU。
我們團隊的 Tom Henighan 參與了最初的 scaling laws 的研究,他也從很早開始就一直在關注這樣一個問題:可解釋性機制是否也存在某種 scaling law?
所以當我們這項研究取得了成功、sparse autoencoders 開始執行以後,他立即開始關注如何擴充套件 sparse autoencoders 的規模,以及這與基礎模型規模的擴充套件之間的關係。事實證明這是一個非常好的思路,我們可以藉此預測,如果我們訓練一個特定大小的 sparse autoencoders,應該訓練多少 token 等等這些問題。
他的這個問題其實對我們 scale up 我們的研究起到很大的作用,讓我們更容易的去訓練真正的大型 sparse autoencoders。因為我們還不是在訓練大模型,但訓練這些真正的大型 sparse autoencoders 的成本也已經開始變得非常高了。
Lex Fridman:還需要考慮到怎麼把一系列的工作任務分配到大量的 CPU 叢集上來執行?
Chris Olah:這個過程中肯定存在不小的工程挑戰,所以有一個值得研究的問題就是我們怎麼樣高效地實現 scale?然後還需要大量的工程來實現這種 scaling up。所以挑戰在於我們必須進行合理規劃,我們必須仔細的考量很多因素。
總的來看我們的研究很成功。雖然可能有人會覺得,monosematicity analysis 和 sparse autoencoder 只在單層模型上有效,但單層模型是很特殊的。也許線性表示假設和疊加假設只能適用於理解單程模型,而不適用於理解更大的模型。
首先,Cunningham 的論文已經某種程度上解決了這個問題的一部分,並且證明事實並非如此。Scaling Monospecificity 這個研究的結果又提供了更重要的證據支援,表明即使是非常大的模型,比如當時作為我們生產工具之一的 Claude 3 Sonnet,這一類非常大的模型也可以用線性表徵進行很好的解釋,用它們進行字典學習的訓練是非常有效的,隨著我們掌握更多 features,我們能解釋的內容也越來越多,這是很積極的訊號。
現在我們還能夠發現不少抽象特徵,它們是多模態的,會對同一概念的影像和文字內容作出跨模態響應。
Lex Fridman:可以舉幾個關於抽象特徵(feature)的例子嗎?
Chris Olah:一個最典型的例子是我們發現了與程式碼安全相關的安全漏洞和後門程式碼的特徵。這是兩種不同的特徵(features)。如果我們強制啟用安全漏洞特徵,那 Claude 就會開始在程式碼中寫入像 buffer overflows 這樣的安全漏洞,同時這個特徵也會觸發其他型別的安全漏洞的響應,比如 disable SSL 這種明視訊記憶體在安全隱患的命令。
Lex Fridman:目前這個階段,可能是這些因為具體的表現都以一種顯而易見的方式呈現出來,所以模型可以做出有效的識別。但隨著發展,模型可能會能夠識別出更微妙的模式,比如欺騙或者 bug。
Chris Olah:好的,這裡我想區分兩個事情:一個是特徵或概念本身的複雜性,另一個是我們所觀察的例子的微妙程度。當我們展示資料集中的頂級例子時,這些都是能讓該 fearture 最強烈啟用的極端例子。這並不意味著它不會對更微妙的事物產生反應。比如那個不安全程式碼 feature,它最強烈反應的是那些明顯的停用安全型別的操作,但它也會對 buffer overflows 和更微妙的程式碼安全漏洞產生反應。這些特徵都是多模態的。你可以問它'什麼樣的圖片會啟用這個特徵?'結果發現,安全漏洞特徵會對一些圖片產生反應,比如人們在 Chrome 瀏覽器中點選繼續訪問 SSL 證書可能有問題的網站的圖片。
另一個很有趣的例子是 Bacdoors 程式碼 feature,當你啟用它時,Claude 會寫入一個將資料轉儲到某個埠的 backdoor。但當你問'什麼樣的圖片會啟用後門 Bacdoors feature?',結果是那些帶有隱藏攝像頭的裝置的圖片。顯然有一整類人在銷售看起來無害但裝有隱藏攝像頭的裝置,他們的廣告中就展示了這些隱藏的攝像頭。這某種程度上可以說是 Backdoor 的物理版本。這展示了這些概念是多麼抽象,我覺得這真的很…雖然我為存在這樣一個銷售這類裝置的市場感到難過,但我對這個 feature 這種抽象並識別的能力感到驚喜。
Lex Fridman:AI 安全領域,是否存在和欺騙和說謊相關的特徵 (features)?有沒有一種方法可能能夠檢測模型中的說謊行為?因為隨著模型變得越來越智慧,一個潛在的重要威脅就是它可能會在自己的意圖或其他方面欺騙操作它的人。
Chris Olah:這方面我們還處於早期,雖然我們確實發現了很多與欺騙和說謊相關的特徵,其中一種就是會對人們的說謊和欺騙行為作出響應,如果我們強制啟用它,Claude 就會開始對我們說謊,所以肯定存在一個欺騙特徵。還有其他的一些類似的 features,比如隱瞞資訊和不回答問題的 feature,關於追求權力的 feature 等。如果我們強制啟用這些 feature,Claude 就會作出一些我們並不想看到的反饋。
06.
制可解釋性研究的新方向
Lex Fridman:在機制可解釋性領域,接下來有哪些會有哪些新的方向值得關注?
Chris Olah:值得關注的研究內容很多。
首先,我希望我們不僅可以理解 features,還可以用它們來理解模型的計算過程,對我來說才是整個研究的最終極目標。我們已經發表了一部分研究成果,但我認為這些研究仍然比較邊緣,我們仍然有非常多的工作要做。這些工作與我們稱之為 interference weights 的挑戰有關:由於疊加(superpositon)的存在,如果我們只是簡單的觀察 features 之間的連線關係,可能會發現一些在上層模型中並不存在的 weights,而這些只是 superstition 產生的假象。這是一個技術性挑戰。
但我們可以把 sparse autoencoders 想象成一個望遠鏡,它讓我們觀測到所有這些外部的 features,隨著我們構建起越來越強大的 sparse autoencoders,在字典學習方面做的越來越好,我們就能夠看到越來越多的“星星”,能夠放大觀察越來越小的“星星”。有大量證據表明我們現在所看到的仍然只是“星星”中非常小的一部分。在我們的人工神經網路宇宙中,可能還存在許多我們現階段無法觀察到的現象,可能我們永遠也無法制造出足夠精細的工具來觀測他們,也可能有些現象根本無法從計算這個位階上實現對他們的觀察。這就像是早期天文學時期的“暗物質”,當時我們不清楚這些無法解釋的物質是什麼。我經常思考這些“暗物質”,試圖弄清楚我們是否能夠觀測到它,如果我們無法觀察到它,如果人工神經網路中有相對方一大部分對我們來說是不可訪問的資訊,這對安全而言又意味著什麼。
另外一個我一直關心的問題是,機制可解釋性實際上是一種非常微觀的研究方法,這種方法希望以顆粒度極小的方式理解事物,但我們關注的許多問題實際停留在宏觀層面,比如我們關注人工神經網路的行為問題,還有其他很多值得關注的相對宏觀的問題。
雖然微觀研究方法的優勢在於準確性容易得到驗證,但也有很明顯的缺點——離我們真正關注的問題比較遠,所以這二者之間的鴻溝是我們接下來需要努力的方向。那麼問題來了:我們能否在一個更高的位階上理解人工神經網路,能否從目前研究的這一層位階上升到下一個更高的位階?
Lex Fridman:你之前用“器官問題(Organ Questions)”做過類比:我們把可解析性研究視為對人工神經網路的一種解剖學研究,那麼大多數研究都聚焦在微小的血管上,觀察較小的單位和單個神經元及其連線方式。但很多問題是無法透過在較小單位上的研究得到回答的。如果看生物解剖學研究,它們最終會發現器官層面有心臟這樣的單一器官、系統層面有呼吸系統這種人體的生物系統之一這樣的抽象結論。所以大家現在想要試圖理解的事情在於,人工神經網路是否也存在某種重要器官或系統?
Chris Olah:是這樣的,很多自然科學領域的研究,都在不同的抽象位面上研究事物。生物學領域,我們可以看到分子這個位面上,分子生物學研究的可能是蛋白質和分子結構等,而到了細胞這一層則有專門的細胞生物學等等,當中有很多概念層級。
而我們現階段進行的機制可解釋性研究有點像是人工神經網路上的微生物學,但我們更想要的是類似解剖學的一種研究方向。那你可能想問:“為啥不直接在解剖學的這一層進行研究呢?”,我想我對這個問題的回答是因為有 superstition 的存在。如果不透過正確的當時分解微觀結構,並研究微觀結構彼此之間如何連線在一起,我們很難看到真正的宏觀結構。但我希望會有比特徵(features) 和電路(circuits) 更大的東西,這樣我們就可以在一個更大的結構找到重要的一小部分具體研究。
排版:Doro
延伸閱讀

相關文章