Transformer 與大型語言模型內部機制
注意力匯(attention sink)
當你觀察 transformer 的注意力實際流向何處,會發現出奇大量的注意力堆到序列最前面的幾個 token 上——常常是近乎無意義的文字開頭 token。這些就是注意力匯:吸走注意力權重的位置,不是因為它們有資訊,而是因為 softmax 強迫注意力分布總和為一,模型在沒有強匹配時需要一個地方傾倒那份質量。
此機制源於 softmax 是正規化的指數:即使沒有相關的鍵,每個頭仍須分配完整一單位的注意力,於是它學會把多餘的停泊在少數幾個固定的早期位置上,那些位置的鍵已被它校準為預設。實務後果出現在串流生成:若你為了壓住 KV 快取而用滾動視窗天真地驅逐舊 token,丟掉最前面那幾個匯 token 會破壞已校準的正規化,品質隨之崩潰。StreamingLLM 證明只要把開頭少數幾個匯 token 連同近期視窗一起留在快取中,就能在數百萬 token 上恢復穩定生成。
注意力匯解釋了為何滑動視窗快取必須保留最前面的 token,也連結到為何如今有些架構會加入一個專用的可學匯 token,好讓模型有個明確的「空操作」目標,而不必徵用某個內容 token。它也是量化與可解釋性的一個觀察視角:匯位置帶有超大的激活量,這產生了讓低位元量化變難的巨幅激活離群值,也在探測各個頭實際在做什麼時反覆出現。
又稱
另見