網(wǎng)站建設(shè)困難嗎企業(yè)宣傳推廣方案
Selective attention improves transformer Google 2024.10.3
一句話:簡單且無需額外參數(shù)的選擇性注意力機(jī)制,通過選擇性忽略不相關(guān)信息并進(jìn)行上下文剪枝,在不增加計(jì)算復(fù)雜度的情況下顯著提升了Transformer模型的語言建模性能和推理效率。
論文鏈接:https://arxiv.org/pdf/2410.02703v1
1.為什么引入selective attention
Transformer的記憶負(fù)擔(dān)
Transformer,核心self-attention關(guān)注輸入序列中的所有部分,不僅僅是局部信息(也是RNN、LSTM改進(jìn)可以關(guān)注更長字符串,但是也引入了更高計(jì)算量),所有信息都保存在上下文緩沖區(qū),計(jì)算所有上下文信息的相關(guān)性
Selective attention高效信息篩選器
自動(dòng)刪除不再有用的信息,從上下文緩沖區(qū)中移除不必要的元素,提高模型性能,減少計(jì)算和內(nèi)存需求
標(biāo)記token b無法影響標(biāo)記c從標(biāo)記a中讀取信息的程度,標(biāo)記b確定標(biāo)記a對(duì)于后續(xù)標(biāo)記c是不相關(guān)甚至是誤導(dǎo)性的
Selective attention允許一個(gè)標(biāo)記決定另一個(gè)標(biāo)記不再被需要,從而減少后續(xù)標(biāo)記對(duì)該標(biāo)記的關(guān)注度
2.selective attention可視化剔除token過程
(1)變量賦值
y=7; x=1; x=3; z=5; x=? 則:x=3,即不管前面x=1賦值是多少,都與之無關(guān)
紅色線代表對(duì)前面token的掩蔽程度,在變量賦值中,掩蔽程度非0即1(一般為[0,1])
變量賦值中,綠色箭頭處,當(dāng)出現(xiàn)第二次 ‘Z=’ token時(shí),前面Z=、177直接掩蔽掉
(2)自然語言模型
序列:Bar,##ack, Obama
##ack直接掩蔽了bar,這里紅色線有深淺,代表掩蔽程度不同,比如day對(duì)a的掩蔽程度比較淺,說明保留了部分a的信息
3.選擇函數(shù)
selection matrix SNxN,Sij表示標(biāo)記xi對(duì)標(biāo)記xj的掩蔽程度
S矩陣限制條件:1.通過ReLU限制負(fù)值為0,只降低注意力,不增強(qiáng)注意力 2. Begin of Sentence標(biāo)記,初始句首不屏蔽,本身不關(guān)注不屏蔽
第一行:QK/sqrt(dk)
第二行:mask引入設(shè)置
第三行:選定head 0
第四行-第六行:S的三個(gè)約束條件
第七行:右移,且右移后對(duì)角線為0?
第八行:S累加得到F,為什么累加?
第九行:從標(biāo)準(zhǔn)attention中減去F
第十行:歸一化權(quán)重
文心一言代碼解讀
4.context pruning 上下文剪枝
上下文緩沖區(qū)修剪元素來減少注意力模塊的內(nèi)存和計(jì)算需求。每層的稀疏性在樣本之間是穩(wěn)定的(本文實(shí)驗(yàn)有驗(yàn)證),為每一層設(shè)定各自固定的內(nèi)存預(yù)算。
上下文剪枝步驟:
1.初始化K = K1, . … , KL= N,為每層內(nèi)存預(yù)算,其中N的上下文緩沖區(qū)大小
2.前Kl個(gè)token保持,后續(xù)每個(gè)token和前面對(duì)比,丟棄最高F值對(duì)應(yīng)token
3.貪婪迭代方法分配總的內(nèi)存預(yù)算,迭代直到模型性能達(dá)到預(yù)定義閾值,即標(biāo)準(zhǔn)attention模型性能
5.loss
每層內(nèi)存之和/層數(shù)token數(shù),我們希望M(內(nèi)存)越小越好,M越小,L越小,相關(guān)性一致,同時(shí)Ln≠pad即同aqrt(dk)限定范圍一樣,將分子大小限定一定范圍內(nèi)
內(nèi)存計(jì)算, τ= 1限定F矩陣范圍不超過1
Lppl: standard log-perplexity loss 標(biāo)準(zhǔn)對(duì)角困惑度損失函數(shù)
? is a small weight factor: ? = 0.1, τ= 1,固定數(shù)值
L表示層數(shù),n≠pad表示非填充標(biāo)記的數(shù)量(字符串輸入固定,缺失填充padding,對(duì)應(yīng)token來說即非填充token,實(shí)際有效信息token)
6.selective attention改進(jìn)及其效果
(1)簡單且無需額外參數(shù)
(2)減小注意力機(jī)制的上下文緩沖區(qū)大小,推理過程中顯著減少內(nèi)存和計(jì)算需求
(3)標(biāo)準(zhǔn)Attention模型擁有約兩倍多的頭數(shù)和參數(shù)與selective attention效果相當(dāng)
(4)上下文大小為512、1024和2048時(shí),內(nèi)存分別比未采用選擇性注意力的相同驗(yàn)證困惑度的模型減少16倍、25倍和47倍
7.待改進(jìn)
(1)Decoder-only
(2)上下文減少提高推理效率,但并不能提高訓(xùn)練效率,探索在訓(xùn)練過程中迭代減少上下文緩沖區(qū)的大小
(3)移除元素后,沒有對(duì)模型進(jìn)行進(jìn)一步的訓(xùn)練,在上下文減少后進(jìn)行一些額外的訓(xùn)練可能會(huì)實(shí)現(xiàn)進(jìn)一步的改進(jìn)
(4)僅對(duì)具有選擇性注意力的預(yù)訓(xùn)練模型進(jìn)行了實(shí)驗(yàn),微調(diào)步驟中將其應(yīng)用于現(xiàn)有模型
8.實(shí)驗(yàn)