技術指南

YaRN 和上下文長度擴展

YaRN(另一種 RoPE 擴展)是一種有效的技術,可以將模型的可用上下文視窗擴展到遠遠超出其訓練範圍的範圍。

概述

YaRN(另一種 RoPE 擴展)是一種有效的技術,可以將模型的可用上下文視窗擴展到遠遠超出其訓練範圍的範圍。它巧妙地重新縮放旋轉位置嵌入,因此在 4K 令牌上訓練的模型可以透過最少的微調處理 32K 或更多。

YaRN 和上下文長度擴展是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。

深入探討

大多數現代法學碩士都使用 RoPE(旋轉位置嵌入)對令牌位置進行編碼,它按與位置相關的角度旋轉查詢和鍵向量。當您輸入的序列比訓練長度長時,這些旋轉會進入看不見的範圍,並且模型會崩潰。 YaRN 由 Bowen Peng 及其合作者於 2023 年推出,透過按頻率應用 NTK 感知插值來修復此問題:它使高頻維度(捕獲本地、短程關係)基本保持不變,同時插值低頻維度(追蹤遠端位置)。 YaRN 還為注意力添加了溫度調整,以應對來自較長上下文的熵變化。僅對樸素方法所需的一小部分數據和步驟進行微調後,結果是強大的長上下文性能。

技術洞察

RoPE 為每個嵌入維度分配一個旋轉頻率。樸素的線性插值同等地壓縮所有頻率,損害了編碼精細局部細節的高頻維度。 YaRN 使用斜坡函數僅對低頻(長波長)維度進行插值,同時保留高頻維度,再加上 1/sqrt(t) 注意力溫度縮放,可隨著序列長度的增長保持 softmax 銳度穩定。這種按部分 NTK 的方法擴展了上下文,並且降級少得多。

掌握 YaRN 和上下文長度擴展

YaRN(另一種 RoPE 擴展)是一種有效的技術,可以將模型的可用上下文視窗擴展到遠遠超出其訓練範圍的範圍。它巧妙地重新縮放旋轉位置嵌入,因此在 4K 令牌上訓練的模型可以透過最少的微調處理 32K 或更多。 YaRN 和上下文長度擴展是一個技術構建塊,會大規模影響模型品質、基礎設施成本、延遲和可靠性。為了建立深入的理解,請將 YaRN 和上下文長度擴展視為一種操作模型,而不是單一功能:定義期望的結果,澄清假設,並將系統可以可靠地完成的任務與仍需要專家判斷的任務分開。

在實踐中,使用 YaRN 和上下文長度擴展的強大團隊可以根據可靠性和成本來優化架構、資料和基礎設施選擇。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

多年來,架構決策決定著效能和營運成本。同時,優化一個基準測試可以隱藏更廣泛的系統弱點。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

多年來,架構決策決定著效能和營運成本。

多年來,架構決策決定著效能和營運成本。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

更好的工程選擇可以減少生產中的可靠性事故。

更好的工程選擇可以減少生產中的可靠性事故。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

YaRN 和上下文長度擴展的未來

上下文擴展現在已成為標準做法:開放模型通常會提供達到 128K 令牌或更多的 YaRN 擴展變體。研究正在轉向透過零或接近零微調來擴展上下文、將 RoPE 重新縮放與注意力模式技巧相結合、並在整個窗口(而不僅僅是兩端)保持品質的方法。預計這些技術會更緊密地整合到預訓練中,因為長上下文是原生的而不是改造的。

現實世界的實施

透過簡單的微調將開放的 4K 上下文模型擴展到 32K 或 128K,以進行長文檔問答

使檢索增強系統能夠攝取許多串聯的段落而不被截斷

為需要整個大型儲存庫文件或一次提示中的多個文件的程式碼助理提供支持

針對累積大量聊天歷史的長時間多輪對話調整基本模型

實施模式

YaRN 和上下文長度擴展的實踐

將開放的 4K 上下文模型擴展到 32K 或 128K,透過簡短的微調來回答長文檔問題。

將開放的 4K 上下文模型擴展到 32K 或 128K,透過簡短的微調來回答長文件問題 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

YaRN 和上下文長度擴展的實踐

使檢索增強系統能夠攝取許多串聯的段落而不被截斷。

使檢索增強系統能夠攝取許多串聯的段落而不會被截斷當團隊預先定義質量閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

YaRN 和上下文長度擴展的實踐

為需要在一個提示中提供整個大型儲存庫檔案或多個檔案的程式碼助理提供支援。

為需要整個大型儲存庫檔案或一次提示中的多個檔案的程式碼助理提供支援 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。

YaRN 和上下文長度擴展的實踐

針對累積大量聊天歷史的長時間多輪對話調整基本模型。

為累積大量聊天歷史記錄的長時間多輪對話調整基本模型當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

優化一項基準測試可以隱藏更廣泛的系統弱點。

!

基礎設施和維護成本常常被低估。

!

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

在實施之前定義延遲、品質和成本目標。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在實際負載和資料條件下進行基準測試。

在實際負載和資料條件下進行基準測試。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

儀器監控錯誤、漂移和使用者影響。

儀器監控錯誤、漂移和使用者影響。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

在擴展之前準備回滾和事件回應路徑。

在擴展之前準備回滾和事件回應路徑。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索