LLM爲何頻頻翻車算術題?最新研究追蹤單個神經元,「大腦短路」纔是根源
新智元報道
編輯:peter東 喬楊
【新智元導讀】大模型在數學問題上的表現不佳,原因在於採取啓發式算法進行數學運算的,通過定位到多層感知機(MLP)中的單個神經元,可以對進行數學運算的具體過程進行解釋。
由於缺少對運行邏輯的解釋,大模型一向被人稱爲「黑箱」,但近來的不少研究已能夠在單個神經元層面上解釋大模型的運行機制。
例如Claude在2023年發表的一項研究,將大模型中大約500個神經元分解成約4000個可解釋特徵。
而10月28日的一項研究,以算術推理作爲典型任務,借鑑類似的研究方法,確定了大模型中的一個模型子集,能解釋模型大部分的基本算術邏輯行爲。
論文地址:https://arxiv.org/abs/2410.21272
該研究首先定位了Llama3-8B/70B, Pythia-6.9B及GPT-J四個模型中負責算術計算的模型子集。
如圖1所示,少數注意力頭對大模型面對算術問題的正確率有顯著影響。第一個 MLP(多層感知機) 明顯影響操作數和操作符位置,而中間層和後期層的 MLP 將token信息投影到最後位置,提升正確答案的出現概率。
圖1:Llama3-8B中發現算術相關的模型子集
該研究聚焦於單個神經元層面,發現了一組重要的神經元,它們實現了簡單的啓發式算法。只需要關注特定的極少量神經元,就能正確預測大模型進行算術運算的結果(圖2)。
圖2:大模型 中每層神經元中只需要關注1.5%的少數子集,就能預測大模型進行四則運算的結果
舉個例子:當輸入的提示詞爲“ 226−68= ”時,神經元24|12439在結果介於150和180的減法提示下顯示出高激活值,可被視爲一個啓發式算法。而每個啓發式算法識別一個數值輸入模式,並輸出相應的答案。
具體可分爲兩種不同的激活模式:第一種直接啓發式指的是在某些神經元中,激活模式取決於兩個操作數,值向量編碼了算術計算的預期結果(圖 3b,c)。
第二種間接激活模式取決於單個操作數對應的神經元中,值向量通常編碼下游處理的特徵,而不是直接的計算結果(圖3a)。
圖3:啓發式方法的可視化
神經元和運算的因果聯繫
該如何確認特定神經元和相關數學運算之間存在因果關係?一種常見的方法是消融分析,即將大模型大模型中特定的神經元敲除,看看模型的效果會有何改變,結果如圖4所示。
圖4:四則運算中敲除對應的算術神經元后模型的性能對比
去掉了對應神經元后,模型的運算準確性無論加減乘除都顯著下降。
不僅如此,相比去除特定算術神經元時造成的性能下降,可以發現,去除隨機神經元的影響相對較小,而且這種效應在模型8B和70B不同參數量中普遍存在。
圖5:敲除與算術相關的啓發式算法的神經元(實線)相比與算術無關的相同數量的隨機神經元(虛線)
上述結果表明,可僅根據其相關啓發式算法來識別對特定對大模型進行算術重要的神經元,也證明了屬於幾個啓發式算法的神經元與提示正確完成之間的因果關係。
此外,該結果還支持了啓發式算法集合的主張:即每個啓發式算法僅略微提高正確答案的機率,但它們結合在一起,使得大模型以高概率產生算術題的正確答案。
大模型爲何做不對算術題
Llama3-8B模型無法可靠地對每道算術題時給出正確的回答。基於啓發式規則,該研究闡述了模型爲何會做錯,可能的機制共有兩種:
第一,由於參數量的限制,大模型缺乏足夠的算術神經元,無法針對每一種情況都給出應對。
第二種原因是,可能存在回憶不完整的情況,比如某個啓發式規則對應的神經元沒有在運算時被觸發。
圖6:隨機抽取了50個正確完成和50個錯誤完成的算術題目,考察大模型中被正確和錯誤激活的算術神經元個數
如圖6所示,在大模型回答正確及錯誤時,激活的算術神經元個數不存在差異,這不支持前述的第一種算術神經元個數不足的假設。
然而,在大模型回答正確的情況下,更多比例的正確神經元被激活了,而回答錯誤的案例中,應當被激活的神經元激活概率反而較小。
這意味着大模型在特定算術題上失敗的主要原因是對能得出正確答案的神經元缺少泛化能力,而不是算術神經元的數量不足。
「算術神經元」何時誕生
由於其訓練檢查點可供公衆獲取,該研究採用Pythia-6.9B來考察大模型過程中算術神經元的出現階段。
結果顯示,大模型在訓練過程中逐漸發展其最終的算術啓發式機制,且算術神經元在模型訓練早期就已出現。
圖7 :啓發式的算術神經元的百分比隨着訓練增加
在模型訓練的不同階段,移除特定的啓發式神經元會大幅降低模型在所有訓練檢查點的準確性,這表明算術準確性主要來自啓發式,即使在早期階段也是如此。算術啓發式神經元與大模型算術能力的因果關係在整個訓練過程中都存在。
圖8:不同階段敲除算術神經元對大模型進行算術運算準確性的影響
結論
理解大模型如何進行數學運算,不僅可以打開大模型內部運行的黑箱,解釋它們爲何在簡單的數學題上翻車,例如最著名的「9.11和9.8哪個大」。
這項研究告訴我們,並不是因爲大模型缺少相關訓練,而是激活了錯誤的啓發式神經元,例如將這個問題當成了詢問哪個版本更大。
理解了大模型的算術運算,是依賴於啓發式方法集,而非單純的依靠記憶(背題目)或學會規則,這表明提高大模型的數學能力可能需要訓練和架構的根本性改變,而不是像激活引導這樣的小修小補。
對訓練過程的分析結果指出,大模型在訓練早期就學會了這些啓發式方法,並隨時間推移逐漸強化。這可能會導致模型過度擬合到早期的簡單策略,因此可作爲之後優化方向的參考。
參考資料:
https://arxiv.org/abs/2410.21272