DeepSeek節前開始蓄力!
最新論文直接給Transformer加上“條件記憶”(Conditional Memory),補上了原生缺乏的知識查找機制。
結論中明確寫道:我們將條件記憶視為下一代稀疏模型不可或缺的建模原語。
還是梁文鋒署名,并與北京大學王選所趙東巖、張輝帥團隊合作。
論文中不僅提出了條件記憶這個全新范式,并給出了具體實現方案Engram模塊,實驗中讓27B參數碾壓同規模純MoE模型,甚至變相提升了大模型的推理能力:
讓原來Transformer要用6層注意力才能干的簡單任務壓縮到1-2層搞定,省出來的資源就可以用于更難的推理任務了。
條件記憶的原理其實也非常“原始”:不靠計算,回歸查表,用上了傳統N-gram方法。
給大模型一個巨大的詞表,專門存那些固定的實體名稱和兩三個詞的短語,不管詞表多大,找信息都是O(1)速度。
關鍵就在于,如此前大模型時代的玩法,DeepSeek如何解決傳統N-gram模型存儲爆炸和多義性問題,又是讓它和現代Transformer結合起來的?
讓注意力干“苦力活”太浪費了
團隊的核心觀察是,語言建模其實包含兩種性質完全不同的任務,一種是需要深度動態計算的組合推理,另一種則是檢索靜態知識。
問題在于,現有的Transformer架構缺乏原生的知識查找機制。
當模型需要識別一個實體時,它得消耗好幾層注意力和前饋網絡,逐層拼湊特征,最終才能完成。
論文中引用了一個具體案例:”Diana, Princess of Wales”
模型需要經過6層才能完成這個識別過程,前幾層還在糾結”Wales是英國的一個地區”、”Princess of Wales是某種頭銜”這些中間狀態,最終才能“想起來”這是指戴安娜王妃。
本質上是在用昂貴的運行時計算來重建一個靜態查找表,那些本可以用于更高層推理的網絡深度,被浪費在了識別概念這種“苦力活”上。
回歸查表,回歸N-gram
Engram的設計思路相當直接:既然經典的N-gram模型就能用O(1)的時間復雜度捕獲這些局部依賴,那為什么不把這個能力直接嵌入Transformer?
具體實現上,團隊在原有的Transformer層之間插入Engram模塊。每個位置的輸入會觸發一次哈希查找:把當前token和前面幾個token組成的N-gram映射到一個巨大的嵌入表中,直接取出對應的向量。