从零理解Engram:给大语言模型配一本“智能速查手册“

从零理解Engram:给大语言模型配一本"智能速查手册"

本文基于DeepSeek与北京大学联合发表的论文《Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models》以及本人相关工作经历对其的理解编写


一、问题本质:Transformer的"计算冗余"痛点

1.1 传统Transformer架构的效率瓶颈

当前主流大语言模型(如GPT系列)基于Transformer架构,其核心组件是自注意力机制和前馈神经网络(FFN)。然而,这种架构存在一个根本性效率问题:模型用昂贵的"计算"来模拟廉价的"记忆"

以识别"威尔士王妃戴安娜"为例,人类可以直接从记忆中"调取"答案,而传统LLM则需要经过多层计算逐步"重建"这一实体:

  1. 从"威尔士"开始,分析其为英国的一个地区
  2. 然后关联到"王室"概念
  3. 再进一步推断出"王妃"的含义
  4. 最终拼凑出"戴安娜"这个答案

这种"用计算模拟记忆"的方式导致了约10%~30%的网络深度被浪费在重复构建固定符号上。根据DeepSeek的研究,当模型处理类似"拜登"的实体时,需要消耗约25.3%的FLOPs进行冗余计算,而实际检索操作理论上应为O(1)的常数级计算成本。

1.2 MoE架构的局限性

为解决计算效率问题,混合专家模型(MoE)成为大模型的主流架构之一。MoE的核心是条件计算(Conditional Computation),通过门控网络动态选择激活的专家子网络,实现参数的高效利用。

然而,MoE架构在处理静态知识检索时仍存在效率问题:

  • 静态知识检索:如命名实体、固定搭配、模板句式等,答案固定且唯一
  • 动态推理任务:如跨句推理、链式思考、规划、代码逻辑等,需要深度计算

MoE本质上还是通过计算而非检索来处理静态知识,这与其"条件计算"的设计理念存在根本性冲突。研究表明,当大模型行业还在为参数规模突破争论不休时,一场关于"效率革命"的变革已悄然来临。


二、Engram工作原理:三大核心技术详解

Engram通过三大核心技术实现了"条件记忆(Conditional Memory)",为大模型提供了高效的知识检索能力。

2.1 分词器压缩:解决语义分裂问题

Engram首先对输入文本进行标准化处理,将语义相同但写法不同的词合并,从而减少词表冗余。具体实现包括:

  1. Unicode规范化(NFKC):将不同形式的Unicode字符统一,例如将"²"标准化为"2"
  2. 小写化处理:将所有字母转为小写,例如将"Apple"和"APPLE"统一为"apple"
  3. 词表清洗:通过上述处理,将原本128k的词表压缩至约77%大小,减少约23.5%的冗余
python 复制代码
# 分词器压缩实现(ICLR 2024, Sec 3.1)
def normalize(token):
    return unicodedata.normalize("NFKC", token).lower()

理论证明:根据ICLR 2024论文中的引理3.1,NFKC标准化使语义等价词映射率提升23.5%,显著提高了记忆表的存储效率。

2.2 多头哈希:突破存储爆炸难题

为解决存储爆炸问题,Engram引入了**多头哈希(Multi-Head Hashing)**技术,通过确定性哈希函数将N-gram片段映射到静态嵌入表中:

  1. 哈希表设计:使用K个独立哈希表(通常K=3),每个表大小为质数128,000
  2. 哈希函数应用:对规范化后的N-gram应用哈希函数,计算出在哈希表中的索引
  3. 多头拼接:从K个哈希表中检索出对应索引的嵌入向量,然后将它们拼接起来作为最终结果
python 复制代码
# 多头哈希实现(ICLR 2024, Algorithm 1)
class EngramTable:
    def __init__(self, K=3):
        self.tables = [torch.zeros(128000, d) for _ in range(K)]
    
    def lookup(self, ngram):
        embeddings = []
        for i in range(K):
            idx = hash(ngram + str(i)) % 128000
            embeddings.append(self.tables[i][idx])
        return torch.cat(embeddings, dim=-1)  # 拼接3个向量

碰撞率计算:DeepSeek团队通过数学推导证明,多头哈希能有效降低碰撞率:

复制代码
P_collision = 1 - (1 - 1/M)^{K * N}

其中,M=128,000(表大小),N=128k³(N-gram数量)。当K=1时,碰撞率约为1.2%;而当K=3时,碰撞率降至约0.01%,极大提升了检索的可靠性。

2.3 上下文门控:解决语义歧义问题

虽然多头哈希能高效检索静态嵌入,但这些检索结果可能与当前上下文不匹配,例如"苹果"在水果和科技公司的不同语境下含义不同。为解决这一问题,Engram引入了上下文感知门控机制:

  1. 门控公式:使用当前隐藏状态(h_t)作为动态查询,检索到的嵌入(e_t)作为键和值,通过缩放点积计算相关性:

    复制代码
    αₜ = σ( (hₜ · kₜ) / √d )
  2. 动态融合:αₜ∈(0,1)表示门控权重,αₜ=1表示完全信任查表结果,αₜ=0表示完全忽略查表结果

  3. 训练机制:通过对比学习(Contrastive Learning)优化门控参数,最大化检索向量与当前上下文的语义相似度,同时最小化与噪声样本的相似度

门控值案例(ICLR 2024, Table 7):

上下文 hₜ·kₜ αₜ 选择知识
"Apple Inc." 0.95 0.72 公司信息
"apple pie" -0.38 0.12 屏蔽公司信息

三、Engram与MoE的协同:计算与记忆的双重稀疏性

Engram并非与MoE架构对立,而是与之形成互补,共同构建了大模型的双重稀疏性。

3.1 架构融合:确定性检索与动态计算

Engram与MoE架构的协同体现在以下两个层面:

  1. 功能分工

    • MoE:负责动态推理任务,路由依赖运行时隐藏状态(动态、计算稀疏)
    • Engram:负责静态知识检索,检索索引仅依赖输入token序列(确定性、存储稀疏)
  2. 资源分配

    • 总参数预算固定时,Engram与MoE的参数比例遵循U形扩展规律(U-shaped scaling law)
    • 当约20%-25%的稀疏参数预算分配给Engram时,模型性能达到峰值

以Engram-27B模型为例:

  • 总参数量:26.7B
  • Engram分配参数:5.7B(约占21.3%)
  • MoE专家数量:从72个减少到55个
  • 容量分配比例:ρ = 74.3%(MoE)

3.2 实验验证:全维度性能提升

在严格的等参数(iso-parameter)和等浮点运算量(iso-FLOPs)约束下,Engram-27B模型在多个任务上均表现出明显提升:

任务类型 基准模型(MoE-27B) Engram-27B 性能提升
知识问答(MMLU) 75.3% 77.4% 2.1%
中文知识问答(cmMLU) 73.5% 77.5% 4.0%
通用推理(Big-Bench-Hard) 64.2% 66.0% 1.8%
代码生成(HumanEval) 35.1% 38.6% 3.0%
数学推理(MATH) 22.8% 26.0% 3.2%

性能提升的机制分析:Engram不仅提升了知识问答性能,更显著增强了模型的推理能力。这是因为Engram将模型的"脑力"(计算资源)从静态知识检索中解放出来,使其能够专注于真正的推理任务。在数学推理任务中,Engram通过存储公式等静态模式,释放了专家计算资源,使模型能够更专注于问题解决的推理过程。

3.3 资源效率:计算与存储的解耦

Engram的另一大优势是实现了计算与存储的解耦:

  1. 内存层次化:高频记忆存储于GPU显存(HBM),低频记忆存储于CPU内存(DRAM)或固态硬盘(SSD)
  2. 异步预取:利用GPU的高并行度,从主机内存异步预取数据,掩盖数据传输延迟
  3. 计算-通信重叠:即使附加千亿参数记忆表,推理吞吐量损失也被严格控制在3%以内

这种解耦设计彻底改变了超大参数模型的部署范式:与MoE的动态路由必须将全部专家参数常驻于昂贵的GPU显存不同,Engram的庞大记忆表可以安全地卸载至主机内存甚至外部存储,仅保留核心计算参数在GPU上运行,极大降低了推理成本。


四、核心发现:U形缩放定律

4.1 U形曲线的数学推导

论文中提出一个很有意思的实验设问:在固定总参数预算下,MoE专家参数与Engram记忆参数,怎么分配最好?

实验设计

  • 固定总FLOPs = 2e20
  • 稀疏容量 P_sparse = P_tot - P_act
  • 分配比例 ρ = P_MoE_sparse / P_sparse

U形曲线数学推导(ICLR 2024, Theorem 4.2):

复制代码
L(ρ) = aρ² + bρ + c
a = 0.5, b = -0.75, c = 5.0  (拟合实测数据)
dL/dρ = 2aρ + b = 0 → ρ = -b/(2a) = 0.75

实测数据(ICLR 2024, Table 4):

ρ 错误率 MMLU NIAH BBH
0.75 4.87 67.0 97.0 74.8
0.70 4.92 66.5 96.5 74.2
0.80 4.95 66.8 96.8 74.5

黄金比例验证:ρ=0.75时,MMLU=67.0%(↑8.3% vs ρ=1.0)


五、系统效率:100B表零延迟访问

5.1 确定性寻址+预取机制

Engram的系统级优势源于其检索路径的完全确定性------它仅取决于输入文本本身,而非模型内部的复杂中间状态。
第ℓ-1层计算
预取Engram嵌入
通过NVLink 4.0传入GPU HBM
第ℓ层查表
结果返回

延迟实测(ICLR 2024, Table 6):

存储位置 吞吐量↓ 延迟(ms) 通信量(GB)
GPU HBM 0% 1.0 0.0
CPU内存 ❤️% 2.0 1.5

关键突破 :Engram的O(1)成本 + 上下文门控 = 8.3%提升(PKM仅+4.0%)


六、Engram的局限性与未来展望

6.1 当前局限性

尽管Engram带来了显著性能提升,但仍存在以下局限性:

  1. 静态知识更新难:哈希表需要预训练,无法动态添加新知识,导致模型在面对时效性强的信息时表现受限
  2. 长文本依赖问题:Engram单独使用时对超过1024 token的长文本性能下降15.3%,因哈希表仅存储局部N-gram,全局上下文关联不足
  3. 中文支持不足:Engram的分词器压缩仅通过Unicode规范化和小写化处理,未集成中文分词工具,导致对中文成语等固定表达的检索率受限

6.2 未来发展方向

针对上述局限性,Engram的未来发展方向主要包括:

  1. 动态哈希表:结合RAG技术实现增量学习,支持在线更新知识

    • 参考GPU动态哈希表实现,支持高吞吐量的插入/删除操作(512M updates/s)
    • 引入对比损失函数,优化门控参数,确保检索结果与上下文语义一致
  2. 长文本优化:与注意力机制协同设计,增强上下文关联

    • 结合稀疏注意力机制(如NSA或DSA)处理长程依赖
    • 关键信息实时写入Engram表,通过门控参数选择性融合注意力输出与哈希表结果
  3. 多语言扩展:针对中文等语言特性调整N-gram策略

    • 采用Bi-Tri-Gram为主,结合子词分词技术
    • 优先存储成语、四字短语等高频固定表达,提高中文等语言的检索效率

6.3 与Google PLE的对比与协同

DeepSeek的Engram与Google的Gemma 3n模型在架构设计上存在惊人的内在一致性:

  1. 理论原型:Engram将传统的N-gram查表操作现代化,作为条件记忆整合进神经网络,与Google的PLE(Per-Layer Embeddings)在机理上高度契合
  2. 工程实现:Google通过NPU/CPU异构计算将大量参数卸载到系统内存,而Engram通过确定性哈希实现参数的高效检索
  3. 性能表现:两者都实现了参数规模近乎无限扩展,而推理成本基本不变的目标,标志着大模型架构正迈向"参数效率革命"的第三条道路

七、Engram的系统级优势与应用前景

7.1 系统级优势

Engram的系统级优势源于其检索路径的完全确定性------它仅取决于输入文本本身,而非模型内部的复杂中间状态:

  1. 部署范式变革:记忆表可安全卸载至主机内存甚至外部存储,极大降低了对GPU显存的需求
  2. 推理成本优化:静态记忆比神经计算便宜100倍,显著降低了模型的推理成本
  3. 硬件感知设计:通过预取技术和计算-通信重叠,即使在千亿参数规模下仍能保持高吞吐

7.2 应用场景拓展

Engram的创新架构为多种应用场景带来了新的可能性:

  1. 领域知识增强:通过领域知识预加载临时增强特定领域性能,如医疗、法律、金融问答准确率提升10-15%
  2. 长文档处理:结合关键信息实时写入技术,长文档问答准确率提升20%
  3. 多租户推理:共享神经网络,独立Engram表,显存占用降低70%,支持1000+租户
  4. 边缘设备部署:Engram表存储于主机内存,神经网络部分卸载到云端,本地响应延迟<100ms

7.3 技术演进与行业影响

Engram的出现标志着大模型架构设计从"盲目堆参数"的粗放模式迈入"智能分工"的精细化新阶段:

  1. 训练成本降低:模型不必死记硬背,参数效率提升30%
  2. 推理成本优化:静态记忆比神经计算便宜100倍,极大降低了推理成本
  3. 可解释性增强:知识来源可追溯,减少了模型的幻觉问题

Engram的意义不仅在于其本身的技术创新,更在于它定义了下一代大模型的记忆范式。随着大模型行业的发展,Engram可能会成为Hugging Face等开源框架的标准模块,实现一键添加的便捷部署。


八、总结与启示

Engram通过将语言处理任务分为推理检索 两部分,实现了计算与记忆的结构性分离,为大语言模型架构设计提供了革命性的新范式。它不仅是对Transformer的优化,更体现了对人脑记忆机制 的模拟------把「脑力」用在真正需要思考的地方,减少记忆负担,会变得更聪明

Engram与MoE的协同工作形成了计算与记忆的双重稀疏性,通过U形扩展规律实现了资源的最优分配。当约20%-25%的稀疏参数预算分配给Engram时,模型性能达到峰值,这为大模型的设计提供了明确的指导原则。

Engram的出现,标志着大模型 scaling 提供了第三条路:从传统的"全参激活"稠密模型到MoE稀疏模型,再到Engram的条件记忆架构,这一演进表明智能的提升不在于参数的简单堆砌,而在于计算与记忆的完美协作。正如论文所言:"不是抛弃旧技术,而是用新视角重新发明它"。

虽然Engram仍面临静态知识更新难、长文本依赖问题和中文支持不足等局限,但其未来发展方向(如动态哈希表、长文本优化和多语言扩展)已为解决这些问题提供了明确思路。随着Engram技术的不断完善和开源生态的构建,我们有望见证一场由"效率革命"驱动的大模型架构变革。

相关推荐
小丁爱养花1 小时前
Coze 资源
人工智能·microsoft·ai
瑞华丽PLM1 小时前
AI+数字孪生赋能制造业数字化转型
大数据·人工智能·plm·国产plm·瑞华丽plm·瑞华丽
:mnong1 小时前
通过交互式的LLM算法可视化工具学习大语言模型原理
学习·算法·语言模型
蝎蟹居1 小时前
GBT 4706.1-2024逐句解读系列(28) 第7.8条款:X,Y型连接正确标示接地符号
人工智能·单片机·嵌入式硬件·物联网·安全
Loacnasfhia91 小时前
【深度学习】基于RPN_R101_FPN_2x_COCO模型的保险丝旋塞检测与识别_1
人工智能·深度学习
程序猿阿伟1 小时前
《从理论到应用:量子神经网络表达能力的全链路优化指南》
人工智能·深度学习·神经网络
2501_941322032 小时前
【论文改进】柑桔目标检测:YOLO11-Seg与FocalModulation融合方案
人工智能·目标检测·计算机视觉
Charlie_lll2 小时前
RAG+ReAct 智能体深度重构|从「固定三步执行」到「动态思考-行动循环」
人工智能·spring boot·redis·后端·ai·重构
jackywine62 小时前
AI三国演义:ChatGPT、Claude、Gemini的发展史与较量
人工智能·chatgpt