為何大型語言模型(LLM)會對海馬表情符號(emoji)感到困惑?
原作者:teds
這篇 文章 深入探討了一個有趣的現象:當被問及是否存在「海馬 emoji」時,許多大型語言模型(如 GPT、Claude)會自信地回答「有」,但接著卻無法正確顯示它,反而會給出馬 🐴、海豹 🦭、熱帶魚 🐠 等不相關的 emoji,甚至陷入不斷嘗試和失敗的循環。 這種行為不僅限於 LLM,也類似於人類的「曼德拉效應」,即許多人共同擁有一個從未發生過的錯誤記憶(很多人也堅信海馬 emoji 曾經存在)。 作者為了探究其根本原因,使用了一種名為「logit lens」(logit 透鏡)的技術來分析模型的內部運作。這個工具可以逐層檢視模型在生成答案時的「思考過程」。 分析發現,問題的根本原因如下:
概念的形成:LLM 在其訓練數據中學習到了「海馬」這個生物以及各種海洋生物都有對應的 emoji。因此,它在內部成功地歸納並形成了一個代表「海馬 emoji」的抽象概念向量(vector)。
對照實驗的成功:當詢問一個實際存在的 emoji(例如魚🐟
)時,這個過程運作得非常完美。模型會形成「魚 + emoji」的概念向量,並在最後的輸出層(
lm_head)成功對應到正確的🐟詞元(token)。
海馬 emoji 的失敗:問題的關鍵在於,Unicode 標準中根本沒有海馬 emoji。因此,模型內部雖然創造了「海馬 emoji」的概念向量,但在輸出層卻找不到任何可以完美匹配的詞元。
選擇最接近的替代品:由於找不到完全匹配的詞元,模型的輸出層只好選擇與這個「海馬 emoji」概念向量最相似的現有詞元。結果就變成了與「海」(sea)或「馬」(horse)相關的 emoji,例如熱帶魚🐠
或馬🐴
。
陷入混亂循環:當模型生成了錯誤的 emoji 後,這個錯誤的輸出會成為下一個生成步驟的輸入。這時模型會發現自己生成的結果(如馬🐴
)與其內部目標(海馬 emoji)不符,導致後續行為混亂。有些模型會嘗試修正,有些則會陷入不斷出錯的循環。
結論
總結來說,LLM 對海馬 emoji 的「崩潰」並非隨機錯誤,而是其內部運作機制的必然結果。這揭示了模型的抽象概念能力與其離散輸出詞彙庫之間的差距:模型基於數據成功地歸納出「海馬 emoji 應該存在」的概念,但在最後生成階段,因其可用的 emoji 列表有限而失敗。
作者:Chi