Transformer 與大型語言模型內部機制

滑動視窗注意力(sliding-window attention)

完整自注意力讓每個 token 看見其他所有 token,成本是二次方時間,對長序列變得難以負擔。滑動視窗注意力把每個 token 限制為只注意最近 w 個前序 token。想像每個位置拿著手電筒,只照亮最近的 w 個字;更早的內容對該層而言是黑暗的。如此成本降為 N 乘 w 量級,與序列長度呈線性。

看似失去的全域觸及由深度補回。正如堆疊卷積會擴大感受野,堆疊 L 層視窗為 w 的注意力可得約 L 乘 w 個 token 的有效感受野:資訊沿著堆疊一個視窗一個視窗地跳躍。例如 Mistral 7B 用 w = 4096、共 32 層,因此頂層原則上能整合約 12.8 萬個 token 之外的訊號,儘管每一層本身都是局部的。再配合只保留最近 w 個鍵的滾動 KV 快取,記憶體無論序列多長都維持有界。

模型常把視窗層與少數幾個完整注意力層交錯,或把視窗搭配注意力匯(attention sink),以保留一些單靠接力無法保證的真正全域混合。權衡在於:嚴格局部的層可能漏掉無法在逐層接力中存活的長程依賴——一個只在很前面陳述一次的事實,可能在抵達需要它的那層之前,被每一跳逐漸稀釋,這正是純滑動視窗模型在檢索式任務上,往往不如保留偶發完整注意力的混合模型的原因。

又称
local attention滑動視窗注意力