在大家不斷升級迭代自家大模型的時候,LLM(大語言模型)對上下文視窗的處理能力,也成為重要評估指標。
例如 OpenAI 的 gpt-3.5-turbo 提供 16k token 的上下文視窗選項,AnthropicAI 的更是將 Claude 處理 token 能力提升到 100k。大模型處理上下文視窗是個什麼概念,就拿 GPT-4 支援 32k token 來說,這相當於 50 頁的文字,意味著在對話或生成文本時,GPT-4 最多可以記住 50 頁左右內容。
一般來講,大語言模型處理上下文視窗大小的能力是預定好的。例如,Meta AI 發布的 LLaMA 模型,其輸入 token 大小必須少於 2048。
然而,在進行長對話、總結長文檔或執行長期計劃等應用程式中,經常會超過預先設定的上下文視窗限制,因而,能夠處理更長上下文視窗的LLM 更受歡迎。
但這又面臨一個新的問題,從頭開始訓練具有較長上下文視窗的 LLM 需要很大的投入。這自然引出一個疑問:我們能否擴展現有的預訓練 LLM 的上下文視窗?
一種直接的方法是對現有的預訓練 Transformer 進行微調,以獲得更長的上下文視窗。然而,實證結果表明,使用這種方式訓練的模型對長上下文視窗的適應速度非常慢。經過 10000 個批次的訓練後,有效的情境視窗增加仍然非常小,僅從 2048 增加到 2560(實驗部分的表 4 可以看出)。這表明這種方法在擴展到更長的上下文視窗上效率低下。
本文中,來自Meta 的研究者引入了位置插值(Position Interpolation,PI)來對某些現有的預訓練LLM(包括LLaMA)的上下文視窗進行擴充。結果表明,LLaMA 上下文視窗從 2k 擴展到 32k,只需要小於 1000 步的微調。
圖片
論文網址:https://arxiv.org/pdf/2306.15595.pdf
#該研究的關鍵思想不是進行外推(extrapolation),而是直接縮小位置索引,使得最大位置索引與預訓練階段的上下文視窗限制相符。換句話說,為了容納更多的輸入token,該研究在相鄰的整數位置上插值位置編碼,利用了位置編碼可以應用於非整數位置的事實,與在訓練過的位置之外進行外推相比,後者可能導致災難性的數值。
PI 方法將基於RoPE(旋轉位置編碼)的預訓練LLM(如LLaMA)的上下文視窗大小擴展到最多32768,只需進行最小的微調(在1000 個步驟內),這項研究在需要長上下文的各種任務上表現較好,包括檢索、語言建模以及從LLaMA 7B 到65B 的長文檔摘要。同時,透過 PI 擴展的模型在其原始上下文視窗內相對保持了較好的品質。
在我們比較熟悉的LLaMA、ChatGLM-6B、PaLM 等大語言模型中,都有RoPE 身影,該方法由追一科技蘇劍林等人提出,RoPE 透過絕對編碼的方式實現了相對位置編碼。
雖然 RoPE 中的注意力分數只取決於相對位置,但它的外推表現並不好。特別是,當直接擴展到更大的上下文視窗時,困惑度可能會飆升到非常高的數字 (即 > 10^3)。
本文採用位置內插的方法,其與外推方法的比較如下。由於基底函數 ϕ_j 的平滑性,內插法更加穩定,不會導致野值。
圖片
該研究將RoPE f 替換為f ′,並得到如下公式
###圖片######
该研究将在位置编码上的转换称为位置插值。这一步将位置索引从 [0, L′ ) 缩减到 [0, L) ,以匹配计算 RoPE 前的原始索引范围。因此,作为 RoPE 的输入,任意两个 token 之间的最大相对距离已从 L ′ 缩减到 L。通过在扩展前后对位置索引和相对距离的范围进行对齐,减轻了由于上下文窗口扩展而对注意力分数计算产生的影响,这使得模型更容易适应。
值得注意的是,重新缩放位置索引方法不会引入额外的权重,也不会以任何方式修改模型架构。
该研究展示了位置插值可以有效地将上下文窗口扩展到原始大小的 32 倍,并且这种扩展只需进行几百个训练步骤即可完成。
表 1 和表 2 报告了 PI 模型和基线模型在 PG-19 、 Arxiv Math Proof-pile 数据集上的困惑度。结果表明使用 PI 方法扩展的模型在较长的上下文窗口大小下显著改善了困惑度。
表 3 报告了在 PG19 数据集上使用 PI 方法,将 LLaMA 7B 模型扩展到 8192 和 16384 上下文窗口大小时的困惑度与微调步数之间的关系。
由结果可得,在没有微调的情况下(步数为 0),模型可以展现出一定的语言建模能力,如将上下文窗口扩展到 8192 时的困惑度小于 20(相比之下,直接外推方法的困惑度大于 10^3)。在 200 个步骤时,模型的困惑度超过了 2048 上下文窗口大小下原始模型的困惑度,表明模型能够有效利用比预训练设置更长的序列进行语言建模。在 1000 个步骤时可以看到模型稳步改进,并取得了更好的困惑度。
图片
下表表明,通过 PI 扩展的模型在有效上下文窗口大小方面都成功地实现了扩展目标,即仅通过微调 200 个步骤后,有效上下文窗口大小达到最大值,在 7B 和 33B 模型大小以及最高 32768 上下文窗口的情况下保持一致。相比之下,仅通过直接微调扩展的 LLaMA 模型的有效上下文窗口大小仅从 2048 增加到 2560,即使经过 10000 多个步骤的微调,也没有明显加速窗口大小增加的迹象。
图片
表 5 显示扩展到 8192 的模型在原始基准任务上产生了可比较的结果,而该基准任务是针对更小的上下文窗口设计的,对于 7B 和 33B 模型大小,在基准任务中的退化最多达到 2%。
图片
表 6 表明,具有 16384 上下文窗口的 PI 模型,可以有效地处理长文本摘要任务。
图片
以上是田徑棟團隊新研究:微調<1000步,將LLaMA上下文擴展至32K的詳細內容。更多資訊請關注PHP中文網其他相關文章!