---
title: "Engram (Conditional Memory Module)"
created: 2026-06-25
updated: 2026-06-25
type: concept
tags: ["architecture", "memory", "transformer", "sparsity"]
sources:
  - "[[engram-conditional-memory-2026]]"
---

# Engram (Conditional Memory Module)

Engram 是 DeepSeek-AI 提出的条件记忆模块，将经典 N-gram 嵌入现代化为 Transformer 的静态知识查找原语。

## 架构：两阶段流水线

### 阶段 1：Sparse Retrieval（稀疏检索）

**Tokenizer Compression**：
- 预计算满射函数 P: V → V'，基于 NFKC 归一化 + 小写化
- 将语义等价但 token ID 不同的词（如 "Apple" vs " apple"）映射到同一规范 ID
- 对 128k tokenizer 实现 23% 有效词表缩减

**Multi-Head Hashing**：
- 每个 N-gram 阶数 n ∈ {2,3,...N} 用 K 个独立哈希头
- 乘性 XOR 哈希 𝜑_{n,k} 将压缩 N-gram 映射到嵌入表 E_{n,k}[z]（素数大小 M_{n,k}）
- 所有检索向量拼接为记忆向量 e_t ∈ R^{d_mem}
- 碰撞通过上下文门控消解

### 阶段 2：Context-aware Fusion（上下文感知融合）

**Gating**：
- h_t（隐藏状态，含全局上下文）→ Query
- e_t（静态记忆）→ Key, Value（经可学习投影 W_K, W_V）
- 标量门 α_t = σ(RMSNorm(h_t)^T · RMSNorm(k_t) / √d)
- 输出 ṽ_t = α_t · v_t：若记忆与上下文矛盾，门控趋近于 0

**Depthwise Causal Convolution**：
- Kernel=4, dilation=max N-gram order, SiLU 激活
- 扩展感受野，增强非线性
- 残差连接：Y = SiLU(Conv1D(RMSNorm(Ṽ))) + Ṽ

### 集成到 Transformer

```
H(ℓ) ← H(ℓ) + Y   (残差)
→ Attention
→ MoE
```

**非全层应用**：Engram 只插入特定层，具体位置由系统延迟约束决定。

## 基础设施感知设计

- **确定性寻址**：不同于 MoE 的动态路由，Engram 使用确定性哈希 → 支持运行时预取
- **内存层次**：大嵌入表可卸载到主机内存，通过预取重叠通信与计算
- **开销**：100B 参数嵌入表卸载到主机内存的开销 <3%

## 关键设计要点

1. **静态 vs 动态分离**：记忆是静态的（N-gram 嵌入），但通过上下文门控获得动态适应性
2. **哈希碰撞不是 bug**：Multi-head hashing + 上下文门控共同消解碰撞噪声
3. **深度而非宽度**：Engram 的价值不在存更多事实，在释放计算深度用于推理

## 参考
- [[engram-conditional-memory-2026]]
- [[conditional-memory]]
- [[mixture-of-experts]]
- [[ngram-embedding]]
- [[sparsity-allocation]]
