新聞資訊
新聞資訊
DeepSeek 節(jié)前開始蓄力!
最新論文直接給 Transformer 加上“條件記憶”(Conditional Memory),補(bǔ)上了原生缺乏的知識(shí)查找機(jī)制。
結(jié)論中明寫道:我們將條件記憶視為下一代稀疏模型不可或缺的建模原語。

還是梁文鋒署名,并與北京大學(xué)王選所趙東巖、張輝帥團(tuán)隊(duì)合作。

論文中不僅提出了條件記憶這個(gè)全新范式,并給出了具體實(shí)現(xiàn)方案 Engram 模塊,實(shí)驗(yàn)中讓 27B 參數(shù)碾壓同規(guī)模純 MoE 模型,甚至變相提升了大模型的推理能力:
讓原來 Transformer 要用 6 層注意力才能干的簡單任務(wù)壓縮到 1-2 層搞定,省出來的資源就可以用于更難的推理任務(wù)了。
條件記憶的原理其實(shí)也非常“原始”:不靠計(jì)算,回歸查表,用上了傳統(tǒng) N-gram 方法。
給大模型一個(gè)巨大的詞表,專門存那些固定的實(shí)體名稱和兩三個(gè)詞的短語,不管詞表多大,找信息都是 O (1) 速度。
關(guān)鍵就在于,如此前大模型時(shí)代的玩法,DeepSeek 如何解決傳統(tǒng) N-gram 模型存儲(chǔ)爆炸和多義性問題,又是讓它和現(xiàn)代 Transformer 結(jié)合起來的?
讓注意力干“苦力活”太浪費(fèi)了
團(tuán)隊(duì)的核心觀察是,語言建模其實(shí)包含兩種性質(zhì)完全不同的任務(wù),一種是需要深度動(dòng)態(tài)計(jì)算的組合推理,另一種則是檢索靜態(tài)知識(shí)。
問題在于,現(xiàn)有的 Transformer 架構(gòu)缺乏原生的知識(shí)查找機(jī)制。
當(dāng)模型需要識(shí)別一個(gè)實(shí)體時(shí),它得消耗好幾層注意力和前饋網(wǎng)絡(luò),逐層拼湊特征,最終才能完成。
論文中引用了一個(gè)具體案例:”Diana, Princess of Wales”
模型需要經(jīng)過 6 層才能完成這個(gè)識(shí)別過程,前幾層還在糾結(jié)”Wales 是英國的一個(gè)地區(qū)”、”Princess of Wales 是某種頭銜”這些中間狀態(tài),最終才能“想起來”這是指戴安娜王妃。

本質(zhì)上是在用昂貴的運(yùn)行時(shí)計(jì)算來重建一個(gè)靜態(tài)查找表,那些本可以用于更高層推理的網(wǎng)絡(luò)深度,被浪費(fèi)在了識(shí)別概念這種“苦力活”上。
回歸查表,回歸 N-gram
Engram 的設(shè)計(jì)思路相當(dāng)直接:既然經(jīng)典的 N-gram 模型就能用 O (1) 的時(shí)間復(fù)雜度捕獲這些局部依賴,那為什么不把這個(gè)能力直接嵌入 Transformer?
具體實(shí)現(xiàn)上,團(tuán)隊(duì)在原有的 Transformer 層之間插入 Engram 模塊。每個(gè)位置的輸入會(huì)觸發(fā)一次哈希查找:把當(dāng)前 token 和前面幾個(gè) token 組成的 N-gram 映射到一個(gè)巨大的嵌入表中,直接取出對(duì)應(yīng)的向量。

為了處理哈希沖突和多義性問題,團(tuán)隊(duì)引入了上下文感知的門控機(jī)制,用當(dāng)前的隱藏狀態(tài)作為 Query,檢索到的記憶作為 Key 和 Value,計(jì)算一個(gè) 0 到 1 之間的標(biāo)量門控值。
如果檢索到的內(nèi)容和當(dāng)前上下文不匹配,門控值就趨近于零,相當(dāng)于自動(dòng)屏蔽噪聲。
下圖中,顏色越深說明 Engram 越判斷當(dāng)前文本片段是“固定靜態(tài)模式”,傾向于調(diào)用記憶庫中的對(duì)應(yīng)信息。
顏色越淺代表這段文本越動(dòng)態(tài)靈活,主要靠模型的注意力機(jī)制處理。
比如只看到“張”是一個(gè)常見姓氏,但是“張仲景”三個(gè)字湊一起就是固定歷史人物實(shí)體了。

接下來還要解決傳統(tǒng) N-gram 模型的兩個(gè)痛點(diǎn)。
語義重復(fù),同一個(gè)詞的不同形式(比如 Apple、apple、?pple)被當(dāng)成不同 token,浪費(fèi)存儲(chǔ)。
存儲(chǔ)爆炸,所有可能的 N-gram(比如 2 詞、3 詞組合)數(shù)量太多,比如 128k 詞表就要存 128k^3 種組合,直接存儲(chǔ)根本存不下。
DeepSeek 團(tuán)隊(duì)首先壓縮 tokenizer,把語義相同但形式不同的 token 歸為一類,128k 詞表的有效規(guī)模直接減少 23%,相同語義的 token 聚在一起,查找更高效。
再用多個(gè)哈希函數(shù)把 N-gram 映射成 embedding 表的索引,
這既解決了存儲(chǔ)爆炸:不管有多少種 N-gram,都通過哈希函數(shù)映射到一個(gè)固定大小的 embedding 表里,表的大小是質(zhì)數(shù)。
又減少查找沖突:給每種 N-gram 階數(shù)(比如 2-gram、3-gram)配 K 個(gè)不同的哈希頭,每個(gè)哈希頭對(duì)應(yīng)一個(gè)獨(dú)立的 embedding 表,把所有 N-gram 階數(shù)、所有哈希頭取出來的 embedding 向量拼在一起,形成最終的“記憶向量”e?,供后續(xù)模塊使用。


U 型曲線:MoE 和記憶的最優(yōu)配比
論文最核心的部分是對(duì)”稀疏性分配問題”的系統(tǒng)研究。
團(tuán)隊(duì)設(shè)計(jì)了一個(gè)嚴(yán)格的實(shí)驗(yàn)框架:固定總參數(shù)量和每 token 的激活參數(shù)量(也就是計(jì)算量),然后在 MoE 專家和 Engram 記憶之間重新分配”閑置參數(shù)”預(yù)算。
分配比例 ρ 從 100%(純 MoE)逐步降到 40%,實(shí)驗(yàn)結(jié)果畫出了一條清晰的 U 型曲線:

純 MoE 反而不是最優(yōu)解,把大約 20% 到 25% 的稀疏參數(shù)預(yù)算分給 Engram 記憶時(shí),模型驗(yàn)證集 loss 達(dá)到最低點(diǎn)。
在 100 億參數(shù)規(guī)模下,最優(yōu)配置比純 MoE 基線的 loss 降低了 0.0139。
更重要的是,這個(gè)最優(yōu)分配點(diǎn)在不同計(jì)算預(yù)算下都相當(dāng)穩(wěn)定,大約在 ρ=75% 到 80% 之間。
團(tuán)隊(duì)解釋了 U 型曲線兩端的含義:
MoE 主導(dǎo)時(shí),模型缺乏靜態(tài)模式的專用記憶,被迫通過網(wǎng)絡(luò)深度和大量計(jì)算來低效重建。
Engram 主導(dǎo)時(shí),模型丟失了條件計(jì)算能力,在需要?jiǎng)討B(tài)推理的任務(wù)上表現(xiàn)下降。
總之,記憶無法替代計(jì)算,計(jì)算也無法高效模擬記憶。
27B 規(guī)模驗(yàn)證:推理能力提升超預(yù)期
按照 U 型曲線的指導(dǎo),團(tuán)隊(duì)把 Engram 擴(kuò)展到更大參數(shù)規(guī)模進(jìn)行驗(yàn)證,并對(duì)比純 MoE 模型和純密集模型。
所有模型訓(xùn)練條件一致,激活參數(shù)量都是 38 億,訓(xùn)練 token 都是 2620 億,差異僅在“稀疏能力分配”。
Dense-4B:純密集模型。
MoE-27B:純混合專家模型,72 個(gè)路由專家 +2 個(gè)共享專家,所有稀疏參數(shù)都給 MoE。
Engram-27B:MoE+Engram 混合模型,55 個(gè)路由專家 +2 個(gè)共享專家,把 5.7B 稀疏參數(shù)分配給 Engram 記憶模塊。
Engram-40B:進(jìn)一步擴(kuò)展 Engram 模塊,保持專家數(shù)量不變,Engram 記憶參數(shù)增至 18.5B,總參數(shù) 39.5B。

結(jié)果 MoE-27B 和 Engram-27B 對(duì)比,知識(shí)密集型任務(wù)的提升在預(yù)期之內(nèi):比如 MMLU 提升 3 分,CMMLU 提升 4.0 分,TriviaQA 提升 1.9 分。
但出乎意料的是,通用推理和代碼數(shù)學(xué)領(lǐng)域的提升幅度也很大:BBH 大幅提升 5.0 分,ARC-Challenge 提升 3.7 分,DROP 提升 3.3 分,HumanEval 提升 3.0 分,MATH 提升 2.4 分,GSM8K 提升 2.2 分。

團(tuán)隊(duì)用 LogitLens 和 CKA 分析揭示了原因。
Engram 讓模型的早期層不再需要做特征組合的“苦力活”,KL 散度曲線顯示 Engram 模型的預(yù)測收斂速度明顯更快。更直觀的證據(jù)來自 CKA 相似度矩陣,Engram-27B 第 5 層的表征,和 MoE 基線第 12 層的表征最為相似。
這意味著 Engram 實(shí)際上“加深”了網(wǎng)絡(luò)的有效深度,省下來的層數(shù)被用于更復(fù)雜的推理任務(wù)。

Engram-40B 進(jìn)一步增加記憶參數(shù)后,大部分任務(wù)性能持續(xù)提升,且訓(xùn)練后期損失仍在下降,說明記憶容量還未飽和,后續(xù)可繼續(xù)擴(kuò)大。
另外長上下文場景的提升尤為顯著。
在 RULER 測試集上,Multi-Query NIAH 從 84.2 躍升到 97.0,Variable Tracking 從 77.0 提升到 89.0。

論文解釋說,Engram 把局部依賴建模卸載給了查找操作,釋放了注意力容量去關(guān)注全局上下文。
百億參數(shù)表放 CPU 上,延遲幾乎沒影響
接下來又到了喜聞樂見的軟硬結(jié)合工程優(yōu)化環(huán)節(jié)。
在訓(xùn)練階段,詞表規(guī)模會(huì)高達(dá) 100B 參數(shù),單個(gè) GPU 存不下,必須拆分到多個(gè) GPU 上,需要 All-to-All 通信機(jī)制,讓所有 GPU 之間互相傳遞需要的記憶片段。
在推理階段把詞表卸載到 CPU 內(nèi)存,同時(shí)又不能讓記憶調(diào)用拖慢計(jì)算節(jié)奏。

和 MoE 的動(dòng)態(tài)路由不同,Engram 的查找索引只取決于輸入 token 序列,完全可以提前計(jì)算。
這個(gè)確定性讓團(tuán)隊(duì)能夠把巨大的嵌入表放到 CPU 內(nèi)存里,用 PCIe 異步預(yù)取,讓通信和前面層的計(jì)算重疊。
具體通過把 Engram 模塊插在 Transformer 網(wǎng)絡(luò)的特定層,GPU 計(jì)算前一層的同時(shí),CPU 預(yù)取當(dāng)前層需要的 Engram 記憶,等 GPU 算完前一層,所需的記憶也已經(jīng)傳輸?shù)轿弧?/p>
實(shí)驗(yàn)直接把一個(gè) 1000 億參數(shù)的 Engram 表放到 CPU 內(nèi)存,在 H800 上跑推理。4B 密集模型的吞吐量從 9031 token/s 降到 8858 token/s,8B Dense 模型從 6315 token/s 降到 6140 token/s,額外開銷都在 3% 以內(nèi)。

自然語言 N-gram 天然遵循 Zipfian 分布,極少數(shù)高頻模式占據(jù)絕大多數(shù)訪問量。這意味著可以設(shè)計(jì)多級(jí)緩存:高頻嵌入放 GPU 顯存,中頻放 CPU 內(nèi)存,長尾放 NVMe SSD,把有效延遲進(jìn)一步壓縮。
DeepSeek 團(tuán)隊(duì)在結(jié)論中寫道:
Engram 將“硬件感知效率”確立為核心設(shè)計(jì)原則:其確定性尋址機(jī)制支持存儲(chǔ)與計(jì)算的解耦,能夠?qū)⒑A繀?shù)表卸載至主機(jī)內(nèi)存,且推理開銷可忽略不計(jì)。我們認(rèn)為,條件記憶將成為下一代稀疏模型中不可或缺的建?;?/p>
DeepSeek 的下一代稀疏模型,已被曝光將在春節(jié)前發(fā)布,敬請(qǐng)期待。
發(fā)布日期: 2024-07-08
發(fā)布日期: 2024-05-29
發(fā)布日期: 2024-01-30
發(fā)布日期: 2023-11-24
發(fā)布日期: 2024-06-27
發(fā)布日期: 2024-09-23
發(fā)布日期: 2024-06-05
發(fā)布日期: 2024-07-22
發(fā)布日期: 2026-01-22
發(fā)布日期: 2026-01-22
發(fā)布日期: 2026-01-22
發(fā)布日期: 2026-01-22
發(fā)布日期: 2026-01-22