我有點好奇一個問題,
讓現(xiàn)階段一個百萬上下文的大模型讀一本百萬字的小說,需要推理嗎?
可能大部分時候不需要,它需要的只是記住,記住第一章的主角在最后一章說了什么。
現(xiàn)在傳統(tǒng)的Transformer架構(gòu)只有一種處理方式,全靠硬算。它像一個過于認真的前排學霸,為了記住最后一章的內(nèi)容,把前面九十九萬字的內(nèi)容跟每一個新生成的字都做一次對比計算。
![]()
這樣會占大量的顯存,計算量也會平方級增長。
這一周新的大模型也是不停刷新,MiniMax M2.5,GLM5,Gemini 3.1 Pro Preview,DeepSeek新版本(疑似V4),我都希望他們可以接入我的OpenClaw里面,做一個長對話長記憶的模型。
昨天,面壁還發(fā)了一篇新論文,提出了一個叫SALA(Sparse Attention-Linear Attention)的混合注意力架構(gòu)。它給出了一個新觀點,
該快的地方就得快,該準的地方必須準。
![]()
https://github.com/OpenBMB/MiniCPM/blob/main/docs/MiniCPM_SALA.pdf
在他們的SALA架構(gòu)里,
一部分模塊專門負責快,
另一部分模塊專門負責準。
結(jié)果就是,基于SALA架構(gòu)的模型,在端側(cè)顯卡上,第一次把百萬的長文本推理,穩(wěn)穩(wěn)跑通了。
![]()
我們來看一個具體的例子,
模型在處理百萬字小說時,內(nèi)部發(fā)生了什么。
每生成一個新詞,模型都要把它和前面所有詞語的鍵值對,也就是KV Cache,全部計算一遍。計算復(fù)雜度是隨著文本長度平方級增長的,
同時,這個KV Cache會像滾雪球一樣,迅速吃掉你所有的顯存。把上下文從一萬字拉到一百萬字,計算量不是漲一百倍,是飆升一萬倍。
這就是為什么傳統(tǒng)架構(gòu)在長上下文任務(wù)面前,會同時撞上計算墻和顯存墻。
![]()
這幾十萬字的上下文,大部分可能只是背景描述,真正關(guān)鍵的信息也許就那么幾句。
但模型為了找到這幾句關(guān)鍵信息,付出的代價是把所有內(nèi)容都用最高精度過了一遍。
來看看SALA的幾個關(guān)鍵的設(shè)計,
首先是兩種模塊的分工。
線性注意力,我們這里可以理解為負責準的模塊,面壁選用的是Lightning Attention,挑出那些最關(guān)鍵的局部信息進行精細計算。稀疏注意力,則是負責快的模塊,面壁選用的是InfLLM v2,會高效計算所有信息。
SALA就是把這兩者結(jié)合了起來。整個模型里,75%的層是負責準的線性注意力,剩下的25%,是負責快的稀疏注意力。這個比例經(jīng)過大量實驗找出的效率與精度之間的平衡點。
![]()
在不使用任何額外技術(shù)(如YaRN)的前提下,MiniCPM-SALA 可以將上下文長度拓展至2048K。
怎么保證它們能好好合作,不是互相干擾呢?
SALA用了一個叫HyPE的混合位置編碼策略。在線性層,它保留了RoPE,保證短文本能力不受影響。在稀疏層,它去掉了位置編碼,避免了信息在長距離傳遞時的衰減問題。
模型在檢索幾萬甚至幾十萬token之前的內(nèi)容時,依然能保持高精度。
![]()
最后是模型怎么來的。
這里有一個核心問題,要訓練一個全新的混合架構(gòu)模型,成本超級高。
面壁沒有從零開始,反而是提出了一個叫HALO的訓練范式。簡單來說,就是拿一個已經(jīng)訓練好的全注意力模型,比如MiniCPM-4.0,通過架構(gòu)轉(zhuǎn)換,把它的一部分層變成線性注意力,另一部分變成稀疏注意力,然后進行持續(xù)訓練。
![]()
這種方式,就像是給一輛性能不錯的汽車做改裝升級,而不是重新設(shè)計一輛新車。它繼承了原模型已經(jīng)學到的所有知識和能力,只是讓它學會了用一種更高效的方式去工作。相比從頭訓練,這個方法的成本直接降低了大約75%。
這個訓練過程也很有講究,分為架構(gòu)轉(zhuǎn)換,穩(wěn)定訓練,短衰減,長衰減和微調(diào)五個階段。特別是在長衰減階段,模型逐步把上下文長度從4K擴展到520K,讓模型充分學習兩種注意力機制協(xié)同。
我們來看效果數(shù)據(jù)。
這次面壁并沒有用一堆榜單來證明自己,是出了真實場景下的性能數(shù)據(jù),對比的是同等規(guī)模的全注意力模型Qwen3-8B,我挑幾個關(guān)鍵數(shù)據(jù),
在推理速度上,當上下文長度達到256K時,MiniCPM-SALA的速度是Qwen3-8B的3.5倍。
這個提升完全來自架構(gòu)本身的優(yōu)勢。
![]()
在顯存占用上,在RTX 5090這樣的消費級顯卡上,Qwen3-8B在上下文長度達到128K時,就會因為顯存不足而崩潰。而MiniCPM-SALA可以穩(wěn)穩(wěn)地跑到1M,也就是一百萬token的長度。
![]()
但我是個挑剔的人,
用了會丟信息的注意力,模型是不是沒腦子了?
這也是這篇工作最有價值的部分。實驗數(shù)據(jù)顯示,MiniCPM-SALA在數(shù)學,代碼,知識問答這些常規(guī)能力上,和同規(guī)模的全注意力模型基本持平,沒有出現(xiàn)明顯的性能折損。
![]()
傳統(tǒng)的全注意力模型,在處理長文本時,它的注意力容量被大量消耗在維持局部依賴上,比如識別一個多詞組成的人名。而SALA架構(gòu),把這些任務(wù)交給了更高效的模塊,從而釋放了稀疏注意力層的容量,讓它們可以更專注于建立全局的,跨越超長距離的上下文聯(lián)系。
為了推動這個架構(gòu)落地,面壁聯(lián)合了SGLang和NVIDIA,發(fā)起了一個稀疏算子加速大獎賽SOAR。
![]()
SALA雖然在架構(gòu)上做好了,
但底層的計算算子,相比已經(jīng)被優(yōu)化到極致的FlashAttention,還有很大提升空間。
這個比賽就是邀請全球的開發(fā)者,一起來把SALA這臺新引擎的性能,壓榨到極限。
平時測評模型測多了,
都是Coding,Coding,Coding,
我很高興看到還不斷能有新的架構(gòu),
新的算法出現(xiàn),
就算是DeepSeek這一年,
更新模型的同時也沒停過公開自己的算法,
面壁過去這一年也是不停發(fā)端側(cè)模型的工作,
我覺得就這速度都不需要五年十年,
可能過個兩三年,
在小天才手表上也能跑個大大大模型。
@ 作者 / 卡爾
最后,感謝你看到這里如果喜歡這篇文章,不妨順手給我們點贊|在看|轉(zhuǎn)發(fā)|評論
如果想要第一時間收到推送,不妨給我個星標
如果你有更有趣的玩法,歡迎在評論區(qū)和我聊聊
更多的內(nèi)容正在不斷填坑中……
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.