熱門話題
#
Bonk 生態迷因幣展現強韌勢頭
#
有消息稱 Pump.fun 計劃 40 億估值發幣,引發市場猜測
#
Solana 新代幣發射平臺 Boop.Fun 風頭正勁
你正在參加 OpenAI 的研究科學家面試。
面試官問:
「你會如何將 LLM 的上下文長度從 2K 擴展到 128K 令牌?」
你:"我會在具有 128K 上下文的更長文檔上微調模型。"
面試結束。
這是你錯過的:
擴展上下文窗口不僅僅是關於更大的矩陣。
在傳統的變壓器中,將標記擴展8倍會因為注意力的平方複雜性而使內存需求增加64倍。請參考下面的圖片!
那麼,我們該如何管理呢?
繼續...👇

1) 稀疏注意力
它通過以下方式限制注意力計算到一部分標記:
- 使用局部注意力(標記僅關注其鄰近標記)。
- 讓模型學習應該關注哪些標記。
但這在計算複雜性和性能之間存在權衡。

在 ModernBERT 中使用了類似的想法。
→ 每第三層進行全局注意力
→ 否則進行局部注意力(128 個標記)
結果:
- 序列長度增長 16 倍
- 性能大幅提升
- 最具記憶體效率的編碼器
簡單卻強大。

這裡有一個來自論文的直觀解釋:
想像一下你在讀一本書。對於你所讀的每一句話,你是否需要完全了解整個情節才能理解大部分內容(全局注意)?
還是說,對當前章節的了解就足夠了(局部注意),只要你偶爾回想一下它對主要情節的重要性(全局注意)?
在絕大多數情況下,答案是後者。
2) 快速注意力
這是一種快速且節省記憶體的方法,保留了傳統注意力機制的精確性,即它使用全局注意力,但效率更高。
整個想法圍繞著優化GPU記憶體內的數據移動。
讓我們來了解一下!

一些背景細節:
- 線程是最小的執行單位。
- 幾個線程形成一個區塊。
另外:
- 區塊中的線程共享一種稱為 SRAM 的快速(但稀缺)記憶體。
- 所有區塊共享一種稱為 HBM 的全局記憶體(豐富但緩慢)。
查看這個 👇

注意將大型矩陣在 SRAM 和 HBM 之間移動:
計算 QK:
- 將矩陣分配給線程
- 計算,然後
- 將產品發送到 HBM
計算 softmax:
- 將產品分配給線程
- 計算,然後
- 將輸出發送到 HBM
對所有層重複此操作。
查看這個 👇

閃電注意力涉及硬體級的優化,利用 SRAM 來快取中間結果。
這樣可以減少冗餘的移動,提供高達 7.6 倍於標準注意力方法的速度提升。
查看這個 👇

3) DeepSeek 稀疏注意力 (DSA)
DeepSeek 的新 V3.2 模型引入了 DeepSeek 稀疏注意力 (DSA),將複雜度從 O(L²) 降低到 O(Lk),其中 k 是固定的。
它是如何運作的:
一個輕量級的 Lightning Indexer 為每個查詢評分哪些標記實際上是重要的。
少量的頭,運行在 FP8,計算成本低。
然後一個選擇機制僅檢索前 k 個鍵值條目。
關鍵的見解是,每個查詢僅選擇 2048 個標記,無論上下文長度如何。
因此,昂貴的注意力計算僅在這個小子集上進行,而不是整個 128K 序列。

在128K上下文中,預填充成本從每百萬個標記約$0.65降至約$0.35。而解碼成本從約$2.4降至約$0.8。
而性能保持不變。在一些長上下文基準測試中,V3.2的實際得分更高。
稀疏注意力並不新鮮。但在不損失質量的情況下使其運作是困難的。
還有哪些其他技術可以增加LLM的上下文長度?

152.61K
熱門
排行
收藏

