MTA 論文
在 Transformer 中計算注意力權重時,僅依賴單個 Q 和 K 的相似度,無法有效捕捉多標記組合信息。(對于 A、B 兩個詞,單標記注意力需要分別計算兩個詞的注意力分數,再通過后處理定位共同出現的位置或通過多層隱式堆疊,增加模型深度和容量)。MTA 顯示建模多標記依賴,同時不犧牲全局交互和額外參數。(通過卷積運算讓他能夠看到鄰近的Q、K 以及其他注意力頭的信息)
在 Transformer 其他部分,如 FFN 的輸入/輸出加卷積,主要是為了捕捉詞元表示之間的局部依賴關系,不直接改變注意力機制本身如何計算相關性。
MTA 的卷積直接作用在 Q K T / A QK^T/A QKT/A,意味著卷積直接參與了決定哪些上下文位置應該被關注的過程,在處理詞元間的關系強度。
提出兩種方式:pre-softmax convolution 和 post-softmax convolution,MTA 默認采用 Pre-softmax Q-K Convolution 和 Post-softmax Head Mixing Convolution。二者區別在于是在 softmax 之前還是之后進行。
Q-K convolution
a i j = S o f t m a x ( ∑ i ′ = 0 c q ? 1 ∑ j ′ = ? ? c k / 2 ? ? c k / 2 ? ? 1 1 i ≥ j ? j ′ θ i ′ , j ′ q i ? i ′ k j ? j ′ ? / d ) ( 1 ) a_{ij}=\mathrm{Softmax}\left(\sum_{i^{\prime}=0}^{c_{q}-1}\sum_{j^{\prime}=-\lfloor c_{k}/2\rfloor}^{\lceil c_{k}/2\rceil-1}\mathbf{1}_{i\geq j- j^{\prime}}\theta_{i^{\prime},j^{\prime}}q_{i-i^{\prime}}k_{j-j^{\prime}}^{\top}/\sqrt{d}\right) \qquad \qquad(1) aij?=Softmax ?i′=0∑cq??1?j′=??ck?/2?∑?ck?/2??1?1i≥j?j′?θi′,j′?qi?i′?kj?j′??/d? ?(1)
在卷積中,為防止未來信息泄露,需要做 Masking。理想的 Masking 比較復雜(見式(1)),采用一種簡化形式:用 0 Mask 掉未來的 Q K T QK^T QKT 值,做卷積,再用 ? ∞ -\infty ?∞ Mask 掉結果中非法位置,再做 Softmax。
A = S o f t m a x ( M a s k ? ∞ ( C o n v 2 d θ ( M a s k 0 ( A ^ ) ) ) ) . A=\mathrm{Softmax}\left(\mathrm{Mask}_{-\infty}\left(\mathrm{Conv}2\mathrm{d}_\theta\left(\mathrm{Mask}_0(\hat{A})\right)\right)\right). A=Softmax(Mask?∞?(Conv2dθ?(Mask0?(A^)))).
Head Mixing Convolution
允許不同注意力頭之間共享信息,放大重要信號。將 M 個頭分成 M / c h M/c_h M/ch? 個組,每組 c h c_h ch? 個頭。在每組的頭內左 1D 卷積。同樣可以在 softmax 之前或之后進行。
Group Normalization with depth scaling
改善梯度流,對抗深層網絡中殘差連接可能帶來的主導效應(讓模型更關注注意力部分輸出,而不是僅僅傳遞上一層信息)。
在每個頭的輸出上獨立應用組歸一化,并結合一個隨層數變化的縮放因子。
核心矛盾:在「增強注意力精度」和「保持計算效率」之間尚未找到完美平衡,當前更適合對計算資源不敏感的高精度場景。
實驗結果
1.找字母塊任務,驗證 MTA 能夠解決 [多條件匹配] 問題。
MTA 錯誤率接近 0%,而 Transformer 失敗率超 50%。
2.LLM,在 105B 詞元數據上訓練 880M 參數模型
- MTA 僅在 1/4 的層 使用 Key-Query 卷積(核大小: c q = 6 , c k = 11 c_q=6,c_k=11 cq?=6,ck?=11)。
- 所有層使用 Head 卷積(核大小 c h = 2 c_h=2 ch?=2)。