在自然語言處理領域,Transformer 模型因其卓越的序列建模性能而備受關注。然而,由於其訓練時限制了上下文長度,使得它及其基於此的大語言模型都無法有效地處理超過此長度限制的序列,這被稱作“有效長度外推”能力的缺失。這導致大型語言模型在處理長文本時表現較差,甚至會出現無法處理的情況。為了解決這個問題,研究者提出了一系列方法,例如截斷式方法、分段式方法和層次式方法等。這些方法旨在透過一些技巧來提高模型的有效長度外推能力,從而使其能夠更好地處理超長序列。雖然這些方法在一定程度上緩解了這個問題,但仍需要更多的研究來進一步提高模型的有效長度外推能力,以更好地適應實際應用場景的需求。
文本續寫和語言延展是人類語言能力的重要面向之一。在大模型時代,為了將模型的能力有效應用於長序列數據,長度外推成為了重要方法。這個問題的研究具有理論和實際的價值,因此相關工作不斷出現。同時,也需要一篇系統性的綜述來概覽這個領域,不斷拓展語言模型的邊界。
哈爾濱工業大學的研究者從位置編碼的角度出發,系統性回顧了Transformer模型在長度外推的研究進展。研究者主要關注可外推的位置編碼以及基於這些編碼的拓展方法,以增強Transformer模型的長度外推能力。
論文連結:https://arxiv.org/abs/2312.17044
由於Transformer 模型本身無法捕捉序列中每個單字的位置訊息,因此位置編碼成為了一種常見的添加方式。位置編碼可以分為絕對位置編碼和相對位置編碼兩種類型。絕對位置編碼透過向輸入序列中每個單字添加一個位置向量來表示該單字在序列中的絕對位置資訊。相對位置編碼則是透過對每對不同位置的單字之間的相對距離進行編碼。這兩種編碼方式都可以將序列中的元素順序資訊融入 Transformer 模型中,提升模型的效能。
鑑於現有研究顯示該分類對模型的外推能力至關重要,我們將根據此分類對本節內容進行劃分。
絕對位置編碼
#在原始的Transformer 論文中,位置編碼是透過正弦和餘弦函數產生的,這種方法雖然被證明不能很好地外推,但作為Transformer 的第一個PE,正弦APE 對之後的PE 產生了深遠的影響。
為了增強Transformer 模型的外推能力,研究人員要麼透過隨機位移將位移不變性融入正弦APE 中,要麼產生隨位置平滑變化的位置嵌入並期望模型能夠學會推斷這一變化函數。基於這些想法的方法展現出比正弦 APE 更強的外推能力,但仍無法達到 RPE 的水平。原因之一是,APE 將不同的位置映射到不同的位置嵌入,外推意味著模型必須推斷出不曾見過的位置嵌入。然而,這對模型來說是一項艱鉅的任務。因為在廣泛的預訓練過程中重複出現的位置嵌入數量有限,特別是在 LLM 的情況下,模型極易對這些位置編碼過度擬合。
相對位置編碼
#由於APE 在長度外推上的表現難以令人滿意,而RPE 天然地由於其位移不變性具備更好的外推能力,並且人們普遍認為上下文中單字的相對順序更重要。近年來,RPE 已成為編碼位置資訊的主要方法。
早期的 RPE 來自於正弦位置編碼的簡單修改,並常常結合裁剪或分箱策略來避免出現分佈外的位置嵌入,這些策略被認為有利於外推。此外,由於 RPE 解耦了位置和位置表示之間的一對一對應關係,因此將偏差項直接添加到注意力公式中成為將位置資訊整合到 Transformer 中的可行甚至更好的方法。這種方法要簡單得多,並且自然地解開了值(value)向量和位置資訊的糾纏。然而,儘管這些偏置方法具有很強的外推性,但它們無法表示 RoPE(Rotary Position Embedding,旋轉位置編碼)中那樣複雜的距離函數。因此,儘管 RoPE 的外推性較差,但由於其優異的綜合性能,成為近來 LLMs 最主流的位置編碼。論文中介紹的全部可外推 PE 如表 1 所示。
為了增強LLMs 的長度外推能力,研究者們基於現有的位置編碼提出了多種方法,主要分為位置插值(Position Interpolation)和隨機化位置編碼(Randomized Position Encoding)兩大類別。
位置插值方法
#位置內插法透過在推理時對位置編碼進行縮放,使得原本超出模型訓練長度的位置編碼在內插後落入已訓練位置區間。由於其卓越的外推性能和極低的開銷,位置插值方法引起了研究界的廣泛興趣。此外,與其他外推方法不同,位置內插法已廣泛出現在開源模型中,例如 Code Llama、Qwen-7B 和 Llama2。然而,目前的插值方法僅關注 RoPE,如何透過內插法使採用其他 PE 的 LLM 具備更好的外推能力仍需探索。
隨機化位置編碼
#簡單來說,隨機化PE 只是透過在訓練期間引入隨機位置來將預先訓練的上下文視窗與較長的推理長度解耦,從而提高了較長上下文視窗中所有位置的曝光度。值得注意的是,隨機化PE 的想法與位置插值方法有很大不同,前者旨在使模型在訓練過程中觀察到所有可能的位置,而後者試圖在推理過程中對位置進行插值,使它們落入既定的位置範圍內。基於同樣的原因,位置插值方法大多是即插即用的,而隨機化 PE 通常需要進一步微調,這使得位置插值更具吸引力。然而,這兩類方法並不互斥,因此可以結合它們來進一步增強模型的外推能力。
評測與基準資料集:在早期研究中,Transformer 外推能力的評估來自各下游任務的效能評估指標,如機器翻譯的BLEU;隨著T5、GPT2 等語言模型逐漸統一自然語言處理任務,語言建模所使用的困惑度成為外推的評價指標。然而,最新的研究已經顯示困惑度無法揭示下游任務的表現表現,因而亟需專用的基準資料集與評測指標來推動長度外推領域的進一步發展。
理論解釋:目前的長度外推相關工作大都是實證性的,儘管有一些解釋模型成功外推的初步嘗試,但堅實的理論基礎仍未建立,究竟有哪些因素影響且如何影響長度外推性能仍然是一個懸而未決的問題。
其他方法:如本文所述,現有的長度外推工作大多集中在位置編碼視角下,但不難理解,長度外推需要係統性設計。位置編碼是其中一個關鍵的組成部分,但絕非唯一的組成部分,更廣闊的視野將進一步為這個問題帶來激勵。
以上是位置編碼在Transformer中的應用:探究長度外推的無限可能性的詳細內容。更多資訊請關注PHP中文網其他相關文章!