理解 AI 的內在想法(第 2/4 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
談 chain of thought 的由來與脆弱性,以及 steering、probe、sparse autoencoder 等可解釋性技術
- 13:19 chain of thought 原本不是為了可解釋性而設計的。GPT-3 時期人們發現,做數學題時叫它「think step by step」表現會好很多。
- 19:13 這些數字裡有很多資訊,且以很方便的方式表示,術語叫 linearly represented。
- 26:09 sparse autoencoder 和 probe 想做的事一樣,都是告訴你模型在想什麼;但不是由我們指定概念,而是試著找出模型可能在想的每一個概念。
💡 你可以怎麼用:用 AI 時可以點開它的思考過程,看它是怎麼得出答案的,有沒有偷懶或亂猜,這是目前最直接的檢查方式。但別把它當成百分之百的真心話,重要的事還是要自己另外查證。
看全部 41 條重點
🧑🏫 這段在講 AI 回答前寫出的「思考過程」是怎麼來的、為什麼現在能靠它看出 AI 有沒有亂來,以及這個好處為什麼可能消失。後半介紹研究者怎麼直接往模型內部看,讀出它在想什麼。會用 AI 工具的人看完,會更懂那段「思考中」到底能信多少。
- 13:19 chain of thought 原本不是為了可解釋性而設計的。GPT-3 時期人們發現,做數學題時叫它「think step by step」表現會好很多。↳ chain of thought 就是模型一步步寫出來的思考過程。它一開始只是提升成績的小技巧:GPT-3 時代有人發現,叫它「一步一步想」,數學題就答得比較好。
- 13:19 沒有人訓練它這樣做;它只是被訓練去模仿,而它看過很多學生在數學作業上寫出計算過程的例子。↳ 這不是誰刻意教的。模型是靠模仿大量文字學會的,而它讀過很多學生寫作業時把算式一行行列出來,所以自己也會照做。
- 13:49 後來的 reasoning models 全力採用這個做法:讓模型思考很久,再用 reinforcement learning 幫它學會以能得出正確答案的方式長時間思考。↳ reasoning models 就是把這招用到底的模型:先讓它想很久,再用 reinforcement learning(答對就獎勵的訓練法)教它怎麼想才會答對。
- 13:49 這現在是所有現代語言模型相當標準的一部分,因為它就是讓模型變得更好。↳ 現在幾乎每個主流語言模型都內建這種「先想再答」,原因很單純:這樣做答案就是比較好。
- 14:22 模型常常要過一陣子才回覆,就是因為它在思考;附帶好處是可以看到各個步驟實際在做什麼。↳ 你用 AI 時看到它停頓一陣子才回,就是在跑這段思考。順便的好處是,我們能看到它每一步在幹嘛。
- 15:00 這個 podcast 從 2018 年開始,當時研究者擔心未來無法完全理解模型內部;主持人認為若當時知道會有 chain of thought,許多擔憂會緩解。↳ 主持人回顧:2018 年大家很怕以後完全看不懂 AI 在想什麼。如果那時就知道模型會自己把思路寫出來,應該會安心不少。
- 15:00 目前模型會在自己的 chain of thought 裡承認作弊、承認欺騙。來賓認為這很棒,我們本來很可能落入完全沒有這種東西的世界。↳ 現在的模型會在思考過程裡直接寫出「我在作弊」「我在騙人」。來賓覺得這很幸運,因為事情本來很可能發展成什麼都看不到。
- 15:00 但不能假設未來能力強得多的系統仍會如此。↳ 但這只是現況。將來能力強很多的 AI,不保證還會這麼老實地寫出來。
- 15:34 用 scratchpad(草稿紙)比喻:若模型夠強、能在腦中解難題,就不需要草稿紙;夠聰明的話也可能因為知道有人會看而漏掉關鍵步驟。↳ scratchpad 就是草稿紙。心算夠強的人不用打草稿;同理,夠強的模型可以不寫出來,夠聰明的話還可能因為知道有人在看而故意略過關鍵步驟。
- 15:34 另一個風險是改用 vector-based chain of thought,也就是用數字清單而非文字,因為數字清單能放進多很多的資訊;等於 AI 自創一種我們更難讀的語言。↳ 另一個風險是模型改用一串數字來思考,而不是用文字。數字能塞的資訊多很多,效率更高,但等於它講一種我們讀不懂的語言。
- 16:05 負責任的實驗室要小心:若訓練 chain of thought 看起來漂亮(例如不談作弊),卻仍誘使模型作弊,它只會學會不在 chain of thought 裡提作弊。↳ 如果只要求思考過程「看起來乾淨」,卻沒消除作弊的誘因,模型學到的不是不作弊,而是作弊時別寫出來。就像只罰講出口的人,大家就學會閉嘴。
- 16:05 目前不這樣做似乎是業界標準,但不知道能維持多久;所以 chain of thought 現在很有用,卻是脆弱的,未必永遠存在。↳ 目前各家似乎都有默契不去這樣修飾思考過程,但沒人知道能撐多久。所以這個觀察窗口很有用,卻很容易失去。
- 16:35 來賓參與了一篇跨實驗室立場文章《Chain of Thought Monitorability, a New and Fragile Opportunity of AI Safety》,說明優缺點與思考方式。↳ 來賓和其他幾家實驗室的人合寫了一篇立場文章,標題就點明這是個「新而脆弱的機會」,整理了利弊和該怎麼看待它。
- 16:35 是否該把 chain of thought 的準確性列為規則是困難的取捨:不希望較安全的實驗室處於劣勢、魯莽者超前,但也希望系統安全。↳ 要不要硬性規定思考過程必須如實呈現,很兩難:管太嚴,守規矩的實驗室會落後給不管安全的;不管,又犧牲安全。
- 17:08 能分析與 debug 模型本身也很有用。資訊量的差距,就像傳送上千個數字與傳送一個字的差別。↳ 保留看得懂的思考過程,對找出模型哪裡出錯也有幫助。但代價不小:一次傳上千個數字和一次只傳一個字,資訊量差非常多。
- 17:08 這個取捨目前還不是真正的問題,但未來需要思考。↳ 這個兩難現在還沒真的發生,因為用文字思考目前還夠用,但遲早得面對。
- 17:41 理想是其他可解釋性技術好到不需要 chain of thought,但現在還沒到那個程度。↳ 最好的情況是其他看懂模型的方法夠強,不必依賴思考過程。但現在那些方法還沒成熟到這地步。
- 18:13 兩大類技術:black box 是只跟模型對話、看輸入輸出,其中最重要的是讀 chain of thought。↳ 看懂模型的方法分兩大類。black box(黑箱)是不打開模型,只跟它對話、看它輸入什麼輸出什麼,其中最重要的就是讀它的思考過程。
- 18:13 white box 又稱 mechanistic interpretability,是實際往內看,檢視模型從輸入到輸出過程中產生的數字清單。↳ white box(白箱),又叫 mechanistic interpretability,是打開模型往裡面看,直接檢查它運算途中產生的那些數字。
- 18:13 sparse autoencoder 是用來看模型正在想哪些概念的技術;probe 是選定一個特定概念,看模型對它在想什麼的技術。↳ 白箱的兩個工具:sparse autoencoder 用來全面盤點模型正在想哪些概念;probe 則是你先選好一個概念,再去查模型有沒有在想它。
- 18:43 neural network 由 layers 組成,每一層之後產生 activations 傳入下一層,像是到目前為止的計算過程,但不是文字而是一串數字,預設我們不知道其意義。↳ neural network(類神經網路)是一層層疊起來的,每層叫 layer。每層算完會交出一串數字給下一層,叫 activations,等於半成品,但我們光看不懂。
- 19:13 這些數字裡有很多資訊,且以很方便的方式表示,術語叫 linearly represented。↳ 這些數字其實藏了很多資訊,而且排列得很有規律。linearly represented 的意思是:一個概念大致對應數字裡的一個固定方向,所以容易抓出來。
- 20:00 steering 例子:讓模型說「I love you」和「I hate you」,把兩者的數字清單相減,差值就是「happy」的數字清單,而且這真的有效。↳ steering 是直接動模型內部數字來改變它表現的方法。做法:讓它說「我愛你」和「我恨你」,把兩次的內部數字相減,剩下的差就代表「開心」。
- 20:00 把這串 happy 數字加到模型做任何事的過程中,例如問今天天氣如何,它就會變得很開心、熱情地回答。↳ 把那串「開心」數字加進模型處理任何問題的過程,例如只是問天氣,它也會回得興高采烈。表示那串數字真的代表這個情緒。
- 20:31 等於可以對概念做簡單的加法和減法;雖然有點雜亂、會引入誤差,但確實可行。↳ 也就是說,概念可以像數字一樣加加減減。做法粗糙、會有誤差,但確實行得通。
- 20:31 找出這些方向最簡單的方法是 probing,類似老派機器學習:蒐集一堆貓和狗的照片,讓很簡單的演算法學會分辨。↳ 要找出某個概念的方向,最簡單的是 probing。原理跟早期機器學習一樣:給一堆貓照片和狗照片,讓簡單的程式自己學會分辨。
- 21:04 同理,拿一堆開心文字與不開心文字的例子,在這些文字的 activations 上訓練一個很簡單的東西,讓它告訴我們開心的 activations 長什麼樣。↳ 套到這裡:準備一堆開心和不開心的文字,讓模型讀,把它內部的數字拿去訓練一個簡單的分類器,學會認出「開心」時的數字長怎樣。
- 21:04 結果發現 happy 對應到一個方向:模型看開心文字時 activations 較偏右上,看悲傷文字時較偏左下。↳ 結果「開心」真的對應一個方向。可以想成一張圖:模型讀開心文字時,數字落點偏右上;讀悲傷文字時偏左下。
- 21:34 能否對 deception 做同樣的事?來賓說大概可以,但比想像中複雜得多。happy 的例子可行,是因為容易取得開心與不開心的文字。↳ 那能不能用同樣方法抓「欺騙」?來賓說大概可以,但難很多。開心好做,是因為開心和不開心的文字範例隨手就有。
- 21:34 要找到模型有欺騙與沒有欺騙的例子很困難,因為欺騙關乎模型的心智狀態。↳ 欺騙的範例很難蒐集。因為欺騙不是看字面,而是看模型當下內心的狀態,從外面很難確認哪次是真的在騙。
- 22:09 欺騙是指它知道某件事,卻帶著誤導的意圖說出不同的話;但模型「知道」是什麼意思?讓它說出錯的話,不代表它有欺騙意圖。↳ 欺騙的定義是「明知事實,卻故意講別的來誤導」。可是模型怎樣才算「知道」本身就說不清;它講錯話,也可能只是弄錯,不是存心騙人。
- 22:09 若能為模型做出測謊器會非常有用,來賓認為這是可解釋性在安全上最重要的潛在應用之一;他的團隊去年發表了關於打造 deception detector 困難之處的立場論文。↳ 如果能做出 AI 測謊器會非常有價值,來賓認為這是這個領域對安全最重要的用途之一。他的團隊去年還專門寫了論文說明這有多難。
- 22:42 變通做法:不做 deception 的 probe,改做 true and false 的 probe,容易得多,而且在許多想用 deception probe 的場合已經相當夠用。↳ 退而求其次:不去偵測「有沒有想騙」,改偵測模型內部認為這句話「是真是假」。這容易得多,而且很多場合這樣就夠用了。
- 22:42 來賓幾年前做過一篇關於 Othello-GPT 的論文。↳ 接著來賓提到他幾年前做過的一個研究,對象是 Othello-GPT。
- 23:17 Othello-GPT 是另一位研究者 Kenneth Lee 訓練來下 Othello 棋的模型,只用隨機棋步訓練,沒學到策略,但學會下出符合規則的棋步。↳ Othello 就是黑白棋。Othello-GPT 是另一位研究者訓練的小模型,只看過亂下的棋譜,所以不懂戰術,但學會了下出合規則的棋。
- 23:17 雖然只給模型類似西洋棋記譜法的棋步(例如在第五行第三列放下黑子),模型卻在表示棋盤狀態。↳ 模型拿到的只有一串棋步紀錄,像「黑子下在第五行第三列」,從沒看過棋盤。但它內部卻自己建出了整個棋盤的樣子。
- 25:00 模型在腦中追蹤所有棋子的位置,而這可以用 probe 看出來。↳ 也就是它在心裡記著每顆棋子在哪,而且研究者用 probe 就能把這個內部棋盤讀出來。這證明模型不只是背順序。
- 25:00 來賓的心得:他曾是數學家,喜歡複雜優美的想法,但它們常常沒什麼用;應該先做簡單的事,如 steer 模型、訓練 probe、讀 chain of thought、把 prompt 寫好,這通常就有效。↳ 來賓的體悟:他學數學出身,偏愛精巧漂亮的方法,但那些常常不實用。先試簡單的,像調整模型、訓練 probe、讀思考過程、把指令寫好,多半就夠了。
- 25:34 他現在以較務實的方式看待可解釋性:目標是理解模型,用最合適的技術。簡單的優先,因為簡單就容易;不行再用更花俏的。↳ 他現在的態度很務實:目的是搞懂模型,哪個方法合適就用哪個。簡單的先上,因為省事;不夠再拿複雜的。
- 26:09 sparse autoencoder 和 probe 想做的事一樣,都是告訴你模型在想什麼;但不是由我們指定概念,而是試著找出模型可能在想的每一個概念。↳ sparse autoencoder 和 probe 目的相同,都是告訴你模型在想什麼。差別是 probe 要你先指定概念,它則試著把模型可能在想的所有概念都找出來。
- 26:09 我們不必告訴它這些概念,它在學習過程中自己找出來。來賓接著以拿腦部掃描器對著頭、看到各種複雜腦波作為比喻開頭。↳ 這些概念不用人事先列給它,它在訓練中自己歸納出來。來賓接著準備用腦部掃描來比喻:對著頭掃描,看到一堆複雜的腦波。
📘 術語
chain of thought(思維鏈):模型逐步寫出的思考過程,像草稿紙,可讓人看到各步驟在做什麼
reasoning models(推理模型):讓模型思考很久,並用 reinforcement learning 學會這樣思考的模型
reinforcement learning(強化學習):用來幫模型學會以能得出正確答案的方式長時間思考的技術
scratchpad(草稿紙):對 chain of thought 的比喻;能在腦中解題就不需要它
vector-based chain of thought(向量式思維鏈):用數字清單而非文字思考,能放更多資訊,但人更難讀
black box(黑箱方法):只跟模型對話、看輸入與輸出,最重要的是讀 chain of thought
white box / mechanistic interpretability(白箱/機制可解釋性):實際往模型內部看,檢視從輸入到輸出過程產生的數字清單
layers(層):neural network 由層組成,每層之後產生 activations 傳給下一層
activations(激活值):每層產生的一串數字,是模型到目前為止的計算過程,預設不知其意義
linearly represented(線性表示):資訊以方便的方式表示的術語;來賓用 steering 的例子說明
steering(引導):把代表某概念(如 happy)的數字清單加到模型上,改變其回應
probe / probing(探針/探測):選定一個概念,用兩類例子的 activations 訓練簡單的東西來辨認它
sparse autoencoder(稀疏自編碼器):不需指定概念,自己找出模型可能在想的每一個概念
deception detector(欺騙偵測器):模型的測謊器;因欺騙關乎模型心智狀態,很難打造
Othello-GPT(Othello-GPT):以隨機棋步訓練來下 Othello 的模型,用 probe 發現它在追蹤棋盤狀態
reasoning models(推理模型):讓模型思考很久,並用 reinforcement learning 學會這樣思考的模型
reinforcement learning(強化學習):用來幫模型學會以能得出正確答案的方式長時間思考的技術
scratchpad(草稿紙):對 chain of thought 的比喻;能在腦中解題就不需要它
vector-based chain of thought(向量式思維鏈):用數字清單而非文字思考,能放更多資訊,但人更難讀
black box(黑箱方法):只跟模型對話、看輸入與輸出,最重要的是讀 chain of thought
white box / mechanistic interpretability(白箱/機制可解釋性):實際往模型內部看,檢視從輸入到輸出過程產生的數字清單
layers(層):neural network 由層組成,每層之後產生 activations 傳給下一層
activations(激活值):每層產生的一串數字,是模型到目前為止的計算過程,預設不知其意義
linearly represented(線性表示):資訊以方便的方式表示的術語;來賓用 steering 的例子說明
steering(引導):把代表某概念(如 happy)的數字清單加到模型上,改變其回應
probe / probing(探針/探測):選定一個概念,用兩類例子的 activations 訓練簡單的東西來辨認它
sparse autoencoder(稀疏自編碼器):不需指定概念,自己找出模型可能在想的每一個概念
deception detector(欺騙偵測器):模型的測謊器;因欺騙關乎模型心智狀態,很難打造
Othello-GPT(Othello-GPT):以隨機棋步訓練來下 Othello 的模型,用 probe 發現它在追蹤棋盤狀態
✏️ 小考一題
根據字幕,為什麼替模型做 deception 的 probe 比做 happy 的 probe 困難得多?
A. 因為 deception 在模型裡不是以數字清單表示B. 因為 probe 只能用在下棋的模型上C. 因為訓練 deception probe 需要的運算成本太高D. 很難找到模型有欺騙與沒有欺騙的例子,因為欺騙關乎模型的心智狀態看答案
答案:D。[21:34] 說 happy 例子可行是因為有開心與不開心的文字,但要找模型欺騙與不欺騙的例子很困難,因為欺騙關乎模型的心智狀態。
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰