---
title: "Engram: Conditional Memory via Scalable Lookup (Cheng et al., PKU/DeepSeek-AI, 2026)"
created: 2026-06-25
updated: 2026-06-25
type: paper
tags: ["conditional-memory", "sparsity", "ngram", "mixture-of-experts", "scaling-law"]
sources:
  - "https://arxiv.org/abs/2601.07372"
code: "https://github.com/deepseek-ai/Engram"
---

# Engram: Conditional Memory via Scalable Lookup

> Cheng et al. | Peking University / DeepSeek-AI | arXiv:2601.07372 | Jan 2026

## 问题

[[mixture-of-experts|MoE]] 通过条件计算扩展容量，但 Transformer **缺少原生的知识查找原语**——它被迫用计算来模拟检索。语言建模包含两类性质不同的子任务：组合推理（需要深层动态计算）和知识检索（大量文本模式是局部的、静态的、高度模板化的）。经典 N-gram 模型在捕获局部依赖上的有效性说明这些规律天然适合廉价查找，但现有 LLM 用昂贵的 Transformer 层去重建静态查找表。

## 核心思想：[[conditional-memory|Conditional Memory]]

提出 **条件记忆** 作为条件计算（MoE）的互补稀疏轴：

| 维度 | Conditional Computation (MoE) | Conditional Memory (Engram) |
|------|------|------|
| 激活方式 | 稀疏激活参数处理动态逻辑 | 稀疏查找检索静态嵌入 |
| 开销 | 随专家数增长 | O(1) 常数查找 |
| 适用 | 组合推理、动态上下文 | 命名实体、公式化模式、局部依赖 |

## [[engram|Engram 模块]]

Engram 将经典 [[ngram-embedding|N-gram 嵌入]] 现代化为 Transformer 的条件记忆模块：

### 1. Tokenizer Compression（词表压缩）
预计算满射函数 P: V → V'，基于 NFKC 归一化+小写化将原始 token ID 映射到规范 ID，实现 23% 的有效词表缩减。

### 2. Multi-Head Hashing（多头哈希）
每个 N-gram 阶数 n 用 K 个独立哈希头，通过乘性 XOR 哈希将压缩上下文映射到嵌入表 E_{n,k}（素数大小），拼接所有检索向量为最终记忆向量 e_t。

### 3. Context-aware Gating（上下文感知门控）
检索到的静态嵌入 e_t 缺乏上下文适应性。用当前隐藏状态 h_t 作为动态 Query，e_t 为 Key/Value，通过标量门控 α_t = σ(Q·K^T/√d) 抑制与上下文矛盾的记忆噪声。

### 4. Depthwise Causal Convolution
对门控后的值序列应用短深度可分离因果卷积（kernel=4, dilation=max N-gram order, SiLU），扩展感受野。

### 集成方式
Engram 以残差连接插入特定 Transformer 层：H ← H + Y，后跟标准 Attention 和 MoE。**并非所有层都加**——由系统延迟约束决定。

## [[sparsity-allocation|Sparsity Allocation]]：U 形缩放律

定义分配比 ρ ∈ [0,1]：MoE 占非活动参数的比例。实验结果：

- **U 形关系**：纯 MoE (ρ=1) 和纯 Engram (ρ=0) 都不如混合
- **最优 ρ ≈ 75-80%**：将约 20-25% 的稀疏参数预算重分配给 Engram 效果最佳
- **稳定性**：最优分配比在不同计算规模下保持一致
- **无限内存扩展**：Engram 槽数扩大遵循严格幂律，提供可预测的扩展旋钮

## 关键结果

**全部 iso-parameter & iso-FLOPs**：Engram-27B vs MoE-27B vs Dense-4B，激活参数均为 3.8B。

| 领域 | 基准 | Engram 增益 |
|------|------|-----------|
| 知识 | MMLU | +3.4 |
| 知识 | CMMLU | +4.0 |
| 推理 | BBH | **+5.0** |
| 推理 | ARC-Challenge | +3.7 |
| 推理 | DROP | +3.3 |
| 代码 | HumanEval | +3.0 |
| 数学 | MATH | +2.4 |

**长上下文**：Multi-Query NIAH 97.0 vs 84.2 (MoE)，Variable Tracking 89.0 vs 77.0。

## 机理解释

1. **释放早期层**：LogitLens + CKA 分析表明 Engram 解脱了 backbone 早期层对静态知识的重建负担，有效加深了可用于复杂推理的网络深度
2. **释放注意力容量**：局部依赖被委托给查找，注意力聚焦全局上下文，长上下文检索大幅提升
3. **基础设施感知效率**：[[memory-compute-decoupling|确定性寻址]] 支持运行时从主机内存预取，100B 嵌入表卸载开销 <3%

## 核心洞察

1. **条件记忆是 MoE 的必然互补**——语言信号的异质性意味着单一稀疏轴不够。N-gram 嵌入这个看似简单的静态机制，当被当作一等建模原语对待时，能产生超越纯 MoE 的增益。

2. **内存≠冗余**——Engram 的最大收益不在知识密集型任务（那只是直觉预期），而在推理和编码任务。因为它不是"存更多事实"，而是"释放计算深度用于推理"。

3. **U 形律揭示了一个深层结构事实**：在给定的总参数预算下，计算和记忆之间存在一个确定的最优比例，该比例在不同规模下稳定。

## 来源
[原始存档](raw/papers/engram-conditional-memory-2026.md) | [arXiv](https://arxiv.org/abs/2601.07372) | [GitHub](https://github.com/deepseek-ai/Engram)
