newsence
我給初級研究員最常見的建議

我給初級研究員最常見的建議

Lesswrong·3 天前

我分享了最常給予初級研究合作者的建議,重點在於執行快速的常識檢查,以避免在徒勞的研究方向上浪費時間。

這篇文章是作為 Inkhaven Residency 的一部分快速撰寫而成的。

從高層次來看,我給予較資深研究合作者的研究回饋通常可以歸納為以下三類:

  • 進行快速的常識檢查(Sanity checks)
  • 精確地表達你想說的話
  • 再問一次為什麼

在每一種情況下,我認為這些建議都可能被推向我不再認同的極端。因此,我試著詳細說明你應該執行這些建議的程度,以及「做得太過頭」可能會是什麼樣子。

本文將探討「進行快速的常識檢查」,這是我給予初級研究人員最常見的建議。我將在隨後的文章中討論另外兩條建議。

進行快速的常識檢查

研究是困難的(幾乎是根據定義而言),而且人們經常犯錯。每位研究人員都曾浪費無數小時、數天,甚至數週或數月去追逐徒勞無功的研究方向。^([1]) 通常,這些時間可以透過一些基本的常識檢查來節省。你的想法到底有沒有道理?你的數據是否有明顯的偏差來源(例如各種形式的選擇偏差)或其他問題(例如使用了錯誤的提示詞)?你的定理是否提出了非平凡(nontrivial)的聲明,還是它根本是空洞的(vacuous)?^([2])

在進行數據分析時,其中一個例子是檢查關鍵變量之間的基本相關性。例如,如果你認為能力較弱的語言模型無法隱蔽地執行任務,部分原因是它們在輸出中直接提到了側向任務的存在,那麼它們在輸出中包含「隱藏任務」或「提醒觀察者」等短語的頻率有多高?當它們包含或不包含這些短語時,被發現的頻率又是多少?(這能為你提供一些證據,說明這是否是決定性因素,或者較弱的模型是否有其他破綻。)

更廣泛地說,從高層次定量地了解你的數據是件好事,這可以幫助你發現明顯的錯誤。關鍵摘要統計數據的平均值和標準差是多少?你的數據變化的關鍵維度是什麼?例如,如果你正在研究腳手架(scaffold)中的 LLM 代理(agents),這些模型使用了多少次工具調用(tool calls),其中有多少是成功的?(我看過很多例子,特別是一兩年前,腳手架是損壞的,或者 LLM 代理完全不知道如何使用它。)如果你使用的是具有推理能力的 LLM,推理鏈有多長?(我個人曾參與過一項研究,其中的推理功能因意外而被關閉了。)

你的數據集中「典型」的例子長什麼樣子,離群值(outliers)又是什麼?例如,如果你注意到 LLM 在寫出 n=10河內塔(Tower of Hanoi) 問題步驟時表現為零,它的思維鏈(chain of thought)看起來如何?它是犯了錯誤,還是對基本算法感到困惑?(通常,LLM 在任務中「失敗」不一定是因爲缺乏能力,而是因為它們拒絕執行該任務。)

來自 Claude Opus 4 的範例回覆,它稱 n=10 的河內塔任務「極其繁瑣且容易出錯」並拒絕執行。然而,該回覆證明了它能夠實現解決問題所需的算法,並強烈暗示其在任務上的失敗並非源於缺乏理解。關於此特定範例的更多討論,請參見我之前的一篇文章

這條建議的另一個具體實例是構思微小的具體例子。當試圖檢查你是否正確實現了一個簡單算法時(例如在調試代碼或進行編碼面試時),一個經典的建議是在一個小例子上逐行運行你的代碼。例如,如果你正在實現 A* 搜尋算法,它在一個具有少數整數成本邊的 4 節點小圖上能運行嗎?(當我擔任人工智慧入門課程的助教時,這大概能解決辦公時間帶給我的那一半 Bug。)相關的建議是在進行理論研究時構思微小的具體例子。^([3]) 例如,如果你聲稱你的相似度測量是一種距離度量(distance metric),它是否具有對稱性,並且在三個具體點上是否滿足三角不等式?(值得注意的是,KL 散度並不是一種度量!)^([4])

做得太過頭。 「快速常識檢查」中的「快速」二字是這條建議的重要部分。這意味著要在速度而非嚴謹性方向上做出權衡。我們本可以花 30 分鐘讓另一個 AI 評分每個輸出是否提到了隱藏任務,或者在真實問題上運行 A* 搜尋,但在這些情況下這樣做可能都為時過早,因為更廉價的常識檢查就能發現許多問題。重點是進行常識檢查,而不是嚴謹地處理對你工作的所有可能質疑,也不是要為你的整個學科創建一個宏大的統一理論。如果你坐下來準備進行五分鐘的抽查,卻發現三小時後自己正在構建一個龐大的數據處理管道,利用 AI 來分類你能想到的每一個變量,那麼你可能做得太過頭了。

  • ^(^) 在更大的規模上,有一篇更長的文章探討了整個領域如何迷失方向並最終演變成「貨拜族科學」(cargo cult science),以及這對 AI 安全的影響,我未來可能會撰寫相關內容。

關於人類心理學領域的例子,請參見 Scott Alexander 對 5-HTTLPR 研究領域的批判性評論,或 Bertram Gawronski 對隱性聯想測驗(implicit association tests)更為禮貌的批評

  • ^(^) 相反地,在展示你的研究時,你應該旨在提供足夠的信息,以便其他人可以進行快速的常識檢查來信任你的結果。一個基本的做法是開源你的數據。其他方法包括在附錄中加入數據範例,以及展示關鍵變量之間關係的許多表格和圖表。

  • ^(^) 另見理查·費曼(Richard Feynman)自傳《別鬧了,費曼先生!》中的這段摘錄:

我有一套方案,直到今天當別人在解釋某些我試圖理解的事情時,我仍在沿用:我不斷地構思例子。例如,數學家們帶著一個了不起的定理進來,他們都非常興奮。當他們告訴我定理的條件時,我就在腦中構造一個符合所有條件的東西。你知道,你有一個集合(一個球)——不相交(兩個球)。然後隨著他們增加更多條件,我腦中的球會變色、長毛或發生其他變化。最後他們陳述定理,那是關於球的某些蠢事,而這對我那個長毛的綠球並不成立,所以我說:「錯了!」

  • ^(^) 這裡包含的原始範例是關於海森矩陣(Hessian)作為衡量損失景觀(loss landscapes)中盆地寬度的一種方法:

關於為什麼某些神經網絡比其他網絡泛化得更好的一個假設是:落在損失景觀「寬」極小值的模型對權重的微小擾動較不敏感,因此泛化得更好。研究人員嘗試建模盆地「寬度」的一種標準方法是查看海森矩陣(損失函數的二階導數矩陣)。但對於 x^2 + y^2 和 x^4 + y^4 這樣基本的例子,它是如何運作的?當海森矩陣是奇異(singular)的時候會發生什麼?(劇透:對於 x^4 + y^4,海森矩陣在原點確實是奇異的(事實上全是零),海森矩陣完全無法表徵這個盆地的寬度。)

關於此問題及相關範例的更多討論,請參見奇異學習理論(Singular Learning Theory)入門文章

討論

https://lesswrong.com/posts/dYHFtEnKc4BdJEYY4/my-most-common-advice-for-junior-researchers