本文來(lái)自于微信公眾號(hào) 機(jī)器之心(ID:almosthuman2014),作者:Panda W。
我們知道在使用 GPT 和 LLaMA 等大型語(yǔ)言模型時(shí),輸入的prompt存在字符數(shù)限制,比如 ChatGPT 目前的輸入字符限制是4096個(gè)字符。這會(huì)限制上下文學(xué)習(xí)和思維鏈等技術(shù)的發(fā)揮空間,畢竟用戶只能提供有限的示例數(shù)量。近日,Nous Research、EleutherAI 和日內(nèi)瓦大學(xué)的一個(gè)研究團(tuán)隊(duì)提出了一種擴(kuò)展上下文窗口的方案 YaRN ,并在實(shí)驗(yàn)中取得了優(yōu)于其它所有方法的效果,而且他們還發(fā)布了使用 YaRN 微調(diào)過(guò)的 LLaMA27B/13B 模型,其上下文窗口為64k 和128k。
基于 Transformer 的大型語(yǔ)言模型(LLM)已經(jīng)展現(xiàn)出執(zhí)行上下文學(xué)習(xí)(ICL)的強(qiáng)大能力,并且?guī)缀跻呀?jīng)成為許多自然語(yǔ)言處理(NLP)任務(wù)的不二選擇。Transformer 的自注意力機(jī)制可讓訓(xùn)練高度并行化,從而能以分布式的方式處理長(zhǎng)序列。LLM 訓(xùn)練所用的序列的長(zhǎng)度被稱為其上下文窗口。
Transformer 的上下文窗口直接決定了可以提供示例的空間量,從而限制了其 ICL 能力。
如果模型的上下文窗口有限,那么為模型提供穩(wěn)健示例的空間就更少,而這些穩(wěn)健示例正是執(zhí)行 ICL 所用的。此外,當(dāng)模型的上下文窗口特別短時(shí),摘要等其它任務(wù)也會(huì)受到嚴(yán)重妨礙。
就語(yǔ)言本身的性質(zhì)來(lái)說(shuō),token 的位置對(duì)有效建模來(lái)說(shuō)至關(guān)重要,而自注意力由于其并行性,并不會(huì)直接編碼位置信息。Transformer 架構(gòu)引入了位置編碼來(lái)解決這個(gè)問(wèn)題。
原始的 Transformer 架構(gòu)使用了一種絕對(duì)正弦位置編碼,之后其被改進(jìn)成了一種可學(xué)習(xí)的絕對(duì)位置編碼。自那以后,相對(duì)位置編碼方案又進(jìn)一步提升了 Transformer 的性能。目前,最流行的相對(duì)位置編碼是 T5Relative Bias、RoPE、XPos 和 ALiBi。
位置編碼有一個(gè)反復(fù)出現(xiàn)的限制:無(wú)法泛化在訓(xùn)練期間看到的上下文窗口。盡管 ALiBi 等一些方法有能力做一些有限的泛化,但還沒(méi)有方法能泛化用于顯著長(zhǎng)于其預(yù)訓(xùn)練長(zhǎng)度的序列。
已經(jīng)出現(xiàn)了一些試圖克服這些限制的研究成果。比如,有研究提出通過(guò)位置插值(PI)來(lái)稍微修改 RoPE 并在少量數(shù)據(jù)上微調(diào)來(lái)擴(kuò)展上下文長(zhǎng)度。
兩個(gè)月前,Nous Research 的 Bowen Peng 在 Reddit 分享了一種解決思路,即通過(guò)納入高頻損失來(lái)實(shí)現(xiàn)「NTK 感知型插值」。這里的 NTK 是指 Neural Tangent Kernel(神經(jīng)正切核)。
其聲稱經(jīng)過(guò) NTK 感知型擴(kuò)展的 RoPE 能讓 LLaMA 模型的上下文窗口大幅擴(kuò)展(超過(guò)8k),同時(shí)還無(wú)需任何微調(diào),對(duì)困惑度造成的影響也極小。
近日,他與另外三位合作者的相關(guān)論文出爐了!
在這篇論文中,他們對(duì) NTK 感知型插值做出了兩點(diǎn)改進(jìn),它們分別側(cè)重于不同的方面:
動(dòng)態(tài) NTK 插值法,無(wú)需微調(diào)就能用于預(yù)訓(xùn)練模型。
部分 NTK 插值法,當(dāng)使用少量更長(zhǎng)上下文的數(shù)據(jù)微調(diào)后,模型能取得最佳表現(xiàn)。
研究者表示,在這篇論文誕生前,就已經(jīng)有研究者將 NTK 感知型插值和動(dòng)態(tài) NTK 插值用于一些開(kāi)源模型。比如 Code Llama(使用 NTK 感知型插值)和 Qwen7B(使用動(dòng)態(tài) NTK 插值)。
在這篇論文中,基于之前有關(guān) NTK 感知型插值、動(dòng)態(tài) NTK 插值和部分 NTK 插值的研究成果,研究者提出了 YaRN(Yet another RoPE extensioN method),一種可以高效擴(kuò)展使用旋轉(zhuǎn)位置嵌入(Rotary Position Embeddings / RoPE)的模型的上下文窗口的方法,可用于 LLaMA、GPT-NeoX 和 PaLM 系列模型。研究發(fā)現(xiàn),只需使用原模型預(yù)訓(xùn)練數(shù)據(jù)規(guī)模大約0.1% 量的代表性樣本進(jìn)行微調(diào),YaRN 就能實(shí)現(xiàn)當(dāng)前最佳的上下文窗口擴(kuò)展性能。
方法
旋轉(zhuǎn)位置嵌入(Rotary Position Embeddings / RoPE)最早由論文《RoFormer: Enhanced transformer with rotary position embedding》引入,也是 YaRN 的基礎(chǔ)。
簡(jiǎn)單來(lái)說(shuō),RoPE 可以寫(xiě)成如下形式:
對(duì)于使用固定上下文長(zhǎng)度預(yù)訓(xùn)練的 LLM,如果使用位置插值(PI)來(lái)擴(kuò)展上下文長(zhǎng)度,則可以表示為:
可以看出 PI 對(duì)所有 RoPE 維度都會(huì)做同等延展。研究者發(fā)現(xiàn) PI 論文中描述的理論插值界限不足以預(yù)測(cè) RoPE 和 LLM 內(nèi)部嵌入之間的復(fù)雜動(dòng)態(tài)。下面將描述研究者發(fā)現(xiàn)并解決的 PI 的主要問(wèn)題,以便讀者了解 YaRN 中各種新方法的背景、起因和解決理由。
高頻信息丟失 ——NTK 感知型插值
如果只從信息編碼的角度看 RoPE,根據(jù)神經(jīng)正切核(NTK)理論,如果輸入維度較低且對(duì)應(yīng)的嵌入缺乏高頻分量,那么深度神經(jīng)網(wǎng)絡(luò)難以學(xué)習(xí)高頻信息。
為了解決在對(duì) RoPE 嵌入插值時(shí)丟失高頻信息的問(wèn)題,Bowen Peng 在上述 Reddit 帖子中提出了 NTK 感知型插值。這種方法不會(huì)對(duì) RoPE 的每個(gè)維度進(jìn)行同等擴(kuò)展,而是通過(guò)更少地?cái)U(kuò)展高頻和更多地?cái)U(kuò)展低頻來(lái)將插值壓力分散到多個(gè)維度。
在測(cè)試中,研究者發(fā)現(xiàn)在擴(kuò)展未經(jīng)微調(diào)的模型的上下文大小方面,這種方法優(yōu)于 PI。但是,這種方法有一個(gè)重大缺點(diǎn):由于它不只是一種插值方案,某些維度會(huì)被外推入一些「界外」值,因此使用 NTK 感知型插值進(jìn)行微調(diào)的效果不及 PI。
更進(jìn)一步說(shuō),由于存在「界外」值,理論上的擴(kuò)展因子就無(wú)法準(zhǔn)確地描述真實(shí)的上下文擴(kuò)展程度。在實(shí)踐中,對(duì)于給定的上下文長(zhǎng)度擴(kuò)展,必須將擴(kuò)展值 s 設(shè)置得比期望的擴(kuò)展值高一點(diǎn)。
相對(duì)局部距離的損失 —— 部分 NTK 插值
對(duì)于 RoPE 嵌入,有一個(gè)有趣的觀察:給定一個(gè)上下文大小 L,存在某些維度 d,其中的波長(zhǎng) λ 長(zhǎng)于預(yù)訓(xùn)練階段見(jiàn)過(guò)的最大上下文長(zhǎng)度(λ > L),這說(shuō)明某些維度的嵌入可能在旋轉(zhuǎn)域中的分布不均勻。
PI 和 NTK 感知型插值會(huì)平等地對(duì)待所有 RoPE 隱藏維度(就好像它們對(duì)網(wǎng)絡(luò)有同樣的效果)。但研究者通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),網(wǎng)絡(luò)會(huì)給某些維度不同于其它維度的待遇。如前所述,給定上下文長(zhǎng)度 L,某些維度的波長(zhǎng) λ 大于或等于 L。由于當(dāng)一個(gè)隱藏維度的波長(zhǎng)大于或等于 L 時(shí),所有的位置配對(duì)會(huì)編碼一個(gè)特定的距離,因此研究者猜想其中的絕對(duì)位置信息得到了保留;而當(dāng)波長(zhǎng)較短時(shí),網(wǎng)絡(luò)僅可獲得相對(duì)位置信息。
當(dāng)使用擴(kuò)展比例 s 或基礎(chǔ)變化值 b' 來(lái)拉伸所有 RoPE 維度時(shí),所有 token 都會(huì)變得與彼此更接近,因?yàn)楸灰粋(gè)較小量旋轉(zhuǎn)過(guò)的兩個(gè)向量的點(diǎn)積會(huì)更大。這種擴(kuò)展會(huì)嚴(yán)重?fù)p害 LLM 理解其內(nèi)部嵌入之間小的局部關(guān)系的能力。研究者猜測(cè)這種壓縮會(huì)導(dǎo)致模型對(duì)附近 token 的位置順序感到困惑,從而損害模型的能力。
為了解決這個(gè)問(wèn)題,基于研究者觀察到的現(xiàn)象,他們選擇完全不對(duì)更高頻率的維度進(jìn)行插值。
他們還提出,對(duì)于所有維度 d,r < α 的維度按擴(kuò)展度 s 線性插值(與 PI 一樣,避免出現(xiàn)外推);r > β 的維度就完全不插值(總是外推)。
使用這一小節(jié)描述的技術(shù),一種名為部分 NTK 插值的方法誕生了。這種改進(jìn)版方法優(yōu)于之前的 PI 和 NTK 感知型插值方法,其適用于無(wú)微調(diào)和已微調(diào)模型。因?yàn)樵摲椒ū苊饬藢?duì)旋轉(zhuǎn)域分布不均勻的維度進(jìn)行外推,因此就避免了之前方法的所有微調(diào)問(wèn)題。
動(dòng)態(tài)縮放 —— 動(dòng)態(tài) NTK 插值
當(dāng)使用 RoPE 插值方法無(wú)微調(diào)地?cái)U(kuò)展上下文大小時(shí),我們希望模型在更長(zhǎng)的上下文大小上慢慢地劣化,而不是在擴(kuò)展度 s 超過(guò)所需值時(shí)在整個(gè)上下文大小上完全劣化。
在動(dòng)態(tài) NTK 方法中,擴(kuò)展度 s 是動(dòng)態(tài)計(jì)算的。
在推理過(guò)程中,當(dāng)上下文大小被超過(guò)時(shí),就動(dòng)態(tài)地更改擴(kuò)展度 s,這樣可讓所有模型在達(dá)到訓(xùn)練的上下文限制 L 時(shí)緩慢地劣化而不是突然崩潰式劣化。
增加用于長(zhǎng)距離的平均最小余弦相似度 ——YaRN
即便解決了前面描述的局部距離問(wèn)題,為了避免外推,也必須在閾值 α 處插值更大的距離。直覺(jué)來(lái)看,這似乎不應(yīng)該是個(gè)問(wèn)題,因?yàn)槿志嚯x無(wú)需高精度也能區(qū)分 token 位置(即網(wǎng)絡(luò)只需大概知道 token 是在序列的開(kāi)頭、中間或末尾即可)。
但是,研究者發(fā)現(xiàn):由于平均最小距離隨著 token 數(shù)量的增加而變得更近,因此它會(huì)使注意力 softmax 分布變得更尖(即減少了注意力 softmax 的平均熵)。換句話說(shuō),隨著長(zhǎng)距離衰減的影響因插值而減弱,網(wǎng)絡(luò)會(huì)「更加關(guān)注」更多 token。這種分布的轉(zhuǎn)變會(huì)導(dǎo)致 LLM 輸出質(zhì)量下降,這是與之前問(wèn)題無(wú)關(guān)的另一個(gè)問(wèn)題。
由于當(dāng)將 RoPE 嵌入插值到更長(zhǎng)的上下文大小時(shí),注意力 Softmax 分布中的熵會(huì)減少,因此研究者的目標(biāo)是逆轉(zhuǎn)這種熵減(即增加注意力 logit 的「溫度」)。這可以通過(guò)在應(yīng)用 softmax 之前將中間注意力矩陣乘以溫度 t >1來(lái)完成,但由于 RoPE 嵌入被編碼為一個(gè)旋轉(zhuǎn)矩陣,就可以簡(jiǎn)單地按常數(shù)因子 √t 來(lái)擴(kuò)展 RoPE 嵌入的長(zhǎng)度。這種「長(zhǎng)度擴(kuò)展」技巧讓研究可以不必修改注意力代碼,這能大幅簡(jiǎn)化與現(xiàn)有訓(xùn)練和推理流程的集成,并且時(shí)間復(fù)雜度僅有 O (1)。
由于這種 RoPE 插值方案對(duì) RoPE 維度的插值不均勻,因此很難計(jì)算相對(duì)于擴(kuò)展度 s 所需的溫度比例 t 的解析解。幸運(yùn)的是,研究者通過(guò)實(shí)驗(yàn)發(fā)現(xiàn):通過(guò)最小化困惑度,所有 LLaMA 模型都遵循大致相同的擬合曲線:
研究者是在 LLaMA7B、13B、33B 和65B 上發(fā)現(xiàn)這個(gè)公式的。他們發(fā)現(xiàn)這個(gè)公式也能很好地適用于 LLaMA2模型(7B、13B 和70B),差別很細(xì)微。這表明這種熵增特性很常見(jiàn),可以泛化到不同的模型和訓(xùn)練數(shù)據(jù)。
這種最終修改方案產(chǎn)出了 YaRN 方法。新方法在已微調(diào)和未微調(diào)場(chǎng)景中都勝過(guò)之前所有方法,而且完全不需要修改推理代碼。只需要修改一開(kāi)始用于生成 RoPE 嵌入的算法。YaRN 如此簡(jiǎn)單,使其可以在所有推理和訓(xùn)練庫(kù)中輕松實(shí)現(xiàn),包括與 Flash Attention2的兼容性。
實(shí)驗(yàn)
實(shí)驗(yàn)表明 YaRN 能成功擴(kuò)展 LLM 的上下文窗口。此外,他們僅訓(xùn)練了400步就得到了這一結(jié)果,這差不多只有模型的原始預(yù)訓(xùn)練語(yǔ)料庫(kù)的0.1%,與之前的研究成果相比有大幅下降。這說(shuō)明新方法具有很高的計(jì)算效率,沒(méi)有額外的推理成本。
為了評(píng)估所得到的模型,研究者計(jì)算了長(zhǎng)文檔的困惑度,并在已有基準(zhǔn)上進(jìn)行了評(píng)分,結(jié)果發(fā)現(xiàn)新方法勝過(guò)所有其它上下文窗口擴(kuò)展方法。
首先,研究者評(píng)估了上下文窗口增大時(shí)模型的性能表現(xiàn)。表1總結(jié)了實(shí)驗(yàn)結(jié)果。
表2展示了在50個(gè)未截?cái)嗟?GovReport 文檔(長(zhǎng)度至少為16k token)上的最終困惑度。
為了測(cè)試使用上下文擴(kuò)展時(shí)模型性能的劣化情況,研究者使用 Hugging Face Open LLM Leaderboard 套件評(píng)估了模型,并將其與 LLaMA2基準(zhǔn)模型以及公開(kāi)可用的 PI 和 NTK 感知型模型的已有分?jǐn)?shù)進(jìn)行了比較。表3總結(jié)了實(shí)驗(yàn)結(jié)果。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
2024年的Adobe MAX 2024發(fā)布會(huì)上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來(lái)都要半個(gè)月了,現(xiàn)在方便多了!”打開(kāi)“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來(lái)實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡(jiǎn)直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專題論壇在沈陽(yáng)成功舉辦。