
现代处理器是速度的奇迹,但我们的数字世界正面临日益严重的效率危机。计算机将“思考”的处理器与“记忆”的内存分离开来的基本设计,造成了一种被称为冯·诺依曼瓶颈的交通拥堵。这种持续的数据穿梭消耗大量能源并扼杀性能,对于人工智能等数据密集型任务尤其如此。本文将介绍内存计算(In-Memory Computing, IMC),这是一种革命性的范式,旨在通过从根本上反思我们如何计算来解决这个问题。它解决了我们的计算能力与过时架构所施加的物理限制之间的关键差距。在接下来的章节中,您将探索使 IMC 成为可能的核心原理,并发现其在各种前沿领域的变革性应用。第一章“原理与机制”将深入探讨使内存能够进行计算的物理学和体系结构。随后的“应用与跨学科联系”将展示 IMC 如何加速人工智能革命并搭建通往神经科学的桥梁。
想象一下,你是一位正在准备一顿精致多道菜大餐的大厨。你拥有一个最先进的厨房,烤箱能瞬间加热,刀具锋利无比。但有一个问题:你存放所有食材的储藏室位于一条非常长而狭窄的走廊的另一端。对于每一种食材——一撮盐、一根欧芹——你都必须走过走廊,找到物品,然后走回来。很快,你意识到你几乎所有的时间都花在了走路而不是烹饪上。你那令人难以置信的烹饪技巧都浪费在了后勤工作上。
简而言之,这就是现代计算的核心危机。半个多世纪以来,我们一直在一种架构蓝图上构建我们的数字世界,尽管它才华横溢,但却存在这个根本性的缺陷。要理解内存计算的革命,我们必须首先领会它试图取代的那种优雅但最终受限的设计。
在计算机时代的黎明,杰出的数学家 John von Neumann 和他的同事们构想出一种设计惊人地简单而强大的机器:存储程序式计算机。其思想是,计算机的指令(食谱)和它操作的数据(食材)将共同存放在同一个地方,一个统一的内存中。一个中央处理器,或称 CPU,将负责逐一获取和执行这些指令。
这种统一是一个神来之笔。这意味着程序可以被当作数据对待;它甚至可以修改自身,从而带来了令人难以置信的灵活性。你使用过的几乎每一台计算机,从台式个人电脑到智能手机,都是这种冯·诺依曼架构的后代。但它创造了一个根本性的分野:世界被分成了两个盒子,CPU(“思考者”)和内存(“记忆者”),通过一条数据总线(那条长而窄的走廊)连接。
CPU 的每一个动作都需要在这条总线上走一趟。要将两个数字相加,它必须:
处理器和内存之间这种持续的、顺序的通信造成了被称为冯·诺依曼瓶颈的交通拥堵。几十年来,我们的处理器——我们的大厨——已经变得快得离谱,每秒能进行数十亿次计算。但总线——那条走廊——却没有跟上步伐。我们在厨房里有了一台超级计算机,但它却因数据而饥饿,大部分宝贵的时间和精力都花在等待下一个食材的到来上。一些设计,如哈佛架构,为指令创建了第二条走廊,这有所帮助,但并没有解决处理器和数据身处不同邮政编码的核心问题。
这种分离不仅仅是性能问题,它是一场能源灾难。每当数据来回穿梭时,都会消耗能量。在芯片上,这种移动涉及对微小的导线进行充放电,这些导线就像微型电容器。单个比特穿过导线的能量可以通过简单的物理关系 来建模,其中 是导线的电容, 是电压。虽然每比特的能量微不足道,但现代计算移动的比特数量却达到了天文数字。
考虑一下我们这个时代决定性的工作负载:人工智能。深度神经网络本质上是数学“神经元”的巨大集合,由“突触”连接,其强度由数值权重表示。一个关键操作是矩阵向量乘法,其中输入向量与一个巨大的权重矩阵相乘。这个操作可能涉及数百万甚至数十亿个权重。
在传统架构中,执行此计算意味着从主内存中获取每一个权重,将其拖到 CPU,在乘法中使用它,然后继续下一个。这种数据传输,即从内存到处理器的“通勤”,现在占了人工智能计算期间总能耗的绝大部分——在某些情况下超过 。我们在移动数据上消耗的能量比在计算数据上消耗的还要多。
这就是我们所处的荒谬境地。我们完善了计算的艺术,却被平凡的传输行为所扼杀。但这种成本是不可避免的吗?这是物理定律强加的基本税收吗?
事实上,计算确实存在一个基本的物理成本。1961年,Rolf Landauer 发现了信息论与热力学之间深刻的联系。兰道尔原理指出,任何逻辑上不可逆的操作,例如擦除一位信息,都必须以热量的形式向环境中耗散最低限度的能量。要擦除一位,你必须支付一笔不可协商的能量税,至少为 ,其中 是温度, 是玻尔兹曼常数。这是宇宙为使信息消失而收取的费用。
但关键在于:这个基本极限是一个极其微小的能量,比我们现有计算机执行一次操作实际使用的能量小数百万倍。兰道尔极限与我们实际能耗之间的巨大鸿沟揭示了一个美丽的真理:计算的高昂成本并非根本性的。它是我们如何计算的产物。我们支付的不是宇宙之税;我们为数据的日常通勤支付了一笔巨大且完全可以避免的费用。
这一认识是内存计算(IMC)的哲学核心。其策略简单得惊人:如果通勤是问题所在,那就消除它。让数据“在家工作”。让我们在数据所在之处进行计算。
内存计算颠覆了旧有架构。IMC 不再是只有一个只存储数据的被动内存和一个只进行计算的强大 CPU,而是赋予了内存本身执行计算的能力。内存阵列不再只是一个储藏室;它变成了一个分布式厨房,成千上万个简单的烹饪任务可以同时进行。
这怎么可能呢?通过巧妙地利用物理定律。
考虑一个称为交叉阵列的设备。它是一个由水平和垂直导线组成的简单网格。在每个交叉点,我们可以放置一个双端电子元件,如电阻器或更先进的“忆阻器”,其电导(电阻的倒数)可以被编程为特定值。现在,让我们将神经网络的权重矩阵映射到这个网格上,将每个节点 的电导 编程为与突触权重 成正比。
为了执行矩阵向量乘法 ,我们采取一种非凡的方法。我们将输入向量 转换为一组输入电压 ,并将其施加到网格的行上。根据欧姆定律(),流经每个器件的电流为 。这是输入电压和编程电导(权重)的乘积。并且,由于基尔霍夫电流定律,流出每个垂直列 的总电流就是从不同行流入的所有电流之和:。
结果是神奇的。每个列的总输出电流,依据电路的物理原理,就是矩阵向量乘法的结果。计算在整个阵列上并行执行,时间仅为电子流过网格所需的时间。没有权重的来回穿梭。数据没有移动,因为数据就是计算机。这就是模拟内存计算的精髓。
此外,IMC 架构天然地适用于另一种受大脑启发的效率技巧:事件驱动处理。大脑的效率非常高,因为它的神经元大部分时间是安静的,只有在有重要信息要传递时才会发出“脉冲”或“事件”。类似地,许多 AI 系统的真实世界输入是稀疏的,这意味着它们大部分是零。
传统的冯·诺依曼机器会盲目地执行其程序,将每个权重与每个输入相乘,在与零相乘上浪费了巨大的精力。然而,事件驱动的 IMC 系统只激活与非零输入相对应的电路。如果一个层中只有 的神经元是活跃的,系统就只消耗那 计算所需的能量。在一个假设但现实的场景中,这种将内存和计算协同定位,同时利用稀疏性的协同作用,与传统方法相比,可以实现数十万倍的节能。
这是一种范式转变。几十年来,我们一直使用软件技巧——巧妙的循环排序、复杂的数据分块缓存技术、以及非连续数据的打包——来更好地管理 CPU 与内存之间的鸿沟。这些都是为了让大厨去储藏室的路更有效率而付出的英勇努力。相比之下,内存计算拆除了储藏室,并在其位置上建造了一个厨房。它认识到,对于我们这个时代许多最重要的计算问题,内存和逻辑的分离不再是一个有用的抽象,而是一个致命的负担。通过将它们重新统一,我们不仅仅是在制造一台更快的计算机;我们正在构建一台以更符合物理世界本身的方式进行计算的机器。
在了解了内存计算(IMC)的基本原理之后,我们现在来到了探索中最激动人心的部分:看这个革命性的想法如何工作。我们已经看到,通过在数据存储的地方直接执行计算,IMC 有望打破冯·诺依曼架构的旧有局限。但这不仅仅是让现有计算机快一点的工程技巧。它是一种范式转变,与人工智能、神经科学乃至信息基本理论中的深刻原理产生共鸣。
通过超越处理器和内存的简单分离,我们开始构建以更集成、更高效,甚至可以说更自然的方式进行思考和记忆的系统。现在让我们看看,在这种新的计算方式不仅是一种改进,而且是绝对必需的领域。
现代世界正在被人工智能,特别是被称为 Transformer 的模型所重塑。它们是能够写诗的大型语言模型和分析复杂科学数据的先进系统背后的引擎。Transformer 的核心是一种称为“自注意力”的机制,这个过程既非常强大,计算量又极其巨大。
想象一下一位放射科医生的 AI 助手试图分析一张高分辨率的 3D CT 扫描图。为了理解扫描图中单个点的上下文,AI 必须将其与整个三维数据中的每一个其他点进行比较。这种“全局”比较使模型能够捕捉到微妙的、长程的依赖关系——例如,跨越不同组织的一种发展中疾病的微弱特征。在计算上,这个过程主要由一次大规模的矩阵乘法主导。如果我们将扫描数据表示为 个区块,那么这个注意力步骤所需的计算成本和内存会呈二次方增长,即 。
对于一张典型的被划分为数千个区块的医学扫描图,这在一个深度网络的单层中就意味着数亿次操作,并需要兆字节的内存。在传统计算机中,这意味着在内存和处理器之间不断穿梭大量数据,这是一场狂热且耗能的舞蹈,正是 IMC 为解决这一瓶颈而生。
在这里,IMC 的优雅之处得以彰显。一个由忆阻器或其他存储设备组成的阵列可以直接用来表示其中一个矩阵。当代表另一个矩阵的电压被施加时,欧姆定律和基尔霍夫定律在整个阵列上同时执行乘法——在一个物理步骤中完成。结果以一组电流的形式读出。庞大的数据穿梭交通堵塞就这样消失了。这不仅仅是提速;它使以前不切实际的变得可行,让人工智能能够在医学、气候科学和材料发现等领域处理比以往更大、更复杂的问题。
IMC 系统的结构让人直观上感觉“正确”,这并非偶然。我们所知的最复杂、最高效的计算设备——人脑——并没有独立的 CPU 和 RAM。它的神经元和突触在同一个物理位置处理和存储信息。在很多方面,内存计算是朝着构建更像大脑那样计算的机器迈出的一步。
思考一下我们是如何记忆事物的。我们不是像计算机从 0x7FFF5FBFFD98 地址获取数据那样访问记忆。我们是通过联想来记忆的。某种花的香味可能会触发一段生动的童年记忆。这就是联想记忆的原理。
无论是在硅片中还是在生物组织中构建此类记忆,一个核心挑战是噪声。元件永远不会是完美的;信号会波动,状态会退化。这样一个系统如何用这些不完美的部件可靠地存储和检索信息?信息论,即通信的数学语言,给了我们一个惊人清晰的答案。一个简化的记忆系统模型显示,它能可靠存储的最大模式数()取决于元件数量()和检索单个比特时的错误概率()。这种关系由信道容量公式捕获:,其中 是量化不确定性的熵函数。
这个优美的结果告诉我们,我们不需要完美的、无噪声的元件。它在我们的存储设备的物理不完美性(由噪声水平 捕获)和它们的集体信息容量之间提供了一个精确的数学权衡。许多 IMC 设备,如忆阻器,是模拟的且本质上是嘈杂的。我们不应将其视为需要消除的缺陷,而应利用这个信息论框架来拥抱它,设计出能够尽管存在噪声仍能可靠运行的大规模并行、鲁棒的系统,就像大脑一样。
大脑不仅仅存储静态的事实;它的状态在不断演化。它通过动力学进行计算。这是一种名为“水库计算”的迷人 AI 领域的灵感来源。其思想简单而深刻:将一个输入信号(如语音或股票价格的时间序列)送入一个固定的、复杂的、动态的系统——即“水库”。水库的内部状态随着输入的响应而旋转和演化,有效地创造了信号历史的丰富、高维表示。然后,一个简单的、可训练的“读出”层只需学会解释这个丰富的状态来执行任务。
什么构成一个好的水库?一个具有“衰减记忆”的系统。这正是某些物理和生物系统缓慢动力学所提供的特性。例如,一个星形胶质细胞(大脑中一种星形胶质细胞,曾被认为是神经元的支撑结构)的简单模型显示,它充当了突触输入的漏积分器。它在任何时刻的内部状态是过去输入的加权和,旧输入的影响随时间呈指数衰减。这就是衰减记忆的本质,能够在特定时间尺度上整合信息。
IMC 器件阵列是实现这样一个水库的天然候选者。器件的物理特性——它们的电阻、电容、衰减率——就是计算本身。这些系统中的一个关键参数是它们记忆的时间尺度。过去应该对现在产生多长时间的影响?如一个理论模型所示,存在一个根本性的权衡:更长的记忆(有利于看清长期趋势)可能会降低对即时输入的敏感度(不利于快速反应)。在一个参数 (系统的谱半径,对于长记忆接近1)控制这种权衡的系统中,我们可以为给定任务找到一个最佳平衡。基于 IMC 的水库提供了通过物理方式调整这个记忆时间尺度的诱人前景,也许只需调整一个电压,从而使硬件本身适应问题的时序结构。
在最深层次上,内存计算的承诺在于找到我们的硬件结构与我们希望解决的问题结构之间更好的匹配。将抽象的计算模型(如循环神经网络,RNN)与认知任务(如概率推断)联系起来,是这一原则的一个优美例证。
想象一个智能体试图理解一系列模棱两可的观察。它对世界的隐藏状态保持一种“信念”,并随着新证据的出现不断更新它。这是一个可以用隐马尔可夫模型(HMM)正式描述的任务。智能体世界的复杂性由可能的隐藏状态数量 捕获。智能体本身是一个简单的线性 RNN,其内部复杂性由其有效内存空间的维度 定义。
一项卓越的分析揭示了一个直接而简单的约束:为了让网络能够忠实地表示信念状态而不丢失信息,其自身的内部复杂性必须至少与它所建模的世界的复杂性一样大。在这个理想化的案例中,关系是 。你无法将一个复杂的想法装入一个简单的大脑。你无法在一台简单的机器上解决一个复杂的问题。
这是内存计算的终极教训和巨大机遇。它提供了一条以紧凑和节能的形式构建具有巨大内部复杂性()的硬件的路径。通过创建这些密集的、互联的内存和逻辑结构,我们正在创造具有结构丰富性的基底,以正面应对世界的复杂性。无论我们是在加速今天的 AI,构建明天受大脑启发的机器,还是发现新的科学见解,内存计算都提供了物理物质与计算思想的深刻统一。