核心挑戰:RoPE(旋轉位置嵌入)使用旋轉角度來編碼位置。在超過訓練長度的位置上,這些角度變成模型從未見過的外推,導致注意力模式崩潰。擴展技術修改位置映射到旋轉角度的方式,使得較長的序列產生在模型訓練範圍內的角度。
NTK 感知插值(神經正切核)以非均勻方式調整 RoPE 頻率:高頻分量(對局部模式重要)被保留,而低頻分量(依賴位置的)被插值。這保留了模型處理局部模式(詞序、語法)的能力,同時擴展了其全域位置編碼的範圍。這是一個單行程式碼修改,卻大幅改善了長度外推。
YaRN(Yet another RoPE extensioN)結合了 NTK 感知插值、注意力溫度校正和少量的擴展長度資料微調(通常幾百步)。這產生了能夠處理其原始上下文長度 4–8 倍且品質退化最小的模型。大多數開源的長上下文模型(如長上下文 Llama 或 Mistral 變體)使用 YaRN 或類似技術。微調步驟至關重要——單獨的縮放有一定效果,但在目標長度上的微調顯著提高了品質。