DeepSeek推出“外挂字典”Engram:将为下一代模型V4提供动力

大模型也能“查字典”?新架构Engram让AI推理快如闪电 !DeepSeek提出“条件记忆”新范式Engram,通过O(1)哈希查表替代早期层静态知识重建,释放注意力资源,显著提升推理、代码与长上下文能力。


这篇论文由北京大学与深度求索(DeepSeek AI)联合团队完成,核心作者包括程鑫、曾旺鼎、戴大麦、陈钦宇等。其中,戴大麦是DeepSeek-MoE架构的主要贡献者之一,而张慧帅、赵东岩来自北京大学计算语言学教育部重点实验室,在稀疏建模与大模型系统优化方面具有深厚积累。整个团队长期专注于大语言模型的高效训练、推理加速和结构创新,此前已推出DeepSeek系列开源模型,在工业界和学术界均有广泛影响。


最近AI圈炸出一个重磅消息:大模型居然也能像人类一样“查字典”了!不是比喻,是真的在模型内部加了一个超大规模的静态记忆库,用常数时间直接查出固定搭配、专有名词、公式短语这些高频模式,不用再一层一层算半天。

这个叫Engram的新模块,出自北大和深度求索团队之手,它不靠增加计算量,而是巧妙地把“记忆”和“计算”分开处理,结果不仅知识问答变强了,连数学推理、代码生成、长文本理解都突飞猛进——这说明,光堆参数没用,结构才是王道。

传统的大模型,比如现在主流的Transformer,其实很“笨”。它没有原生的记忆检索机制,所有东西都得靠前馈网络和注意力一层层“拼”出来。比如看到“亚历山大大帝”,模型得从第一层开始,慢慢把“亚历山大”和“大帝”这两个token的信息融合,到第五六层才能完整识别出这是一个人名。这个过程本质上是在用昂贵的动态计算,去模拟一个本该是查表就能搞定的静态操作。这就浪费了宝贵的网络深度,本来可以用来做复杂推理的层数,却被拿去干“搬运工”的活儿了。

Engram的思路特别聪明:既然语言里有大量固定搭配、命名实体、惯用语这些高度重复又局部依赖的内容,那干脆给模型配个“外挂字典”。这个字典基于N-gram(比如2-gram、3-gram),但不是老式的统计语言模型,而是用现代哈希技术实现的可学习嵌入表。输入一段文本,模型先对token做标准化压缩(比如把大小写、空格变体统一),然后用多重哈希函数快速定位到嵌入表里的对应位置,直接取出预存好的向量。整个过程是O(1)复杂度,不管字典有多大,查一次的时间几乎不变。

但这还不是全部。

静态查出来的向量有个问题:它没有上下文感知能力。比如“苹果”可能是水果也可能是公司,光看n-gram没法判断。所以Engram加了个“上下文感知门控”机制。它把当前隐藏状态当作Query,把查出来的记忆向量当作Key和Value,用类似注意力的方式算一个0到1之间的门控系数。如果上下文和记忆匹配,就放行;如果不匹配(比如哈希冲突或一词多义),就自动抑制。这样一来,既保留了查表的高效,又避免了噪声干扰。

更绝的是系统层面的设计
因为查表的索引只依赖输入token序列,完全确定,不像MoE那样要等前一层算完才知道走哪条专家路径。所以推理时,系统可以在GPU跑前面几层的同时,提前从主机内存甚至SSD里把后面要用的嵌入向量预取过来。论文实测,哪怕把1000亿参数的嵌入表全扔到CPU内存,推理吞吐量也只下降不到3%。这意味着,模型的记忆容量几乎可以无限扩展,再也不用被GPU显存卡脖子。

团队还提出了一个叫“稀疏性分配”的理论框架:
在总参数和计算量固定的前提下,多少分给MoE专家做动态计算,多少分给Engram做静态记忆?他们做了大量实验,发现性能曲线是个明显的U型——纯MoE不行,纯记忆也不行,最佳点在75%左右的参数留给MoE,25%留给Engram。这个比例在不同规模下都很稳定,说明“计算+记忆”确实是互补的两个维度,而不是互相替代。

基于这个发现,他们训练了Engram-27B模型:总参数267亿,激活参数38亿,和DeepSeek自家的MoE-27B完全对标。
结果令人震惊:
在MMLU这种知识密集型任务上,Engram只比MoE高3到4分;
但在BBH通用推理、ARC挑战集、HumanEval代码生成这些需要深度思考的任务上,优势反而更大,最高拉开5分以上。

这彻底打破了“记忆模块只对知识有用”的刻板印象——原来,把早期层从琐碎的记忆重建中解放出来,相当于让网络“变深”了,自然更擅长复杂推理。

长上下文场景更是Engram的秀场
因为局部依赖被查表接管了,注意力头就能专心处理远距离的全局关系。在RULER评测里,Multi-Query Needle-in-a-Haystack(多针 haystack)任务,MoE-27B只能找到84.2%的针,而Engram-27B直接干到97%;变量追踪(Variable Tracking)也从77%飙升到89%。这说明,当模型不用再为“附近几个词是什么”分心时,它真的能更好地“记住”整篇文档的关键信息。

技术细节上,Engram模块插在第2层和第15层。
为什么是这两层?
实验发现,太早(比如第1层)上下文信息不足,门控不准;
太晚又错过了卸载早期计算的最佳时机。
第2层刚好经过一轮注意力聚合,有了初步语义,又能及时释放后续层的负担。

另外,他们用了8个哈希头来减少碰撞,并对tokenizer输出做了23%的压缩(比如把Apple、 apple、 Apple等归一化成同一个ID),大幅提升了嵌入表的语义密度。

训练策略也很讲究。Engram的嵌入参数用Adam优化器,学习率是主干的5倍,且不加权重衰减;卷积部分则初始化为零,确保训练初期完全透明,不影响原有模型收敛。这种“渐进式融合”让大模型能平稳过渡到新架构。在2620亿token的数据上训完,Engram-27B在Pile验证集上的loss比MoE基线低0.012,看似微小,但在大模型领域已是巨大差距。

进一步放大到Engram-40B(总参395亿,其中185亿是记忆),性能还在持续提升。虽然个别任务因训练步数不足还没完全发挥,但loss曲线显示,更大的记忆库仍有红利可挖。这验证了论文的核心观点:条件记忆是一条独立于条件计算的可扩展路径,而且边际效益递减得很慢。

最后看个直观案例。
在可视化门控系数时,模型对“亚历山大大帝”“银河系”“威尔士王妃戴安娜”这些多词实体,在最后一个token处(比如“帝”“系”“娅”)会打出接近1的高激活值;而对普通词汇则接近0。中文例子也一样,“四大发明”“张仲景”这些固定搭配被精准捕获。

这说明Engram真的学会了“什么时候该查字典”,而不是盲目注入记忆。

总结一下,Engram不是简单的模块堆砌,而是一次架构哲学的升级。它承认语言的双重性:既有需要深度组合的创造性部分,也有大量可查表复用的静态模式。强行用同一套机制处理两者,只会造成资源错配。把记忆变成一等公民,和计算并列,才能让大模型既快又聪明。

随着硬件内存越来越便宜,这种“计算在GPU、记忆在主机”的分离式设计,很可能成为下一代大模型的标准范式。

这场变革的意义,不亚于当年MoE的出现。

MoE解决了“如何用有限算力跑更大模型”的问题;而Engram解决的是“如何让大模型更高效地使用已有算力”的问题。前者是横向扩展,后者是纵向提效。当两者结合,我们或许离真正高效、强大、低成本的AGI又近了一步。对于开发者来说,这意味着以后调模型,不仅要考虑专家数量,还得想想该配多大的“字典”。而对于普通用户,你将用更低的成本,获得更强的AI助手——它不仅能回答你知道的问题,更能帮你思考你没想到的可能。

当然,Engram也不是万能药。它依赖语言中的局部规律性,对于完全随机或高度创造性的内容帮助有限。而且,哈希碰撞、一词多义等问题依然存在,只是被门控机制缓解了。但瑕不掩瑜,这项工作至少证明了一点:大模型的优化空间,远不止于堆参数和数据。结构上的巧思,同样能带来质的飞跃。

可以预见,接下来会有更多研究跟进“条件记忆”这条路线。比如,能不能把知识图谱也做成可查表的记忆?能不能让记忆模块支持更新,实现真正的持续学习?甚至,能不能把人类的记忆机制——比如情景记忆、语义记忆——也借鉴进来?Engram打开的,或许是一扇通往更智能、更高效AI的大门。