Transformer 與大型語言模型內部機制
YaRN 上下文延伸
YaRN 是一套把模型可用上下文視窗延展到遠超訓練長度的配方,做法是重新縮放 RoPE 的旋轉頻率,且只需極少量微調。它要解決的問題是:一個在比方說 4k token 訓練的模型,從沒見過位置 32k 才會出現的旋轉角度,因此天真外推會產生亂碼。YaRN 重塑那些角度,讓較長位置落回模型已經理解的範圍。
它建立在 NTK-aware 插值上,但依波長對 RoPE 的頻帶分別處理。短波長的高頻維度編碼細緻的局部順序,幾乎原封不動以保留精準的近距關係;長波長的低頻維度則被插值與縮放,使遠處位置維持在分布內;中間帶則在兩者之間平滑過渡。YaRN 再加一招——對注意力 softmax 做輕微的溫度調整,把 logits 乘一個常數——以補償較長上下文的熵變化,顯著改善困惑度。
報酬很大:延伸版的 LLaMA 類模型只在原始 token 不到百分之一上微調,就能達到 64k 至 128k 上下文,遠比從頭做長序列訓練便宜。限制是延伸只是拉伸既有的位置方案,而非加入新的長程資訊,因此極長上下文的檢索品質仍取決於資料與注意力設計。
又称
另见