譯者 | 朱先忠
審校 | 重樓
引言
近年來開發(fā)出的機(jī)器學(xué)習(xí)模型的指數(shù)級進(jìn)步與轉(zhuǎn)換器架構(gòu)的出現(xiàn)密切相關(guān)。以前,人工智能科學(xué)家必須先為手頭的每項任務(wù)選擇架構(gòu),然后再進(jìn)行超參數(shù)優(yōu)化以獲得最佳性能。限制科學(xué)家們潛力的另一個挑戰(zhàn)是難以處理數(shù)據(jù)的長期依賴性,難以解決梯度消失、長序列上下文丟失以及因局部約束而無法捕獲全局上下文的問題。此外,傳統(tǒng)模型缺乏可擴(kuò)展性和并行性,減緩了對大型數(shù)據(jù)集的訓(xùn)練,最終阻礙了該領(lǐng)域的進(jìn)展。
轉(zhuǎn)換器架構(gòu)通過其自我注意機(jī)制解決了這些問題,從而徹底改變了該領(lǐng)域。它使模型能夠捕獲長序列上的關(guān)系,并有效地理解全局上下文,同時具有高度的并行性和跨各種模態(tài)如文本、圖像等的適應(yīng)性。在自我注意力機(jī)制中,對于每個標(biāo)記,將其查詢與所有其他標(biāo)記的鍵進(jìn)行比較,以計算相似性得分。然后,這些相似性被用來衡量值向量,最終決定當(dāng)前標(biāo)記應(yīng)關(guān)注的位置。自我注意將所有標(biāo)記視為同等重要,無論其順序如何,失去了關(guān)于標(biāo)記出現(xiàn)順序的關(guān)鍵信息;換句話說,它將輸入數(shù)據(jù)視為一個沒有順序的集合。
現(xiàn)在,我們需要一種機(jī)制來對數(shù)據(jù)強(qiáng)制執(zhí)行一些順序概念,因為自然語言和許多其他類型的數(shù)據(jù)本質(zhì)上是順序和位置敏感的。這就是位置嵌入發(fā)揮作用的地方。位置嵌入對序列中每個標(biāo)記的位置進(jìn)行編碼,使模型能夠保持對序列結(jié)構(gòu)的感知。在粗略了解了各種編碼位置信息的方法后,接下來我們將詳細(xì)地對它們展開逐一介紹。
基于DALL-E模型生成的圖像
注意機(jī)制
設(shè)S={wi},對于i=1,…,N是N個輸入標(biāo)記的序列,其中wi表示第i個標(biāo)記。因此,對于i=1,…,N,S的相應(yīng)標(biāo)記嵌入可以表示為E={xi},其中xi是標(biāo)記wi的d維標(biāo)記嵌入向量。自我注意機(jī)制將位置嵌入結(jié)合到標(biāo)記嵌入中,并生成查詢、鍵和值表示,如下所示:
qm,kn和vn:分別代表與序列中第m-th和n-th位置對應(yīng)的查詢、鍵和值向量;
fq,fk和fv:這些函數(shù)把位置信息嵌入到輸入嵌入xm和xn中,以便生成查詢、鍵和值向量。
然后,根據(jù)查詢和關(guān)鍵向量之間的相似性計算注意力權(quán)重:
注意,權(quán)重決定了標(biāo)記n對標(biāo)記m的重要性。換句話說,標(biāo)記m應(yīng)該對標(biāo)記n給予多少注意。標(biāo)記m的輸出是作為值向量的加權(quán)和計算的:
因此,注意機(jī)制標(biāo)記m從序列中的其他標(biāo)記收集信息。
圖1:轉(zhuǎn)換器架構(gòu)中的位置編碼(圖片來自論文https://arxiv.org/pdf/1706.03762)。
1.絕對位置嵌入
方程式(1)的典型選擇是:
其中pi是d維向量,表示標(biāo)記xi的絕對位置。正弦位置編碼和學(xué)習(xí)位置編碼是生成pi的兩種替代方案。
(1)a正弦位置編碼
正弦位置編碼是在提出轉(zhuǎn)換器架構(gòu)的《Attention is all you need》論文中引入的。正弦位置編碼為輸入序列中的每個標(biāo)記提供唯一的位置表示。它基于不同頻率的正弦和余弦函數(shù),如下所示:
其中,pos是標(biāo)記在序列中的位置,d是位置嵌入維度,i是維度索引(0<=i<d)。
正弦和余弦函數(shù)在正弦位置編碼中的使用與傅里葉變換有著密切的關(guān)系。通過使用一系列不同的頻率對位置進(jìn)行編碼,轉(zhuǎn)換器創(chuàng)建了一個類似于傅里葉變換的表示,其中:
- 高頻分量(較低的i)使模型能夠捕獲本地位置信息。這對于理解序列中相鄰標(biāo)記(如單詞對)之間的關(guān)系非常有用。
- 低頻分量(i值越高)在整個序列中捕獲了更多的全局模式。這有助于模型關(guān)注可能相距甚遠(yuǎn)的標(biāo)記之間更廣泛的關(guān)系,例如兩個不同句子中單詞之間的依賴關(guān)系。
這有助于模型通過比較標(biāo)記的位置編碼來理解標(biāo)記的相對位置。正弦位置編碼在推理時推廣到更大的序列長度時不需要額外的訓(xùn)練參數(shù)。然而,它的表現(xiàn)力是有限的。
(2)b學(xué)習(xí)位置編碼
《Attention is all you need》論文中介紹了學(xué)習(xí)位置編碼,并將其應(yīng)用于BERT和GPT模型中,作為正弦位置編碼的替代方案。在學(xué)習(xí)位置編碼中,序列中的每個位置(例如第一個標(biāo)記、第二個標(biāo)記等)都被分配了一個嵌入向量。這些位置嵌入是在訓(xùn)練過程中與其他轉(zhuǎn)換器參數(shù)一起學(xué)習(xí)的。例如,如果模型的上下文長度為512,標(biāo)記嵌入大小為768(即d=768),則大小為512*768的可學(xué)習(xí)張量將被添加到其他可訓(xùn)練參數(shù)中。這意味著,模型會逐漸學(xué)習(xí)為特定任務(wù)(如文本分類或翻譯)編碼位置信息的最佳方法。
學(xué)習(xí)位置嵌入比正弦位置嵌入更具表現(xiàn)力,因為模型可以學(xué)習(xí)位置嵌入,對其特定任務(wù)有效。然而,它們引入了更多可訓(xùn)練的參數(shù),這增加了模型的大小及其計算成本。
2.相對位置嵌入
正弦和學(xué)習(xí)位置編碼都側(cè)重于標(biāo)記的絕對位置。然而,注意力機(jī)制是通過計算序列中每個特定標(biāo)記的其他標(biāo)記的重要性來工作的。因此,這個過程取決于標(biāo)記的相對位置(它們彼此相距多遠(yuǎn)),而不是標(biāo)記的絕對位置。為了解決絕對位置嵌入的局限性,引入了相對位置編碼。
RelativePosEmb不會將位置信息添加到標(biāo)記嵌入中。相反,它修改了在每一層計算鍵和值的方式,如下所示:
上面公式中:
這里,r=clip(m-n,Rmin,Rmax)表示位置m和n之間的相對距離。假設(shè)精確的相對位置在一定距離之外沒有用,則對最大相對位置進(jìn)行剪裁。剪切最大距離使模型能夠在推理時進(jìn)行外推,即推廣到訓(xùn)練期間沒有看到的序列長度。然而,這種方法可能會從標(biāo)記的絕對位置(如第一個標(biāo)記的位置)中遺漏一些有用的信息。
你可能會注意到fq缺少位置嵌入。這是因為我們正在對相對位置進(jìn)行編碼。在注意力公式中,查詢和鍵值用于計算注意力權(quán)重,如方程(2)所示;因此,我們只需要查詢或鍵包含相對位置嵌入即可。
當(dāng)前,這種編碼已被用于許多模型,如轉(zhuǎn)換器XL和T5。在參考文獻(xiàn)【7】和【8】中可以找到應(yīng)用相對位置編碼的不同替代方案。
3.旋轉(zhuǎn)位置嵌入(RoPE)
與之前的方法不同,RoPE根據(jù)標(biāo)記的位置在多維空間中旋轉(zhuǎn)向量。它沒有將位置信息添加到標(biāo)記嵌入中,而是將每一層的注意力權(quán)重計算方式修改為:
上面公式中:
- Wq,Wk:分別表示查詢和鍵權(quán)重矩陣;
- Rθ(m)和Rθ(n):分別表示編碼位置m和位置n的標(biāo)記的絕對位置的旋轉(zhuǎn)矩陣;
- xm和xn:分別表示位置m和位置n的標(biāo)記嵌入;
- θ:是一個控制位置旋轉(zhuǎn)速率的常數(shù)。
這種算法提出了一個廣義旋轉(zhuǎn)矩陣,適用于任何偶數(shù)嵌入維數(shù)d,如下所示:
其中θi是預(yù)定義的:
將RoPE(https://arxiv.org/pdf/2104.09864)應(yīng)用于注意力權(quán)重將得到如下公式:
請注意,RoPE公式不會將位置信息添加到注意力模塊的值中。注意力模塊的輸出是值向量的加權(quán)和,由于位置信息沒有添加到值中,因此每個轉(zhuǎn)換器層的輸出都沒有明確的位置細(xì)節(jié)。
圖2:ALiBi方法可視化(圖片來自論文https://arxiv.org/pdf/2108.12409)。
4.注意線性偏差(ALiBi)
ALiBi算法也不會在單詞嵌入中添加位置編碼;相反,它對注意力權(quán)重分?jǐn)?shù)增加了一個懲罰,該懲罰與標(biāo)記之間的距離成正比。因此,每層兩個標(biāo)記i和j之間的注意力得分計算如下:
注意力得分=query_i ×key_j-m ×(i-j)
其中,-m ×(i-j)是一個懲罰值,與標(biāo)記i和j之間的距離成正比。標(biāo)量m是訓(xùn)練前固定的頭部特定斜率,其不同頭部的值被選擇為幾何序列。例如,對于頭部值8,m可能是:
這意味著,第一個頭部有一個相對較大的m,因此它更多地懲罰相距較遠(yuǎn)的標(biāo)記,并專注于最近的標(biāo)記,而第八個頭有最小的m,使其能夠處理更遠(yuǎn)的標(biāo)記。前面的圖2還提供了相應(yīng)的可視化表示。
當(dāng)前,ALiBi算法已經(jīng)應(yīng)用于BloombergGPT模型和BLOOM模型。
推理時的轉(zhuǎn)換器外推
推理時的轉(zhuǎn)換器外推是指模型能夠很好地處理比訓(xùn)練時更長的輸入序列。轉(zhuǎn)換器機(jī)制與輸入長度無關(guān),這意味著在推理時,它可以處理更長的序列。然而,請注意,計算成本隨輸入長度呈二次方增長,即使轉(zhuǎn)換器層本身與之無關(guān)。
ALiBi的作者證明了轉(zhuǎn)換器外推的瓶頸是它的位置嵌入方法。如圖3所示,他們比較了不同位置嵌入方法的外推能力。由于學(xué)習(xí)位置嵌入不能對大于訓(xùn)練長度的位置進(jìn)行編碼,因此它沒有外推能力。
圖3:外推法:隨著輸入序列變長(x軸),正弦、RoPE和T5位置編碼顯示出困惑度降低(在y軸上,越低越好),而ALiBi則沒有(圖片來自論文)。
圖3顯示出,正弦位置嵌入在實踐中的外推能力非常有限。雖然RoPE算法的性能優(yōu)于正弦曲線算法,但它仍然沒有達(dá)到令人滿意的結(jié)果。T5偏置方法(相對位置嵌入的一種形式)比正弦算法和RoPE算法嵌入具有更好的外推效果。不幸的是,T5算法偏差的計算成本很高(圖4)。ALiBi算法的性能優(yōu)于所有這些位置嵌入,內(nèi)存增加則可以忽略不計(0-0.7%)。
圖4:正弦、RoPE、T5和ALiBi算法位置編碼的批處理訓(xùn)練、推理速度和內(nèi)存使用的比較(圖片來自論文)
結(jié)論
總之,轉(zhuǎn)換器架構(gòu)中位置信息的編碼方式會顯著影響其理解順序數(shù)據(jù)的能力,尤其是在推理時的外推時。雖然絕對位置嵌入方法提供了位置感知,但它們經(jīng)常難以進(jìn)行轉(zhuǎn)換器外推。這就是為什么提出了更新的位置嵌入。相對位置編碼算法RoPE和ALiBi算法具有在推理時進(jìn)行外推的能力。最后,隨著轉(zhuǎn)換器在各種應(yīng)用中的不斷集成,完善位置編碼對于突破其性能極限具有非常重要的意義。
注意:本中表達(dá)的意見僅代表我們自己的觀點。
參考文獻(xiàn)
【1】Vaswani, A. “Attention is all you need.” (2017)。
【2】BERT:Devlin, Jacob,“Bert: Pre-training of deep bidirectional transformers for language understanding”(2018)。
【3】GPT:Radford, Alec等,“Language models are unsupervised multitask learners.”(2019)。
【4】RelativePosEmb:Shaw, Peter等,“Self-attention with relative position representations.”(2018)。
【5】Transformer-XLDai, Zihang,“Transformer-xl:Attentive language models beyond a fixed-length context.”(2019)。
【6】T5:Raffel, Colin等,“Exploring the limits of transfer learning with a unified text-to-text transformer.” (2020)。
【7】Raffel, Colin等,“Exploring the limits of transfer learning with a unified text-to-text transformer.”(2020)。
【8】He, Pengcheng等,“Deberta:Decoding-enhanced bert with disentangled attention.”(2020)。
【9】RoPE:Su, Jianlin等,“Roformer: Enhanced transformer with rotary position embedding.”(2024)。
【10】LLaMA:Touvron, Hugo等,“Llama: Open and efficient foundation language models.”(2023)。
【11】GPT-NeoX:Black, Sid等,“Gpt-neox-20b: An open-source autoregressive language model.”(2022)。
【12】ALiBi:Press, Ofir等,“Train short, test long: Attention with linear biases enables input length extrapolation.”(2021)。
【13】BloombergGPT:Wu, Shijie等,“Bloomberggpt: A large language model for finance.”(2023)。
【14】BLOOM:Le Scao, Teven等,“Bloom: A 176b-parameter open-access multilingual language model.”(2023)。
譯者介紹
朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計算機(jī)教師,自由編程界老兵一枚。
原文標(biāo)題:Beyond Attention: How Advanced Positional Embedding Methods Improve upon the Original Approach in Transformer Architecture,作者:Elahe Aghapour & Salar Rahili