Files
note_sync/大模型/deepseek/07-架构/02-Engram-条件记忆-2601.07372_abstract.md
T

156 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Engram:条件记忆——面向大语言模型的可扩展查找稀疏轴
> **原文标题**:Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
> **arXiv**:[2601.07372](https://arxiv.org/abs/2601.07372) | **发布**:12 Jan 2026(最后修订 12 Jul 2026, v2)
> **作者/机构**:Xin Cheng、Rui Tian、Wangding Zeng、Damai Dai 等;北京大学(Peking University)与 DeepSeek-AI(深度求索)联合完成,张辉帅、赵东岩为通讯作者
> **原文 PDF**:[02-Engram-条件记忆-2601.07372.pdf](./02-Engram-条件记忆-2601.07372.pdf)
## 一、摘要(全文翻译)
混合专家(MoE)通过条件计算扩展容量,但 Transformer 缺少原生的知识查找原语,被迫以计算低效地模拟检索。为此我们提出**条件记忆(conditional memory)**这一互补的稀疏轴,并以 **Engram** 实例化——该模块将经典 N-gram 嵌入现代化,实现 $\mathcal{O}(1)$ 查找。通过形式化**稀疏容量分配(Sparsity Allocation)**问题,我们揭示一条 U 形缩放定律,以优化神经计算(MoE)与静态记忆(Engram)的权衡。据此我们把 Engram 扩展至 27B 参数,在严格等参数、等 FLOPs 条件下超越 MoE 基线。值得注意的是,记忆模块本应有助于知识检索(MMLU +3.4;CMMLU +4.0),我们却观察到通用推理(BBH +5.0;ARC-Challenge +3.7)与代码/数学(HumanEval +3.0;MATH +2.4)的提升更大。机制分析表明,Engram 把骨干浅层从静态重建中解放出来,有效加深网络以进行复杂推理。此外,把局部依赖委派给查表后,它释放注意力容量处理全局上下文,大幅提升长上下文检索(Multi-Query NIAH:84.2 → 97.0)。最后,Engram 确立了"基础设施感知的效率":确定性寻址支持运行时从主机内存预取,开销可忽略不计。我们设想条件记忆将成为下一代稀疏模型不可或缺的建模原语。代码见:https://github.com/deepseek-ai/Engram 。
## 二、核心贡献
1. **提出「条件记忆」新稀疏轴**:MoE 只解决了条件计算,而语言中大量命名实体与公式化短语本质局部、静态、高度模式化,本应由廉价查表承担。Engram 把 N-gram 嵌入重造为一等建模原语,以确定性哈希完成 $\mathcal{O}(1)$ 检索,避免 Transformer 用多层注意力与前馈网络在运行时"重建静态查找表"。
2. **形式化稀疏容量分配并发现 U 形缩放定律**:在总参数与 FLOPs 固定的前提下定义分配比例 $\rho$(非激活参数中分给 MoE 专家的比例),验证损失对 $\rho$ 呈 U 形;纯 MoE($\rho=100\%$)并非最优,把约 20%–25% 稀疏预算划给 Engram 最好,最优位置 $\rho\approx75\%\text{--}80\%$ 跨算力规模稳定。
3. **27B 规模超越同参同算力 MoE**:Engram-27B 把路由专家由 72 削至 55,释放参数转为 5.7B 记忆表,总参数 26.7B、激活参数 3.8B 不变,知识、推理、阅读理解、代码数学全谱系提升。
4. **证明增益源于「有效深度」增加**:LogitLens 与 CKA 显示 Engram 浅层表示对齐 MoE 更深的层(第 5 层约等于基线第 12 层),早期层 KL 散度系统性更小,显式查找让网络更快完成特征组合。
5. **长上下文与系统效率双重收益**:局部依赖交给查表后注意力可专注全局,Multi-Query NIAH 由 84.2 升至 97.0;确定性寻址使 100B 参数表可卸载到主机内存异步预取,吞吐损失最高 2.8%。
## 三、方法与技术要点
### 3.1 总体结构:检索 + 融合两阶段
给定输入序列 $X=(x_1,\dots,x_T)$ 与第 $\ell$ 层隐状态 $\mathbf{H}^{(\ell)}\in\mathbb{R}^{T\times d}$,Engram 对每个位置 $t$ 先**检索**(由局部上下文确定性取回静态嵌入),再**融合**(用当前隐状态调制并做轻量卷积)。模块以残差注入:$\mathbf{H}^{(\ell)}\leftarrow\mathbf{H}^{(\ell)}+\mathbf{Y}$,随后接标准 Attention 与 MoE;标准输入嵌入与 un-embedding 不变,模块只插入部分层。
### 3.2 分词器压缩与多头哈希检索
子词分词器优先保证无损重建,会把语义等价的词面(如 `Apple` 与 `␣apple`)分到不同 ID,稀释语义密度。为此预计算满射函数 $\mathcal{P}:V\to V'$,按规范化文本等价(NFKC、小写化等)把原始 token ID 折叠为规范 ID,在 128k 词表上使有效词表缩小 23%(附录 C 为 23.43%)。
对位置 $t$ 做映射后得到后缀 N-gram $g_{t,n}=(x'_{t-n+1},\dots,x'_t)$。直接参数化全部 N-gram 组合空间不可行,故用哈希方案并设 $K$ 个哈希头缓解冲突:
$$
z_{t,n,k}\triangleq\varphi_{n,k}(g_{t,n}),\quad \mathbf{e}_{t,n,k}=\mathbf{E}_{n,k}[z_{t,n,k}]
$$
实践中 $\varphi_{n,k}$ 用轻量乘法-XOR 哈希实现。记忆向量由各阶各头结果拼接而成:$\mathbf{e}_t\triangleq\|_{n=2}^{N}\|_{k=1}^{K}\mathbf{e}_{t,n,k}$,表 $\mathbf{E}_{n,k}$ 取质数大小 $M_{n,k}$ 以降低冲突。
### 3.3 上下文感知门控
检索到的 $\mathbf{e}_t$ 是上下文无关的先验,静态性使其缺乏适应性,还可能被哈希冲突或一词多义污染。Engram 借用注意力范式:把已聚合全局上下文的 $\mathbf{h}_t$ 作 Query,把 $\mathbf{e}_t$ 同时投影为 Key 与 Value,
$$
\mathbf{k}_t=\mathbf{W}_K\mathbf{e}_t,\quad \mathbf{v}_t=\mathbf{W}_V\mathbf{e}_t
$$
为梯度稳定,对 Query 与 Key 先做 RMSNorm 再算标量门:
$$
\alpha_t=\sigma\!\left(\frac{\text{RMSNorm}(\mathbf{h}_t)^{\top}\text{RMSNorm}(\mathbf{k}_t)}{\sqrt{d}}\right),\qquad \tilde{\mathbf{v}}_t=\alpha_t\cdot\mathbf{v}_t
$$
这强制语义对齐:若记忆与上下文矛盾,门值趋零以抑制噪声。随后用深度可分离因果卷积扩大感受野(核宽 $w=4$、膨胀取最大 N-gram 阶数、SiLU 激活):
$$
\mathbf{Y}=\text{SiLU}\left(\text{Conv1D}\left(\text{RMSNorm}(\tilde{\mathbf{V}})\right)\right)+\tilde{\mathbf{V}}
$$
### 3.4 与多分支架构的集成
默认骨干采用多分支结构(残差流扩展为 $M$ 条并行分支、连接权重可学习,即 Manifold-Constrained Hyper-Connections,$M=4$)。为兼顾效率与表达力采用参数共享:稀疏嵌入表与 Value 投影 $\mathbf{W}_V$ 全分支共享,每分支各有独立 Key 投影 $\{\mathbf{W}_K^{(m)}\}_{m=1}^{M}$,以获得分支特异门控:
$$
\alpha_t^{(m)}=\sigma\!\left(\frac{\text{RMSNorm}(\mathbf{h}_t^{(m)})^{\top}\text{RMSNorm}(\mathbf{W}_K^{(m)}\mathbf{e}_t)}{\sqrt{d}}\right),\quad \mathbf{u}_t^{(m)}=\alpha_t^{(m)}\cdot(\mathbf{W}_V\mathbf{e}_t)
$$
这样 $1$ 个 $\mathbf{W}_V$ 与 $M$ 个 $\mathbf{W}_K^{(m)}$ 可融合成单次稠密 FP8 矩阵乘,提升 GPU 算力利用率。
### 3.5 计算与存储解耦的系统设计
MoE 路由依赖运行时隐状态,而 Engram 索引仅取决于输入 token ID,天然可预测。训练时按模型并行把大表分片到各 GPU,前向用 All-to-All 收集激活行、反向分发梯度,记忆容量随加速器数量线性增长。推理时把表卸载到主机内存,因索引在前向之前已知,主机可经 PCIe 异步预取,用前序块的计算掩盖传输延迟。因此放置层是硬件-算法协同设计:越深可掩盖延迟的窗口越长,但第 6.2 节消融显示建模性能偏好早期介入。N-gram 还服从 Zipf 分布,少量模式占绝大多数访问,可构建多级缓存层次(热条目放 HBM/DRAM,长尾放 NVMe SSD)。
### 3.6 稀疏容量分配定律与无限记忆
定义三个指标:总可训练参数 $P_{\mathrm{tot}}$(不含词表嵌入与 LM head)、每 token 激活参数 $P_{\mathrm{act}}$(决定 FLOPs)、非激活参数 $P_{\mathrm{sparse}}\triangleq P_{\mathrm{tot}}-P_{\mathrm{act}}$。分配比例:
$$
P_{\mathrm{MoE}}^{(\mathrm{sparse})}=\rho\,P_{\mathrm{sparse}},\qquad P_{\mathrm{Engram}}=(1-\rho)\,P_{\mathrm{sparse}}
$$
$\rho=1$ 即纯 MoE;$\rho<1$ 则减少路由专家、把释放参数转为 Engram 槽位。作者在 $C=2\times10^{20}$($P_{\mathrm{tot}}\approx5.7$B、$P_{\mathrm{act}}=568$M、106 专家)与 $C=6\times10^{20}$($P_{\mathrm{tot}}\approx9.9$B、$P_{\mathrm{act}}=993$M、99 专家)两档、稀疏度 $P_{\mathrm{tot}}/P_{\mathrm{act}}\approx10$ 下扫描 $\rho$:$C=6\times10^{20}$ 时验证损失从 $\rho=100\%$ 的 1.7248 降到最优 $\rho\approx80\%$ 的 1.7109($\Delta=0.0139$);即使 MoE 份额压到 $\rho\approx40\%$(5.7B 模型 46 专家、9.9B 模型 43 专家)仍与纯 MoE 相当。U 形两端各有病因:MoE 独大时只能靠深度低效重建静态模式;Engram 独大时丧失条件计算能力,动态推理受损。无限记忆档固定 3B MoE 骨干($P_{\mathrm{act}}=568$M、100B tokens),槽位数从 $2.58\times10^5$ 扫到 $1.0\times10^7$(最多约 13B 参数),验证损失在 log 空间线性下降,同等预算下比把 N-gram 嵌入与词表嵌入平均的 OverEncoding 潜力更大。
### 3.7 大规模预训练配置
四个模型(Dense-4B、MoE-27B、Engram-27B、Engram-40B)共用数据课程与激活参数规模:262B tokens、DeepSeek-V3 分词器(128k 词表)、30 层 Transformer、隐层 2560、每块含 32 头 MLA、经 mHC(扩张率 4)连接 FFN、Muon 优化器。MoE-27B 为 2 共享 + 72 路由专家(top-6);Engram-27B 改为 2 + 55(top-6,$\rho=74.3\%$),省下的参数变成 5.7B 记忆,模块置于第 2、15 层,最大 N-gram 阶数 3、哈希头 8 个、维度 1280;嵌入参数用 Adam、学习率放大 5 倍、无权重衰减,卷积零初始化以保持恒等映射。Engram-40B 保持同一骨干与算力预算,仅把记忆扩到 18.5B(总 39.5B)。
### 3.8 消融与机制分析要点
3B MoE 骨干(12 层、0.56B 激活参数、100B tokens,基线验证损失 1.808)上加 1.6B 记忆,参考配置用 {2,3}-gram 置于第 2、6 层得 1.768。层扫描显示单模块放第 2 层最优(1.770):一次注意力已足以提供有上下文的 Query,同时仍早到可替代底层局部聚合;同一预算拆成两个模块置于第 2、6 层更好,兼顾早期介入与后期门控精度。消融显示分支特异融合、上下文感知门控、分词器压缩贡献最大,去掉深度可分离卷积仅轻微退化,固定预算下容量分给 4-gram 略次优。推理期完全抑制记忆输出后,知识类仅保留 29%–44%(TriviaQA 29%),阅读理解类保留 81%–93%(C3 93%),印证记忆是参数化知识的主要仓库、上下文任务靠骨干注意力。门控激活集中在命名实体、套语及中文成语与历史人物(如"四大发明"、"张仲景"),跨语言一致。
## 四、主要实验结果
| 基准 / 任务 | 本模型(Engram-27B) | 对比对象(MoE-27B) | 说明 |
|---|---|---|---|
| Pile (loss) | 1.960 | 2.091 | 语言建模,越低越好 |
| 验证集 (loss) | 1.634 | 1.768 | 同分布验证集 |
| MMLU (Acc., 5-shot) | 60.4 | 57.4 | +3.0(摘要与引言口径 +3.4) |
| MMLU-Pro (Acc.) | 30.1 | 28.3 | +1.8 |
| CMMLU (Acc.) | 61.9 | 57.9 | +4.0 |
| C-Eval (Acc.) | 62.7 | 58.0 | +4.7 |
| AGIEval (Acc., 0-shot) | 41.8 | 38.6 | +3.2 |
| ARC-Challenge (Acc.) | 73.8 | 70.1 | +3.7 |
| BBH (EM, 3-shot) | 55.9 | 50.9 | +5.0 |
| CCPM (Acc., 0-shot) | 87.1 | 79.6 | +7.5,知识类增幅最大 |
| PIQA (Acc.) | 73.5 | 71.9 | +1.6 |
| TriviaQA (EM) | 50.7 | 48.8 | +1.9 |
| DROP (F1, 1-shot) | 59.0 | 55.7 | +3.3 |
| RACE-High (Acc.) | 78.2 | 75.4 | +2.8 |
| HumanEval (Pass@1) | 40.8 | 37.8 | +3.0 |
| MBPP (Pass@1) | 48.2 | 46.6 | +1.6 |
| GSM8K (EM, 8-shot) | 60.6 | 58.4 | +2.2 |
| MGSM (EM) | 49.4 | 46.8 | +2.6 |
| MATH (EM, 4-shot) | 30.7 | 28.3 | +2.4 |
| CruxEval-i (EM) | 32.2 | 30.7 | +1.5 |
| RULER 32k Multi-Query NIAH (Acc.) | 97.0 | 84.2 | 等预训练损失设置(46k vs 50k) |
| RULER 32k Variable Tracking (Acc.) | 87.2 | 77.0 | 同上,等损失设置 |
| RULER 32k Multi-Values (Acc.) | 95.5 | 92.7 | 同上 |
| LongPPL Code (PPL ↓) | 2.45 | 2.49 | 等损失设置,略优 |
| LongPPL L-CoT (PPL ↓) | 13.59 | 14.16 | 等损失设置 |
| 吞吐 4B-Dense + 100B Engram(CPU 卸载) | 8,858.28 tok/s | 8,903.62 tok/s(基线) | H800,512 序列,损失 0.5% |
| 吞吐 8B-Dense + 100B Engram | 6,140.02 tok/s | 6,315.52 tok/s(基线) | 损失 2.8%,为最差情形 |
三种稀疏架构在等训练算力下全面优于 iso-FLOPs 的 Dense-4B,说明稀疏本身的缩放优势;Engram-27B 在同参同算力下对 MoE-27B 的领先不只出现在知识密集任务(MMLU +3.0、CMMLU +4.0、MMLU-Pro +1.8),在通用推理(BBH +5.0、ARC-Challenge +3.7、DROP +3.3)与代码数学(HumanEval +3.0、MATH +2.4、GSM8K +2.2)上增益更大。Engram-40B 进一步降低损失并在多数基准上更好,但未在每个任务上严格压过 Engram-27B,作者归因于欠训练——两者差距在训练末期仍在扩大。长上下文中,等预训练损失(46k vs 50k)下 Engram-27B 在复杂检索上大幅领先,等算力(50k)下全面提升;即使用仅约 82% 预训练算力的 41k 检查点,也能在 LongPPL 上追平、在 RULER 上超越完全训练的 MoE-27B。系统中,100B 记忆表全放主机 DRAM、每次检索都走 PCIe 的保守设定下吞吐损失仅 2.8%。
## 五、结论、局限与影响
- **结论**:论文把条件记忆确立为与 MoE 条件计算互补的稀疏轴。Engram 以分词器压缩、多头哈希检索、上下文感知门控与多分支集成,把经典 N-gram 嵌入现代化为 $\mathcal{O}(1)$ 的可扩展查找原语。由此形式化的稀疏容量分配给出稳定的 U 形定律:纯 MoE 次优,把 20%–25% 稀疏预算分给记忆最优。27B 规模上 Engram 在同参同算力下全面超越 MoE 基线;机制分析表明它把静态重建从浅层卸载从而"加深"网络,并使注意力得以专注全局上下文;确定性寻址让海量参数表可卸载到主机内存而几乎不损吞吐。
- **局限性**:论文未设独立的"局限"章节,作者自述的相关限制包括:(1)插入位置受建模效果与系统延迟双重约束,早期注入最优但牺牲门控精度;(2)固定 1.6B 预算下 4-gram 略次优,更大记忆规模下是否有利未做结论;(3)第 6.3 节推理期抑制消融造成训练-推理不一致,故只分析信噪比最高的知识类与阅读理解类;(4)Engram-40B 未在每个任务上严格占优,作者判断为欠训练;(5)系统实验用稠密骨干的 nano-vLLM 原型与全量 CPU 卸载,属保守基线。其余方面(如超大规模下哈希冲突率、多语言覆盖面)论文未明确说明。
- **影响**:该工作把"算法-系统协同设计"提升为设计原则:以往 N-gram 嵌入方案都在第 0 层、使访存与计算串行化,中层注入才能实现通信-计算重叠,并借助 Zipf 分布利用多级存储层次;这为绕过 GPU 显存上限、激进扩张参数规模提供了可落地路径。
## 六、关键术语对照表
| English | 中文 |
|---|---|
| Conditional Memory | 条件记忆 |
| Conditional Computation | 条件计算 |
| Engram | Engram(记忆印迹模块,论文未给中文译名) |
| Sparsity Allocation | 稀疏容量分配 |
| Mixture-of-Experts (MoE) | 混合专家 |
| Iso-parameter / Iso-FLOPs | 等参数 / 等算力(同 FLOPs) |
| N-gram Embedding | N-gram 嵌入 |
| Hashed N-gram | 哈希 N-gram |
| Multi-Head Hashing | 多头哈希 |
| Tokenizer Compression | 分词器压缩 |
| Context-aware Gating | 上下文感知门控 |
| Multi-branch Architecture | 多分支架构 |
| Manifold-Constrained Hyper-Connections (mHC) | 流形约束超连接 |
| Multi-head Latent Attention (MLA) | 多头潜在注意力 |
| Effective Depth | 有效深度 |
| LogitLens | LogitLens(逐层逻辑回归探针) |
| Centered Kernel Alignment (CKA) | 中心核对齐 |
| Zipfian Distribution | 齐夫分布 |
| Multi-Level Cache Hierarchy | 多级缓存层次 |
| Prefetch-and-Overlap | 预取与重叠 |
| Needle-in-a-Haystack (NIAH) | 大海捞针检索 |
| LongPPL / RULER | 长上下文困惑度 / RULER 长上下文基准 |