将 Transformer 架构理解为联想记忆
现代 Transformer 架构(包括 MLP 和自注意力层)可以直观地理解为联想存储器。通过将这些层视为存储和检索键值对的机制,我们可以根据干扰信号比(interference-to-signal ratio)推导出它们的容量限制——该指标量化了已存储的记忆对目标事实检索的阻碍程度。
线性存储器
最基础的存储器是线性层,它使用外积来累积记忆:$W = \sum_{i=1}^{M} v_i k_i^T$。在此模型中,查询 $x$ 通过计算查询与所有存储键之间的相似度来检索值,并返回由这些相似度加权后的值之和。
然而,这种方法存在干扰问题。当我们存储 $M$ 个记忆时,目标键 $k_j$ 的召回结果为 $f(k_j) = v_j + \sum_{i\neq j} v_i(k_i^T k_j)$。随着 $M$ 的增长,干扰项会不断累积。对于随机键,容量(即干扰与信号相等的点)大约为 $M \approx d_k$,其中 $d_k$ 是键的维度。
通过最优线性存储器和 MLP 提升容量
我们可以通过改进写入和读取内存的方式来提高容量。最优线性存储器使用最小二乘法来“白化”键,从而有效地抵消干扰,并将容量翻倍至 $M \approx 2d_k$。
MLP 引入了非线性,进一步抑制了干扰。通过将相似度传递给函数 $\sigma$(例如 ReLU 或平方 ReLU),模型抑制了那些本会产生噪声的低相似度键。
- ReLU MLP: 将负相似度归零可降低干扰方差,将容量推至 $M \approx 2d_k$。
- 平方 ReLU (GLU/SwiGLU): 进一步抑制低相似度键可以实现显著更高的容量,其扩展规模为 $d_k^2$。
这些发现与相关研究一致,即 Transformer 中的前馈层充当了键值存储器,神经元根据可识别的输入模式进行激活。
作为非参数化存储的自注意力机制
自注意力机制通过使用 softmax 函数执行加权检索,代表了这种方法的极限。与键和值是固定参数的 MLP 不同,自注意力机制从输入 token 中计算这些值,使其成为一种容量随上下文长度扩展的非参数化存储器。
通过使用 softmax 中固有的指数函数,自注意力机制可以实现巨大的容量。当使用 $\beta = \sqrt{d_k}$ 进行缩放时,容量呈指数而非多项式增长,在标准配置下可达到超过一百万个记忆。为了在长上下文场景中保持这种性能,模型通常使用 $\log M$ 启发式方法(例如 Qwen 或 YaRN 中所见)来缩放注意力 logit,这使得干扰信号比在上下文增长时保持稳定。
见解与讨论
该框架在通信工程和深度学习之间架起了一座桥梁。正如社区讨论中所指出的,“干扰信号比”的视角对电气工程师来说非常熟悉,这表明最大化信道容量的技术可以直接应用于理解神经网络如何存储信息。
虽然数学抽象功能强大,但一些从业者强调,理解这些系统需要具体的例子。在 LLM 环境中,“键”是上下文窗口中的 token,“值”是模型用于预测后续 token 的相应隐藏状态表示。正如一位评论者所指出的,与传统的 Hopfield 网络相比,Transformer 的效率在于它们能够在单次前向传递中检索记忆,而无需迭代收敛。
归根结底,将 Transformer 视为存储器突显了这些模型的智能与其压缩和检索海量信息且不产生灾难性干扰的能力密切相关。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- 项目
- Dispatch