首個(gè)可商用的32k上下文開源大模型「長頸鹿」來了,兩萬詞長文不在話下
依賴于注意力機(jī)制的大型語言模型(LLM)通常在訓(xùn)練時(shí)通常使用固定的上下文長度,模型可以處理的輸入序列長度也就有了上限。因此,有很多研究探索了上下文「長度外推(length extrapolation)」方法。
上下文長度外推是指使用較短上下文長度訓(xùn)練過的 LLM,在較長語上下文長度上進(jìn)行評估,而不針對長上下文做進(jìn)一步訓(xùn)練。其中,大多數(shù)研究都側(cè)重于修改注意力機(jī)制中的位置編碼系統(tǒng)。
現(xiàn)在,來自 Abacus.AI 的研究團(tuán)隊(duì)對現(xiàn)有基于 LLaMA 或 LLaMA 2 模型的上下文長度外推方法進(jìn)行了廣泛的調(diào)查,并提出一種新的 truncation 策略。
- 論文地址:https://arxiv.org/abs/2308.10882
- 項(xiàng)目地址:https://github.com/abacusai/long-context
為了驗(yàn)證這種 truncation 策略的有效性,該研究發(fā)布了三個(gè)新的 13B 參數(shù)長上下文模型 ——Giraffe,包括兩個(gè)基于 LLaMA-13B 訓(xùn)練而成的模型:上下文長度分別為 4k 和 16k;一個(gè)基于 LLaMA2-13B 訓(xùn)練而成的模型,上下文長度是 32k,該模型也是首個(gè)基于 LLaMA2 的 32k 上下文窗口開源 LLM。
Abacus.AI 的 CEO Bindu Reddy 在推特介紹道。
32k 的上下文窗口是什么概念呢?大概就是 24000 個(gè)詞,也就是說開源模型 Giraffe 能夠處理一篇 2 萬字的長文。
圖源:https://twitter.com/akshay_pachaar/status/1694326174158143619
方法簡介
隨著上下文長度的擴(kuò)展,LLM 架構(gòu)中的注意力機(jī)制會讓內(nèi)存使用量和計(jì)算量呈二次增加,因此長度外推方法至關(guān)重要。
該研究整理了當(dāng)前一些有效的上下文長度外推方法,并對它們進(jìn)行了全面的測試,以確定哪些方法最有效,包括線性縮放、xPos、隨機(jī)位置編碼等。并且,研究團(tuán)隊(duì)還提出了幾種新方法,其中一種稱為 truncation 的新方法在測試中非常有效。
首先,評估 LLM 性能的難點(diǎn)之一是選擇正確的評估方法,一個(gè)常用的指標(biāo)是下一個(gè) token 的困惑度,它能夠衡量模型根據(jù)上下文預(yù)測下一個(gè) token 的能力。然而,研究團(tuán)隊(duì)認(rèn)為,通常只需根據(jù)整個(gè)可用上下文中的一小部分,生成合理連貫的文本分布,就能在該指標(biāo)上獲得良好的結(jié)果,因此不適用于長上下文。
為了分析模型在長上下文情況下的性能,該研究使用模型召回(recall)的準(zhǔn)確率作為衡量指標(biāo),并發(fā)布了三個(gè)用于評估模型長上下文性能的數(shù)據(jù)集,分別是 LongChat-Lines、FreeFormQA 和 AlteredNumericQA。其中,LongChat-Lines 用于鍵 - 值檢索任務(wù);FreeFormQA 和 AlteredNumericQA 則是基于自然問題數(shù)據(jù)集的問答數(shù)據(jù)集。這三個(gè)數(shù)據(jù)集可以評估 LLM 在鍵 - 值檢索任務(wù)和問題解答任務(wù)上的能力,模型關(guān)注的上下文長度越長,獲得的準(zhǔn)確率才會越高。
實(shí)驗(yàn)及結(jié)果
研究團(tuán)隊(duì)使用上述三個(gè)新數(shù)據(jù)集對幾種上下文長度外推方法進(jìn)行了評估實(shí)驗(yàn)。在 LongChat-Lines 上的實(shí)驗(yàn)結(jié)果如下表 1 所示:
在 FreeFormQA 和 AlteredNumericQA 數(shù)據(jù)集上的評估結(jié)果如下表 2 和表 3 所示:
總體而言,線性縮放效果最好,truncation 顯示出一些潛力,而 xPos 方法無法在微調(diào)中自適應(yīng)。
感興趣的讀者可以閱讀論文原文,了解更多研究內(nèi)容。