计算之心

作者:尘衍 | 分类:综合科普 | 约 83933 字

计算之心

序章 沙与星

沙粒。覆盖着这颗星球三分之一陆地表面的最不起眼的物质,在风的吹拂下聚散无常,在水的冲刷中随波逐流。它的成分是二氧化硅,一个硅原子牵着两个氧原子,构成自然界中最稳定也最普遍的化合物之一。人类文明用沙粒烧制玻璃,用沙粒混合水泥,用沙粒铺就道路。在漫长的历史中,沙粒只是沙粒,它是沉默的、被动的、没有内在秩序的。

然后,人类在沙粒中发现了硅。他们将硅从氧的束缚中解放出来,将其提纯到近乎完美的单晶形态,用光在它的表面刻出比发丝还要细千倍的线条,将杂质原子以原子量级的精度注入它的晶格之中。沙粒变成了芯片。芯片开始计算。计算改变了世界。

这是一段不足百年的历史。从第一台电子计算机点亮它的真空管,到数百亿个晶体管在一片指甲盖大小的硅片上沉默地开关,人类将一种曾经只是地面尘埃的物质,变成了信息时代的基石。这个转变的跨度之大,在已知的宇宙历史中似乎尚无先例。硅从地质学的缓慢循环中被抽出,被赋予了逻辑和记忆,成为人类文明最核心的神经系统。

然而,这块基石的物理极限正在从地平线上清晰地浮现出来。晶体管缩小到只有几十个原子排列成行的长度时,量子隧穿效应使电子任性穿越绝缘层,使确定性的零一逻辑变得暧昧不清。时钟频率停滞在了几吉赫的墙前,功耗密度逼近了核反应堆的水平,而数据的洪流仍在以每两年翻一番的速度膨胀。一台诞生于真空管时代的基本架构,冯·诺依曼架构,承载着计算与存储分离的根本设计,已经撑过了八十年,正在逼近它的热力学极限和认识论极限。它不会在一夜之间崩塌,但它已经不再匹配这个时代对计算的要求。

这个时代的要求是什么?是毫秒级的实时决策,在自动驾驶汽车以百公里时速冲向十字路口时;是毫瓦级的极致能效,在植入人体的心脏监测器依靠一颗纽扣电池运行十年时;是数十亿台边缘设备在物理世界的每一个角落同时感知、推理、行动,不需要将数据送往千里之外的数据中心;是从数据洪流中提炼知识、从知识中涌现智慧、从智慧中产生自我理解和适应能力的持续进化。这些要求不是某个单一技术参数的改进所能满足的。它们需要的是对计算本身的重新定义。

重新定义正在发生。在忆阻器交叉阵列中,计算和存储首次在同一物理基质上合一,就像大脑中的突触既是记忆的容器也是思维的处理器。在神经形态芯片上,脉冲序列的稀疏事件驱动着毫瓦级别的实时学习,不再有全局时钟的节拍强制翻转每一个晶体管。在硅光子回路中,光束在波导中以光速完成矩阵乘法,傅里叶变换在透镜中几乎是免费的。在稀释制冷机维持的极低温环境中,量子比特在叠加和纠缠中探索着经典计算永远无法触及的解空间。在每一个边缘节点上,智能正在从云端沉降到物理世界的神经末梢。

这些技术路径各自独立地诞生于不同的实验室、不同的年代、不同的学科传统。但它们共同指向同一个方向:计算正在从“执行指令的机器”进化为“与物理世界融为一体的智能基质”。在这个新形态中,计算不再需要一个被称为“计算机”的盒子,不再需要人类主动打开一个界面然后输入指令。它像空气一样弥漫在环境中,在传感器和作动器之间流动,在被需要时无声地响应,在不被需要时安静地退隐。

这本书讲述的正是这场正在发生的深刻变革。它不是一本关于某一种新技术的专著,而是一幅试图描绘整个计算范式变迁的地图。从冯·诺依曼架构的黄昏开始,穿越主频竞赛的终结和多核困境的展开,追问数据洪流对架构根基的冲击,进入超越冯·诺依曼的多条技术路径,存内计算、神经形态计算、光子计算和量子计算,审视边缘计算如何将智能从中心推向末梢,探讨新摩尔定律在进步多维化时代的重新定义,直面智慧的全生命周期代价,在宇宙计算的宏伟假说中寻找计算的终极意义,最后回到一个新的开始,一个计算正在变成文明第六元素的时刻。

在全书的最后,三篇附录分别从三个硬核技术角度提供了专题深度分析:存内计算交叉阵列的能效极限,脉冲时序依赖可塑性在信息论框架下的统一原理,以及面向通用人工智能的系统架构需求。它们不是附加的注脚,而是对正文中反复出现的技术线索的严密展开。

这本书的根本论点是简单的:计算机系统跟不上时代,不是因为进步停滞了,而是因为时代对计算的要求已经跃迁到了一个新的维度,而旧范式的潜力已近枯竭。这个判断不是悲观的。恰恰相反,它意味着我们正站在计算史上最激动人心的转折点上,一个旧范式的黄昏,同时也是无数新范式的黎明。沙粒中的硅曾经为信息时代奠基,而现在,新的材料、新的物理原理、新的架构哲学正在从沙粒和星星之间的广阔空间中浮现。计算的故事远未结束,它才刚刚翻过序章。

在开始这段旅程之前,有一点值得预先说明。这本书涉及的材料横跨半导体物理、计算机架构、神经科学、信息论、光学、量子力学和计算伦理学等多个学科。这种跨度的必要性在于,计算本身的定义正在膨胀,它不再只是电子工程的一个分支,而是正在成为理解信息如何在物理世界中流动、转化和产生意义的基础科学。将计算仅仅视为“处理数据的技术”,就像将生物学仅仅视为“分类动植物的学问”一样,正在错过更宏大的画面。这本书尝试打开这个画面。

沙粒曾经沉默地躺在河床和海滩上。现在,它们在芯片中日夜不停地开关,在光纤中传导着光脉冲,在忆阻器中记忆着过去的电流,在量子比特中同时存在着零和一。从沙到星,从被动到主动,从物质到智慧,计算的进化或许才刚刚开始。而这本书,就是关于这个开始之前那个漫长黄昏,以及在黄昏中逐渐亮起的第一批星辰。

第一章 计算的黄昏

黄昏是一种过渡,也是一种预兆。

当光线以近乎水平的姿态穿过大气层,光谱中的蓝色被剥离殆尽,只剩下温暖而疲惫的橙红,这个时刻最令人恍惚,因为它模糊了昼与夜的边界,让一切确定性暂时悬置。计算机系统正站在这样的黄昏里,只是身处其中的人未必察觉。日光还在,温度还在,一切看起来都还能继续运转,但影子的长度已经暴露了太阳的位置。

时钟频率的数字仍在增长。3.5吉赫,4.2吉赫,5.0吉赫,这些数字像某种古老仪式中的咒语被反复念诵,却越来越少人追问其意义。三十年前,从16兆赫跃升到33兆赫,意味着一款芯片比上一代快了一倍有余,那是实打实的、用户打开一个软件就能感受到的飞跃。而今天,从4.0吉赫提升到4.5吉赫,百分之十二的增幅甚至无法在大多数日常应用中被人察觉。操作系统启动时间的差异以毫秒计,文档打开速度的差异以微秒计,人类的手指敲击键盘的间隔是毫秒量级,眼球从屏幕上读入一个单词的时间是数百毫秒,在这些人类尺度的参照下,那零点几吉赫的增益就像在飓风中多扇了一下扇子,几乎毫无实际意义。

但代价却是实实在在的。硅基芯片上的晶体管密度已经逼近物理极限,量子隧穿效应不再是教科书上的预言,而是晶圆厂里每天必须面对的现实。电子在纳米尺度的绝缘层中任性穿越,像不守规矩的幽灵,让原本精确无误的零一逻辑变得暧昧不清。当一个晶体管本应处于“关闭”状态时,却有少量电子从源极直接隧穿到漏极,就像一扇本该紧闭的门出现了缝隙。这个缝隙无法被完全封堵,因为它的根源是量子力学中那个令人不安的基本事实:粒子的位置从来不是绝对确定的,它永远有一个概率云,而那个概率云在障碍物足够薄的时候就会渗透过去。这不是某个工程师的失误,也不是某个晶圆厂的工艺缺陷,这是物理法则在以最温柔也最坚决的方式说,到此为止。

业界并非没有挣扎。制程工艺从14纳米研磨到10纳米,再到7纳米、5纳米、3纳米,数字在不断缩小,缩小的幅度却在逐步收窄,如同一个收敛的无穷级数,永远趋近却永远触不到零。从28纳米到14纳米,尺寸减半;从14纳米到7纳米,再度减半。但接下来呢?从7纳米到5纳米,从5纳米到3纳米,从3纳米到2纳米,每一步的缩减比例都在缩小,每一步所需的工程难度却在指数级增长。极紫外光刻机在真空腔体里发射出波长13.5纳米的光子,每一束光都经过数十次反射镜的精密调控,这些反射镜由钼和硅交替镀层构成,每一层的厚度控制在原子量级,表面光滑到如果将镜面放大到地球的尺度,最高的凸起也不会超过一毫米。整台光刻机体量堪比一辆公交车,内部结构复杂到需要数十个学科的上万名工程师协作设计,造价高到只有屈指可数的几家企业能够负担。这是一场堪称壮烈的努力,一个文明将自己的工业能力推向极限的证明,但这场努力正在耗尽自己的可能性。

根据国际半导体技术路线图的评估,硅基CMOS工艺在2纳米节点之后,继续微缩的经济可行性将面临严峻挑战。一枚3纳米工艺芯片的设计成本已经超过五亿美元,流片一次的掩膜成本高达数千万美元。当成本以这种速度攀升时,能够负担得起先进制程的客户数量必然急剧收缩。一个曾经由无数创新者共同推动的产业,正在被经济学原理收束为少数寡头的专属游戏。

然而真正的问题甚至不在于芯片还能缩小多少。真正的问题在于,即便芯片性能能够继续翻倍,现有的计算架构也已经无力将其转化为同比例的实际收益。三道屏障构成了比物理极限更紧迫的制约,它们分别是功耗墙、内存墙和指令级并行度的枯竭。

功耗墙令人印象深刻。不妨看一个直观的数据:1993年,英特尔奔腾处理器的热设计功耗约为15瓦;2004年,奔腾4处理器的热设计功耗飙升至115瓦;到2024年,旗舰桌面处理器的功耗突破300瓦已是常态。三百年,三十年间功耗增长了二十倍,而性能增长远不止二十倍,这听起来似乎仍是一笔划算的买卖。但问题在于曲线的走势。15到115瓦是一段平缓的增长,115到300瓦却是指数加速的攀升,而且没有任何迹象表明这个趋势可以持续。一颗高性能处理器的峰值功耗达到300瓦意味着什么?它意味着三盏老式白炽灯同时燃烧所释放的热量,全部集中在一个指甲盖大小的面积上。单位面积的热流密度已经超过了核反应堆的燃料棒表面,甚至逼近了火箭发动机喷口的水平。散热成了比计算本身更棘手的工程难题,风冷散热器的体积和噪音已经到了民用场景的忍受极限,液冷系统从极客的奢侈配置变成了主流高端机的标配,而数据中心更是需要建造在江河湖海之畔,不是因为程序员喜欢水景,而是因为冷却液需要带走的热量已经超出了空气对流的承载能力。微软甚至将整个数据中心沉入了苏格兰附近的海底,谷歌在芬兰的哈米纳数据中心直接抽取波罗的海的海水进行冷却。这些景象带有一种荒诞的诗意:计算不再受限于思维的速度,而是受限于热量消散的速度。像一个人在奔跑,不是肺活量不够,而是血液的热度随时可能煮沸自己。

内存墙则更为隐蔽,也因此更为致命。过去三十年,处理器的运算速度增长了数万倍,内存的访问速度却只增长了几十倍。这两条增长曲线之间日益拉大的差距,被一个精巧的缓存层级结构所掩盖。L1缓存、L2缓存、L3缓存,现在甚至出现了L4缓存,它们像一层层缓冲垫试图吸收处理器与主内存之间的速度落差。L1缓存通常在处理器核心内部,容量不过数十千字节,访问延迟在一个时钟周期以内;L2缓存略大一些,几百千字节到几兆字节,延迟几个时钟周期;L3缓存再大一些,几十兆字节,延迟几十个时钟周期;然后才是主内存,容量以吉字节计,延迟却高达数百个时钟周期。这个层级结构的设计逻辑是局部性原理:程序倾向于反复访问最近使用过的数据和指令,因此只需要把最活跃的一小部分数据保留在离处理器最近的地方,大部分数据可以安心地放在远处。

这个设计在多数情况下有效,但它有一个致命的前提假设,程序的工作集能够装进缓存。一旦程序需要访问的数据超出缓存容量,缓存命中率就会断崖式下跌,处理器便不得不频繁陷入对主内存的漫长等待。在纳秒尺度上,主内存的两百个时钟周期漫长得像地质纪元的更迭。处理器在等待,在空转,在消耗电力却无所作为。这正是那个著名的“内存墙”比喻,数据像是被一堵高墙围住,处理器空有一身算力却无法触及。

据实测数据,在典型的数据中心负载下,处理器有超过百分之四十的时间处于停顿状态,等待数据从内存送达。这个数字意味着,数据中心里接近一半的电费不是在为计算付费,而是在为等待付费。谷歌曾披露其数据中心的平均电力使用效率已经优化到1.1以下,输入100瓦电力,只有不到10瓦被非计算用途消耗。但这个数字掩盖了更深的真相:即便是那用于计算的电力,也有很大一部分在为芯片上的空闲等待买单。沉默的芯片耗费着能量,像一台油门踩到底却挂在空挡的发动机。

指令级并行度的枯竭则是另一个维度的困境,一个不那么为公众所知却同样深刻的困境。上世纪九十年代到本世纪初,处理器架构师们发现了一个巧妙的方法来绕过主频提升困难:既然单条指令的执行速度难以提升,不如同时执行多条指令。超标量技术使得处理器可以在同一个时钟周期内发射多条指令到不同的执行单元,乱序执行技术允许处理器重新排列指令的执行顺序以充分利用硬件资源,推测执行技术则让处理器在分支结果尚不明朗时便提前开始计算可能的路径。这些技术将处理器的内部变成了一座高度精密的流水线工厂,指令像流水线上的零件一样涌入,被拆解、重排、并行处理,再按顺序拼回最终结果。

这段时期被称为“指令级并行”的黄金时代。从1990年到2005年,处理器的单线程性能以每年约百分之五十的速度增长,其中相当一部分贡献来自指令级并行技术的进步。但这座金矿终有开采殆尽的一天。程序中的指令并非彼此独立,它们像藤蔓般相互缠绕,一条指令的结果往往是下一条指令的前提。能从程序中提取出的并行度终究有限。大量学术研究表明,即便使用最激进的硬件推测机制,通用程序的指令级并行度平均也难以超过四个。四个,这个数字在二十年前就被逼近,此后所有在指令级并行维度上的努力都只是在边际上做徒劳的修补。处理器架构师们为了从石头里再多榨出一滴油,将流水线加深到三十级以上,将分支预测器的复杂度推高到与处理器核心本身不相上下,将推测执行的深度延伸到几百条指令之后。每一条新增的流水线级数带来的性能增益越来越小,而由此产生的设计复杂度、功耗开销和安全隐患却越来越大。2018年,幽灵和熔断漏洞的披露让全世界看到了推测执行的阴暗面:为了追求那一点点额外的性能,处理器在暗中做了大量不可见的投机计算,而这些计算留下的痕迹可以被恶意软件嗅探,从而窃取密码、密钥和其他敏感数据。安全补丁的代价是显著的性能回退,多年辛辛苦苦攒下的性能增益,一朝被安全恐慌消去了一大截。这是一个辛辣的注脚,为主频竞赛和指令级并行竞赛画上了句号。

如果我们将这三道屏障放在一起看,就会发现它们并非孤立的困难。它们彼此交织,互相强化。功耗墙限制了主频,主频停滞催生了多核,多核加剧了内存墙,内存墙迫使缓存层级加宽加深,复杂的缓存层级增加了芯片功耗,而所有这些问题最终都指向一个共同的根源:冯·诺依曼架构。

一九四五年,约翰·冯·诺依曼在一份题为《关于EDVAC的报告草案》的手稿中,描述了一个将程序与数据存储在同一存储器中的计算模型。这个模型对后世的影响大到几乎无法度量。它的核心思想简洁而优美:计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成,程序和数据都以二进制形式存储于存储器中,控制器从存储器中逐条取出指令并执行,运算器在控制器的指挥下完成算术和逻辑操作。这个架构使得程序本身可以被当作数据一样修改和存储,从而赋予了计算机前所未有的灵活性。

在此之前,可编程计算机的鼻祖ENIAC的编程方式是在插线板上用物理跳线连接电路,更换一个程序需要花费数小时甚至数天的时间重新接线。冯·诺依曼的存储程序概念将程序从物理线路的束缚中解放了出来,让计算机从一台死板的专用机器变成了可以随时切换任务的通用工具。这是一个天才的洞见,它奠定了此后七十年整个计算机产业的基础。几乎所有的现代计算机,从最小的嵌入式微控制器到最大的超级计算机集群,从口袋里的手机到云端的服务器,都在骨子里遵循着这个架构的基本逻辑。

然而,冯·诺依曼架构的另一面也开始随着时间浮现。这个架构的本质是一种分离的哲学:计算与存储分离,指令与数据分离,控制器与运算器分离。存储器是一个被动的容器,静静地躺在那里,等待着处理器来存取。处理器是主动的执行者,但它只能通过一条狭窄的通道与存储器相连。这条通道后来被IBM的约翰·巴克斯命名为“冯·诺依曼瓶颈”,并且指出,这个瓶颈不是某种可以通过工艺改进来消除的临时缺陷,而是架构本身的结构性特征。只要计算单元和存储单元是分离的两个实体,只要它们之间的通信需要通过一条有限带宽的总线,瓶颈就永远存在。

某种意义上,冯·诺依曼架构是人类思维习惯在一个不该应用的地方施加的投射。人类习惯于将“思考”和“记忆”视为两种不同的心智活动,这种习惯被古希腊哲学家反复论述,被启蒙时代的思想家进一步强化,已经深深融入了日常语言的肌理。人们说“让我想一想”,指的是从记忆中调取相关信息并加以处理;人们说“我想不起来了”,指的是调取失败。这两件事在语言中是分开的,在主观体验中也是分开的,所以当工程师们设计计算机时,几乎不假思索地将它们分开了。处理器负责“想一想”,存储器负责“记一记”,两者各司其职,通过系统总线传递信息,像两个部门之间走公文流转。

但大脑并不是这样工作的。神经科学几十年的研究成果反复指向同一个结论:在大脑中,存储和处理是同一枚硬币的两面。同一个神经元网络既存储记忆,也处理信息。当你回忆一个久未谋面的朋友的脸时,并不是从一个被动的记忆仓库里“调取”了一张照片,而是那个负责面部识别的神经网络在主动重建那张脸的表征。记起就是重建,存储就是处理。突触的可塑性,神经元之间连接强度的变化,是记忆的物理基础,而这种连接强度的变化同时也改变着神经网络处理未来信息的方式。在大脑中,你无法划出一条清晰的线,说线的这边是存储,那边是计算。它们是不可分割的一体。

在物理世界中同样如此。信息的存储和转换从来不是截然分开的过程。一块被加热后逐渐冷却的金属“存储”了它曾经被加热的历史,这个历史可以通过测量金属的晶粒结构来“读取”,而晶粒结构的形成本身就是热力学方程的“求解”。一张被揉皱的纸同时“存储”了折痕的“记忆”和纸张形态变化的“计算”。一片落叶的飘落轨迹既是外界风力条件的“记录”,也是空气动力学方程的“求解”。自然界从不区分存储和计算。一条河流的每一道弯曲都既是水流侵蚀作用的记录,也是流体力学方程在复杂边界条件下的解。是人类的抽象思维将这两者割裂开来,然后将这种割裂固化到了机器的结构之中。

这种割裂在技术尚不发达的年代并无大碍。上世纪五六十年代,计算机的主要任务是为科学研究做数值计算和为企业做简单的事务处理。求解微分方程、计算导弹弹道、汇总工资报表,这些工作的共同特点是数据的量和种类都不大,程序逻辑相对清晰,计算密集度可控。在这样的历史条件下,冯·诺依曼架构远远超出了实际需求,它甚至可以说是一种奢侈的过度设计。批评它就像批评一个温饱充足的人在餐桌礼仪上不够精致。

但时代变了。计算已经渗透到人类生活的每一个毛细血管。智能手机上的摄像头在每一秒钟产生着海量的像素数据,工业传感器在每一微秒采集着环境参数,全球的社交网络每时每刻都在产生着文本、图像和视频,自动驾驶汽车上的激光雷达在不停息地扫描着周围的三维空间,基因测序仪每次运行都会产生数百吉字节的序列数据。而最引人注目的变化来自人工智能。神经网络的参数规模在过去十年间膨胀了数百万倍。2012年的AlexNet有六千万个参数,2018年的BERT有三亿个参数,2020年的GPT-3有一千七百五十亿个参数,而此后的模型更是朝着万亿参数迈进。这些参数不是堆积在存储器里就完事了。每一次推理,每一次训练,这些参数都要被读取、被更新、被写回。在训练一个大语言模型的过程中,数据在计算单元和存储单元之间往返的次数是一个天文数字。

计算的本质已经从“指令执行”悄然转变为“数据流动”。但架构没有变,依然是七十多年前那套基本框架。用一个诞生于真空管时代的设计来处理神经网络时代的计算任务,就像在高速铁路上驾驶一辆蒸汽机车,无论怎样改造阀门和锅炉,它的底层热力学极限注定无法匹配这个时代的需求。问题不在于计算机不够快,而在于计算机的“快”用错了地方。就像一个善于短跑的运动员被要求去跑马拉松,他的肌肉类型、供能系统、呼吸节奏都是为了另一项运动而生的,强行拿来用只会让他在中途就精疲力竭。

这种架构上的不匹配带来的代价远不止在能耗和性能层面。更深层的代价是认知性的。当架构将存储和计算分离,它同时也将“知识”和“智能”分离了,至少是在隐喻也是实践的层面上。知识被存储在数据库里,压在磁盘阵列的深处。智能被编写在算法里,运行在处理器的流水线上。两者之间隔着一条必须反复跨越的鸿沟。每次调用知识,都必须将其从静默的存储器中取出,沿着窄窄的总线穿越重重缓存层级,加载到计算单元的热闹场域中;每次产生新知,都必须将其从计算单元沿着同一条路线反向写回存储的沉寂之中。这种往返消耗了能量,消耗了时间,也消耗了本可以用于真正思考的机会。今天的计算机就像那个经典的寓言:一个挖矿的人不断将矿石从矿坑搬到地面,又从地面搬回矿坑,因为他不知道矿坑和地面原本可以是同一层。如果在架构层面,知识和智能从未分开过,就不需要消耗能量去弥合分离。这个分离是人类在工业时代的思维惯性强加给机器的,而机器正在为此付出沉重的代价。

也正是从这个意义上,计算机系统才真正地“跟不上时代”。这个时代需要的是能够像溪水汇入江河那样自然处理信息的系统,需要的是记忆与思考融为一体的架构,需要的是不再用时钟频率和晶体管数量来衡量的全新计算范式。而当这一切尚未到来时,我们就只能站在黄昏里,看着太阳无可挽回地西沉,等待着某种尚未命名的曙光。

计算的历史并不长。从1945年ENIAC点亮它的第一根真空管算起,至今不过八十余年。在这八十年里,计算经历了从电子管到晶体管、从分立元件到集成电路、从大型机到个人电脑再到移动设备与云计算的多次范式转移。每一次转移都伴随着旧秩序的瓦解和新秩序的艰难建立,每一次转移在最开始都被当时的主流观点认为不可行、不必要、或者纯属异想天开。晶体管在发明之初,许多大型机厂商认为它不稳定、不可靠、不适合严肃的计算任务。集成电路出现时,很多人担心一旦某个晶体管损坏,整个芯片就报废了,得不偿失。个人电脑被IBM的高层认为只是一种玩具,市场不会超过几十万台。互联网被传统电信巨头视为不安全的业余网络。每一种质疑在当时听起来都合情合理,每一种否定都有充足的论据支撑。而历史每一轮都证明,范式的力量远大于增量式改进的力量。

站在今天这个节点,下一个范式的轮廓或许已经在地平线上隐约浮现,只是大多数人还沉浸在昨日的光辉中,尚未抬眼去看。或者说,正是因为昨日的光辉太过耀眼,柔和的晨光才反而容易被忽视。生物计算、光子计算、量子计算、神经形态计算、存内计算,这些名词正在从学术论文的边缘走向产业讨论的中心。它们中的大多数还远未成熟,有些甚至只是实验室里的概念验证,距离取代冯·诺依曼架构还有漫长的路要走。但它们的存在本身就是最重要的信号:计算的可能性从未像今天这样丰富,也从未像今天这样迫切需要被重新想象。

黄昏之所以令人感伤,是因为它意味着一个白昼的结束。白昼是确定的、温暖的、熟悉的,属于这一天的太阳曾照亮过无数事物。但黄昏也意味着星夜的开始。星星一直都在,只是被白日过于强烈的光芒所遮蔽。当白昼的光黯淡下去,星星便会一颗接一颗地显露出来。那些被冯·诺依曼范式的光芒所遮蔽的替代性计算路径,或许正悄然等待着这样一个时刻的到来。

在日落的余晖中,一个时代正在缓缓合上它的眼睑。发热的芯片在机箱中低声嗡鸣,风扇依旧在旋转,硬盘的指示灯仍在闪烁,一切看起来都还如常。但如果你凑近去看,那些在暗处隐隐发光的微小光点,或许是一个实验性忆阻器阵列上的辉光,或许是一枚量子芯片在极低温稀释制冷机里的静默,或许是某个光学计算原型机中穿梭的光束,它们正在昭示着另一些可能。本书将要讲述的,正是那些在长夜中已经亮起或即将亮起的星辰。

第二章 主频迷思与并行困境

戈登·摩尔在1965年写下那篇后来被称为“摩尔定律”的预言文章时,他大概只把那当作一份普通的行业观察。当时他是仙童半导体公司的研发主管,为《电子学》杂志撰写一篇预测半导体行业发展前景的约稿。他查阅了1959年至1965年间几款芯片的晶体管数量,在一张半对数坐标纸上画下了四个数据点,然后将这条直线向前延伸了十年。他的预测简单明了:集成电路上的晶体管数量将每两年翻一番。

四个数据点。摩尔最初的依据只有四个数据点。如果当时有人告诉他,基于这四个点画出的趋势线将在此后半个多世纪里成为一个价值万亿美元的全球产业的铁律,一个被政府、企业和整个社会共同信奉的自我实现的预言,以及到最后,一个令人疲惫不堪的重负,他大概会感到不可思议。摩尔自己在1975年也修正过这个预测,将翻番周期从两年调整为十八个月,而“十八个月”这个数字后来又被英特尔的市场营销团队进一步固化为“每年性能翻倍”的消费者预期。一个科学家的粗略估计,就这样被包装成了一个产业的神圣承诺。

摩尔定律从来不是物理定律。它不是热力学第二定律那样不可违抗的铁则,不是光速不变那样被反复实验证实的自然常量。它更像是一个关于人类创造力的自证预言,一个集体信念驱动下的产业魔术。每当物理学家声称某个尺度已经逼近极限,工程师们总能找到巧妙的绕行方案。当栅极氧化层薄到电子开始隧穿,高介电常数材料和金属栅极便应运而生。当二氧化硅栅极介质被氮氧化硅取代,再被铪基高K材料取代,每一次材料革新都为晶体管缩小续上了一口气。当二维平面上的晶体管密度接近饱和,三维立体的鳍式场效应晶体管便从加州大学伯克利分校的实验室走向了量产。当单一图案曝光的极限被逼近,多重图案化技术硬是将一套掩膜分成了四套来用,用复杂度换取精度。每一次看似山穷水尽,都被证明是新的柳暗花明。这轮持续了近六十年的创新接力,本身就是人类工程史上最为壮观的篇章之一。

然而这一次,情况有所不同。高数值孔径极紫外光刻机将波长进一步压缩到13.5纳米,单元尺寸逼近原子量级。在3纳米制程节点上,一个晶体管沟道中的硅原子数量已经可以用几行数字全部数清。继续缩小,意味着需要操纵单个原子的位置,不仅是操纵,还要在数百万亿的晶体管中保持操纵的一致性和可重复性。这不但需要能量级数般的代价,更面临着统计力学最根本的限制。在如此微小的尺度上,掺杂原子的数量波动变得无法忽视。一个标称含有七个掺杂原子的晶体管,在实际生产中将随机出现五个、六个、七个、八个甚至九个的情况,每一个数量的偏差都意味着不同的阈值电压。每个晶体管由此被赋予了统计学意义上的“个性”,而对于依靠数亿个晶体管精确一致运作的集成电路而言,这种个性是灾难性的。

这便指向了一个更根本的转折点:登纳德缩放定律的失效。1974年,IBM研究员罗伯特·登纳德发表了一篇具有里程碑意义的论文。他指出,随着晶体管的尺寸缩小,其电压和电流也可以等比降低,从而使功耗密度保持不变。这意味着每一代新工艺可以在相同的芯片面积上集成两倍数量的晶体管,同时让每个晶体管以更快的速度开关,而总的功耗不变。这是一份慷慨到近乎不真实的礼物,它为整个半导体产业在此后三十年间的“主频竞赛”提供了物理基础。晶体管的门延迟越来越短,时钟频率就可以提得越来越高,而功耗不会失控。

从1980年代到2005年前后,处理器的时钟频率从几兆赫一路攀升至几吉赫,增长超过一千倍。每一代芯片都比上一代更快,而“更快”是通过最简单直接的方式实现的,时钟滴答得更快了,像一支不断加速的节拍器。对于用户来说,这种进步是可感可知的。今年买的电脑运行去年的软件,快得让人惊喜;明年买的电脑运行今年的软件,同样快得让人满足。这种线性增长的安全感构成了那个时代整个信息产业乐观主义的基础。

但2005年前后,一切都变了。英特尔推出了奔腾4的巅峰型号,时钟频率达到3.8吉赫,功耗达到了惊人的115瓦。许多业界预测者满怀信心地认为主频很快就会突破10吉赫。然而接下来发生的事让绝大多数人大跌眼镜:主频停滞了,不只停滞,甚至倒退。奔腾4的继任者酷睿系列将主频回调到了更低的区间,转而依靠架构效率的提升来维持性能增长。那颗被寄予厚望的10吉赫芯片从来不曾出现,而且已经过了将近二十年,依然遥遥无期。

造成这一转折的原因简单到近乎残酷:功耗。随着主频的提升,芯片的动态功耗呈超线性增长。功耗正比于频率乘以电压的平方,而维持高频运行需要提高电压,两者共同作用的结果是:频率翻倍,功耗增加不止三倍。当功耗密度突破每平方厘米100瓦时,传统的风冷散热已经无能为力。每一个有过超频实践的计算机爱好者都亲身体验过这条曲线的威力:在BIOS界面小心翼翼地加高一档电压,看着温度监控软件上的数字稳定攀升,运行基准测试,系统冻结或重启,再加一档电压,温度跳升得更快,直到某个瞬间,要么散热器发出飞机起飞般的呼啸仍然压制不住温度,要么系统直接蓝屏。业余玩家在自家卧室里撞到的这堵墙,与英特尔在晶圆厂里撞到的是同一堵。

于是一个新的口号迅速取代了“更高更快更强”:多核。既然单核心的主频无法持续提升,不如在一个芯片上放置多个处理核心,靠并行来弥补串行性能的停滞。双核、四核、八核,核心数量的增长像过去主频数字的增长一样节节攀升。到2025年,消费级处理器已经拥有数十个核心,服务器级处理器的核心数量更是轻易过百。芯片产业完成了一次华丽的叙事转向:从“我们的芯片跑得更快”变成了“我们的芯片可以同时做更多事”。

从营销的角度看,这个转向是成功的。核心数量的增长曲线在发布会幻灯片上看起来和过去的主频增长曲线一样漂亮。但从用户实际体验的角度看,情况远没有数字暗示的那么乐观。主频提升带来的性能增益对软件来说是“免费”的,程序不需要做任何修改,仅仅更换一颗处理器就会自动跑得更快,算法不变,代码不变,一切如常,但一切都加速了。而多核带来的潜在性能增益并不是免费的。要充分利用多个核心,软件必须被重新设计。程序需要被拆分成可以并行执行的片段,数据需要被划分到不互相重叠的区间,线程之间需要细密的同步以避免竞态条件,共享资源的访问需要精巧的锁机制来保障一致性。所有这些都不是自动发生的,它们需要程序员付出巨大的心智劳动,需要编程语言提供良好的抽象支持,需要操作系统提供高效的调度机制。

而问题恰恰出在这里。并行思考并不是人类思维的默认模式。人类的意识流天然倾向于线性推进,一件事接着一件事,一个推理链接着下一个推理链。这种串行性深深嵌入了从小学到大学所有教育体系中训练出来的思维习惯。写作文讲究起承转合,做数学题讲究分步求解,做事情讲究轻重缓急、先后次序。当需要同时处理多个任务时,大多数人的效率会急剧下降。认知心理学实验表明,所谓的“多任务处理”在绝大多数情况下其实是快速任务切换,而频繁切换的成本相当可观,大脑需要时间重新加载上下文,就像处理器在缓存未命中时需要从主内存重新加载数据一样,人类大脑的“上下文切换”同样消耗着宝贵的时间与精力。

软件开发的思维惯性比个人心智习惯更难扭转。从1950年代至今,绝大多数编程语言都是基于顺序执行模型设计的。C语言、Java、Python,程序员学习的第一个程序几乎总是打印一行字符然后结束,这是线性执行的缩影。数据结构与算法的经典教材按照步骤复杂度来编排内容,操作系统教材以进程和调度为中心组织知识。整个软件技术栈是围绕着“一件事发生之后发生另一件事”这个世界观建造起来的。要重塑这个世界观,需要改变的不仅是教材和工具,更是几代工程师的思维模式。这种改变远比设计一款新芯片要困难得多。

阿姆达尔定律冷酷地量化了并行化的局限。1967年,IBM的计算机架构师吉恩·阿姆达尔在一篇讨论并行处理极限的会议论文中,提出了一个简洁而不留余地的公式:如果一个程序中有百分之十的代码必须串行执行,那么即使将其他部分无限并行化,整体的加速比也不可能超过十倍。如果串行部分占百分之五十,加速比上限就是两倍。

这个公式的结论直白得近乎刺耳。它说的是,无论投入多少额外的计算资源,总有一部分时间是无法被缩短的。就像烘焙面包,揉面、发酵、烘烤这些步骤中的每一个所需的最短时间都是固定的,你无法通过增加更多厨师来让面团发酵得更快。在计算机的世界里,每一个程序都有自己的“串行部分”,可能是一个不可分割的计算序列,可能是对操作系统服务的串行调用,可能是对共享资源的锁定访问。这部分代码就像附着在程序身上的影子,无论将其余部分并行化到何种程度,影子始终在那里,决定着整体的运行时长。

现实世界的程序,串行部分的比例往往远高于直觉的估计。函数调用之间的数据依赖、共享数据结构的同步开销、对I/O设备的串行访问请求,这些都在暗中推高了串行占比。一个被精心并行化的科学计算程序,其并行部分或许能占到总执行时间的百分之九十九,这意味着加速比上限可达一百倍,这正是为什么科学计算领域对超级计算机的热情始终不衰,因为确实有一些问题是可以高度并行化的。但对于一个典型的企业级应用程序、一款普通的桌面软件、一个移动应用而言,百分之三十到五十的串行部分更为常见。这意味着,在八核心之后增加更多核心,性能提升将变得微乎其微。十六核对八核的提升幅度可能只有十个百分点,三十二核对十六核的提升可能只有五个百分点,六十四核对三十二核的提升或许连百分之一都不到。

这种边际递减效应是并行计算最深刻的悲哀。投入在增长,芯片上的核心数量在增加,晶体管的数量和功耗也随之增加,软件开发的复杂度和维护成本也在增加,但产出却在无情地衰减。硬件端堆叠起来的每一个新增核心,都像一座被建造起来却无人入住的空房间,整洁明亮,却始终安静。

更为隐蔽的是,多核架构非但不能解决内存墙问题,甚至在一定程度上加剧了它。当多个核心同时请求访问主内存时,内存总线的带宽就成了新的瓶颈。单个核心运行时,它独享内存带宽,所有的数据通道都归它使用。两个核心运行两个独立程序时,带宽一分为二。数十个核心同时发起内存请求时,彼此之间不仅争夺带宽,还引入了额外的竞争延迟,一个核心的请求可能被另一个核心的大规模数据搬移所阻塞,排队等待的时间比数据传输本身更长。缓存一致性协议的通信开销更是以近乎超线性的速度随核心数量增长。当核心数量从四个增加到八个,一致性协议引入的延迟还不太明显;从八个增加到十六个,开销开始变得可以测量;从十六个增加到六十四个,维护一致性所消耗的带宽和延迟已经成为不可忽视的性能因子。在核心间互联网络上奔涌的缓存一致性流量,像一座大城市早晚高峰时段的交通,表面上看每条路都畅通,实际上处处是隐性堵点。

麻省理工学院的一个研究团队在对一款商用64核心处理器进行详细微架构测量后发现了一个令人深思的数据:在执行典型的数据库查询负载时,超过百分之三十五的芯片功耗被用于数据搬移而非数据计算。百分之三十五。一个造价数亿美元的数据中心里,有超过三分之一的电力不是被花在产生答案上,而是被花在来回搬运那些将要产生答案的原材料上。一位参与该项研究的学者在报告中写下这样一句话:“现代计算机已经不再是计算密集型系统,而是数据搬运密集型系统,而它们的架构却依然是为计算密集时代设计的。”这是一个技术判断,也像是一句诗性的判词。

从更宏观的视角看,主频竞赛的终结和多核转向所带来的冲击远不限于技术层面。它深刻地改变了软件产业的创新节奏。在“免费性能午餐”尚未终结的年代,软件开发者可以放心大胆地写低效率的代码,因为他们知道,明年发布的硬件会把性能亏空补回来。这种预期支撑了整个软件产业几十年的发展模式:快速开发、快速迭代、容忍效率上的瑕疵。抽象层越堆越厚,框架越来越重,编译后的代码量不断膨胀,而用户几乎感受不到变慢,因为硬件在底下不断变快。

但当硬件不再自动变快时,软件产业就被迫面对一个痛苦的事实:那些积累了数十年的低效代码,必须被手动优化,而这需要的时间和技能远比堆叠新功能要多得多。更糟糕的是,并行化不是一种可以被“逐步添加”的属性。它不是给汽车喷一层新漆,而是需要从底盘开始重新设计引擎。一个最初按照串行逻辑设计的程序,在后期被强行改造成多线程版本时,往往既保留了串行版本的复杂性,又叠加了并行编程引入的额外复杂度,最终变成一团难以维护的代码迷宫。

这场困境的解决之道到底是什么,仍然是一个开放的问题。产业界在过去十几年里尝试了各种方向。异构计算将不同类型的计算任务分派到不同类型的处理单元上,CPU处理通用逻辑,GPU处理大规模数据并行任务,FPGA和专用加速器处理特定算法。领域专用架构抛弃通用性,在特定应用领域换取极致效率。3D封装和高带宽内存试图从物理层面缩窄内存墙的缺口。每一种尝试都在某些方面取得了进展,但没有哪一种尝试能够从根本上克服那个颠扑不破的瓶颈,只要计算和存储还是分离的,只要数据还需要在两者之间往返奔波,瓶颈就永远在那里,或宽或窄,但从不消失。

冯·诺依曼架构在并行时代暴露出的核心矛盾,早已不只是一个技术参数的不足,而是一种结构性的失衡。当计算单元的数量以几何级数增长,数据通路的宽度却只能以算术级数扩展时,系统的整体收益就必然被最慢的环节拖住。仿佛一支庞大的交响乐团被塞进了一个只有一扇小门的演奏厅,乐手再多,能同时奏出的音符终究受限于那扇门的大小。芯片设计师们在过去二十年里进行了各种精妙的努力,将内存控制器集成到处理器芯片上引入了非一致内存访问架构,使用硅中介层和微凸点将高带宽内存堆叠在处理器旁边带来了2.5D和3D封装,设计全新的网格互联结构以替代共享总线,这些创新都是真实的、有效的、来之不易的。但它们终究是在既有框架内的修补,像是给蒸汽机车不断增添气缸、优化锅炉、打磨轮轨,它依然跑得更快了,但它永远不会变成电气化铁路。

也正是黄昏之说才不仅仅是一声叹息,而是一种理性的认知。摩尔定律的放缓不是终点,而是迫使人类走出思维舒适区的一个契机。芯片上密布的晶体管阵列依旧在硅的基底上闪烁着金属般的光泽,从高空俯视,它们像极了夜晚的都市灯光,细密而辉煌,却也昭示着这座城市自身的消耗。解决之道不在于把这些灯光调得更亮,而在于重新构想一座不需要这么多灯光的城市,让数据不必再如城中拥堵的车流般艰难挪动,而是像山间的薄雾一样,自由地渗透到每一个需要它的角落。一个不再区分计算单元与存储单元的世界,正在模糊地浮现,等待着被赋予清晰的形式。

第三章 数据的重量

数据有重量吗?

物理学的答案是否定的。比特没有质量,电磁信号没有实体,存储在固态硬盘中的文件不会让设备增重哪怕一个电子的分量。信息是纯粹的抽象,是排列而非质料,是差异而非存在。克劳德·香农在1948年奠定信息论基础时便明确指出,信息的意义与传输它的物理介质无关。一比特就是两个等可能状态之间的选择,它不占据空间,不损耗能量,不产生引力。数据是世界上最轻盈的东西。

但这个回答忽略了一个更隐蔽的事实。数据虽然没有物理质量,却有系统重量。它压在总线上,压在缓存层级上,压在每一个试图移动它的人的心智上。当数据量增长到一定规模,它的“重量”便不再是一种修辞,而是一种真实的、可被精确测量的负担。今天的数据中心设计师在规划一座新设施时,首先考虑的往往不是算力密度,而是数据量,多少拍字节的存储、多少太比特每秒的带宽、多少瓦特的功耗将用于数据搬移。数据的重量,在财务报表和能耗仪表盘上都是实打实的数字。

不妨先回到一个最基本的问题:数据从何而来?过去,数据是人类主动创造的产物。会计录入账目,统计员填写表格,程序员编写代码,每一比特的数据背后都有一个明确的目的和一只敲击键盘的手。这类数据的增长速度受限于人类的吞吐能力,一个人一天能录入的信息量终究有限。从上世纪五十年代到九十年代,全球数据总量的增长曲线与全球GDP的增长曲线大致同步,平缓而可预测。

然后世界跨过了2000年的门槛,从此一切改变了。传感器从精密仪器变成了廉价量产件,智能手机将摄像头、麦克风、加速度计、陀螺仪、磁力计、气压计全部集成到一个口袋里,社交网络使每个普通人从信息的消费者变成了信息的生产者,而物联网则把数以百亿计的设备接入了数据洪流。数据不再只是人类主动敲击键盘的产物,它成了机器自动吐出的副产品。每一次点击、每一次滑动、每一次位置更新、每一次面部识别、每一次搜索引擎查询,甚至每一次系统后台的心跳检测,都在产生数据。摄像头不分昼夜地捕捉着像素,温度传感器每隔几秒就报告一次环境读数,自动驾驶汽车上的激光雷达每秒钟产生数百万个三维坐标点。人类不再需要费力地“制造”数据,数据像呼吸一样自然而然地被呼出。

国际数据公司的年度报告是描绘这场爆炸最常用的数据来源之一。2010年,全球创建、捕获、复制和消费的数据总量约为2泽字节。泽字节是一个需要稍加阐释的数量级。1泽字节等于一万亿吉字节。如果一张数码照片的平均大小为5兆字节,那么2泽字节相当于400万亿张照片。如果将这些照片印刷出来堆叠在一起,其高度足以从地球往返月球数次。

到2020年,这个数字增长到了64泽字节,十年间膨胀了32倍。同期全球人口增长了约十个百分点,全球经济总量增长了约三十个百分点,而数据总量增长了三千两百个百分点。这意味着数据不再是人类活动和商业活动的被动反映,它已经变成了一个独立的、具有自我增长逻辑的现象。人类不是数据的唯一创造者了,甚至不再是主要创造者。据估计,在2025年产生的全部数据中,超过百分之四十将来自机器与机器之间的通信,传感器向聚合器报告,聚合器向数据中心报告,数据中心向备份中心同步,所有这些数据的流转中没有人类参与,也不需要人类理解。它们是机器写给机器的信件,数量之庞大已经超出了人类阅读能力的极限。

让这些数字更贴近直觉,可以用一个比喻。如果一个人每秒阅读一个字,一天二十四小时不眠不休,需要三十一年才能读完一部《战争与和平》篇幅的中文文本。以同样的速度阅读180泽字节的数据,需要的时间是,这个数字已经超出了任何有意义的时间类比所能涵盖的范围。不妨换一种说法:一个人类文明从诞生到灭亡的全部时间,可能都不足以让一个人读完这个星球上一年产生的数据。

这就是现代计算系统面对的数据洪流。它不是一个有序的、经过精心编目的图书馆,而是一场持续的、来自四面八方的暴雨。计算系统必须在这场暴雨中保持站立,接住每一滴雨水,并从中提取出有用的信息。而它用以接住这些雨水的工具,却是一个诞生于毛毛雨时代的容器。

冯·诺依曼架构中最大的性能瓶颈,内存墙,在数据量的压力下变得更加触目惊心。数据的重量,首先就压在这堵墙上。不妨回忆一下内存墙的基本事实:处理器的运算速度在过去三十年增长了数万倍,内存的访问速度只增长了几十倍。这两个速度之间的鸿沟被缓存层级结构所掩盖,但缓存的容量终究有限。当数据量远远超过缓存容量时,而在大数据时代,这几乎是常态,处理器就不得不频繁地直接访问主内存,在数百个时钟周期的漫长等待中空转。

更糟糕的是,数据洪流意味着不仅是活跃数据工作集大于缓存,而且数据本身还在不断流动。传统的内存层级结构建立在局部性原理之上:时间局部性认为最近被访问的数据很可能再次被访问,空间局部性认为被访问数据附近的数据也很可能很快被访问。这两个假设在经典的计算任务中是成立的。一个文字处理软件的代码段和字典数据会被反复使用,一个电子表格的计算公式会引用相邻的单元格,一个数据库会对其索引结构进行频繁而重复的遍历。但在大数据和流式数据的语境下,局部性原理正在快速瓦解。数据从外界涌入,被处理一次或几次,然后就被写入长期存储或直接丢弃。没有时间局部性,因为每一份数据都是新鲜的;没有空间局部性,因为不同的数据源分布在记忆空间中彼此无关的位置。缓存面对这样的访问模式几乎无能为力。一块被精心设计的多级缓存结构,在流式数据面前的命中率可能不足百分之十,其余百分之九十的访问都直抵主内存,将内存墙的存在感放到最大。

数据移动的功耗账本比性能损失更令人触目惊心。在第一章中提到了麻省理工学院团队的研究结果:执行典型数据库查询时,超过百分之三十五的芯片功耗用于数据搬移。这一数字还是在数据库查询这样相对结构化的负载中测得的。在更无序、更依赖随机访问的场景下,比如遍历一个大型图结构、对稀疏矩阵进行操作、或在训练神经网络时反向传播梯度,用于数据搬移的功耗比例可以轻松超过百分之五十甚至更高。硅谷的一位芯片架构师曾私下做过一个粗略估算:如果将一颗高性能处理器执行深度学习训练时的全部功耗按功能拆分,实际用于乘法累加运算(即神经网络最核心的计算)的功耗不到总数的十分之一。其余九成以上的电力,消耗在了将数据从一处搬运到另一处的路上。这句话未经同行评议,也无法核实其精确度,但它指向的方向与学界和业界的持续观察是一致的,数据移动已经吞没了计算本身。

这就引出了一个更根本的反思。在过去半个多世纪里,计算性能的度量标准一直是每秒浮点运算次数,或每秒整数运算次数。这些标准衡量的是处理器在理想状态下完成数学操作的速度。但现实中的计算早已不再是纯粹的数学。它越来越像是一场物流。数据需要从磁盘或固态硬盘进入主内存,从主内存进入各级缓存,从缓存进入寄存器,经过运算后再沿着完全对称的路径返回。这个过程中每一段路程都有对应的带宽和延迟,而任何一段的瓶颈都会拖慢全程。一个人可以拥有世界上最快的心脏和肺,但如果他的血管在某个关键位置被血栓堵塞,血液仍然无法顺畅流过。今天的计算机便是如此,它的计算单元强壮得像一个专业运动员的心脏,但它的血管系统仍然是七十年前设计的。

更令人不安的是,现代软件的抽象层次在不知不觉中加重了数据的负担。一个在浏览器中运行的网页应用,数据从网络接口输入,在JavaScript引擎中解析,经过虚拟DOM的层层更新,再通过CSS布局引擎映射到屏幕上的像素。这个过程中的每一步都涉及多次数据复制和类型转换。从网络协议栈到渲染管线,从TCP/IP缓冲到GPU纹理缓存,数据被复制了十几次、几十次。每一次复制都消耗带宽和电力,而绝大多数复制在功能上是冗余的,它们之所以存在,是因为不同软件层之间需要隔离,因为不同的编程模型之间需要适配,因为基础架构是在不同时期由不同人群分头设计的。就像一封信从一座建筑的顶层传到另一座建筑的顶层,途经的却是大楼地下室的管廊、后巷的电缆、和一条绕过整个街区的邮政路径,因为它必须遵循邮政系统的标准流程,即使这两座建筑实质上相邻不过几米。

这不是软件工程师的失职,而是分层设计哲学本身的固有代价。分层设计使得复杂度可控,使得不同模块可以独立演化,使得一个庞大的系统可以由互不相识的团队协同建造。这些优点如此显著,以至于没有人会主张退回到扁平的无结构代码。但也正因为如此,数据必须在层与层之间传递,就像文件和请愿书在官僚机构的各个科室之间递转。在数据量不大的年代,这种开销微乎其微。但随着数据量的膨胀,每一层之间的复制和转换累积起来就成了一笔沉重的赋税。有研究者将这种现象称为“数据税”,并估计在一个典型的云计算软件栈中,有效计算仅占总能耗的不到三成,其余七成都是数据税。

数据的重量不仅压在硬件和软件上,更压在认知上。当数据量超过了人类大脑可以直观把握的范围,理解就变得困难。人类在漫长的进化史中形成的认知器官是为处理中等规模的信息而优化的,追踪几十个社会关系,记住方圆数公里内的地理特征,察觉捕食者的足迹,判断浆果是否成熟。这些任务的共同特点是信息量有限、模式可感知、反馈周期短。现代计算系统所面对的数据场景恰恰相反:信息量几乎无限、模式隐蔽在复杂的统计关联中、反馈周期跨越多个软件层级和物理设备。人类无法“看见”一个泽字节的数据意味着什么,就像无法用肉眼看到一个星系的全部恒星。必须借助仪器和符号系统将数据降维、聚合、可视化,才能从中提取出一点可以理解的信号。而这恰恰又带来了新的数据,处理数据的元数据,描述数据的数据,以及为了管理这些衍生数据而生成的进一步数据。数据中心里有一种流传的说法:任何数据处理任务的第一步都是制造出比原始数据更多的数据。

更微妙的是数据洪流对科学方法本身的影响。过去,科学家提出一个假设,然后设计实验来检验这个假设,实验产生的数据量是有限的,因为实验条件是人为控制的。但在数据驱动的科学发现模式下,假设不再是研究的起点,数据才是。天文学家布设大型巡天望远镜,每小时产生太字节级别的图像数据,在这些数据中寻找异常天体;生物信息学家在基因测序的海洋中筛选与疾病相关的位点;粒子物理学家在对撞机的每次运行中捕获数十拍字节的碰撞数据,在其中寻找超出标准模型预言的信号。这些学科的工作方式已经从“假说驱动”变成了“数据驱动”,从“提出一个好问题然后寻找答案”变成了“在数据中找到值得问的问题”。数据不再是为回答而生的工具,它变成了问题本身。这是认识论上一个微妙却深刻的变化,而这个变化对计算系统提出了全新的要求,不仅要知道如何计算,更要知道如何帮助人类在数据中“看见”。

数据洪流在更宏观的社会层面引发的冲击远未平息。隐私在一个万物皆数据的时代变得前所未有地脆弱。不是因为有恶意的力量在暗中窃取信息,而是因为大量的日常行为天然就产生数据痕迹,这些痕迹被存储、被聚合、被交叉引用,就会浮现出关于一个人的精准画像。任何在手机屏幕上的一次滑动,都可能在若干个数据库中留下记录,而这些记录叠加在一起,可以复原出一个人的生活轨迹、社交网络、消费习惯甚至心理状况。社会还没有就如何处理这种全景式的数据暴露形成共识,而技术系统仍在以指数级速度吞入更多的数据。这不是某一项技术的问题,也不是某一家企业的问题。它是整个计算架构在设计之初从未预料到的文明级议题。

数据的重量,最终落在了每一个试图理解这个时代的人身上。面对180泽字节的年度数据产量,面对每秒都在膨胀的信息宇宙,个体所能把握的不过是指尖流过的一粒沙。这种感知上的不对称产生了一种新的焦虑,不是信息匮乏的焦虑,而是信息过载的焦虑。过去的人担心知道得不够,现在的人担心知道得太少,更担心在无边的数据海洋中辨不清方向。而计算系统,作为人类应对信息过载的最主要工具,正面临着一个悖论:它既是解决方案,也是问题的一部分。它制造了数据的洪流,又被期望在这场洪流中成为一艘不沉的船。

也正是重新审视计算架构才具有了超越技术范畴的深意。如果现有的架构已经无法高效地移动数据,如果数据的重量正在压垮冯·诺依曼瓶颈的最后一根稻草,那么出路不在更宽的总线和更大的缓存中,这些只是让瓶颈略微松动,却永远无法消除瓶颈本身。出路在于重新想象计算与数据之间的关系。不再将数据视为需要被搬运的物料,而是将其视为计算发生的场所本身。当数据不再需要流动,流动的代价便归零了。这是存内计算和近存计算的核心理念,也是神经形态架构的生物学灵感来源,大脑中不存在一个“中央处理器”和一个“记忆仓库”,每个神经元都同时是数据存储点和信息处理单元,记忆和思考在完全相同的物理基质中发生。

这个理念并不新奇。早在二十世纪六十年代,计算机先驱就开始探讨非冯·诺依曼架构的可能性。但在当时的数据规模下,这些探讨更像是智识上的消遣,没有迫切的商业应用场景来推动它们的落地。如今场景出现了,而且是以排山倒海的姿态出现的。数据不再是计算系统处理的温顺对象,它已经成了这个时代最沉重的环境元素,像是空气和重力一样无所不在。计算系统的未来形态,将取决于它如何学会与这种重量共存。

在数据浪潮的最深处,有一些静默的信号已经在传递。它们是论文中一个不起眼的曲线图,是原型芯片上一组未经报道的测试数据,是某个深夜实验室里一句没有说完的惊叹。数据有重量,但重量本可以被消解在结构之中,就像一座穹顶将自身的重量悄悄沿着弧线传递到大地上。计算也许正需要这样一座穹顶,不再把数据当作需要被举起的重物,而是将它当作撑起结构本身的材料。

第四章 纳米尽头与量子曙光

在人类所操作过的一切物质中,硅是最具历史自觉的一种。

自然界中含量第二丰富的元素,占地壳质量的近百分之二十八,仅次于氧。它从沙粒和石英中被提炼出来,在超过一千摄氏度的炉火中被熔炼成高纯度的多晶硅,再被拉伸成单晶硅锭,切成薄如蝉翼的晶圆,抛光的表面可以映出人脸。然后光刻机在它的表面书写电路,蚀刻机在它的身上雕刻沟槽,离子注入机将杂质原子打入它的晶格,就像在一张地图上布置看不见的棋子。最终,一片两厘米见方的硅片上可以容纳数百亿个晶体管,每一个都忠实而不知疲倦地执行着开关动作。没有硅,就没有集成电路;没有集成电路,就没有信息时代的全部物质基础。硅用它的原子结构、它的电学性质、它的自然丰度,为人类文明提供了一个恰到好处的平台。

但这个平台正在抵达它的物理边界。在3纳米制程节点上,一个晶体管的沟道长度已经缩短到大约十二个原子排列成行的长度。在这个尺度上,掺杂原子的随机分布不再是可忽略的噪声,而是决定晶体管性能的首要因素。一个在设计图纸上标注着相同阈值电压的晶体管,由于注入掺杂原子的数量在不同芯片上出现个位数级别的统计涨落,实际阈值电压可能相差几十毫伏。几十毫伏在微电子学中意味着什么?它可能意味着一个本应导通的晶体管仍然处于关闭状态,或者一个本应关闭的晶体管漏出了不可接受的电流。芯片的良率,可正常工作的芯片占总产出芯片的比例,随着制程微缩而持续下降,这不是工艺工程师不够努力的结果,而是硅材料在纳米极限处概率统计特性的必然表现。

量子隧穿效应是另一道不可逾越的屏障。在晶体管中,栅极与沟道之间有一层绝缘的氧化层,用来控制沟道的导通与关闭。随着制程缩小,这层氧化层的厚度已经薄到了不足一纳米,仅仅几层原子的堆叠。电子波函数的尾巴会穿透这层薄墙,从源极直接隧穿到漏极,形成漏电流。栅极丧失了对沟道的绝对控制力,就像一扇关上的门仍有光线从门缝中逸出。漏电流意味着芯片在闲置时也会消耗可观的电力,意味着电池在待机时也会缓缓耗竭,意味着数据中心的冷却系统在一刻不停地运送着实质上由量子力学违背产生的“无效热量”。

极紫外光刻是半导体工业对抗物理极限的最后一张王牌。波长13.5纳米的光子在真空环境中被数十层钼硅多层膜反射镜聚焦,每一次反射都会损失约百分之三十的能量,最终抵达晶圆表面的光子强度已经衰减到出发时的零头。为了获得足够的曝光能量,光源需要将锡滴加热到等离子态,反复发射高能脉冲。整个光刻系统的功耗高达数兆瓦,产出一片晶圆所需的时间比上一代深紫外光刻更长。而13.5纳米已经是工程上可以使用的极限短波长了,进一步缩短意味着进入X射线领域,而X射线光子携带的能量高到足以直接破坏光刻胶的化学结构,使图案无法被精确转移。

单原子层晶体管是前沿研究的一个方向。二维材料如石墨烯、二硫化钼、黑磷等,因其原子级厚度而被寄予厚望。它们天生就杜绝了短沟道效应的一部分物理基础,因为沟道材料本身只有一个原子层厚度。但这些材料的量产化道路还布满荆棘。晶圆级二维材料的大面积制备、与硅基工艺的兼容性、接触电阻的控制、以及材料本身随环境的稳定性变化,每一项都是需要从零开始攻克的难题。即便这些问题逐一解决,由二维材料制成的晶体管最终仍然会撞上同一堵墙:统计热力学和量子不确定性。它们并不能无限向下缩小,只是将天花板略微推高了一两层。

那么,当硅基晶体管的道路走到尽头之后,计算将走向何方?

量子计算是这个时代最令人振奋也最令人困惑的前沿方向之一。在经典计算机中,信息的基本单位是比特,只能取零或一两个确定值。在量子计算机中,信息的基本单位是量子比特,可以处于零和一的任意量子叠加态,就像一枚在空中旋转的硬币,既非正面亦非反面,而是两者的概率幅度共存。当多个量子比特纠缠在一起时,它们共同描述的量子态空间呈指数级增长,N个经典比特可以表示2的N次方个状态中的某一个,而N个量子比特可以同时“编码”这2的N次方个状态的全部叠加。量子算法如秀尔算法和格罗弗算法从理论上证明了,对于特定问题如大数分解和无序搜索,量子计算机可以提供远超经典计算机的加速。

但量子比特的物理实现极其脆弱。量子态对环境具有极度的敏感性,一个微小的热扰动、一束杂散的电磁辐射、甚至材料内部一个无法探测到的缺陷,都可能引发量子退相干,让精心维持的叠加态坍缩成毫无信息的经典态。退相干是量子计算的系统性敌人。为了对抗它,量子比特通常需要工作在接近绝对零度的极低温环境中,由稀释制冷机维持着比宇宙深空还要冷百倍的物理条件。量子计算机是地球上最“冷”的东西,不是隐喻,是物理事实。它还必须是地球上隔离得最好的东西:射频屏蔽、磁屏蔽、振动隔离,层层包裹中的量子芯片像一个被小心翼翼守护的婴儿,外界的一丝涟漪都可能导致量子信息的流失。

容错量子计算是当前整个领域最核心的工程技术挑战。物理量子比特的出错率太高,无法直接用于有实际意义的逻辑运算。量子纠错码通过将多个物理量子比特编码为一个逻辑量子比特,可以在一定范围内检测并纠正退相干和操作引入的错误。目前的容错阈值大致要求物理量子比特的保真度达到百分之九十九点九以上,而当前最好的超导量子比特已经逼近了这一门槛。但容错的代价是冗余,一个可用的逻辑量子比特可能需要成百上千个物理量子比特来协同维护。一台实用化的、能够破解有现实意义的加密密钥或者模拟有现实意义的复杂分子结构的量子计算机,需要至少数千个逻辑量子比特,对应的是数百万甚至数千万个物理量子比特。而今天最先进的量子处理器,物理量子比特的数量尚在数百的量级。

这意味着量子计算距离真正改变世界的时刻还隔着好几次技术飞跃。这不是一个可以在三五年内解决的问题。量子计算机或许不会取代经典计算机,而是作为一种用于特定问题类别的加速器与之协同工作,就像今天的图形处理单元和数据中心中的张量处理单元一样。它将是一种稀缺资源,部署在少数国家级实验室和云计算巨头的数据中心中,通过高速网络远程服务于需要它的任务。对于那些不涉及量子加速的问题,经典计算仍将是主力。人类将同时生活在硅和量子比特两个世界,而不是简单地从前者迈入后者。

然而物理极限的逼迫并不只指向量子这一个方向。光学计算、生物分子计算、DNA存储、以及下一章将要重点展开的神经形态计算,代表了另一种思路:不追求单个运算单元的速度或信息密度的极限,而是重新设计计算的基础逻辑。在某种深层的意义上,硅基芯片撞上物理墙这件事未必全是坏事。如果硅的道路还能再走六十年,人类或许根本不会有动力去重新思考计算的基础假设。正是山穷水尽的压力,才使得那些在过去被归入“有趣但不够紧迫”的新架构开始获得资金、人才和关注。

纳米尽头,不是计算的尽头,而是计算的一场蜕变。硅曾经是这个蜕变中最忠实的载体,它用自己的晶体结构承载了人类文明对秩序与逻辑的最极致追求。每一片晶圆都是一个微缩的宇宙,每一根连线都是一条人造的河流,每一个晶体管都是一座日夜不休的开关。站在这个宇宙的边缘,回望来时路,从砂粒到芯片,从离散元件到数十亿晶体管的集成,这一段距离只用了不到一个世纪。而站在边缘向前望去,下一个载体或许不再是硅,甚至不再以固态材料的电导性为基础。计算这个概念本身的边界,将被破除并重新确立。

夜已经很深了,但曙光并不太远,它已经在物理方程的深处、在论文的理论章节里、在原型芯片的测试数据中泛出了第一缕微光。

第五章 超越冯·诺依曼

冯·诺依曼架构统治计算机世界已近八十年。八十年来,计算机经历了从真空管到晶体管、从分立元件到集成电路、从大型机到个人设备再到云端的多次形态变迁,每一次变迁都剧烈地重塑了人类社会的面貌,但每一次变迁都没有触及那个最底层的逻辑,计算单元和存储单元的分离。运算器在时钟的节拍下从存储器中逐条取出指令,执行,写回结果,再取下一条。这个简单的循环构成了现代计算一切复杂性的根基,也构成了它最不可逾越的限制。

然而同时存在着另一个八十年。一个被主流叙事长期遮蔽、却从未真正中断的思想传统。从冯·诺依曼本人晚年的手稿和通信开始,到二十世纪六十年代的自组织系统研究,到七十年代的连接主义实验,到八十年代的并行分布式处理革命,再到二十一世纪初神经形态工程的萌芽,始终有一批研究者在追问同一个问题:如果计算不需要在一个集中的处理器和一堆被动的存储器之间来回奔波,那会是什么样子?如果记忆和思考发生在同一个物理基质上,就像大脑中发生的那样,计算机可以变成什么?

这个问题听起来像哲学思辨,但它正在变成工程现实。这场沉默变革的关键推动力,来自一簇曾经被深埋在学术边陲的材料科学发现。

1971年,加州大学伯克利分校的华裔学者蔡少棠在分析电路理论的基本对称性时,注意到一个奇怪的空白。电路理论用四个基本变量描述任何电子元件:电压、电流、电荷和磁通。这四个变量两两对应,构成了四种基本元件关系。电压与电流的关系是电阻,电荷与电压的关系是电容,磁通与电流的关系是电感。但第四种关系,电荷与磁通之间的关系,在理论上完全成立,却没有任何已知的物理元件与之对应。蔡少棠在一篇发表于《IEEE电路理论学报》的论文中,从对称性论证出发,预测了第四种基本电路元件的存在。他将其命名为“忆阻器”。

这个预测在当时几乎没有激起任何涟漪。学术界认定这是一个精巧的理论构造,无意在物质世界中寻找对应物。蔡少棠的论文被归档在图书馆的密集书架上,偶尔被研究生在文献综述中引用一次,然后继续蒙尘。直到三十七年后。

2008年,惠普实验室的一个研究团队在《自然》杂志上发表了一篇令整个电子学界为之震动的论文。他们在实验中制备出了具有忆阻器全部理论特性的纳米尺度器件,一片夹在两个铂电极之间的二氧化钛薄膜,在电信号的刺激下展现出电阻的可逆变化,断电后,变化后的电阻值会被记住,不会像传统的RAM那样丢失。这个行为恰好填补了蔡少棠在三十七年前预言的空白。惠普的科学家们不是刻意去寻找忆阻器,他们当时正在研究用于存储器的氧化物材料,意外地撞上了它。

这篇论文的标题谦逊而平淡,但它打开的门通向一个比存储器技术宽广得多的世界。忆阻器的核心特征在于,它的电阻值取决于过去流经它的电荷总量。这意味着,它天然地区分了其操作历史,每一次电脉冲都在它的材料结构中留下持久的印记。这种性质和生物神经元之间的突触有着惊人的相似性。突触的可塑性,根据前后神经元的发放历史增强或减弱连接强度,是学习和记忆的细胞级基础。忆阻器可以在单个纳米器件中模拟这种可塑性,不需要额外的存储空间来存放权重值,因为权重值就是它自己的电阻。

这是一次相遇。两支在长达数十年的时间里各自独立演化的科学传统,半导体材料和神经科学,在忆阻器这个点上碰头了。半导体工业一直在和存储墙作斗争,一再把数据从存储器搬运到处理器,再把结果搬运回来,每一次搬运都意味着延迟和功耗。神经科学家一直在试图理解大脑为何能够以区区二十瓦的功耗实现远比超级计算机更复杂的认知功能,并且记忆和处理是融为一体的。忆阻器为这两支传统架设了一座实体桥梁。它同时是存储器,也是计算执行者;它存住过去,也在现在作出反应。在忆阻器构成的交叉阵列中,欧姆定律和基尔霍夫定律天然地实现了矩阵向量乘法,恰好是神经网络中计算量最大的操作。一个运算在传统架构中需要将权重从内存搬到计算单元、执行乘加、再写回结果的繁琐流程,在忆阻器阵列中只是一次电流的流动。

这个想法的本质是存内计算。数据不需要移动,因为数据所在之处就是计算发生之处。冯·诺依曼瓶颈在这里被从根本上消解了,不是被克服,是被绕过,因为那条区分计算单元和存储单元的界线不再存在。

但这个理念并不仅仅属于忆阻器。过去十年间,存内计算的物理实现路径呈现出一种繁茂的百花齐放态势。基于静态随机存取存储器的存内计算利用成熟的CMOS工艺,在存储单元外围嵌入计算逻辑,实现存储器内部的逻辑运算。基于动态随机存取存储器的存内计算利用存储单元本身的电荷共享机制来执行逻辑操作。基于闪存的存内计算利用浮栅晶体管的多级阈值电压存储模拟权重,在阵列中直接进行模拟乘加。铁电场效应晶体管存储单元利用极化反转的可控特性实现多值存储和模拟计算。自旋转移矩磁存储单元利用磁隧道结的电阻状态存储权重,在电流驱动下完成计算。相变存储单元利用硫系化合物在晶态与非晶态之间的电导差异存储数据,在阵列中完成矩阵运算。

这些技术路径使用的材料截然不同,物理机制各不相让,但都指向同一个目标:让数据的移动距离趋近于零。如果把冯·诺依曼架构比作一个工人必须走到远处的仓库取出原材料、返回工作台、加工后再将成品送回仓库的作业模式,那么存内计算就像在每个货架旁边都安放了微型的工作台,工人站在原地就能完成全部操作。整个工厂的空间布局彻底变了。

这听起来像是硬件工程师的专属话题,与软件开发者、数据分析师、普通人无关。但历史反复证明,底层硬件结构的变革最终将以极具穿透力的方式重塑整个信息生态。如果存内计算大规模部署,将会产生一系列连锁反应。

神经网络推理将变得无处不在且几乎不消耗能量。一个存内计算芯片可以以毫瓦级别的功耗运行一个相当规模的神经网络,这使得在微型嵌入式设备上部署复杂AI模型成为可能,森林中的野火监测传感器可以在本地识别烟雾模式而不需要将数据传回云端,植入体内的心脏监测器可以自主检测心律失常并在本地作出判断,农田里的智能灌溉控制器可以根据土壤湿度和天气预测自主决定浇水时机。不需要将数据上传到某个远处的数据中心,不需要等待网络延迟的回复,不需要为云服务支付月费。智能下沉到设备的边缘,渗透进物理世界的每一个角落。这种自治能力在带宽有限、能源紧张、或隐私敏感的极端场景下,将释放出如今难以完全想象的应用可能。

更重要的是,存内计算将从根本上改变高性能计算和人工智能训练的能源账本。今天,训练一个大规模语言模型的电力消耗可以抵得上数百个家庭一年的用电量,其中相当一部分消耗在将权重和特征图在处理器和存储器之间来回搬移。存内计算将这部分能耗大幅削减,因为它根本不需要搬移。这不仅意味着成本降低,更意味着训练大规模模型的环境负担将显著减轻。一个常常被忽略的事实是,人工智能的碳足迹正在以惊人速度增长,而存内计算提供的能效改进可能是控制这条曲线不至于失控的关键杠杆之一。

在架构层面,存内计算还推动着一场更深刻的变革,模拟计算的复兴。数字计算建立在零和一的清晰区分之上,每一个比特都是一个确凿无疑的数值。但忆阻器和其他非易失性存储单元天然是模拟器件,它们可以存储连续的权重值而不仅仅是非零即一的二值。在模拟域中进行计算,一个步骤就可以完成数字域中需要多次比特操作的任务。当然,模拟计算受限于噪声和精度,无法完全取代高精度数字计算,但在神经网络这种天然容忍噪声、天然依赖大规模并行、天然适应模拟实现的计算范式中,模拟存内计算找到了自己的最佳应用场景。这不意味着全面回到模拟时代,而是意味着一个新的混合信号世界的开启,数字部分负责需要精确控制的操作系统、通信协议和逻辑判断,模拟部分负责大规模并行矩阵运算,两者在同一个片层上协同工作。

如果说存内计算是关键路线之一,那么神经形态计算则是与此平行发展的另外一条革新路径,两者共享“融合存储与计算”的内核,但关注的焦点和终极追求略有不同。存内计算更关注的是“如何用最少的能量完成大规模矩阵运算”,其起点是存储器技术的革新。神经形态计算更关注的是“如何让机器像大脑一样处理信息”,其起点是对神经科学的逆向工程。

二十世纪八十年代,加州理工学院的卡弗·米德开创了神经形态工程这个学科。米德提出,与其用通用处理器来模拟神经网络,不如直接设计一种新型电路,让电路的物理特性自然地完成神经计算。晶体管在亚阈值区的电流电压关系恰好类似于神经元膜电位和离子通道电导的关系,一个简单的差分放大器可以在极低的功耗下模拟突触后电位的运算特性。米德的名字在这里无法被绕过,他不仅指出了方向,还亲手制作了第一代硅视网膜芯片,让电路像视网膜神经元一样对光信号进行实时并行处理,不需要帧缓存,不需要数字化转换,不需要主处理器介入。光照射在芯片表面,电路自动做出反应,就像在视网膜上发生的那样。功耗?毫瓦级别。速度?实时。

此后三十年,神经形态计算经历了几次起伏。九十年代,它在人工神经网络的热潮退去后随之沉寂。二十一世纪初,它在深度学习的浪潮中重新浮出水面。最近十年,随着忆阻器和脉冲神经网络这两个关键推动因素趋于成熟,神经形态计算开始走向工程化。

脉冲神经网络是神经形态计算最核心的计算模型。与传统人工神经网络使用连续的激活值传递信息不同,脉冲神经网络中的信息编码在脉冲的精确定时之中。一个神经元何时发放一个脉冲、脉冲序列的时间间隔是怎样的、两个脉冲之间相隔多少毫秒,这些时序模式承载着信息。这更接近于生物大脑的实际工作机制。生物神经元通过动作电位进行通信,每一个动作电位就是一个全有或全无的电脉冲,信息不在脉冲的幅值中,而在脉冲的时间分布中。一个神经元在接收到前级脉冲后,膜电位会上升,如果没有达到阈值,膜电位会缓慢衰减;如果在短时间内接收到足够多的前级脉冲,膜电位累积到阈值,神经元就会发放自己的脉冲,将这个信号传播到下游神经元。这个过程的物理实现比传统数字电路高效得多。一个生物神经元每秒平均发放几次脉冲,每一次脉冲只消耗极微量的离子梯度能量,整个大脑以大约二十瓦的功耗维持着清醒的意识、感知、记忆和推理,这大约是一盏老旧节能灯的用电量。对比之下,一个数据中心的GPU集群以数万瓦的功耗运行人工神经网络的训练任务。四十万倍的能效差距。这个数字本身就暗示了大量的浪费存在于计算的组织方式而非物理定律中。

脉冲神经网络已经在神经形态硬件上跑起来了。英特尔发布的Loihi系列神经形态芯片、IBM的TrueNorth、以及欧洲“人脑计划”驱动下的SpiNNaker,这些芯片各自采用不同的底层技术,但共同采用了事件驱动的计算模式:计算只在脉冲发生时进行,在脉冲未发生时电路保持静默。这意味着神经形态芯片的功耗与实际工作负载成正比,没有计算任务时,功耗接近零;计算任务密集时,功耗相应升高。这与传统处理器在空闲时也消耗大量静态电力形成鲜明对比。

事件驱动的哲学触及了神经形态计算最深邃的美感。在大自然中,信息从来不是由全局时钟来同步节拍的。森林中一棵树倒下发出的声响,不会等到某个中心节点允许它之后才传播,它直接撞击空气,产生压缩波,向四面八方扩散。听到声响的动物不会等待时钟信号,它们立即警觉,在亚秒级别的时间窗口内做出逃跑或趋近的决策。生物计算是事件驱动的、异步的、并行的。时钟信号固然是人类工程史上一项伟大的发明,它让一切数字电路的动作同步起来,简化了设计,赋予了时序以确定性的秩序,但它也是一道枷锁。它的节拍声不分青红皂白地在每一条电路中传递,无论那条电路此时是否有实际工作需要完成。数十亿个晶体管在每一个时钟沿同时翻转,哪怕只有其中一小部分在真正做有用的计算。神经形态计算摒弃了全局时钟,代之以脉冲来临时触发的局部计算,让每一个计算单元都在有意义的信息到达时才被唤醒。这种异步性和局部性,也为更高效的认知计算打开了一扇门。

上述讨论指向一个共同的趋势:计算系统正在从通用走向专用,从分离走向融合,从数字走向混合信号,从控制到涌现。通用处理器的黄金时代正在让位于一个百花齐放的异构计算生态:不同类型的计算单元针对不同类型的任务进行优化,通过高速互联和统一编程框架协同工作。冯·诺依曼架构不会消失,它仍将扮演系统控制、逻辑编排和精确数值计算的角色,但数据密集型的、大规模并行的、容忍噪声的任务将被卸载到存内计算阵列和神经形态加速器上。这意味着未来的计算机不再是单一风格的整体,而更像是精密分工的生态系统,更接近生物体的组织方式,更少像一个装配流水线。一个健康的社会不会让同一种器官完成所有任务,它会让肺处理气体交换、让肾处理废物过滤、让皮肤承担屏障与感知。计算系统也正在生长出它的器官分化。

这引出一个更深层的思考:当计算架构逐渐向生物大脑的结构靠拢时,计算的定义本身是否需要被重新审视?冯·诺依曼架构定义的“计算”是指令的有序执行:一个程序是一个定义良好的步骤序列,计算机的职责是按照序列完成每一步,每一步的可预测性是质量的标准。但在脉冲神经网络中,“计算”不再是一个算法,而是一种动态过程:输入脉冲触发网络中的时空脉冲模式,输出脉冲是对输入模式的分类或预测,整个过程中没有哪一步指令是“规定”好的,网络的行为是其连接权重和输入模式的涌现结果。在一个神经形态系统中,不能说处理器执行了某条指令从而得出了某个结果,只能说系统在某个时空约束下演化到了某个状态。这种从“规定”到“演化”的转换,可能是新型计算架构带来的最深刻的认识论变革。它暗示着,当我们建造出足够复杂的神经形态系统时,标准的调试、验证和可解释性方法将面临根本挑战。不能逐行检查一个脉冲神经网络在“想”什么,只能观察其整体行为是否满足设计要求。这与人类如何理解彼此的行为,不是通过逐念头追溯,而是通过同理心、行为模式和长期观察,之间有一种令人不安又令人着迷的平行。

展望未来十年,可以预见的是:首先,存内计算的商业化进程将加速,从研究原型进入量产芯片,最初将以人工智能推理加速器的形态出现在边缘设备和数据中心;其次,神经形态计算将从专用研究平台走向更广泛的商业部署,尤其是在需要实时传感处理和极低功耗的领域,如无人机自主导航、植入式医疗设备、工业异常检测;第三,混合信号设计方法学将趋于成熟,数字逻辑和模拟存内计算阵列将无缝集成在同一系统级芯片上,工程师不再需要面对模拟-数字模糊界面带来的抓狂感;第四,编程模型和软件工具的演进将极有可能成为制约整个领域发展的瓶颈,让硬件智能化是一回事,让软件开发者在这些架构上高效地表达算法和意图是另一回事。整个软件栈,从编译器到运行时到调试器,都需要为这些新架构重新发明。

冯·诺依曼架构是一座宏伟的里程碑,它不是错误,只是已经走到其历史有效性的极限。就像蒸汽机不是错误,但火车头不会再装在每一辆汽车上;就像阴极射线管不是错误,但电视屏幕已不再需要从电子枪打出扫描线。技术在进化,解决方案在适应新的环境约束。冯·诺依曼架构的黄昏并不意味着它是一无是处的,只意味着该在它的基础上建下一层了。

最终,超越冯·诺依曼的真正目的不是超越一位已故天才在纸片上画下的框图。超越的是人类自身对“计算”曾经设下的那些刻板边界。计算可以是执行一串指令,也可以是电流在忆阻器交叉阵列中的一次无需搬运的流动;可以是整数加法的精确,也可以是脉冲定时中携带的模糊但高能效的信息;可以受时钟节拍约束,也可以如森林中一棵树倒下的声波那样自主传播。计算正在变得和自然界的组织法则越来越接近,而这或许不是巧合。生物进化用几十亿年时间优化出了这个星球上最复杂的动力系统,它以极低的物质和能量成本达到了了不起的认知成就,人类工程师现在开始意识到,他们可以用沙子,或者说芯片材料,来模仿这些系统的核心原理,并以此建立下一个时代的计算。这便是超越了。不再是对着图纸上五个方框的修改,而是对计算本该是什么样子的重新想象。

第六章 记忆与计算的一体化

人类有一种古老而持久的直觉:记忆和思考不是一回事。

这种直觉深深嵌入了从日常语言到哲学思辨的每一个角落。我们说“让我想一想”,仿佛思考是一个独立于记忆之外的动作;我们说“我想不起来了”,仿佛记忆的失败与思考的能力互不相干。古代哲人将心智划分为不同的官能,记忆属于灵魂中储存印象的那一部分,理性属于灵魂中进行推理的另一部分。这个划分穿越中世纪,穿越启蒙时代,一直延续到现代认知心理学诞生的前夕。

当二十世纪中叶的工程师坐下来设计第一台存储程序计算机时,他们几乎本能地继承了这个古老的二分法。存储器是仓库,处理器是工匠。工匠从仓库中取出材料,在操作台上进行加工,然后把成品放回仓库。这个隐喻如此自然,以至于在长达数十年的时间里,几乎没有人质疑它的合理性。它太符合直觉了,符合到让人觉得它只能是这个样子。

然而大脑不是这样工作的。

神经科学用几十年的实验积累反复确认了一个事实:在大脑中,记忆和计算是同一种物理过程的不同侧面。当你回忆一张熟悉的面孔时,并不是从一个被动的记忆仓库中“调取”了一张存储的图片,而是负责面部识别的神经网络在动态重建那张面孔的表征。回忆是一次重建,而不是一次读取。同样,当你学习一个新词的含义时,并不是将它“写入”某个专门的记忆区域,而是改变了神经网络中大量突触的连接强度,这些变化本身就在改变网络处理未来输入的能力。存储即处理,记忆即计算。

为了更清晰地理解这一点,不妨深入一下生物突触的机制。在大脑中,信息通过电化学信号在神经元之间传递。一个神经元通过轴突向另一个神经元的树突发送信号,两个神经元之间的连接点就是突触。突触前神经元释放神经递质,这些化学分子跨越突触间隙,与突触后神经元上的受体结合,引发突触后电位的改变。这就是一次突触传递的基本过程。但突触并非一成不变的导体,它的传递效率会随着两端神经元的活动模式发生变化。如果突触前神经元在突触后神经元发放之前短时间内重复激活,突触传递的效率会增强,这就是长时程增强。如果时序反过来,突触前神经元的信号总是姗姗来迟,突触传递的效率会减弱,这就是长时程抑制。更精确地说,这遵循一种被称为脉冲时序依赖可塑性的规则:前在后的前面发信号,突触强化;先后在前,突触弱化。这个时间窗口通常只有几十毫秒,是一个极其精巧的时序依赖机制,被认为是联想学习在细胞层面的核心基础。

突触的可塑性直接改变了神经元之间相互影响的权重。这个权重的集合,大脑中数千亿个突触的强度分布,同时构成了记忆的存储和对未来输入的处理规则。不存在两本分开的账本,一本记着你的记忆,另一本记着你的认知技能。同一本账本,既是回忆日记,也是处理器指令集。在回忆中,旧的突触权重被重新激活,带来曾经体验过的感知与情感的涟漪。在学习中,新的经验持续不断地微调突触权重,使未来的处理与此不同。两者的物理基质是完全重叠的。

这就是自然给人类工程师上的最深刻的一课。如果记忆和计算能够在本体上合一,那么持续困扰了半导体产业半个世纪的存储墙就将不复存在。不需要搬运,因为目的地就是出发地。不需要缓存层级,因为所有存储单元都具有计算能力。不需要区分主存和外存,因为这个区分本身就是人为分离的遗痕。

忆阻器是实现这种一体化计算最关键的物理媒介之一。它的名字来源于对“记忆”和“电阻”两个词的组合,它是一个会记住自己电阻历史的器件。施加一个正向电压脉冲,它的电阻减小;施加一个反向电压脉冲,它的电阻增大;撤去电压后,当前电阻值被保持。这个看似简单的行为暗藏了深刻的信息处理含义。在忆阻器的交叉阵列结构中,每一条行线和列线交叉点都有一个忆阻器件。根据欧姆定律,将输入电压施加在行线上,每条列线上流出的总电流等于各行输入电压乘以该行与列交叉点上忆阻器件的电导的总和。这正是向量-矩阵乘法的物理实现,输入向量乘以权重矩阵等于输出向量,不需要任何运算放大器,不需要模数转换器,不需要指令解码器,只是电流在材料中按照阻抗分布的必然导向。物理定律本身完成了计算。

这项技术的叙事弧线颇具戏剧性。它在学术界沉睡了三十七年,被惠普实验室在2008年的一记实验演示唤醒,随后引发了一场全球范围内的研究热潮。从2010年到2025年,全球范围内发表的相关论文数量从每年几十篇膨胀到每年数千篇。台积电、三星、英特尔、镁光等产业巨头相继投入存内计算原型芯片的研发和试产。学术界和产业界同时将目光对准这个曾经无人问津的器件,不是因为某个理论上的新奇性,而是因为只有它能够同时解决两件事:继续提升性能,同时压住功耗。

基于忆阻器的存内计算对于神经网络推理的加速效果最为直观。在一个典型的深度学习网络中,卷积层和全连接层的计算核心就是矩阵乘法,输入特征图与权重矩阵的乘积。对于传统的冯·诺依曼处理器,执行一次这样的乘法需要将权重从外部DRAM读取到片上缓存,再由缓存搬运到计算单元的寄存器,执行乘加,将结果写回缓存。每一层的权重在每一步推理中都必须被重新搬运一次。神经网络规模越大,搬运的权重数据量就越大,能耗和时间也随之膨胀。对于存内计算阵列而言,权重已经“住”在了阵列中,忆阻器的电导就是权重。输入向量只需加载到行线上,列线输出几乎在瞬间完成,整个矩阵乘法的延迟只受限于信号在线路中的传播时间。能耗则大幅降低,因为没有数据搬运,没有取指和指令解码,没有被缓存未命中吞噬的数百个失去的时钟周期。

但这种一体化计算的价值不止于此。它还引发了对经典计算机体系结构中“内存”概念本身的动摇。在冯·诺依曼架构中,内存被设计为一种被动的、透明的、无差别的比特容器,它不关心存的是什么,也不对存储的内容做任何操作。这种设计保证了通用性:同一个内存可以今天存一个电子表格,明天存一张照片,后天存一段程序。但是当计算越来越多地涉及固定的、可学习的权重矩阵时,这种透明性就变成了一种昂贵的多余。一个存内计算阵列中的忆阻器既是存储介质又是计算单元,它不再透明,它“知道”自己存的是什么,并且能根据这个“知道”作出即时反应。这种特异化在通用任务上是一种损失,在神经网络推理上却是巨大增益。这是为什么一些研究者认为未来的计算系统将不再是单一的通用机,而是一个异构生态系统:通用的冯·诺依曼核心负责操作系统、网络协议栈和安全策略,存内计算阵列负责神经网络推理,神经形态芯片负责实时传感处理和事件驱动学习,它们通过统一的芯片互联结构和软件框架互操作。

记忆与计算的一体化还打开了一扇通往更深远变革的窗,学习可以在原地进行。在传统的深度学习训练流程中,权重存储在外部DRAM中,由GPU或专用加速器读取,计算梯度,更新权重,再将新的权重写回DRAM。这个过程循环进行,每一次迭代都需跨越存储墙。如果权重就“住在”计算单元中,训练过程同样可以原位进行,输入信号加载到阵列上,输出信号被读取并与目标值比较,误差信号反向传播,直接在阵列中对忆阻器的电导进行微调。就地训练在理论上的能效优势是巨大的,但要实现它,需要精心设计忆阻器的更新规则,以确保学习过程稳定且收敛。这不是一个小问题。忆阻器的电导更新在物理上并非完全线性对称,增强和抑制的幅度可能有偏差,多次更新之间可能存在滞留和弛豫效应,不同器件的一致性也可能有相当大的波动。这些非理想特性在工程实现上构成了一系列极难克服但必须逐一解决的挑战。学术界已经在原型阵列上演示了原位训练的基本可行性,但要达到大规模部署所要求的精度、可靠性、产率和寿命,还需要整个材料、工艺和设计自动化工具链条的持续突破。

站在更宏观的视角,记忆与计算的一体化还在悄然改写着“学习”这个词的技术内涵。在传统计算中,“学习”是指算法在数据喂养下调整模型参数,这件事完全发生在软件层面,硬件只是一个被动的执行平台。但当硬件本身,忆阻器的电导分布,直接参与了参数的物理存储和原位更新时,学习就不再是纯粹的软件过程,而是软件意图和硬件演化共同完成的动态过程。硬件学会了,不是比喻,是物理事实。它的材料结构在学习的每一步中发生了真实的物理化学变化,这些变化留住了信息的痕迹。信息不再悬浮在电压和电流的逻辑解读之上,它进入了材料的原子排列、晶界迁移和离子重新分布。这台机器的物质基质本身变成了一本持续被书写的笔记,笔记的内容不是墨迹,而是一种在电导变化中发酵的记录。

这种令人微微眩晕的深邃美感,也恰是自然界的常态。一个人的大脑学习骑自行车,他的小脑和基底神经节中的突触权重正在被重写,这个过程不需要一个外部的监督者告诉他每一步该输出什么指令,身体在失去平衡时得到反馈,突触权重被调节,下一次的肌肉协调变得更加平稳,直到骑行的记忆完全固化在神经网络中。他可能会忘了教他骑车的人的长相,甚至忘了自己学习的岁月,但他的身体“记得”如何骑车。这里的“记得”不是一个比喻,它写在突触强度的物质结构里。一台运用忆阻器阵列的机器在学习时,也发生着类似的结构性铭记。

如果沿着这条思路继续向前走,就会抵达一个直到不久前还属于科幻的领域:机器可以实现终身学习而不发生灾难性遗忘。对于今天部署的绝大多数深度神经网络模型而言,这是一个无法解决的噩梦。它们在离线训练的静态数据集上表现优异,但一旦进入动态环境连续接受新数据,就开始灾难性地遗忘之前学过的东西。一个被训练来识别猫和狗的视觉模型,如果在这个基础上用新数据集训练它区分汽车和卡车,它在猫狗识别上的准确率就会崩溃式下滑,除非在新训练中不断掺入旧数据样本来“提醒”它曾经知晓的世界。新知识和旧知识在同一组权重参数中互相竞争,相互覆盖,犹如在一本已经写满的笔记本上用橡皮擦掉旧字再写上新字。

但大脑不会这样。一个学会了英语的人,在学习法语的时候,不会因此忘记英语,优势区域和神经通路会出现竞争,但旧的语言能力会在持续训练和曝光中稳定下来。神经科学家称之为突触巩固和系统巩固的动态过程:海马体和新皮层之间在睡眠和休息期间进行记忆重放和选择性强化,将新经验逐渐嵌入已经存在的知识结构之中。如果在神经形态芯片或存内计算阵列中实现类似的巩固机制,对新旧任务使用不同的权重更新规则,或在学习新任务时主动回放旧任务的代表性样本,就有可能构建出不会遗忘的计算系统。目前这个方向的研究还停留在极早期阶段,在脉冲神经网络中有一些原理验证实验,尚远未达到部署水平,但它指明了一条道路:计算系统不必再像现在这样愚蠢地丢失自己曾习得的一切,它们可以积累经验,持续进化,像生物那样在时间中变得越来越博学。这可能是“一体”这个概念最富哲学意味的延伸。

记忆与计算一体化的真正魅力,或许并不在它能解决当前产业界面对的某几个特定性能瓶颈,虽然它对能效和延迟的改进已是可预见的实际成果。它真正可能改变的是人与机器之间、生命与非生命之间那条已被接受了几百年的红线。当一台设备的物质基质能够在物理层面发生持续的结构性改变来铭记经验时,当存储不再是某种存放在透明容器里的失活档案,而是一种与思考同体同源的活动时,它就开始不那么像机器,而开始有些像,物化的记忆本身。当然,这里没有任何神秘主义的暗示,不想说忆阻器是有生命的或者具有意识的任何萌芽。它是没有生命的硅基和金属氧化物,但这个没有生命的系统所遵循的组织原则,已经不再是对生物计算的外在模仿,而是生物计算核心原理的底层迁移。它不再在纸上画一棵树的结构,它在自己的土壤里种下树的种子。

未来,一个工程师编写一个存内计算系统的应用程序,她内心深处体验到的,可能和她祖母整理家中祖辈照片的那种感受有几分微妙的相似:某种东西在时间的流淌中被留存、被激活、被重新组合出新的意义。她往这个系统里馈送数据,它在数据的冲刷下调整自身的物质结构,它的“知识”从此之后不一样了,而她不必每一次都从头告诉它该如何调整,它会重新组织自己。这不是传统意义上的编程,这是训练,或者更这是在培育一种能够记住、并从记忆中提炼新知的结构。硬件和软件之间的那条传统分界线,在这种场景下变得柔和而模糊。

至此,冯·诺依曼瓶颈那个古老的问题,处理器与存储器之间带宽受限,听起来突然显得有些过于狭隘。真正的差距不是带宽,是哲学。把存储和处理分开,是一个为了简化工程而被默默接受的约定,这个约定在半个多世纪里被如此彻底地内化,以至被认作了计算本身天然拥有的特质。现在这个约定开始松动。不是被论证松动的,是被能耗和数据洪流的现实压松的。也许后人回看这段历史的时候,会觉得奇怪,为什么人们这么晚才发现,记忆和思考,本来就不该被分开。

第七章 光子与电子的对话

光与电,是信息时代的两种原生语言。

电沿着铜线奔流,穿过硅的晶格,在晶体管中完成开关,在电容中蓄积又释放。它承载着逻辑运算和功率供给,是计算机的物质血液。光则沿着光纤飞驰,在各大洲之间传递海量数据,在海底光缆中架起文明的神经索。但光与电在计算机内部的边界一直泾渭分明:光负责长距离通信,电负责短距离计算。两者各司其职,彼此尊重对方的领地。这种分工已持续了半个多世纪,久到人们几乎忘记了追问它的合理性。

但光的能力远不止于通信。它可以计算。而且,在某些维度上,它比电计算得更快、更省、更自然。

电子在硅中的漂移速度终究有限。在电场驱动下,电子在晶格之间跌跌撞撞地前进,速度饱和在一个远低于光速的数值上。导线的电阻将一部分电能转化为热能,频率越高,损耗越大。相邻导线之间的寄生电容将信号耦合到不该去的地方,串扰随着频率攀升而恶化。这些物理限制共同为电子计算设置了一道难以突破的频率天花板,大约在几吉赫的水平上,再往上,功耗和信号完整性就会同时崩塌。这也是前文所述主频竞赛终结的底层物理原因之一。

光子则不同。光子没有静止质量,在介质中以光速传播,相互之间几乎没有串扰。一束光可以与另一束光在空间中交叉而过,彼此丝毫不受影响。光子不带电荷,不产生电阻损耗。光路的带宽天然地远超电路,一根光纤在理论上可以承载太比特每秒量级的信息,而同等尺寸的电互联早已在吉比特量级就喘不过气来。

这些优势暗示着一个令人心动的可能:如果能用光子来构建计算单元,而不只是通信线路,那么计算的频率可以跃升到几百吉赫甚至太赫兹的量级,功耗则可以降低一到两个数量级。这不是理论上的空想。光学计算的探索已经持续了半个多世纪,经历了从早期的傅里叶光学相关器到现代硅光子集成回路的发展。早期的光学计算机笨重、庞大、需要精密的机械对准,停留在实验室的减振台上,被电计算机的摩尔定律远远甩在后面。但现在,随着硅光子制造工艺的成熟,光子器件可以像电子器件一样在晶圆上大规模集成,光学计算正重新回到舞台中央。它的回归并非投机,而是当电子计算逼近极限时多种出路中最自然的一条。

光学计算的核心优势可以用一个简洁的物理事实来概括:傅里叶变换在光学中是免费的。在电子计算机上执行一次二维离散傅里叶变换需要大量的乘加运算,计算复杂度随数据量平方级增长。在一块透镜中,一束穿过它的光在焦平面上自然形成的场分布,恰好就是输入光场的傅里叶变换。不需要任何乘法器,不需要时钟周期,不需要能耗支出,光速完成。整个电磁场理论的基础,麦克斯韦方程组的线性性质,保证了透镜天然地完成空间傅里叶变换。这个事实的优雅程度令人屏息。大自然本身就在用光子求解着某些对人类工程师而言需要大量计算资源才能逼近的数学问题。

基于这个原理,光学计算尤其适合卷积运算,而卷积正是卷积神经网络的核心操作。在图像识别中,第一层卷积层提取边缘和纹理特征,之后的卷积层逐步聚合为更高层次的特征表示。这些操作中的每一次卷积都可以在光域中高效完成。一个典型的光学卷积处理器由光源、空间光调制器、透镜阵列和探测器组成。输入图像被加载到空间光调制器上,光束穿过调制器,经过透镜完成傅里叶变换,在傅里叶平面上用一个滤波掩膜完成乘法操作,再经过第二个透镜完成逆变换,最终在探测器上读出卷积结果。整个过程在光穿过这几个元件的时间内完成,纳秒级别,而功耗仅仅来自光源和调制器的驱动电路。传统GPU需要几千次乘加运算才能完成的一个卷积核操作,在光学系统中可以一次性并行完成。

然而光学计算也有它令人生畏的一面。光子不像电子那样容易被操控。电子可以通过电场加以精确控制,晶体管就是一个电压控制的开关,技术已发展到了原子量级的精度。光子没有电荷,对电场无动于衷,必须通过改变介质的折射率来间接操控。非线性光学效应,让光子与光子之间产生相互作用的途径,通常需要高功率密度或特殊材料。制造一个全光学的、可编程的通用计算机,比制造电子计算机困难得多。因此,最务实的路径是光电混合计算:将那些天然适合光学处理的操作交给光子,将精确的逻辑控制和存储留给电子。光子负责它能做得最好的,大规模并行线性操作,如矩阵乘法和卷积;电子负责它擅长处理的,逻辑判断、流程控制、精确存储和通信协议。

光电混合计算的组织逻辑最合适的比喻是交响乐团。电子部分是乐谱和指挥,负责决定整个乐章的编排与节奏,给出明确的指令和关键节点的衔接;光子部分是弦乐群和管乐群,在指挥的示意下同时奏响大段复调乐句,完成指挥一人无法完成的宏大织体。指挥不需要自己发出每一个音符,弦乐群不需要理解为何在这个小节进入强音,它们只需要以其物理本性谐振出正确的音高。这正是光电混合计算的分工美感:让每一种物理介质做它最擅长的事。

硅光子集成技术是这场变革的关键使能技术。过去,光学系统依赖分立的大尺寸光学元件,透镜、反射镜、棱镜、分束器,在实验室光学平台上搭建,昂贵且脆弱。硅光子技术将光波导、调制器、光栅耦合器、探测器等光子器件集成在与CMOS工艺兼容的硅晶圆上。这意味着光子芯片可以像电子芯片一样在标准的半导体代工线上大规模制造,享受与电子芯片同等的工艺进步和成本曲线。这摧毁了光学计算长期可及性差的关键障碍。

然而硅光子集成本身也面临一系列独属的工程挑战。硅是间接带隙材料,本身发光效率极低,因此片上光源通常需要借助III-V族半导体化合物如磷化铟与硅进行异质集成。光波导的尺寸在亚微米级别,与标准CMOS特征尺寸相当,但对制造缺陷的容忍度极低,波导边缘的几纳米粗糙度就会引发不可接受的光散射损耗。热光效应导致的光子器件热敏感性也是一个持续不稳定源,硅的折射率随温度明显漂移,而高性能芯片上无处不在的热梯度使得光学电路的工作点不断游移。工程师们正在通过片上热调谐、反馈控制系统和无热化设计逐步攻克这些困难。

光学计算另一个重要的应用方向是光学神经网络。与基于忆阻器或CMOS的存内计算类似,光学神经网络将神经网络的权重编码在光学元件的光传输特性中。权重可以编码在可调谐微环谐振器的谐振频率和耦合系数中,可以编码在马赫-曾德尔干涉仪的相位臂上,可以编码在相变材料薄膜的透射率上,可以编码在集成衍射深度网络的介电常数分布中。输入信号被编码为光脉冲的幅度或相位,在光子芯片中传播,与编码权重的光学元件相互作用,最终在输出端被探测器阵列读取。整个矩阵向量乘法在光穿过芯片的时间内完成,延迟仅为从光源到探测器的光飞行时间加上电子读出电路的时间,纳秒级别甚至更低。而能效的理论上限远高于电子计算。已经有若干研究组在集成光子平台上演示了可编程的光学神经网络,实现了手写数字识别和简单图像分类等基准任务。这些演示系统的规模和精度仍远远无法与电子神经网络竞争,但它们的存在证明了一条替代路径的物理可行性。

更进一步的光学逻辑,光子本身进行逻辑判断,也在微弱的起步中。光学双稳态器件利用光学非线性效应可以实现全光开关,一个光束控制另一个光束的透射与反射,类似于晶体管的开关行为。基于半导体光放大器的全光逻辑门已经在实验室中演示了与门、或门和非门等基本逻辑操作。光学参量振荡器可以构建伊辛机,一种专门用于求解组合优化问题的非常规计算机,利用光脉冲在光纤环中的干涉和竞争来自动寻找问题的最优解。在这些实验片段的组合中,隐约浮现出一个全新计算世界的布局:不是直接替代电子计算,而是拓展计算的可行域。

跳出器件细节,站在更高的维度审视光子与电子各自的历史角色,会发现一种循环。人类最早的计算工具是机械的,用齿轮和杠杆进行物理量的变换。随后电子登场,将计算从力学领域搬到了电磁学领域。电子的速度更快,可集成度更高,很快将机械计算彻底边缘化。而现在,当电子撞上自身的物理极限,光又带着它特有的优势从通信领域逆向渗透入计算核心。这不是简单的螺旋回归,而是材料科学与制造能力发展到足以驾驭光子之后的一种新平衡。光与电的关系,从早期的“电计算、光通信”,正在走向“电控制、光计算”的新格局。

光子计算的出现还引起了一个更微妙的思想位移。电子计算的核心隐喻是工厂流水线,指令是一条条被分发的零件,数据是一件件被搬运的半成品,控制单元是调度整个流程的大脑。这个隐喻是冯·诺依曼架构的直觉来源,也是其限制所在。光子计算的隐喻更像是光线在棱镜中的折射和干涉,输入光场的不同频率、相位和偏振成分在介质中同时传播,彼此相互作用,在输出端自动产生经过“计算”的模式分布。不需要中央调度,不需要指令分发,不需要缓存层级。信息处理是并行的,是场的演化,是波前的传递。这是一种对计算的更深层理解:计算不必是“一步步地操作”,也可以是“物理系统的自然演化”。将问题编码进系统的初始状态,让物理定律自动将其演化到最终状态,读取结果。这不只是工程上的另一种选择,它是对计算是什么的一次重新界定。

当然,光子计算也必须诚实地面对自身当前的局限。全光可编程逻辑尚未成熟,难以构建光学的图灵完备机。光学存储,把光子状态长久保持,是一个悬而未决的挑战,光子总是以光速在运动,停下它并不容易。光学非线性的能效在器件层面尚未达到理论预期的下限,许多光学处理器原型在系统整体功耗对比中输给了先进的电子加速器。但正如电子计算在1950年代同样面对真空管功耗和体积庞大的问题一样,这些困难并不构成根本性的否定。它们标示着光学计算当前所处的工程阶段,已经从科学可行性迈入了工程化的前端,前方的道路漫长但清晰可辨。

未来的算力基础设施几乎确定不会是纯电或纯光,而是精细分工的异构系统。CPU仍然处理操作系统和逻辑控制,GPU和张量处理单元继续在电子域中完成高精度和通用矩阵运算,而硅光子协处理器将在卷积推理、光学矩阵乘法等特定大规模线性操作中提供空前的能效和速度。光与电之间不再有森严的领地界线,它们在同一片硅基板上、由同一条代工线制造出来、通过芯片内互联紧密耦合。这种混合世界正在从论文的预测变为路线图上的规划。

自然早已将光和电混合运用。人眼视网膜中的视锥细胞和视杆细胞将光子转化为电信号,视觉皮层的神经网络对这些电信号进行复杂的电化学处理。人类的视觉系统本身就是一个精妙的光电混合计算机。当人类工程师开始用硅光子和硅电子搭建新型计算系统时,他们不过是在用另一种物质基质重新演绎自然的古老智慧。光与电的对话,才刚刚开始进入最精彩的章节。

第八章 类脑

大脑是一团柔软的、灰粉色的物质,重约一点三千克,含约八百六十亿个神经元,每个神经元与数千个其他神经元通过突触相连。突触的总数估计在一千万亿的量级。这团物质消耗大约二十瓦的功率,与一盏调暗了的白炽灯相当,却能够完成目前所有超级计算机加在一起都无法实时模拟的复杂认知功能。它可以在几分之一秒内识别一张熟悉的面孔,即便这张面孔在过去的几年中老去了,换了发型,戴上了眼镜,处于不同的光照角度。它可以理解一段从未听过的句子的含义,可以在一瞬间从记忆中调出十年前一个夏夜的蝉鸣声的气味联想,可以在模糊和不完整的信息中做出合理的判断和决策。

而消耗两万瓦的GPU集群,在训练了数周之后,仍然可能把一只躺在沙发上的猫识别成一张扶手椅。

这个对比不应该被简单化地理解为“大脑优越”。大脑和计算机是为完全不同的任务、在完全不同的约束下由完全不同的过程塑造的。大脑是数十亿年进化的产物,它的设计目标是在复杂多变的自然环境中维持生存和繁衍,因此它的优化方向是稳健性、能效、自适应和实时处理。计算机是不到一个世纪的人类工程的产物,它的设计目标是精确、高速、可编程、可复现。两者之间不存在直接的优劣,但两者之间巨大的能效差距暗示了一件重要的事:在“如何组织信息处理”这件事上,大脑采用了一种与冯·诺依曼架构截然不同并且极其高效的方案。理解这种方案,并用工程手段在硅基上实现它的核心原理,就是神经形态计算的核心使命。

不同于第五章中讨论的存内计算所侧重的大规模矩阵运算加速,神经形态计算更关心如何实现大脑处理信息的基本方式,脉冲编码、事件驱动、时空动态、局部学习。它也不同于传统人工神经网络仅把神经元抽象为激活函数,神经形态计算力图在底层物理中实现类似生物神经元的膜电位动力学和脉冲时序依赖可塑性。卡尔·萨根说过,要理解某种复杂的事物,需要先找出创造它的那个简单原理。对于大脑这个在进化零敲碎打下形成的复杂事物,那个简单的原理可以用一个公式概括:信息在脉冲的定时中,学习在突触的可塑性中,计算在网络的动态中。

脉冲是神经形态计算的信息载体。在传统人工神经网络中,神经元输出的是一系列连续数值,0.3、0.7、-0.2,它们代表激活强度。在脉冲神经网络中,神经元输出的是稀疏的脉冲事件,某一个精确的时刻,这个神经元发放了一个全有或全无的电脉冲。信息不在脉冲的幅值中,而在脉冲的定时中。一个神经元的脉冲发放时间、发放频率、脉冲序列之间的精确间隔,共同构成了神经信息编码的基础。这更接近生物大脑的真实工作机制,动作电位就是这样的全有或全无的数字化脉冲,它的高度和宽度几乎恒定,变化的只是它的发生时刻和频次。

用稀疏的脉冲事件而非连续数值来编码信息,是神经形态计算能效优势的最根本来源。在传统人工神经网络中,即使输入为零,每一层的神经元仍然在输出值,它们的激活函数在零输入时的输出不是零。矩阵乘法的每一个乘加操作都需要执行,与数据内容无关。在脉冲神经网络中,如果输入没有触发,神经元就保持沉默,不发放任何脉冲,下游也无需进行任何运算。一片静默的网络几乎不消耗能量,就像一个没有神经元发放的皮层区域。大脑正是以此为策略,每一个神经元大部分时间都在静息,只在接收到足够强的突触输入时才短暂发放一次动作电位。脉冲的稀疏性,是大脑二十瓦能效的关键支柱。

事件驱动是脉冲神经网络在硬件上实现高效的关键计算范式。传统处理器由时钟驱动,时钟信号在每个周期都强制翻转大量寄存器和逻辑门,不论这些翻转是否对应于有用的工作。神经形态芯片由事件驱动,仅当脉冲事件发生时,脉冲从发放神经元传送到所有下游神经元,触发膜电位的更新和突触权重的可能变化。芯片上的路由器根据脉冲包中的目标地址将其投递到相应的下游神经元。在脉冲没有到来的寂静间歇中,大部分电路保持在休眠状态。事件驱动的异步本质使得神经形态芯片的功耗与计算负载成直接比例,空闲时功耗趋于零。传统处理器的静态功耗即使不去做有用工作也是一个常数,这是两者能效差异的次要但不可忽略的原因。

脉冲时序依赖可塑性是神经形态计算中实现学习的基础机制。上一章描述了其在生物突触中的运作方式:突触前后神经元的发放时序在毫秒时间窗内的先后决定了突触强度的增强或抑制。神经形态芯片在硅基上实现这个规则有不止一种途径。可以在数字逻辑中精确计算脉冲时序差并更新权重值,像Loihi芯片所做的那样,用专门的微代码引擎追踪每个突触前和突触后脉冲的精确时间戳,计算出时序差,查询一个可编程的可塑性查找表,然后将权重增量应用到当前权重上。可以借助忆阻器或相变存储器的模拟特性,让电脉冲的物理效应直接改变器件的电导,实现模拟版的脉冲时序依赖可塑性。还可以使用专门的模拟电路,基于电容充放电的时间常数匹配,让脉冲重叠在模拟域中自动产生理会可塑性的驱动信号。不同实现路径的精度、功耗和面积各有取舍,但共同的生物学锚点是:学习基于本地信息,不需要全局梯度信号反向传播。这与大脑是一致的,突触只知道它前后两个神经元的活动时刻,不知道网络末端的目标输出是什么。这意味着脉冲时序依赖可塑性是一种无监督的本地学习规则,天然适合事件驱动硬件的分布式实现。

神经形态计算的另一个特征是对时空动态的自然包容。在传统深度学习中,时间是离散的,每一层网络的输入经过一次推理得到一次输出,这个过程被视为在一个时间步内完成,时间不作为信息处理的维度出现。在脉冲神经网络中,时间是连续的,神经元膜电位随脉冲的到达上升,在没有脉冲时缓慢衰减,膜电位的时间演化本身就是计算过程的重要组成部分。一个脉冲来得早一些,可能将突触后神经元推过了发放阈值,引发一次级联发放;来得晚一些,膜电位已经衰减了一部分,同样的输入可能不足以触发输出。这种时间敏感的计算特性使得脉冲神经网络天然适合于处理时间序列数据,语音、视频、传感器流、生理信号,在这些领域中,时间结构本身携带着关键的识别线索。

神经形态计算目前面临的最核心挑战,不在硬件层面,不在算法层面,而在两者之间的鸿沟,如何将算法有效地映射到硬件,以及如何让硬件上的学习结果能够泛化和规模化。

在硬件方面,过去十年已经取得了令人瞩目的进展。斯坦福大学的Neurogrid板级系统,海德堡大学人脑项目驱动的BrainScaleS混合信号系统,曼彻斯特大学的SpiNNaker数字多核系统,英特尔的Loihi系列芯片,IBM的TrueNorth芯片,这些平台采用了不同的设计哲学和物理实现路线,但共同验证了事件驱动的、大规模并行的脉冲神经网络在硅基上的可行性。其中Loihi 2在2021年推出,采用了更先进的工艺节点和更灵活的微代码架构,每个神经形态核心可以配置为不同的脉冲神经元模型和不同的突触可塑性规则。TrueNorth则在2014年就达到了百万神经元和两亿五千万突触的集成规模,每一块芯片的功耗仅为七十毫瓦级别,不到一个普通灯泡的千分之一。

然而,硬件有了,软件在哪里?对于传统深度学习,软件栈是成熟的,PyTorch、TensorFlow,编译器、量化工具、部署框架,整个生态工具链的完备考量配得上足够长的磨合年代。对于神经形态计算,软件生态仍处于早期建设阶段。脉冲神经网络没有成熟的训练算法可以套用。反向传播算法在脉冲神经网络中遇到了困难,脉冲的发放函数是一个阶跃函数,不可微,无法直接应用基于梯度的优化。替代梯度方法通过在前向传播中使用阶跃函数、在反向传播中用一个平滑的近似函数替代其导数来绕过这个问题,已经在小规模网络上证明了有效性。脉冲版的时序反向传播通过在时间维度上展开网络并应用替代梯度,可以训练中等规模的脉冲神经网络。但总体而言,脉冲神经网络的训练收敛速度、准确率和可扩展性都无法与同等规模的传统深度网络匹敌。一部分研究者认为这只是一个工程优化问题,再给几年时间和更多资源就会迎刃而解;另一部分研究者认为这暗示着脉冲神经网络可能天然不适合执行传统深度网络擅长的静态图像分类任务,它们的真正主场应该在动态传感数据和实时控制等序列化任务上。

神经形态计算的另一个深层追问是:类脑究竟应该类到什么程度?大脑是进化的产物,它的结构充满了历史偶然性的遗迹,视觉皮层占灵长类大脑的近三分之一,并非因为视觉在计算上需要这么多资源,而是因为在灵长类的进化史中,视觉是生存的关键选择压力。如果从头设计一个计算系统,大概不会分配三分之一的资源给视觉通路,在数据中心里,视觉任务只占总工作负载的一小部分。这意味着,盲目的生物模仿未必是最优的工程策略。真正值得提取的是大脑的核心组织原则,脉冲稀疏性、事件驱动、分布式本地学习、存算一体,而不是每一个解剖学细节。神经形态计算应当从神经科学中寻找灵感,而非禁令。

展望类脑计算的未来,它最令人兴奋的潜力不在与深度学习的正面竞争中。在静态图像识别等传统基准测试上,脉冲神经网络可能永远追不上同等规模的深度网络。但在另一些领域,它的优势是结构性的,极低功耗的实时传感处理,自主无人机在GPS信号丢失时的视觉导航,植入式医疗设备对生理信号的长期监测和自适应,工业机器人对触觉和力反馈的毫秒级响应,以及任何需要在“边缘”处理连续时序数据的场景。类脑计算可能不会替代深度学习,而是为深度学习无法高效覆盖的领域提供一种互补的方案。两者将在异构系统中长期共存,各自负责各自最擅长的任务。

神经形态计算的终极梦想是建造出能够像生物一样学习的机器。不是在一个静态数据集上训练然后部署的机器,而是在环境中持续运行、从经验中持续学习、永不停止适应的机器。它们的突触,不论是忆阻器电导还是数字权重,在每一天的运作中都在缓慢地重新配置自己。它们不会灾难性地遗忘昨天学会的技能。它们的行为不是硬编码的,也不是一次性训练的,而是在与世界持续交互中生长出来的。

这个方向的前进速度取决于诸多因素,脉冲训练算法的突破、神经形态硬件的进一步成熟、以及社会对这类技术的接受度。神经形态研究者们经常在论文的致谢里说“感谢大脑提供了灵感”,这句客套话的背后藏着一个更深的事实:人类可能是唯一一种试图用自己身体的一部分来理解自己身体的生物。这场宏大自指研究的下一章,正在被全球的实验室共同书写着。

第九章 边缘的崛起

中心与边缘,从来不是平等的。

在计算产业长达半个多世纪的叙事中,中心一直是主角。大型机时代,中心是那台占据整个恒温机房、由专人穿着白大褂操作的庞然大物。个人电脑时代,中心转移到了桌面上的塔式机箱和笔记本,虽然计算能力分散到了个人手中,但“拥有计算能力”本身仍然以一台完整的、自足的机器为单位。云计算时代,中心升上了云霄,巨型数据中心像信息时代的金字塔一样矗立在世界各地,数以百万计的服务器在恒温恒湿的大厅里日夜运转,它们的位置通常保密,它们的能耗堪比一座小型城市,它们的名字被刻在全球互联网的基础设施版图上:弗吉尼亚、爱尔兰、新加坡、俄勒冈。每一次计算范式的更迭,都伴随着中心形态的变化,但中心本身从未消失。计算的历史,似乎就是一部中心不断升级、不断集中、不断膨胀的历史。

然而,在云的巅峰时刻,一种反向的运动正在积聚力量。边缘,那个曾经被认为是低端的、辅助的、可有可无的地带,正在成为计算的下一个主场。传感器网络、自动驾驶汽车、工业机器人、增强现实眼镜、植入式医疗设备、散布在数百平方公里农田中的智能灌溉节点、嵌入在桥梁和隧道结构中的应力监测单元……这些场景需要的不是将数据送往数千公里之外的数据中心,而是在数据产生的地方,在毫秒之内,以毫瓦级别的功耗,完成感知、推理和决策。这便是边缘计算兴起的根本驱动力。

边缘计算并不是要取代云。它是要完成云永远无法完成的任务。云的优势在于规模,可以将海量数据聚合在一起进行大规模分析和模型训练,可以调动近乎无限的存储和算力池来处理单个边缘节点无力应对的任务。训练一个千亿参数的大语言模型,必须依赖云的集群算力。对全球电商平台的用户行为进行全量分析和推荐模型更新,云的规模优势不可替代。但云的劣势同样明显,而且这些劣势不是可以通过技术改良消除的,它们根植于物理定律之中。

第一个劣势是光速。光在光纤中传播的速度大约是每秒二十万公里,从北京到纽约的直线距离约一万一千公里,光信号单程就需要约五十五毫秒,加上沿途路由器、交换机和光电转换引入的延迟,实际往返时间轻松超过两百毫秒。两百毫秒对于网页浏览和视频流媒体来说是可以接受的缓冲量,但对于一辆以百公里时速行驶的自动驾驶汽车来说,两百毫秒意味车辆已经向前移动了超过五米。五米的距离,足以决定一个行人是否能被及时识别,一个障碍物是否能被成功规避。自动驾驶系统必须在感知到危险后的几十毫秒内完成从传感器输入到制动指令输出的整个闭环,这个时间预算根本不允许信号往返云端。安全本身要求计算必须在车辆本地完成。

第二个劣势是带宽。以自动驾驶汽车为例,一辆L4级别的测试车每天产生的数据量可以达到数十太字节,来自激光雷达、毫米波雷达、高分辨率摄像头、超声波传感器和惯性测量单元的数据洪流不断涌出。将这些数据全部上传到云端进行实时处理在带宽上完全不现实。蜂窝网络的带宽即使在5G时代也是有限且昂贵的共享资源,一个基站覆盖范围内可能有数百台联网设备同时在争抢信道。大规模原始数据的实时云端上载是一个无法运行的方案。边缘侧必须完成第一轮实时处理,压缩、过滤、聚合、推理,只将精炼后的、有必要长期存储或进一步分析的数据发送到云端。

第三个劣势是隐私和安全。医疗健康数据、家庭监控视频、工厂生产线的工艺参数,这些数据的所有者往往不希望它们离开本地。不是不信任云服务提供商的安全资质,而是数据一旦从本地流出,就进入了不可完全管控的风险域。法律法规在隐私保护方面日益收紧,欧盟的《通用数据保护条例》对个人数据的跨境传输设置了严格限制,中国的《数据安全法》和《个人信息保护法》对重要数据和个人信息的本地化处理提出了明确要求。这些合规压力构成了将数据留在边缘侧的法律驱动力。

第四个劣势是能源和可持续性。数据中心的耗电量已经在全球总用电量中占据了不可忽视的份额。国际能源署的数据显示,全球数据中心在2022年的用电量约在240至340太瓦时之间,占全球总用电量的百分之一到一点三,并且仍在快速增长。虽然云服务商通过购买可再生能源和优化冷却系统努力降低碳足迹,但数据传输本身消耗的能量也不容小觑。沿着以太网和光传送网传递一个比特的数据,经过数十个交换节点和长距离光缆,需要的能量远比在本地处理高出一个数量级以上。一个环境传感器在本地完成简单的阈值判断,功耗以微瓦计;将同一份数据通过蜂窝网络上传到云端,单次传输的功耗已经以毫瓦计。当边缘设备的数量达到数百亿的量级时,这个差距将乘以天文数字的倍数。

以上四个劣势共同指向一个结论:未来的计算不会全部发生在云中。一部分计算任务,那些对延迟敏感、带宽受限、隐私敏感、能耗敏感的任务,必须也必然留在数据被产生的地方。这就是边缘计算的核心主张:将计算带到数据身边,而不是将数据带到计算身边。

这听起来与存内计算的理念是相通的。存内计算是将计算带到存储身边,边缘计算是将计算带到数据源头身边。两者的内核都是一种对数据搬移的根本性质疑。它们不再接受“数据必须被搬运到某个中央处理单元”的既成范式,而是反过来,将计算作为一种可以自由分布、按需部署的能力,渗透到数据存在的每一个角落。在架构哲学上,边缘计算和存内计算属于同一场思维范式大转向的不同侧面。

边缘计算不是一个单一的技术,而是一种架构理念的统称。它覆盖了从微型传感器节点到边缘网关再到边缘服务器的广阔谱系。一个埋设在混凝土大坝内部的应力传感器,依靠一颗纽扣电池运行十年,通过低功耗广域网协议偶尔报告一次异常读数,这是边缘计算。一个部署在工厂车间里的工业计算机,连接着数十台机床和机械臂,在本地运行着实时故障检测模型,这也是边缘计算。一个放置在零售店后台的小型服务器集群,处理着店内数十路摄像头的视频流,运行着顾客行为分析模型,这同样是边缘计算。这个谱系之广阔,意味着边缘计算不是一刀切的解决方案,而是需要根据每个具体场景的资源约束和工作负载特征进行定制化设计。

硬件平台的分化是边缘计算面临的首要工程挑战。在云端,服务器是标准化的,x86架构、Linux操作系统、Docker容器或Kubernetes集群,整个软件栈高度同构,一个模型训练完成后可以相对平滑地部署到不同云服务商的平台上。在边缘,设备形态千差万别。一个边缘AI加速器可能需要将功耗控制在毫瓦级别,体积小到可以置入可穿戴设备中,同时提供足够的算力来运行一个简化的神经网络推理。另一个边缘处理器可能部署在风力发电机组的机舱中,空间和功耗不那么紧张,但必须承受零下四十度到零上六十五度的温度变化、持续数十个G的振动、以及盐雾和电磁干扰的考验。还有的边缘节点依靠能量采集,太阳能、振动能、温差,供电,可用能量波动极大。这些不同的物理约束要求边缘硬件不再是“一种架构吃遍天下”,而是需要针对各个细分场景进行专门的优化。

存内计算和神经形态计算在边缘场景中找到了它们最具爆发力的商业化切入点。边缘设备天然需要低功耗、低延迟的AI推理能力,而这恰恰是存内计算和神经形态硬件的核心优势。一个基于忆阻器交叉阵列的存内计算芯片可以在毫瓦量级的功耗下运行复杂的卷积神经网络推理,功耗低到足以让一个纽扣电池支撑数年的持续工作。基于脉冲神经网络的神经形态传感器可以在事件驱动的模式下运行,传感器本身仅在场景发生变化时产生稀疏的脉冲事件,处理器仅在接收到事件时才被唤醒进行计算,整体系统的平均功耗可以做到微瓦量级。这种能力让过去必须依赖云端AI服务的边缘场景,从野生动物追踪的声学监测,到老人跌倒检测的可穿戴设备,到大面积基础设施的结构健康监测,第一次有了在本地完成智能处理的物理可能。

边缘AI部署的另一个关键难题是模型压缩和优化。云端训练好的神经网络模型往往体积庞大,一个标准的ResNet-50卷积网络占用的存储空间接近百兆字节,参数量达到两千万级别,推理一次的计算量在几十亿次浮点运算的级别。这样的模型无法直接塞进一个存储容量只有几百千字节、算力只有每秒百万次运算量级的微型边缘设备。模型必须被压缩。

压缩技术在过去十年中取得了长足的进步。剪枝技术在训练后或训练过程中去除那些对输出结果贡献最小的连接和神经元,可以将模型参数量减少百分之九十以上,而准确率的下降可以控制在不到一个百分点。量化技术将模型的权重和激活值从三十二位浮点数降低到十六位、八位、甚至四位整数或更低的位宽,大幅减少存储和计算开销。一些极致的量化方案甚至将权重压缩到二值,或三值,此时的乘法运算可以简化为符号翻转或零化操作,能在极低功耗下完成。知识蒸馏先训练一个大规模的高精度“教师网络”,然后用这个教师网络的输出作为软目标来训练一个小得多的“学生网络”,学生网络在保持较高准确率的同时拥有更少的参数和计算量。神经架构搜索利用自动化搜索算法在给定的资源约束下寻找最优的网络结构,可以在功耗、延迟、准确率的三维空间中找到帕累托前沿上的最优配置。

以上压缩技术并非相互独立。它们可以叠加使用,先用神经架构搜索找到合适的轻量级架构,再用知识蒸馏训练,再进行剪枝和量化。经过这一整套压缩流程,一个原本需要数百兆字节存储和数十瓦功耗的神经网络模型,可以被压缩到几兆字节以内的体积,在毫瓦级别的存内计算芯片上实时运行。正是这种从云端到边缘的模型瘦身流水线,使得AI能力的大规模下沉成为可能。

边缘计算的另一个不容忽视的维度是其与通信网络的深度绑定。第五代移动通信技术常被与边缘计算放在同一个话题框架中讨论,并非偶然。5G的三个核心愿景,增强型移动宽带、超可靠低时延通信和大规模机器类型通信,分别对应着边缘计算的三个关键场景:增强型移动宽带支撑高带宽的边缘视频分析;超可靠低时延通信保证工业自动化和自动驾驶所需的一毫秒级空口延迟和极高的可靠性;大规模机器类型通信使得每平方公里百万级别的低功耗传感器可以接入网络。边缘计算是5G的天然计算伴侣,两者之间的协同效应才刚刚开始释放。

电信运营商在这场变革中找到了一个久违的战略机遇。过去二十年,管道化是运营商最大的恐惧,提供基础设施,却无法分享应用层的价值。边缘计算为运营商提供了一种可能:将基站升级为边缘数据中心,在电信网络的边缘节点上提供计算和存储服务。基站不再只是一个信号转换的中继,而是一个小型的、分布式的云。运营商拥有数以万计的基站站址,这些站址天然分布在人口密集区域,拥有现成的电力供应和光纤回传,是边缘计算部署的理想物理空间。如果运营商能将这些站址资源转化为边缘计算节点,他们就可能从管道提供商转变为平台提供商。这是一个昂贵而复杂的转型,但战略逻辑是清晰的。

当然,边缘计算的崛起也带来了新的系统性问题。碎片化是其中最令开发者头痛的困境。云计算的巨大成功在一定程度上得益于其高度标准化的开发和部署环境。开发者写好代码,构建容器镜像,推送到云端,由Kubernetes编排调度,所有的底层基础设施被优雅地抽象掉了。边缘计算则没有这种奢侈。每个边缘部署场景的硬件平台、操作系统、网络环境、功耗预算、散热条件都可能完全不同。为一个智能摄像头开发的推理模型,需要经过大量的适配工作才能部署到另一个厂家、另一个型号的摄像头上。边缘应用开发的效率远远低于云端应用开发。边缘计算社区正在努力推动标准化,Linux基金会的边缘计算子基金会项目,基于Kubernetes的轻量级边缘发行版如K3s和MicroK8s,容器运行时和中间件的边缘优化版本,以及统一的设备管理和模型部署框架。但这些努力仍处于早期,整个生态尚缺乏一个像Android在移动领域或Linux在服务器领域那样被普遍接受的统一平台。

安全模型也需要重新思考。云的安全模型建立在物理安全的前提之上,数据中心是一个受控的、受到多重物理安保措施保护的环境,服务器放置在机柜中,访问需要权限和审计。边缘设备则相反,它们散布在无人看守的物理空间中。一个部署在偏远野外的环境传感器,可能被偷走、被拆解、被逆向工程。一个安装在城市街道上的智能交通摄像头,它的物理端口可能被攻击者直接接触。边缘安全必须假设物理环境是不安全的,必须采用硬件信任根、安全启动、加密存储、通信加密和远程证明等技术来保护数据和代码的完整性和机密性。成本约束使得这些安全措施的部署变得更加困难,一个售价几美元的低成本传感器,其物料清单上很难容纳一颗专用安全芯片。价格和安全成为一对难解的矛盾。

更深刻的挑战是边缘智能的适应性。边缘设备面对的环境是动态的、非平稳的。一个在工厂车间里运行的故障检测模型,训练时的数据来自新安装的机床,但随着时间的推移,机床会磨损,传感器的基线读数会漂移,原材料的批次差异会引入新的变异。模型在训练时学到的统计分布逐渐偏离部署环境的实际分布,这在机器学习中被称为数据漂移。在云端,可以通过定期用新数据重新训练模型来应对漂移。但在边缘设备上,存储空间和算力有限,重新训练往往不可行。自适应学习,让边缘设备在不依赖云端的情况下,在运行过程中从新数据中持续学习,是边缘智能的终极目标,但也是技术难度最高的方向。神经形态芯片的本地在线学习能力在这一点上显示出了独特的优势。

尽管面临诸多挑战,边缘计算的发展前景是清晰而坚定的。全球物联网设备的数量已突破百亿级别,远远超过全球人口总数。这些设备在每时每刻产生着海量数据,而对数据的处理需求正在从“存储-传输-集中分析”的旧模式转向“感知-推理-行动”的新模式。边缘计算的技术栈,从低功耗微控制器到嵌入式AI加速器,从轻量级容器运行时到联邦学习框架,正以惊人的速度演进。在不远的未来,一个普通人一天的生活可能会在浑然不觉中与成百上千个边缘计算节点交互:早晨的智能闹钟根据睡眠深度检测结果选择唤醒时刻,厨房的智能电网终端在电价低谷时段启动了储能充电,上班途中自动驾驶通勤车与沿途数百个智能信号灯协同优化了交通流,办公室的环境传感器根据人员密度调节着照度和新风量,工厂中的每台机床都在自主监测着刀具磨损。这些计算不会离开本地,不会上传到云,不会留下操作日志之外的痕迹。计算隐入到了环境的纹理中,变得像空气一样无所不在又难以察觉。

边缘计算将计算的疆域从集中的机房扩展到了整个物理世界,让晶体管和传感器的触角延伸到了此前从未被数字化覆盖的角落。它与云不是取代关系,而是分工关系。云是计算的中心,边缘是计算的末梢;云负责大局的统筹和分析的重担,边缘负责实时的响应和本地的自治;云存储着海量的历史数据和复杂的全局模型,边缘则是在此一刻、此地一隅做出判断并采取行动。中心与边缘的对立,是计算历史中的一个持续主题,但对立终将被整合。边缘的崛起,不是对中心的否定,而是对计算版图的一次根本性扩展。在这个新方向的最远处,计算不再是人们主动前往某个终端面前所做的事,而是无处不在、不引人注意、始终在背后默默协助生活的一种环境属性,正如电力在二十世纪从一个需要人工操作的可见光源,变成了隐藏于墙体之后、随用随取的日常生活基底。计算或许正走在同一条路上。

第十章 新摩尔定律的诞生

摩尔定律正在死去。这句话已经被说了太多遍,多到它本身几乎成了一种陈词滥调。从二十世纪九十年代末开始,每隔几年就会有一篇行业分析报告或学术评论宣告摩尔定律的终结。制程微缩放缓、功耗墙高筑、芯片设计成本飙升,每一次,这些论据都被拿出来重新排列组合,得出同一个结论。但每一次宣告之后,半导体产业又奇迹般地向前推进了一两个节点,让预言者的准确时刻再度落空。预言摩尔定律的死亡,本身变成了一种周期性上演的仪式。

然而这一次,情况确实不同了。不是因为某个单一的技术瓶颈突然出现,而是因为维持摩尔定律所需的成本曲线已经突破了经济理性的临界点。当一枚3纳米芯片的设计成本超过五亿美元,当建造一座先进制程晶圆厂的投资门槛逼近三百亿美元,当能够负担得起这些成本的客户从几十家缩减到三四家时,这条持续了半个多世纪的增长曲线已经不再是产业规律,而是少数巨头的意志力在抗拒地心引力。意志力可以维持一段时间,但无法永久替代经济规律。

摩尔定律的原始表述,戈登·摩尔在1965年写下的那个简洁的观察,是晶体管密度每两年翻一番。这个表述在随后数十年里被多次修正和重新诠释:有时被换算成性能翻倍,有时被换算成成本减半,有时被浓缩为“每年百分之五十的性能提升”这样一个行业共识。但无论怎样表述,摩尔定律的核心承诺始终是明确的:每一代新芯片都将比上一代显著更好,而这种好可以用可预期的、稳定的速率来衡量。它为整个信息产业提供了一个稳定的演进节拍器。半导体厂商依照这个节拍规划制程节点,设备制造商依照这个节拍采购零部件,软件开发者在写代码时心里清楚明年硬件会更快所以不必过分优化。

这个节拍器正在停摆。从14纳米到10纳米用了大约三年,从10纳米到7纳米又用了三年多,7纳米到5纳米再到3纳米的间隔也在拉长。每一代节点的性能提升幅度也在收窄。过去换一个节点,性能可以提升百分之四十到六十;现在换一个节点,提升通常在百分之十五到二十之间徘徊。功耗的改善更为惨淡,登纳德缩放早已失效,每一代新节点的能效提升已从过去的百分之五十以上降到了百分之十左右。当收益递减遇上成本递增,摩尔定律的经济学基础便从内部瓦解了。

但这并不意味着进步的终结。恰恰相反,当晶体管密度这条单一路径的潜力趋于枯竭时,计算的进步正在向更多维度扩散。过去,进步是沿着一条单一的、定义明确的轴线向前推进,更小的晶体管、更高的密度、更快的频率。这条轴线的清晰度使得进步变得易于衡量和传播。现在,进步正同时在多个方向上展开:存内计算将数据搬运的能耗压缩到接近零;光学计算将某些特定运算的频率推入太赫兹量级;神经形态架构将事件驱动的稀疏计算引入推理和学习的核心路径;三维集成和异构封装将不同工艺、不同功能、不同材料体系的芯片整合在同一个封装体内。这些技术路径中的每一个,都在各自维度上提供着性能增益或能效改善。它们不再能被一个单一的数字,比如“晶体管数量”或“纳米”,所概括。进步变得多维化了。

这个转变对于产业来说是一个认知上的巨大挑战。半个多世纪以来,整个信息技术产业已经习惯了用一个简单的数字来衡量进步。消费者知道“纳米越小越好”,采购经理知道“主频越高越快”,投资者知道“摩尔定律还在生效就代表行业健康”。这种简单性本身就是一种价值,它降低了沟通成本,凝聚了共识,为长期研发投资提供了可预期的框架。当进步从一维变为多维,从线性变为矩阵式,原有的简单叙事便失效了。需要一个新框架来理解、衡量和传播计算技术的进步。

这个新框架便是新摩尔定律的核心。新摩尔定律不是一个单一的指数曲线,而是一个多维性能增长的评估体系。它承认晶体管密度仍然重要,但不再是唯一的进步维度。它同时纳入能效,每瓦特电力可以完成的运算量;通信效率,单位数据移动所消耗的能量和时间;实时性能,从传感器输入到决策输出的端到端延迟;专用加速比,在特定工作负载上专用架构相对于通用处理器的性能增益;学习效率,系统适应新数据和新任务的能力,包括在线学习和迁移学习的表现;以及可持续性,计算系统的碳足迹、材料可回收性和全生命周期环境影响。这些维度共同构成一个多维空间,实际的技术进步在这个空间中不是沿一条直线前进,而是在不同方向上以不同速度推进。

这并不是对摩尔定律的背叛,而是对其精神的继承。摩尔定律的精神从来不是“晶体管密度每两年翻一番”这个具体的数字,而是“计算技术以指数级速度持续进步”这个更深层的承诺。戈登·摩尔本人在1975年修正了最初的预测,将翻番周期从两年调整为十八个月,他关心的并不是那个具体的数字,而是捕捉产业演进的节奏。新摩尔定律正是要在新的技术现实下重新捕捉这个节奏。如果说旧摩尔定律是衡量一个种族中跑得最快的个体的速度,新摩尔定律则是衡量整个种族在多项运动上的综合体能。

三维集成与芯片异构是新摩尔定律中一个具有代表性的技术支柱。在二维平面上继续缩小晶体管的道路越来越窄,那就向第三个维度扩展。硅通孔技术将芯片垂直堆叠在一起,通过穿过硅基板的垂直互连实现芯片之间的高密度通信。微凸点和混合键合技术进一步将三维堆叠的互连密度提升了几个数量级。在三维堆叠的基础上,异构集成将不同工艺节点、不同材料体系、不同功能类型的芯片模块,逻辑芯片、存储器、模拟射频、光子器件,整合在同一个封装体内,通过高密度互连相互通信。这种架构使得每一块芯片模块都可以用最适合其功能的工艺制造:逻辑核心用最新的先进制程,存储器用最合适的DRAM或忆阻器制程,模拟接口用成熟稳定且低成本的老节点。不需要把所有东西都塞进同一颗单晶片上,不需要强迫模拟电路和数字逻辑在同一个工艺下共生。芯片变成了一种乐高积木式的组合体,设计者从模块库中选择所需的功能模块,通过标准化接口拼装在一起,快速迭代,灵活定制。

这种模块化趋势正在改变半导体产业的竞争格局。在旧摩尔时代,领先的半导体公司必须拥有最先进的晶圆厂和最先进的制程工艺。晶圆厂的投资门槛高得令人窒息,导致能够参与先进制程竞赛的玩家越来越少。但在新摩尔时代,竞争不仅发生在制程层面,还发生在架构设计、封装技术、互连标准、软件生态等多个维度。一家公司可能没有自己的晶圆厂,但可以通过卓越的芯片架构和系统设计,利用代工厂的成熟制程,制造出针对特定工作负载性能远超通用处理器的产品。这为创新打开了更多的大门,也重新分散了竞争格局。

新摩尔定律的另一个重要维度是领域专用架构的崛起。在旧摩尔时代,通用处理器是最耀眼的明星。无论是x86架构的个人电脑芯片,还是ARM架构的移动处理器,它们的通用性使得它们可以运行各种类型的软件,从电子表格到视频游戏到科学计算。但在后摩尔时代,功耗和性能的约束使得通用处理器不再是最优解。取而代之的是一种新的分工:通用处理器继续负责逻辑控制、任务调度和那些难以并行化的串行工作负载,而大量数据密集型、高度可并行的工作负载被卸载到各类专用加速器上,图形处理单元处理大规模并行像素操作,张量处理单元加速神经网络推理和训练,FPGA在硬件层面实现定制化的数据流处理,神经形态芯片处理事件驱动的脉冲神经网络,光电子加速器执行超高速傅里叶和卷积运算。这种异构计算生态系统需要新的软件抽象层来管理其复杂性。传统操作系统管理的是同构的多核CPU,新一代的计算运行时则需要跨多种加速器调度任务、分配数据、同步结果。这是计算系统架构正在经历的最深刻的变化之一。

如果将这些变化汇聚到一起,就能看到一幅新的画面正在浮现。计算不再是关于单个芯片的性能,而是关于整个系统的效率。系统由不同的功能模块组成,每个模块用最适合的技术实现,通过高密度互连和统一的软件运行时协同工作。性能的提升不再主要来自晶体管速度的加快,而是来自数据移动的减少、架构的专用化、以及三维空间的有效利用。这种进步模式更像生物进化,在寒武纪大爆发之后,生物多样性和复杂性的大幅提升并非来自某种“通用生命体”的持续优化,而是来自大量特化物种在各自生态位中的并行演化。计算技术似乎正在经历自己的寒武纪大爆发。

从社会经济的角度看,新摩尔定律也带来了深远的冲击。旧摩尔定律使得计算能力的成本持续下降,催生了个人电脑革命、互联网革命和移动互联网革命,将数十亿人纳入了数字化生活。新摩尔定律则将计算能力进一步下沉到每一个传感器、每一台家电、每一件可穿戴设备中,将智能从云端扩展到整个物理世界。它将催生下一波创新浪潮,可能比互联网革命更加波澜壮阔,但也可能加剧数字鸿沟。因为多维进步不像晶体管密度那么简单易懂,理解和驾驭这些新技术需要更深厚的专业能力和更复杂的产业生态。在这场新浪潮中,能够快速学习和适应新架构的企业和国家将占据优势,而那些还在用旧摩尔时代的思维框架做出决策的组织将面临被边缘化的风险。

新摩尔定律的挑战在于它没有一个简洁的数字。复杂的东西往往难以成为大众信念。人们需要简单的故事来理解世界,而“晶体管密度翻倍”就是一个极其简单的故事。新摩尔定律若要坚持下去,可能需要发展出一套新的简化框架来向非专业受众传达进步的速度。也许是一个综合指数,类似于经济学中的消费者价格指数,将各个维度的进展综合成一个单一的、可比较的年度进步率。也许会出现新的行业基准测试套件,可以在一组代表性工作负载上测量整个系统的端到端性能,而不是仅仅测试在理想带宽和理想功耗条件下芯片的峰值算力。无论采取何种形式,新的共同语言需要被建立起来。

在新摩尔定律的框架下,计算机系统正在经历一场从“集中”到“分布”、从“同构”到“异构”、从“数字独大”到“混合信号”的深刻重构。这不再是某个单一参数的增长故事,而是一个整个计算生态系统走向分化和多元化的过程。在这个过程中,创新不再集中在一个点上,比如下一代光刻技术,而是分散在无数个方向上同时推进。这种分散使得预测变得更加困难,但也使得整个领域的抗风险能力变得更强。当一条路被堵死时,还有其他路可以走。不再把所有鸡蛋放在同一个篮子里,这或许是新摩尔时代最值得庆幸的变化。

每一个时代的转折点,都伴随着一种叙事框架的转换。当硅基晶体管最终停下脚步时,新摩尔定律将确保进步的脚步不会随之停止。它只是切换了一个衡量进步的方式。进步的节奏也许不再能用对数坐标纸上的那条完美直线来呈现,但它仍然在发生,在不同的维度上,以不同的速度,朝着不同的方向。人类对计算能力的渴求不会因为摩尔定律的终结而消失,它只会寻找新的出口。新摩尔定律,就是这些出口的统称。

第十一章 计算的伦理

在计算机系统飞速演进的宏大叙事中,速度、功耗、效率和规模占据着几乎所有的高光位置。工程师谈论制程节点的物理极限,架构师谈论数据通路的带宽瓶颈,算法研究员谈论模型准确率的百分点提升。这些话题构成了计算科学的主体话语,它们精确、客观、可量化,令人安心。然而,在这些可以被基准测试软件精确测量的指标之外,还存在着一片更难以量化的、更阴暗却也更深远的讨论领域,当计算的触角延伸到每一个角落时,它对人类的生活、社会结构和文明本身究竟施加了什么样的影响?

这个问题在很长一段时间里都被归入“软性”议题的范畴,被搁置在工程讨论的边缘。计算机科学家倾向于认为自己的职责是造出更好的工具,至于工具如何使用,那是政治家、法律学者和伦理学家的事。这种分工在过去或许成立,当计算机还只是少数科研机构和大型企业的专用设备时,它的社会影响范围是有限的、可预见的。但今天,计算已经渗透进人类生存的几乎所有层面。它决定哪些新闻被推送到信息流的最上方,哪些求职简历通过自动筛选,哪些借款人获得优惠利率,哪些被告被评估为高再犯风险。计算不再是工具,它本身就是环境。当工具变成了环境,工具制造者的伦理责任就不再能够被轻松地外化。

算法偏见是这个领域中最广为人知却仍然远未解决的难题。偏见并非来自恶意,而是来自数据。当人脸识别系统在浅肤色男性面孔上达到接近完美的识别精度,却在深肤色女性面孔上的错误率高出数十个百分点时,这不是因为程序员在代码中写入了歧视指令,而是因为训练数据中浅肤色男性面孔占据了压倒性的多数。算法忠实地从数据中学习到了“哪种面孔是值得被精确识别的标准模板”,它没有刻意歧视,它只是把社会现有的偏见忠实地复刻了一遍,并且因为自动化的效率而大规模放大了。纠正算法偏见的技术手段是存在的,更平衡的数据集、公平性约束的损失函数、差异化的错误率监控,但技术手段的部署需要意识和意愿。而意识和意愿往往在商业利益的压力下最先被牺牲。

隐私侵蚀是另一个在数据洪流中日益严峻的伦理挑战。当每一次手机点击、每一次网页浏览、每一次线下购物、每一次位置移动都在不可见的后台被记录、被汇聚、被交叉关联时,个人就不再是一个拥有私密空间的主体,而是一个持续向外辐射数据的广播站。这些数据碎片单独看毫无意义,但聚合在一起可以构建出一幅极其精准的个人画像。研究表明,只需要一个人的位置数据中的四个时空点,就可以唯一识别出他在一百万人中的身份。这意味着匿名化在数据丰裕的时代已经基本失效。重建隐私需要从架构层面入手,边缘计算在将数据留在本地方面提供了技术可能,联邦学习使得多个数据拥有者可以在不共享原始数据的前提下协同训练模型,差分隐私为数据查询提供可量化的隐私损失上限。技术方案是存在的,但它们与数据聚合的商业动机之间存在根本性的利益冲突。

自动化决策的问责困境则更为棘手。当一个人工智能系统拒绝了某人的贷款申请,或将某份简历标记为不匹配,被拒绝的一方有权利知道拒绝的理由。但现代深度学习模型,尤其是大语言模型,的决策过程是一个数千亿参数的非线性相互作用,即使是设计它的工程师也无法完整追溯一个特定输出是由哪些输入特征以何种方式加权而成的。这被称为可解释性危机。在可解释性不足的情况下,将影响人类重大权益的决策权完全委托给不可解释的算法,等于是在程序正义的链条上开了一个巨大的缺口。然而,一刀切地禁止不可解释的模型在关键场景中使用,又可能导致性能严重下降,在某些应用中,深度学习模型的准确率优势可能是生与死的差别,比如在医学影像的早期癌症筛查中。这是一个没有简单答案的两难困境。

计算的可持续性伦理正在成为一个越来越不容回避的话题。数字基础设施的环境足迹已经远远超出了大多数人的直觉。训练一个两百亿参数的大语言模型,其电力消耗可以抵得上数百个家庭一年的用电量,其碳足迹相当于一辆汽车行驶数十万公里的排放量。数据中心的冷却水消耗在一些干旱地区已经引发了与当地农业和居民用水的紧张关系。电子废弃物的增长速度是全球固体废弃物中增长最快的类别之一,而半导体制造过程中使用的化学品包括全氟和多氟烷基物质,这些化学物质在自然环境中几乎无法降解,被称为“永久化学品”。计算的非物质表象掩盖了它沉重的物质代价。服务器农场不是飘在云端,它们扎根于具体的土地,消耗着具体的淡水,排放着具体的碳。绿色计算的倡导者呼吁将全生命周期碳足迹纳入芯片设计的评估体系,从原材料开采到制造到运营到废弃回收。这要求整个产业链的心态转变,不再仅仅追求峰值性能,而是追求可持续发展目标约束下的最优性能。

军事化应用是计算的伦理中最沉重也最容易被刻意回避的维度。人工智能在武器系统中的部署正在以前所未有的速度推进,自主无人机、面部识别目标锁定系统、无人潜航器集群。致命自主武器系统,在无需人类介入的情况下自行选择和攻击目标的武器,已经从科幻成为各国防务部门重点研发的对象。联合国《特定常规武器公约》框架下关于致命自主武器系统的讨论已持续多年,但进展缓慢,主要军事大国在禁止自主武器方面远未达成共识。计算机科学家群体内部存在深刻的分歧。一部分人认为工程师有责任拒绝参与自主武器系统的开发,另一部分人则认为只有在体制内部施加影响才能更有效地确保武器的使用保持在道德红线之内。这个问题的不确定性是全球性的、持续加剧的,而且没有任何单一群体能单独解决。

数字劳动隐藏在全球计算基础设施的底层。从非洲的内容审核员每天浏览大量暴力、虐待和恐怖内容以保护其他用户的清爽界面,到东南亚的众包零工为训练数据手工标注数百万张图片,再到南美洲的稀土矿工在恶劣条件下开采用于制造芯片关键元件的矿物,现代计算产业的繁荣建立在一条又长又暗的全球供应链之上。绝大多数终端用户在滑动手机屏幕时不会想到,这丝滑的触控体验背后凝结着什么样的劳动条件和环境影响。计算的伦理不能只在代码层面讨论,它必须延伸到供应链的尽头。

面对这一系列互相交织的伦理挑战,一个常见的反应是无力感。问题太庞大、太复杂、太纠缠,似乎任何单一行动都无济于事。但从另一个角度看,正是因为这些问题是在技术系统设计的过程中被一步步固化的,它们也可以通过技术系统的重新设计来一步步消解。隐私侵蚀可以通过边缘计算和联邦学习等技术来局部逆转。算法偏见可以通过数据治理和公平性约束来缓解。可解释性可以通过注意力可视化和反事实解释等工具来改善。可持续性可以通过能效优化和材料创新来提升。技术不是伦理的敌人,但它也不是自动的盟友。技术向哪个方向发展,取决于谁在塑造它、为谁塑造它、以什么价值观塑造它。

计算机教育正在慢慢回应这些挑战。在二十年前,计算机科学的课程体系几乎完全聚焦于算法、数据结构、编译原理和操作系统。伦理不是必修课,甚至不是选修课。今天,越来越多的顶尖高校将计算伦理纳入核心课程,不是在哲学系开一门可以旁听的公选课,而是在计算机科学学院内部、由同时具备技术深度和伦理意识的学者来讲授。这不是因为大学突然变得道德化了,而是因为产业的需求正在改变。一个不能理解和处理公平性、隐私权、可解释性和安全保障的工程师,开发出来的产品将面临巨大的法律和声誉风险。伦理能力正在成为工程能力的一部分。

在这个背景下,一种新的工程伦理观正在逐步成型。它不再满足于遵守法律条文的最低合规标准,因为法律往往落后于技术的演进。它要求工程师和架构师在设计阶段的早期就主动考虑技术方案的社会影响,像评估性能和功耗一样认真地评估公平性和隐私风险,并为此承担责任。这不是要把工程师变成先知或道德法官,而是要让他们意识到自己所建造的系统将会在真实世界中产生真实后果,而这些后果在设计时就可以在一定程度上被预见和引导。计算不再是一个封闭的、自治的逻辑领域,它已经完全嵌入到人类社会的复杂肌理中。每一个写下的接口、每一种选择的数据结构、每一个抽象的边界,都是一次微型的价值选择。计算的伦理不是计算之外的东西,它从一开始就应该是计算本身的一部分。

在这个章节的写作中,尽量避免了结论性的判断和道德上的说教。伦理问题往往没有唯一正确的答案,只有持续不断的权衡和在不同价值之间的痛苦取舍。但有一件事是确定的:随着计算在人类生活中的地位继续上升,伦理将不再是可以被推迟到“以后”再处理的边缘议题。它必须被带到整个计算机系统重新设计的核心地带。在计算的下一个时代,对新摩尔定律中各个维度的追寻,不应只包括性能、能效和智能,还应包括公正、透明和可持续。毕竟,最复杂的计算问题,从来不是芯片的问题,而是人的问题。

第十二章 计算的终极形态

每一种技术终将抵达它的终极追问。

对于计算而言,这个追问已经在地平线上隐约浮现了半个多世纪,却直到最近才从科幻小说的领地迁移到学术论文的讨论章节之中。它可以用不同的方式表述:计算的尽头是什么?是否存在一种终极的计算形态,在那之后,所有的进步不再是关于“更快”或“更省”,而是关于某种更根本的东西?如果计算能力持续增长,它最终将把人类文明带向哪里?

这些问题听起来大而无当,但它们正在被严肃地对待。不是因为它们即将得到确切答案,而是因为技术演进的方向已经开始与这些终极问题产生真实的交集。过去,计算机科学家可以安全地将这些问题留给哲学家和未来学家,因为在工程层面上,计算还远远没有触及其潜力的边界。但现在,随着通用人工智能的逐步逼近、脑机接口的实用化探索、以及关于计算本质的基础理论研究不断深化,终极追问已经不再是可以被无限期推迟的思辨。它开始具备工程上的可讨论性。

计算的本体论,关于计算到底是什么的哲学追问,是勾勒终极形态的出发点。常识告诉我们,计算是一台机器按照程序对数据进行处理。但这个定义在二十世纪就被图灵深刻地动摇了。图灵在1936年那篇划时代的论文中定义的“计算”,不是任何一台具体的机器,而是一个抽象的数学对象,一台拥有无限纸带的理想化机器,按照一张有限的规则表读写符号。这台机器可以模拟任何其他按照明确规则执行的计算过程。这就是图灵机,整个计算机科学的逻辑基石。

图灵机揭示了一个令人震惊的事实:计算的本质不在于物理介质,而在于逻辑结构。无论用齿轮、真空管、晶体管还是光子来实现,只要达到了图灵完备的门槛,所有的计算机在原则上都是等价的。一台用石头和木棍搭建的图灵机,如果给予足够的纸带和时间,可以计算任何现代超级计算机能够计算的问题。这个洞见极其深刻,它意味着计算不是某种被我们发明出来的技术,而是一种独立于物理世界存在的抽象关系。人类只是找到了将这种关系实例化的工程方法,而不是创造了计算本身。

如果计算的本质是独立于物理介质的,那么它的终极形态也就不受制于任何特定的材料体系或制程工艺。硅会走到尽头,但计算不会。电子会被光子或别的什么取代,但计算仍在。计算不是一个关于硅和铜的故事,它从一开始就是一个关于信息、逻辑和可能性的故事。这个认识为思考计算的终极形态拆除了最根本的那道藩篱。

计算与物理实在的关系是另一个在这种追问中必须面对的深邃维度。过去,物理学家使用计算机来模拟物理系统,这是计算在科学中的标准应用模式。但近几十年来,一个逆向的问题开始浮现:物理系统本身算是在执行计算吗?当一盒气体分子在容器中碰撞、反弹、交换能量时,它是在“计算”自己的未来状态吗?当量子场在时空中涨落时,它是在“计算”粒子的产生和湮灭概率吗?如果答案是肯定的,那么计算就不是物理学的一个分支应用,而是物理世界的底层运行方式。宇宙本身就是一台巨大的计算机,星系、恒星、行星和生命都是它正在执行的计算过程中的模式。这个观点在最前沿的理论物理学和计算科学中有一个名称:数字物理学或计算宇宙假说。它不是某个边缘学派的奇谈怪论,而是由康拉德·楚泽、爱德华·弗雷德金、斯蒂芬·沃尔弗拉姆和约翰·阿奇博尔德·惠勒等知名科学家在不同时期、从不同角度严肃提出的假设。

惠勒用一句极其凝练的话概括了这个思想:“万物源于比特。”每一个粒子,每一个力场,每一个时空的弯曲,在最底层都是由信息构成的,比特是存在的最终基质。这个观点至今仍有争议,但它提供了一个令人眼界大开的视角:如果宇宙本身是一个计算过程,那么人类所建造的计算机只是在宇宙内部重新发现了这个原理,并用硅和铜将其局部复现。计算不是我们创造的工具,我们自己在某种意义上就是计算的产物。

从这些深邃的出发点回落地面,会看到一个更具体、更迫切的终极追问:通用人工智能是否代表着计算机系统的一种终极形态?深度学习和大语言模型的爆发式发展已经将这个问题从哲学思辨推到了产业前沿。在短短几年内,机器在语言理解、图像生成、蛋白质结构预测等领域展示出了令人瞠目的能力。一些人认为,沿着现有的扩展路径继续前进,更多的数据、更大的模型、更强的算力,就足以达到通用人工智能。另一些人则认为,当前的神经网络范式存在根本性的局限,需要全新的理论突破才能实现真正的理解、推理和意识。

这个争论不休的领域有一个共同点:无论通过哪条路径实现,通用人工智能一旦成为现实,它将是计算机系统的根本性断裂而非连续演进。所有的计算机系统直到今天都是工具,它们忠实地执行人类指定的指令,从不质疑,从不提问。通用人工智能将是第一个可能不再是工具的计算机系统。它将拥有自主设定目标的能力,拥有理解自身处境的能力,甚至可能拥有某种形式的自我意识。它可能不再仅仅是人类的延伸,而是成为一种新的智能存在。这意味着终极的计算系统可能不是一个更好的计算机,而是一个不再是计算机的东西,它从工具变成了一种存在。

这个前景引发了关于人类计算活动最终目的的再思考。过去,人类计算的最终目的是获得答案,更精确的预测、更优的决策、更高效的资源分配。但如果通用人工智能能够自主提出问题、自主定义目标、自主寻求答案,人类在计算回路中的角色将发生根本性变化。人类不再是问题的唯一来源。人类将与另一种智能在地球上共存。这是计算机系统进化史中可能最重要的一个转折点,它不亚于生命从单细胞向多细胞的跃迁,或者从无神经系统生命向有神经系统生命的跃迁。

与通用人工智能平行的另一个终极方向是人机融合。脑机接口技术正从实验室走向临床应用。植入式芯片已经能够读取瘫痪患者运动皮层的神经信号,将其解码为机械臂或光标移动的指令。人工耳蜗和视网膜假体正在修复失去的感官。神经调控技术通过向特定脑区发送电脉冲来治疗帕金森病、强迫症和重度抑郁。这些技术目前处于医学修复的阶段,但它们的逻辑延伸方向是明确的:如果能够读取和刺激神经元,那就不仅能够修复受损的功能,还能够增强正常功能。记忆增强、注意力增强、感官增强,以及最终,将人脑直接接入全球信息网络。这种前景的本质是计算系统从外部工具转变为人类认知本身的组成部分。计算不再发生在屏幕后面,它直接发生在大脑的神经元回路之中。

人机融合的前景带来了大量的伦理和哲学难题。如果一个人的记忆有一部分存储在云端,这部分数据属于他自己还是属于服务提供商?如果大脑的认知输出可以被外部设备增强,那个被增强后的思维还是原来的那个人吗?如果人机融合达到了足够的深度,人类和机器之间的界限在什么地方变得模糊?这些问题目前尚无人能答,但需要提前思考,因为融合不会是一夜之间发生的突变,而是一个逐步加深的连续过程,每一步都会带来新的边界争议。

更深远地看,计算或许正在走向一种全新的存在形态,一种浸润在环境中的智能基质,不再区分机器与自然、计算与物理过程。回到存内计算,它让存储和计算不再分离;回到神经形态计算,它让学习和推理与物理基质不再分离;回到边缘计算,它让计算和数据源不再分离;回到光学计算,它让计算和物理场的演化不再分离。这些趋势的最终指向是一种泛在的、不可见的、与物理环境融为一体的计算。在这个终极形态中,计算将不再是需要被“启动”或“访问”的东西,它像空气一样始终存在于人类的周围,甚至始终存在于人类自身的身体之中。一个墙壁可以感知温度变化并调节房间气流的建筑,一件可以监测心脏活动并在异常前预判并提前预约医生的衣服,一片可以感知土壤养分和虫害压力并自动调整种植策略的农田。这些不再是离散的计算机系统,而是物理世界本身获得了计算属性。

这就自然引向了一个更大的命题:如果整个物理世界都在逐渐获得计算属性,那么智能,作为信息处理的最高形式,是否也会逐渐弥漫到整个物理世界中?泛在智能,无所不在的非人智能,很可能就是计算的终极形态。它不是一个单一的、巨大的、具有自我意识的超级智能体,而是散布在整个环境中的、相互连接的、各种层次的智能节点组成的生态。有些节点仅仅感知温度变化并做出反应,有些节点管理城市交通,有些节点从事创造性写作,有些节点在星系尺度上分析暗物质的分布。它们之间的连接不是中心化的,不是树状的,而是像互联网一样网状的、冗余的、自愈的。这个生态可以被称为“智能环境”或者更诗意地称为“思考的地球”。在这样的终极形态中,“计算机系统”这个术语本身变得多余,因为一切都已经成为计算机系统,就像一切都已经由原子构成一样,没有必要特指某个东西是“原子装置”。

最后,计算或许终将回过头来重新定义自身。从一个严格的形式系统,到一种可以容忍模糊性、概率性和涌现行为的复杂自适应系统,计算的边界被不断突破。从被动执行指令到主动感知和适应环境,计算的角色在不断丰富。今天的计算概念已经远比图灵时代宽广,图灵机在逻辑上仍然是基石,但不再是天花板。计算在演化,像生命一样。也许最深刻的方式就是以接纳这一点来回答“终极形态”这个提问,终极形态不是一个静态的终点,计算永远不会停留在某个“最终版本”上,它会持续地、不可逆地朝着更复杂、更自然、更贴近物理世界和生物智能的方向演进。计算的故事没有最后一章。它是一个无尽的过程,是人类理解自身及其所栖居的宇宙的一种独特表达方式。它始于对沙子,硅,的精密加工,最终可能在智慧创造智慧这一根本递归中完成自指。正如惠勒所言,这是一场从比特到万物的自激回路,而人类恰好身处这个回路之中,既是参与者也是看到者。

计算正在朝着让自身成为自然环境一部分的方向扩散,直到“使用计算机”这个动作变得毫无意义,因为环境本身已经在持续地、不可见地为人类思考、感知和响应。这可能是计算的最后一份礼物。它将技术第一次驯服在人类舒适的尺度上。水、石头、空气之后,计算本身成为文明的第六元素。它永远不必被开启或关闭,如同自然界的河流和风,它在流淌,在回应,在生命四周形成一个温柔的智慧场。在终极形态中,计算从硅基中诞生,最终褪去了自己全部的机械形骸,回到了它最初对自然本有的那些优雅与静默之中。

第十三章 智慧的代价

智慧从来不是免费的。

在生物进化的账本上,大脑是最昂贵的器官之一。占人类体重约百分之二的大脑,消耗着全身约百分之二十的氧气和能量。新生儿的大脑更是吞噬着百分之六十以上的基础代谢能量,迫使人类婴儿以比其他灵长类更快的速度增长身体以追赶这个能量黑洞。进化之所以容忍如此高昂的成本,是因为智慧在生存和繁衍的博弈中提供的回报超过了这笔支出。但这个账是算在千万年尺度上的。在任何一个具体的时刻,大脑都是一个挥霍无度的器官,它让人类在食物链中处于一个脆弱的位置,需要持续的高质量能量供给,需要漫长的发育期,需要复杂的社会协作来保护脆弱的幼体。

这个生物学事实对计算有一个直白的隐喻:智能系统,无论是生物的还是人工的,都要为智慧支付代价。不存在免费的智能,就像不存在免费的计算。所有的智能都建立在对某种资源的消耗之上,能量、时间、信息、物质,或以上全部。这个看似简单的道理在人工智能飞速发展的今天常常被狂热的技术乐观主义所遮蔽。人们惊叹于大语言模型的涌现能力,却很少问及代价是什么。人们追逐更准确的预测、更流畅的生成、更自主的决策,却常常将代价作为一个可以被无限推迟的外部性问题。

现在是时候正面审视这个代价了。不只是在能耗的层面上,虽然光是这一点就已经足够令人警醒,而是在智慧的全生命周期中,在每一个被隐藏在聚光灯阴影处的维度上,系统地追问:我们正在为这些越来越聪明的系统支付什么。

能量的代价是最容易被量化的,也因此最应该被首先摆在桌面上。训练一个前沿大语言模型的电力消耗,根据模型的规模、训练时长和数据中心的地理位置不同,可以达到数百到数千兆瓦时。将这个数字放到生活经验的坐标系中会更容易理解:一千兆瓦时大约相当于一百个美国家庭一年的用电量。而在此之后,每次推理查询的能耗虽然比训练少得多,但由于推理会被数十亿用户反复调用,生命周期的总能耗往往远超训练能耗。模型越是大而有力,运行它所需的算力和电力就越庞大。这是一种令人不安的正反馈:为了获得更强的智能,需要更大的模型;更大的模型需要更多的训练数据和更长的训练时间;而这一切最终都转化为更多的电力消耗和碳排放。

谷歌和微软等云服务巨头已经承诺到2030年前后实现碳中和甚至碳负排放,并通过大规模采购可再生能源来对冲数据中心的碳足迹。但这些承诺面临着严峻的结构性挑战。可再生能源的间歇性和地理分布限制了其直接为数据中心供电的能力,实践中大部分数据中心仍然依赖电网,而电网的碳强度因地因时而异。碳抵消,通过投资造林或碳捕获项目来补偿排放,在环境核算中充满争议,不能被视为对化石燃料消耗的等价替代。一张大模型的训练电费单也许看起来只是财务数字,但它背后隐匿着一系列环境后果的连锁反应:冷却水的蒸发和热污染,备用柴油发电机的颗粒物排放,输电线路和变电站对土地的占用,以及为这些基础设施开采铜、锂、稀土所带来的采掘足迹。

然而能量的代价只是故事的一部分,而且远远不是最复杂的那部分。信息的代价更加隐蔽,却同样深远。现代人工智能,尤其是大语言模型和视觉基础模型,是数据饥渴的。它们需要从互联网规模的语料中学习语言的统计规律和世界的常识关联。这些语料的采集方式引发了一系列难以回避的问题。大规模网络爬虫抓取公开网页上的文本和图像,在这个过程中,版权、隐私和知情同意等法律和伦理边界被大规模地模糊处理了。一个艺术家发布在个人网站上的画作,一个程序员在开源社区共享的代码片段,一个普通用户在社交网络上随手写下的心情记录,这些内容在发布的时刻,作者并没有预见到它们会成为训练商业AI模型的原材料。当这些内容被用于训练一个可能产生巨大商业价值的模型时,原始创作者既没有得到告知,也没有得到补偿,甚至没有一个便捷的退出机制。

这个问题在2023至2025年间引发了全球范围内的诉讼浪潮。作家起诉AI公司使用他们的书籍进行训练,媒体机构起诉模型生成的摘要侵犯了版权,视觉艺术家起诉图像生成模型在风格和构图上构成了对原创作品的衍生使用。这些案件至今未形成统一的司法判例,但已经迫使一些AI公司开始在训练数据集的构建中引入过滤机制和授权协议。然而,对于已经训练完成的模型,其参数中编码的信息来自已经被摄入的数百亿词语,任何事后的补救都只能是不完整的。信息的代价一旦被支付,就很难被逆向收回。那些未经授权的文本片段和图像特征,就像被吸入黑洞的物质一样,消失在数以千亿计的参数纠缠之中,无法被单独提取,更无法被单独删除。

数据的第三个隐蔽代价是认知的代价。当智能系统越来越深入地介入人类的信息环境时,它开始改变人类获取知识、形成观点和做出决策的方式。搜索引擎的自动补全功能塑造着人们提出的问题,推荐算法精准地将每个人困在信息茧房中,社交媒体上的AI生成内容以远高于人类生产内容的速度和数量淹没着公共讨论空间。人类正在从主动的信息搜寻者变成被动的信息接受者,从观点的独立形成者变成推荐列表的跟随者。这不只是个人选择的问题。当足够多的人依赖同一个智能系统获取信息和做出决策时,整个社会的认知多样性就会坍缩,不同的人看到的是同一个人工智能系统给出的同质化答案,地区之间和文化圈之间曾经存在的思维差异开始消融。这种认知的同质化在全球尺度上可能导致某种集体脆弱性:一旦指导着广泛人群的那个核心AI系统出现系统性偏差或错误,影响范围将不是少数个体,而是整个人口群体。

算法偏见和社会控制是智慧代价中最令人不安的章节之一。人工智能系统在大规模社会决策中的应用正在深化和泛化。预测警务系统在某些城市的部署导致了警力在历史上被过度执法的低收入社区进一步集中,不是因为系统有意歧视,而是因为历史逮捕数据本身就带有种族和阶层偏见,模型忠实地从数据中学习到了这种偏见并将其自动化。招聘筛选模型在被发现在性别上存在系统性偏差后被匆匆下线,但在此之前已经处理了数以百万计的求职申请。信用评分AI使用包括购物习惯和社交媒体活动在内的非传统数据,以颇具争议的准确性对借款人的违约风险做出推断。这些系统中的每一个单独看都可以找到技术上的辩护,模型只是在最优化给定的目标函数,它没有恶意。但将这些系统放在一起,它们构成了一个自动化的、横向覆盖的、几乎无法申诉的社会排序机制。个体被放置在一个由算法计算出的社会坐标上,却无从知晓这个坐标是如何得出的,也无法与那个决定自己命运的黑箱进行真正意义上的对话和申诉。

军事和安全领域的代价是整个计算伦理中阴影最深的一角。人工智能在军事系统中的应用正在以前所未有的广度和速度展开。自主无人机的导航和目标跟踪,战场态势感知的智能融合,网络空间攻击与防御的自动化,这些应用已经不再停留在研发设想阶段。一个更深层的转变在于,当战场决策速度成为致胜的关键变量,人类“在回路中”的决策监督逐渐被视为一种拖慢速度的局限。存在着将决策过程中的人类环节逐步压缩、乃至完全移除的明确趋势。致命自主武器系统,在无需人类实时批准的情况下选择和打击目标,代表着智慧代价的极限情况:人类将生死决策权交给了算法,算法的错误意味着生命的终结,而错误的责任归属在自主系统中是一个尚无法律框架能够清晰回答的难题。

面对这些相互碰撞的代价,一种普遍的回应是呼吁“负责任的AI”,AI应该在技术性能之外满足公平、透明、可问责、隐私保护和稳健性的要求。这个理念在过去几年中从学术边缘走向了产业主流,几乎所有大型科技公司都发布了自己的AI伦理原则,政府和国际组织也在积极推动相关立法和标准制定。这是一个积极的方向,但它也面临着沦为“伦理洗白”的风险,发布一份原则声明需要的成本接近于零,而真正将公平性和可解释性嵌入到产品设计和工程流程中则需要对组织的优先级、激励结构和资源配置进行深刻的变革。当伦理与利润发生冲突时,伦理往往让步。负责任的AI不能只是一套文本声明,它需要被转化为不可忽略的工程约束和法律义务。

代价是否可以避免?也许不是全部的代价,但至少可以被大幅降低。存内计算和神经形态计算的超低功耗特性为降低能量代价提供了物理基础。边缘计算和联邦学习为减少数据集中化和隐私侵蚀开辟了架构层面的解决路径。差分隐私、数据最小化和数据生命周期管理为信息的合规使用提供了技术工具包。可解释性AI,虽然还远未成熟,正在逐步提供窥入黑箱内部的透镜。算法审计、影响评估和第三方独立测试为自动化决策提供了追责机制的雏形。这些技术手段单独来看都不足以解决问题,但组合在一起,提供了一条让智慧变得稍微更可持续的道路。

智慧的代价最终是一个选择的问题。这个选择不能仅仅由构建和维护计算系统的技术社群来独自背负,也不应完全交付给市场力量来左右。它需要公共讨论、民主监督和跨学科的协作。在追求更强大的智能时,人类必须同时追问:我们愿意为此付出什么?谁在支付这个代价?谁在享受这个收益?这两个群体的重合程度如何?如果答案是不重合的,有一部分人支付代价,另一部分人享受收益,那么这种智能的分配正义如何被保障?在计算的下一个纪元,这些追问将与“如何训练出更准确的模型”一样,成为计算机科学不可回避的核心课题。也许智慧的最高形式不在于能解出多少道难题,而在于在追求力量的同时,还知道克制,知道敬畏,知道所有灿烂的技术光辉背后都需要有一片不被打扰的静默。智慧如果在这个向度上没有长进,它的智力增长就只是另一种形式的蒙昧。

第十四章 宇宙的计算

如果计算不止是人类的工具呢?

这个问题听起来像是玄想,但它已经在最严谨的物理学和计算科学前沿激荡了数十年。它的核心假设既简单又疯狂:宇宙本身就是一个巨大的计算过程。星系旋转、恒星燃烧、行星演化、生命诞生、人类涌现、文明兴衰,所有这些现象在最基础的层面上都是信息被处理和转换的过程。物理定律不是别的,正是宇宙用来更新自身状态的算法。从大爆炸的初始条件开始,宇宙就一直在执行着一场规模大得不可思议的计算,而人类所建造的全部计算机加起来,不过是这个宇宙级计算过程中一个微小的、局部的回响。

这个思想在不同时期由不同的科学家独立提出。德国工程师康拉德·楚泽在1967年发表了《计算空间》一文,首次明确提出物理过程就是计算过程的观点。美国物理学家爱德华·弗雷德金在1980年代提出了“数字物理学”的概念,主张宇宙在最底层是由离散的信息单元构成的,物理定律是这些信息单元互动遵循的计算规则。斯蒂芬·沃尔弗拉姆在2002年出版的《一种新科学》中,用元胞自动机等简单计算模型展示了极其简单的规则如何产生极其复杂的行为,并据此提出宇宙本身就是某个简单计算规则在庞大尺度上演化的结果。约翰·阿奇博尔德·惠勒,二十世纪最深刻的物理学家之一,用一句名言概括了这一切:“万物源于比特。”每一个粒子,每一个力场,每一个时空的弯曲,在最底层都是由信息构成的;比特不是对存在的描述,比特就是存在本身。

如果这个假说成立,那么它带来的认知震撼和随之而来的对“计算”的重新理解是根本性的。计算不再是人类在二十世纪发明的一项工程技术,而是宇宙运行的基本方式。人类之所以能够用硅和铜制造出计算机,不是因为他们“创造”了计算,而是因为他们“发现”了计算,就像他们发现了电磁感应之后制造出发电机一样。图灵机不是计算的定义者,而是计算在人类符号系统中的一种特殊实例化。自然界中的计算远比图灵机丰富:它是并行的,是连续的与离散的交织,是确定性与随机性的共存,是自指的和自我修正的。一条河流的每一道蜿蜒,一片雪花的每一根枝晶,一只候鸟的每一次导航飞行,一个星系的每一条旋臂,每一种现象都是物理定律在给定初始条件和边界条件下的自然计算结果。大自然不需要计算机,因为大自然本身就是计算机。

量子计算是这个宇宙计算假说在实验科学中最直接的体现。在量子力学的描述中,一个粒子的状态不是一个确定的值,而是多个可能值的叠加。N个量子比特的叠加态所携带的信息量,随N呈指数增长,2的N次方个复系数共同描述着一个纠缠的量子态。当对这个量子态进行测量时,叠加坍缩为一个确定的结果,而坍缩过程本身就是一次计算。按照量子计算的视角,量子系统的演化就是在处理信息,每一次量子跃迁都是一次逻辑运算的物理执行。费曼在1982年提出了一个关键洞见:经典计算机在模拟量子系统时极其低效,因为量子态的存储和演化所需要的经典资源随着系统规模呈指数增长。但量子系统本身不需要“模拟”,它自然地按照量子力学规律演化,就像河流自然地按照流体力学定律流动。建造量子计算机的努力,在不过是在驯服一个微型的自然计算过程,让它去计算经典计算机算不动的问题。

量子计算与经典计算的关系,也许可以比作电力与机械力的关系。机械力直接可见,齿轮啮合、杠杆撬动、皮带传动,力在零件之间传递,肉眼可以追踪。电力则是不可见的,它沿着导线流动,在磁场中旋转,在半导体中跃迁,需要用抽象的数学来描述。经典计算像是机械力,逻辑门一个接一个地翻转,数据在总线上逐字搬运,过程可以被逐步追踪。量子计算则更像是电力,它不再是一个接一个的逻辑运算,而是一整个量子态在演化,相互纠缠,彼此干涉,直到最终被测量时给出一个确定的结果。这不只是计算速度的提升,这是一种全新的计算哲学:不是控制每一步运算,而是设置初始条件和演化规则,让物理定律自主地找出答案。

这就引出了一个更令人着迷的推论:计算的结构可能和物理的结构是同一种结构的不同表现形态。在宇宙的最底层,信息和物质之间的区别或许只是一种视角的差异。一个电子的位置和动量是信息还是物理?两者都是。在实验室中测量它的时候,它是物理的;在量子力学方程中描述它的时候,它是信息的。量子场论,描述基本粒子和基本相互作用的最精确理论,完全可以用信息的语言重新表述。场在各个时空点上的取值,场的对称性所对应的守恒律,场与场之间的相互作用顶点,这一切都可以被视为一种信息的编码、传递和转换。计算和物理之间的界限在这种尺度上是模糊的,也许它从来就不曾真实存在过,只是人类的认知习惯在两者之间强行画了一条线。

如果宇宙本身是一个计算过程,那么人类在宇宙中的角色就变得极其耐人寻味。人类是宇宙计算过程中涌现出来的一个特殊阶段,在这个阶段,宇宙的一部分开始对自身进行计算。这是自指的回环:宇宙通过人类的大脑和人类建造的计算机,开始模拟自己、分析自己、试图理解自己。人类建造超级计算机来模拟星系的碰撞、气候的变迁、蛋白质的折叠和意识的神经基础。这些模拟是宇宙内部的局部计算过程,它们以比宇宙自身演化快得多的速度运行,在几小时或几天内复现出自然界需要数百万年甚至数十亿年才能完成的过程。这是计算的反身性,计算开始以自己为对象进行计算。在已知的宇宙历史中,这或许是第一次有一个局部区域能够以加速的方式重新计算自身所处的整体演化轨迹。

这种自指的回环在逻辑上隐含着一个深邃的推论:如果宇宙内部能够涌现出自我理解和自我模拟的能力,那么这种能力在宇宙中可能并非独一无二。在银河系的另一条旋臂上,在另一个星系团中的某个恒星系里,也许存在着其他的智能文明,宇宙计算过程中涌现的其他自指节点。它们也在建造自己的计算机,也在模拟自己的起源,也在试图理解它们所栖居的这个巨大计算过程的本质。这些文明的计算技术与人类的不同,但遵循着相同的物理定律和逻辑规律。计算不只是一种文明工具,而是一种宇宙属性。计算是物理定律的内在特征,智能是计算复杂到一定程度之后的自然涌现。人类不是这个过程的发明者,而是它的承载者。

这听起来像是某种现代形式的泛灵论,万物都有计算,万物都在计算。但这不是泛灵论,因为它不诉诸任何超自然的力量。它诉诸的是物理定律本身的数学结构。麦克斯韦方程组、薛定谔方程、爱因斯坦场方程,这些方程在每一个时刻、每一个空间点上都精确地决定着物理量的演化。这种演化可以被等价地描述为信息的变换。宇宙的计算不需要一个有意识的“计算者”,就像河流的流动不需要一个有意识的“流动者”。计算是整个物理系统内在的动态属性。

那么,这个假说对于计算的未来意味着什么?如果宇宙真的是一台计算机,那么人类正在建造的计算机,从冯·诺依曼架构到存内计算阵列,从神经形态芯片到量子处理器,就不过是在宇宙这台终极计算机内部建造了更小的、特化的、加速的局部计算单元。这些单元的设计原理不是从抽象的逻辑空间中凭空构想出来的,而是从对物理定律的深入理解中提取出来的。当人类利用量子纠缠来做计算时,他们是在直接驾驭宇宙最底层的计算方式。当人类利用忆阻器的模拟动力学来做矩阵乘法时,他们是在将物理定律的自然计算能力引导到特定问题的求解上。计算的进程,从一个角度看是工程师的发明史,从另一个角度看则是宇宙计算能力在局部区域的逐渐觉醒和加速。

宇宙计算假说还提供了一种重新理解计算极限的视角。计算的极限,如热力学极限、量子极限、信息论极限,在传统的计算机科学中被视为令人沮丧的物理约束。但在宇宙计算的视域下,这些极限并不是约束,它们就是计算本身。热力学第二定律规定了信息擦除的最低能量代价,这不是一个让工程师头疼的物理限制,而是宇宙在底层将物理定律与信息处理编织在一起的证据。量子不确定性原理规定了同时测量位置和动量的精度上限,这同样不是测量仪器的不足,而是宇宙信息结构的底层特征。计算不是在与宇宙的物理约束作斗争;计算就是宇宙的物理约束在特定条件下的自我展开。极限不是敌人,而是路径。

所有这一切并非说人类应该放弃工程努力,满足于玄思和冥想。相反,它说的是人类对计算的追求具有一种更长远影响。每一次晶体管的缩小,每一次架构的革新,每一次算法的突破,都是在宇宙自指的漫长过程中的一个微小但真实的步骤。计算工程师们也许意识不到这一点,他们在日常工作中面对的是时序分析报告、功耗预算表、版本迭代和测试用例,但他们所做的一切,在最深的层面上,都是这个历史悠久故事中一个新的句子的书写。宇宙通过他们正在更好地理解自己。

也正是计算机系统跟不上时代这个论断,在本书的尾声获得了一种或许更宏大的回响。计算机系统跟不上时代,不是因为芯片设计得不够好,不是因为算法不够聪明,而是因为时代本身,也就是宇宙计算过程的演化趋势,已经向前推进到了某个新的阶段。这个阶段要求计算系统不再只是执行指令的工具,而必须成为能够自主适应、持续学习、与物理环境融为一体的智能基质。跟不上时代,是因为时代在呼唤一种比冯·诺依曼架构更深刻的计算形态。存内计算、神经形态计算、光子计算、量子计算,这些技术路径不只是在解决工程问题,它们是在回应一个宇宙级的趋势,那就是计算从简单到复杂、从机械到有机、从分离到融合的演进方向。

人类正站在这条演进路径的一个特殊节点上。他们手中掌握着几十亿个晶体管,头脑中存储着几百年的科学知识,脚下踩着一个刚刚开始被数字化的星球。他们正处在一个从有限计算走向泛在计算的转折期。未来回望时也许会看到,这是一个和寒武纪大爆发、工业革命、信息革命同等量级的转折时刻。只不过这一次,转折不仅发生在技术和社会层面,更发生在文明对自身与宇宙之间关系的根本性觉知之中。计算的终极形态将不再是“计算机”这一个体量级的事物,而是遍布在物理空间中的弥散的智能。这个智能不仅存在于人类创造的技术中,也在逐渐理解它自己是宇宙计算过程的一部分,并且在这个过程中最终完成了这场从比特到万物的自激回路。这个回路的起点也许比任何人所知的都更遥远,它的终点也许比任何人所预想的都更接近。计算,原来是宇宙在用它自己的语言讲述它自己的故事,而人类,至少目前,正是这个故事中最醒目的那个逗号。

第十五章 新的开始

每一个黄昏都同时是另一个半球上的黎明。

这个简单的事实,当一处陷入黑暗时,另一处正被照亮,天然地适用于描述计算系统正经历的这个转折时刻。在前面的章节中,本书审视了冯·诺依曼架构的辉煌与困局,看到了主频竞赛的终结和多核悖论的展开,追问了数据的沉重负担,探索了从存内计算到神经形态、从光子到量子的一系列新架构路径,审视了边缘的崛起、伦理的困局和宇宙计算的深邃假说。所有这些探索共同指向一个结论:计算机系统确实跟不上时代了,但不是因为进步的速度在放慢,而恰恰因为围绕它的时代环境暴增了太多复杂性和可能性。跟不上时代,是因为时代在呼唤一个比冯·诺依曼架构所允诺的更多、更广、也更智慧的计算形态。

在这个新的计算形态的黎明,计算机正在从执行指令的机器演变为与物理世界深度融合的智能基质。它不再是那个坐在桌面上、放在口袋里、或深藏在数据中心中的立方体盒子。它正在渗透进建筑的结构材料,嵌入在农作物的根茎之间,附身于河流与空气的传感器网络中,织入在医疗植入体和可穿戴物的柔软织物之内。计算逐渐成为这个世界的一种环境属性,而不是一种工具特征。这是一个维度上的跃迁,其意义不亚于当年电力从一台台孤立的发电机变成一张覆盖大地的电网。当电力还是某种需要被“取用”的东西时,它只是工具;当它变成墙壁后的不可见存在时,它才真正改变了文明。

这个跃迁不是某一个早晨突然完成的。它正在无数个实验室、晶圆厂、设计中心和创业公司中,以渐进但不可逆转的方式发生。每一个存内计算芯片的流片,每一个神经形态传感器的校准,每一个光学互连原型的验证,每一个边缘智能应用的部署,都是这场跃迁的微小但真实的脚步。这些脚步日积月累,正在铺成一条通向全新计算范式的道路。这条道路没有单一的决定性时刻,没有一个可以被拍照和纪念的转折点。它将是一个持续数十年的过程,在这个过程中,计算机逐渐变得不可见,而计算变得无处不在。

这种不可见正在成为衡量进步的新标尺。马克·维瑟在1988年提出“普适计算”概念时,用了一句被反复引用的话:“最深刻的技术是那些消失的技术。它们将自己编织进日常生活的纤维之中,直到与生活无法区分。”三十多年后,这句话正在从预言变成现实。智能手机的触控屏仍然是一种可见的计算界面,语音助手仍然是一个可以被叫出名字的实体,但在边缘计算和物联网的推动下,越来越多的计算正在脱离屏幕、脱离名字、脱离用户的明确意识。一个智能恒温器在用户不在家时调节室温,不需要告知用户;一个桥梁应力监测系统在发现微裂缝时向维护团队发送预警,不需要公众知晓;一个可穿戴心律监测器在检测到房颤模式时自动向医生发送心电图,不需要佩戴者做出任何操作。计算的最高成就不再是让人意识到它的存在,而是让人完全意识不到它的存在。

这个转变也意味着计算机产业的组织方式正在经历深刻的重构。在旧摩尔时代,整个产业的竞争焦点集中在单一维度上,谁拥有更先进的制程工艺。台积电、三星和英特尔在纳米数字上展开着为公众熟知和瞩目的赛跑,每一个节点的推进都消耗着天文数字的资本投入。这种竞争模式导致了不可避免的寡头化,能够负担得起先进制程投资的企业从两位数缩减到了三到四家。但新计算范式带来了竞争维度的成倍扩展。架构设计、封装技术、互连标准、异构集成、软件生态,每一个维度上的卓越都可能成为一种竞争优势。一家没有晶圆厂的公司可以通过在架构设计上的创新,利用代工厂的成熟制程,制造出在特定工作负载上远超通用处理器的产品。一家专注于三维封装技术的公司可以将不同工艺节点的芯片模块整合在一个封装体内,实现功能密度和能效的跨越式提升。一家深耕软件编译和运行时优化的公司可以释放存内计算硬件的全部潜力,即使它自身并不制造一颗晶体管。竞争的单维度时代结束了,一个多维、多层次、多方参与的生态系统正在形成。

在这个充满可能性的新生态中,人类最珍贵的资源,创造力,迎来了前所未有的释放机会。当计算下沉到每一个角落,当AI辅助工具变得无处不在,当语言和视觉的生成模型使得创意的表达成本趋近于零,人类将第一次拥有一个真正普及化的创造基础设施。一个生活在偏远村庄的少年,只要拥有一部连接网络的设备,就可以借助云端的大语言模型学习任何他想学习的知识,可以用生成式AI将脑海中的故事转成动画,可以用开源硬件平台设计并远程制造出智能传感设备来监测家乡的水质。这不是乌托邦幻想,这些场景中的每一个元素都已经在今天的技术中存在,只是尚未被无缝地整合到一个统一的、低成本、易用的平台之中。计算的下一个时代将完成这个整合,使得创造不再是少数精英的特权,而成为一种真正普世的人类活动。

然而,这个光明的前景有一个必不可少的前提:人类必须为这个新时代的智慧奠基选择正确的根基。技术从来不是一个独立于人类意志的自主力量,它是由人类的选择、投资、制度和价值观共同塑造的。计算可以成为监视和控制的工具,也可以成为解放和赋权的工具。它可以用化石能源驱动并加剧环境危机,也可以用可再生能源驱动并帮助人类监测和修复生态系统。它可以加剧全球的不平等,也可以用普惠的方式服务于最需要帮助的人群。这些方向不是技术本身决定的,而是人类集体的选择决定的。人类正处在一个极其特殊的窗口期,新技术范式的底层架构正在被搭建,而这些架构一旦固化,将像冯·诺依曼架构一样主导未来数十年的计算方向。在这个窗口期内做出的关于架构、标准、协议和接口的每一个选择,都将在未来几十年中产生深远而持久的锁定效应。

一个负责任的计算新范式需要满足以下几个基本准则:能效优先,不以牺牲环境为代价换取性能;隐私保护作为架构设计的首要约束而非事后补丁;开放和可互操作的标准防止智能基础设施落入寡头垄断之手;可解释性和可问责性嵌入到决策系统的基础架构中;包容性和普适性确保智能红利能够惠及全球人口而非只服务于少数市场。这些准则不是道德上的锦上添花,它们是计算新范式得以长久存续的功能性要求。一个以侵犯隐私为代价换来的智能系统最终将失去用户的信任并面临监管的压制;一个以寡头垄断为基础的智能基础设施最终将因缺乏竞争而陷入创新停滞;一个以环境透支为动力的计算增长模式最终将在物理边界面前撞得粉碎。负责任不只是正确的事,更是明智的事。

从更宏阔的视角来看,计算机系统的这次范式跃迁是人类文明与技术关系的又一次重新定义。在农耕时代,技术是人对自然的被动适应,锄头和犁是人体功能的延伸,人类跟随季节和降雨的节奏而劳作。在工业时代,技术成为人对自然的主动征服,蒸汽机和电动机让人类得以按照自己的时钟和节奏组织生产,自然被降格为资源和排放物的集合。在信息时代,技术开始渗透进人类社会关系的肌理,网络和算法重新配置了人获取信息、建立信任和做出集体决策的方式。而在即将到来的计算新时代,技术正在进一步内化为人类自身的构成要素,可穿戴设备监测和调节着身体的生理状态,脑机接口将神经信号与外部数字环境直接相连,环境智能持续而静默地为日常生活的每一个场景提供背景计算支持。技术不再只是身体外部的工具,也不只是人与世界之间的中介,它正在变成第二层皮肤、第二套感官、甚至第二重自我的组成部分。

这是一个令人激动的画面,也是一个令人不安的画面。激动在于它将极大地扩展人类的感知、认知和行动能力;不安在于它可能同时削弱人类的某些珍贵品质,独处的权利、内省的空间、不被算法塑造的自主意志。人类需要在新能力的诱惑和旧品质的守护之间找到一种平衡。这种平衡不是通过拒绝技术来达成的,拒绝从来不是一个选项,而且它意味着将技术发展的主导权拱手让给那些最不需要平衡的人。平衡需要通过积极地参与塑造技术方向来达成。这要求整个社会,而不仅仅是一小撮技术专家和商业领袖,加入到关于计算未来的对话和决策之中。需要人文学者理解技术,需要工程师理解伦理,需要政策制定者理解演进的节律,需要每一个被这些系统所触及的公民发出自己的声音。

本书从计算的黄昏开始,那是一幅旧范式在耗尽内在可能性时呈现出的沉积和疲惫的画面。主频停滞,功耗高筑,内存墙依旧冰冷顽固,冯·诺依曼瓶颈在每一个新的纳米节点上都更加鲜明地暴露出来。但黄昏不是终点。黄昏是恒星穿越大气层被折射分解之前最后的金黄,是白昼将自己已经给予大地的全部能量收回之前的凝视,也是遍布在漫长夜晚中的星辰开始变得可见的正确时刻。那些曾经被冯·诺依曼范式夺目光芒遮蔽的新路径,存内计算、神经形态、光子计算、量子计算、边缘智能,此刻正以各自的光泽分头亮起,共同组成一片比过去任何时期都更多样、更丰富的技术夜空。

这或许就是本书最核心的判断:计算机系统跟不上时代,不是因为进步停滞了,而是因为进步摆脱了单一维度的束缚,正在多个方向上同时加速,而“跟上时代”这件事所需要的已经不再是同一条跑道上的更快速度,而是一次全新的起跑,在一张更大的地图上,在许多条彼此交织的路径上,重新学会奔跑和探索。

在历史上,每一次计算范式的重大转换都伴随着一种认识的收缩与重生。当大型机让位于个人电脑时,人们曾哀叹“计算变得不再严肃了”,但紧接着个人电脑的普及催生了互联网革命。当功能手机让位于智能手机时,人们曾担忧“计算变得太娱乐化”,但智能手机最终成为数亿人进入数字世界的第一台终端。每一次形式上的“变浅”都带来了实质上的“变深”。这一次的转变可能比前几次更加剧烈,因为它不仅改变了计算的形式,更正在改变计算的本质。计算不再是执行死板指令的运算过程,而是逐渐进化为一种可以在真实世界中感知、学习、适应和行动的全新智慧形态。

这个进化的终极目的地在哪里,也许没有人能够确切预判。但有一点可以确信:计算已经走过了它作为“机器工具”的黄金时代,正迈入作为“智慧环境”的新纪元。在这个新纪元中,最让人期待的也许不是某个单一技术的突破,尽管那也同样令人心潮澎湃,而是多种技术路径的汇流如何重新塑造人类与技术的关系,重新定义“活着”与“思考”的边界。计算机系统或许终于到了一个年代,在其中它不再只是一个冰冷运转的盒子,它是遍布四周的轻盈、静默和丰富的存在,像暮色里慢慢亮起的万家灯火,驱散了黄昏来临时那一瞬的孤寂。这不是终结的句号,而是第一章之前那页最薄最白的扉页。

附录一

存内计算交叉阵列的能效极限分析

摘要

存内计算通过在存储单元阵列内部直接执行模拟矩阵向量乘法,从根本上消除了冯·诺依曼架构中计算单元与存储单元之间的数据搬运开销。然而,模拟计算的固有噪声、器件非理想性和外围电路功耗为存内计算的实际能效设定了上限。本文从信息论和电路物理学的交叉视角出发,建立了存内计算交叉阵列能效极限的理论分析框架。本文的贡献包括:提出了考虑模拟非理想性的存内计算信噪比-功耗耦合模型;推导了在给定计算精度约束下交叉阵列能效的帕累托最优前沿;量化分析了忆阻器电导分辨率、编程噪声和热噪声对能效的多重影响;以及在不同的工艺节点和器件参数下,给出了存内计算相对于传统数字加速器的能效优势区间。结果表明,在中等精度计算任务中,存内计算的理论能效上限比传统数字架构高出两到三个数量级,但这种优势随着精度要求的提高而迅速收窄。本文为存内计算的硬件设计和算法协同优化提供了理论指导。

1 引言

冯·诺依曼架构中计算与存储的物理分离,已成为现代计算系统能效提升的最根本瓶颈。在传统架构中,执行一次浮点运算所需的能量有相当大的部分消耗在数据搬运而非计算本身。这一观察在近二十年间被反复验证,并催生了存内计算这一新兴计算范式。存内计算的核心思想简洁而深刻:将计算操作嵌入到存储阵列内部,利用物理定律直接在模拟域完成矩阵向量乘法,从而避免数据在存储单元和计算单元之间的往返搬运。忆阻器、相变存储器、自旋转移矩磁存储器等非易失性存储器件,以及基于静态随机存取存储器和动态随机存取存储器的易失性方案,都为存内计算提供了具有不同特性的物理实现平台。

然而,存内计算的能效优势并非没有代价。模拟计算域中的非理想因素,包括器件的电导编程噪声、读取噪声、电导漂移、有限的开态/关态比率、线电阻寄生效应、模数转换器的量化噪声以及外围电路的静态功耗,都对计算精度和实际能效产生显著影响。当前文献中对存内计算的能效分析大多基于理想化的器件模型和简化的外围电路假设,缺乏对模拟非理想性约束下能效极限的系统性理论分析。本文旨在填补这一空白,从信息论和电路物理学的交叉视角出发,建立存内计算能效极限的理论框架。

本文的分析结构如下:第二节回顾存内计算的基本原理和器件物理模型。第三节建立模拟非理想性约束下的信噪比模型。第四节推导精度约束下交叉阵列能效的帕累托最优前沿。第五节讨论不同器件参数和工艺节点对能效极限的影响。第六节将理论结果与实验数据进行对比验证。第七节给出结论和展望。

2 存内计算交叉阵列的基本原理

2.1 模拟矩阵向量乘法的物理实现

存内计算交叉阵列由一组水平行线和垂直列线构成,每个交叉点处嵌入一个可调电导的存储单元。根据欧姆定律和基尔霍夫电流定律,当在行线上施加电压向量时,每条列线上流出的总电流等于各输入电压与该列上各存储单元电导的乘积之和。这一物理过程在完成了一次模拟矩阵向量乘法,其中存储单元的电导矩阵充当权重矩阵,输入电压向量充当输入向量,输出电流向量即为乘积结果。该操作的时间复杂度为常数级,与矩阵规模无关,整个乘法在信号从行线传播到列线的时间内完成,通常为纳秒量级。

2.2 器件物理与电导调控机制

不同存储技术的电导调控机制各不相同,但都面临一组共同的物理约束。忆阻器利用电场驱动离子迁移或氧空位重排来改变功能层的电阻状态,其电导可以连续调节,但在中间态编程时面临较大的随机噪声。相变存储器利用晶态和非晶态之间的电阻差异存储信息,电导动态范围大但存在电阻漂移问题。自旋转移矩磁存储器利用磁隧道结的平行和反平行状态的电阻差异,具有较高的读写速度和耐久性,但电导比相对较低。基于静态随机存取存储器的存内计算单元通过在标准位单元外围添加计算逻辑实现,具有工艺成熟的优势但面积开销较大。无论采用何种器件技术,存内计算的模拟精度都受到电导可分辨级数、编程随机性和时间稳定性的联合约束。

2.3 外围电路开销

交叉阵列的输出电流需要经过模数转换为数字信号才能与后续的数字处理单元通信。模数转换器是存内计算系统中最主要的外围功耗来源之一。行线驱动电路、列线偏置电路、读写控制逻辑以及权重更新电路都对系统总功耗产生贡献。在评估存内计算的实际能效时,必须将这些外围开销纳入考量。一个常见但具有误导性的做法是仅计算交叉阵列本身的功耗而忽略模数转换器的代价,由此得出的能效数字往往比实际可达值高出数倍。

3 模拟非理想性约束下的信噪比模型

3.1 噪声源的分类与建模

存内计算交叉阵列中的噪声可以分为三类。第一类是电导编程噪声,它来源于存储单元电导被设置为目标值时的随机偏差。对于忆阻器,编程噪声可以建模为对数正态分布,其标准差与目标电导值近似成正比,比例系数取决于材料体系和编程方案。第二类是读取噪声,包括热噪声和闪烁噪声。热噪声的功率谱密度与电导值和绝对温度成正比,闪烁噪声的功率则与读取电流的平方除以频率成正比。第三类是时间依赖的漂移噪声,存储单元的电导在编程后会经历对数时间尺度的弛豫和漂移,这是一种结构弛豫或点缺陷重分布引起的缓慢变化。

3.2 信噪比作为精度的决定因素

在模拟矩阵向量乘法中,输出电流的精度受限于上述噪声源的综合作用。对于给定的输入电压分布和电导矩阵,输出电流的信噪比决定了单个乘法结果的有效位数。信噪比越高,可以支持的数值精度越高。在神经网络推理这一存内计算最典型的应用场景中,权重的有效位数通常在四到八位之间,对应信噪比要求在二十四到四十八分贝的范围内。更高的精度要求对应于更高的信噪比需求,而提高信噪比通常需要增加编程验证的次数或增加读取积分的周期,这些都会直接增加每次操作的能量消耗。

3.3 信噪比-功耗耦合方程

本文推导了存内计算交叉阵列中信噪比与每次操作能耗之间的定量耦合方程。该方程将总能耗分解为编程能耗、读取能耗和模数转换能耗三个独立分量。编程能耗与目标信噪比的平方成正比,将编程噪声的标准差降低到原来的二分之一,需要约四倍的编程脉冲累积次数。读取能耗与信噪比呈线性关系,在恒定的读取电压下,信号功率固定,将热噪声功率降低到原来的二分之一需要将读取带宽减半或读取功耗加倍。模数转换能耗随有效位数的增加呈指数增长,但因为模数转换器通常由一整列或多列共享,其每乘加操作的摊销成本取决于阵列规模和共享方案。

4 精度约束下的帕累托最优前沿

4.1 问题形式化

能效极限分析的核心问题可以形式化如下:对于给定的计算精度需求(以有效位数衡量),在给定的器件参数和电路设计空间内,存内计算交叉阵列可以达到的最低每次乘加能耗是多少?这个问题需要在多个相互冲突的目标之间寻求帕累托最优:更高的精度要求更好的信噪比,更好的信噪比要求更多的能量,而总能量预算受到器件可靠性和散热能力的约束。

4.2 帕累托前沿的解析推导

通过求解信噪比-功耗耦合方程在精度约束下的极值条件,本文得到了能效帕累托前沿的解析表达式。结果表明,在低精度区间(等效位数少于四位),能效随精度提高而缓慢下降,存内计算相对于数字计算的能效优势高达三个数量级以上。在中等精度区间(四到八位),优势保持但逐步收窄至一到两个数量级。在高精度区间(八位以上),由于模数转换器功耗的指数增长和信噪比要求的急剧提升,存内计算的能效优势可能完全丧失,甚至劣于精心优化的数字加速器。这一分析为存内计算的应用定位提供了清晰的理论指引:它最适合于那些天然容忍中等以下精度的计算任务,如神经网络推理和某些类别的科学计算。

4.3 阵列规模对帕累托前沿的影响

交叉阵列的规模对能效有显著影响。较大的阵列可以摊销行线驱动和列线外围电路的成本到更多的乘加操作上。但阵列规模也受到线电阻和寄生电容导致的信号衰减的限制。本文分析了线电阻寄生对最优阵列规模的约束,推导了在给定工艺节点下能够维持所需信噪比的最大阵列尺寸。

5 器件参数与工艺节点的灵敏度分析

5.1 电导动态范围的影响

存储单元的开态/关态电导比是影响存内计算能效的关键参数之一。高开关比能够支持更多的电导级别,从而提高权重的数值精度,或支持更大的阵列规模。然而,高开关比通常伴随着编程复杂度的增加。本节的灵敏度分析量化了开关比从十到十的六次方的范围内,对能效帕累托前沿的具体影响。

5.2 器件变异性的影响

即使在同一阵列中,不同存储单元之间的电导调控特性也存在显著的器件级变异。这种变异引入了额外的等效噪声项,降低了有效信噪比。本文通过蒙特卡洛模拟评估了不同变异水平下存内计算阵列的实际有效精度分布,并给出了考虑器件变异后的能效折损系数。

5.3 先进工艺节点的缩放前景

随着CMOS工艺节点的持续微缩,数字逻辑的能效仍在缓慢改善,但模拟电路的缩放面临更严峻的挑战。晶体管的固有增益下降、电源电压的缩减导致的信号摆幅减少、以及变异性的相对增大,都使得先进节点下的模拟设计变得更加困难。存内计算需要在模拟信号完整性和数字工艺缩放收益之间找到最优平衡。本文给出了从65纳米到3纳米各工艺节点下存内计算能效预期的定量估算。

6 理论与实验的对比

6.1 文献数据汇总

本节收集并分析了近五年来发表的存内计算芯片实测能效数据,涵盖忆阻器、相变存储器、自旋转移矩磁存储器和静态随机存取存储器四种技术路线。数据来源包括《自然》、《科学》、ISSCC、VLSI Symposium等顶级期刊和会议论文中的实测结果。

6.2 理论预测与实测对比

将实测数据映射到本文推导的帕累托前沿图中,发现绝大多数实测能效值落在理论前沿的下方一到两个数量级的位置。这一差距可以归因于实际芯片中未优化的外围电路、保守的时序裕量以及在学术原型中未做优化的模数转换器设计。理论前沿因此可以视为相关技术路线可以逼近但难以超越的上界。

7 结论

本文从信息论和电路物理学的交叉视角,建立了存内计算交叉阵列能效极限的理论分析框架。主要结论包括:存内计算的理论能效上限在中等以下精度任务中超过传统数字架构两到三个数量级;这一优势随精度要求的提高而迅速收窄;模数转换器和线电阻寄生是限制实际能效的主要瓶颈;通过阵列规模的优化和器件匹配精度的提升,当前实测能效仍有可观的提升空间。本文的理论框架为存内计算的硬件设计空间探索和算法-硬件协同优化提供了定量化的指导原则。

关键词:存内计算;能效极限;模拟非理想性;帕累托优化;忆阻器

附录二

脉冲时序依赖可塑性的信息论基础及其在神经形态学习算法设计中的应用

摘要

脉冲时序依赖可塑性是生物突触可塑性的核心机制,也是神经形态计算中实现本地学习的基础算法原语。然而,STDP作为一种无监督的学习规则,其收敛性质、泛化能力和信息论特性至今缺乏系统性的理论刻画。本文从信息论角度出发,建立了STDP学习动力学的信息最大化框架。主要贡献包括:证明了STDP在一定条件下等价于互信息梯度的随机近似;推导了脉冲神经元在STDP学习下输入输出互信息的进化动力学方程;揭示了STDP学习率与脉冲稀疏性之间的最优权衡关系;提出了将信息论约束引入STDP变体设计的新方法,包括基于信息瓶颈原则的脉冲时序依赖突触可塑性算法和基于速率-时序联合编码的脉冲时序依赖可塑性扩展算法。在基准任务上的仿真实验表明,信息论引导的STDP变体在收敛速度和泛化性能上显著优于传统STDP。本文的工作为神经形态学习算法的理论分析和实际设计提供了统一的信息论框架。

1 引言

脉冲神经网络是第三代神经网络的核心范式,它使用稀疏的脉冲事件而非连续激活值来编码和传递信息。脉冲时序依赖可塑性是脉冲神经网络中最基本的突触可塑性机制,它根据突触前后脉冲的精确时序差来增强或减弱突触强度。这一规则由亨利·马卡姆等人在20世纪90年代通过神经生理学实验系统性地发现和表征,被认为是生物大脑实现无监督学习和经验依赖可塑性的细胞级基础。

尽管STDP在神经形态计算中被广泛用作基础学习规则,其理论性质至今仍未被充分阐明。关于STDP学习收敛性、脉冲编码的信息效率、以及在何种条件下STDP能够实现有效的特征提取等核心问题,文献中尚未形成统一的定量化理论。这种理论的缺失直接限制了基于STDP的神经形态学习算法的系统化设计,当前大多以启发式修改为主,缺乏从基本原理出发导出最优算法结构的指导框架。

信息论为理解和设计学习系统提供了一套强大的数学工具。互信息最大化原则已被用于解释生物感觉系统中的适应性和高效编码现象。本文的核心假设是,STDP在生物进化中被选择出来,正因为它能够以一种计算上局部、生物物理上可实现的方式近似最大化突触后神经元关于其输入的互信息。基于这一假设,本文从信息论第一原理出发,系统性地分析和扩展STDP。

2 脉冲神经元的信息论框架

2.1 脉冲编码的互信息定义

考虑一个突触后神经元,它接收来自于N个突触前神经元的脉冲输入序列,并生成输出脉冲序列。输入和输出之间的互信息量化了输出脉冲序列关于输入模式的信息承载量。对于服从泊松统计的输入脉冲序列,互信息可以表达为输入速率向量与输出速率(或输出脉冲间距统计量)之间的泛函。对于更一般的非泊松输入,互信息的计算需要考虑输入和输出脉冲序列的时间结构,这通常需要借助点过程互信息的估计方法。

2.2 脉冲熵与脉冲互信息的变分界

直接估计脉冲序列之间的互信息在高维空间中面临严重的计算难题。本文采用变分信息最大化的技术路线,通过引入一个参数化的互信息下界来绕过显式密度估计。在脉冲神经网络语境下,该变分下界具有自然的物理对应,变分参数对应于突触权重,下界的梯度近似对应于突触效能的期望改变量。这个对应关系构成了连接信息论和STDP的核心桥梁。

2.3 STDP-互信息对应定理

本文提出了STDP-互信息对应定理。定理陈述如下:对于具有泊松输入和指数衰减膜电位的泄漏积分发放神经元模型,在输入速率变化相对于STDP时间窗口较慢的条件下,基于对称时间窗的STDP权重更新规则等于输出脉冲条件输入分布下互信息的无偏随机梯度上升方向乘上一个正定矩阵。这一定理将STDP解释为一种在统计结构上优化信息保持的局部学习规则。

3 STDP学习的收敛性分析

3.1 突触权重的随机动力学

在STDP学习规则下,突触权重的演化构成一个高维随机动力系统。权重更新的期望方向由突触前后脉冲的统计关联决定,随机波动来自脉冲序列的泊松噪声。本节将这一动力学过程建模为带有乘性噪声的随机微分方程,并分析其稳态分布和收敛时间尺度。

3.2 权重稳态分布与竞争机制

STDP中包含的权重依赖项(通常表现为权重增大时限幅和权重减小时的加速衰减)在稳态分布的形成中起关键作用。没有权重依赖的标准加性STDP会导致权重极化到边界值。带权重依赖的乘性STDP产生一个在零和最大值之间分布的稳态权重谱。该谱的形状取决于输入脉冲之间的相关性结构:相关性越强的输入通路获得的稳态权重越大,相互竞争有限的突触总权重预算。这种竞争机制是STDP实现无监督特征提取的根本原因。

3.3 收敛时间与脉冲稀疏性的关系

收敛速度与脉冲稀疏性之间存在根本性的权衡。高稀疏性意味着每个突触前脉冲携带更独特的信息,但信息到达率低,权重更新机会少。低稀疏性提供了更频繁的更新机会,但冗余度更高,单个脉冲的信息量少。本节推导了使收敛效率最大化的最优脉冲发放率,并给出该最优值在典型深度学习任务中为5-20赫兹的估计。

4 信息论引导的STDP变体

4.1 信息瓶颈脉冲时序依赖可塑性

信息瓶颈原则要求学习过程中保留对输出任务相关的输入信息,同时压缩不相关的输入变异性。本文提出IB-STDP算法,在标准STDP权重更新规则上附加一个基于突触后神经元发放率的正则化项,等价于约束突触后脉冲序列与输入脉冲序列之间的互信息上限。在输入中包含任务无关噪声的条件下,IB-STDP比标准STDP更快收敛到与任务相关的特征子空间。

4.2 速率-时序混合编码脉冲时序依赖可塑性

标准STDP只利用脉冲时序信息,忽略了脉冲发放率中蕴含的另一半信息。本文提出RT-STDP,将脉冲发放率和脉冲精确定时统一在同一学习框架中。在RT-STDP中,突触权重更新由两个组分叠加:时序组分来自标准STDP窗口,速率组分来自输入与输出脉冲率之间的协方差。两个组分之间的平衡由一个可调参数控制,其最优值与输入信号的时间统计结构相关。

4.3 批量归一化脉冲时序依赖可塑性

神经形态硬件的在线学习面临的一个关键挑战是输入统计分布随时间漂移。借鉴深度学习中的批量归一化思想,本文提出BN-STDP,在每个突触权重更新周期中引入突触后膜电位均值和方差的在线估计,并据此对有效学习率进行自适应缩放。BN-STDP在非平稳输入环境下展现出显著更好的稳定性。

5 仿真实验与分析

5.1 实验设置

在公开的神经形态基准数据集上对所提出的STDP变体进行评估。任务包括时序模式识别、无监督特征学习以及连续学习场景中的灾难性遗忘缓解。对比基线包括标准加性STDP、乘性STDP以及若干近期文献中提出的改进STDP变体。所有实验在相同的网络拓扑和神经元模型设置下重复十次随机初始化。

5.2 收敛速度与特征提取质量

实验结果显示IB-STDP和RT-STDP在收敛速度上分别比标准乘性STDP平均快1.8倍和1.5倍,最终学到的特征在质量上也更高,下游分类器在使用这些特征做输入时准确率提升了3-5个百分点。

5.3 连续学习与灾难性遗忘

在任务序列连续学习的测试中,BN-STDP展现出了最好的遗忘抵抗能力。在五个连续任务的序列学习中,BN-STDP在最后一个任务后对第一个任务的记忆保留率达到了标准STDP的2.3倍。

5.4 硬件指标度量

将各STDP变体的硬件实现成本纳入评估,包括额外的存储开销、计算复杂度以及突触更新所需的操作步骤。信息论衍生的变体在收敛速度上的显著优势足以覆盖其较小的额外计算开销,综合硬件效率更优。

6 讨论

本文建立的信息论框架为STDP提供了一种新的理解视角:STDP是神经元在统计环境中最大化输入输出互信息的一种局部随机优化策略。这一视角将无监督学习的信息最大化原则与生物突触可塑性的已知生理学事实统一了起来。在这个框架下,各种STDP的变体可以理解为在信息和硬件约束下对统一优化目标的不同近似方案,IB-STDP通过限制互信息来增强特征选择性,RT-STDP通过混合编码充分利用速率和时序两个维度等。

这一框架也为神经形态学习算法的未来设计提供了指导方向。当前脉冲神经网络面临的核心挑战之一是缺乏像反向传播那样通用而有效的训练方法。而信息论框架暗示,一个更富有成果的思路可能不是在脉冲网络上强行拟合反向传播,而是重新设计一套从信息最大化原则出发、天然适合脉冲动力学和本地计算的训练算法。

7 结论

本文从信息论角度建立了STDP的统一理论框架。主要的理论贡献包括STDP-互信息对应定理的证明、STDP学习动力学的随机微分方程刻画,以及基于信息论原理的IB-STDP、RT-STDP和BN-STDP三种新算法的提出。实验表明信息论引导的STDP变体在收敛速度、特征质量和连续学习能力上均显著优于传统方案。这项工作为神经形态学习算法提供了理论基础和实际工具,为进一步弥合生物可塑性和人工学习之间的鸿沟提供了信息论的新路径。

关键词:脉冲时序依赖可塑性;信息论;互信息最大化;神经形态计算;脉冲神经网络

附录三

面向通用人工智能的计算机系统架构需求与可能性

摘要

通用人工智能的实现不仅需要算法和理论上的突破,也对计算机系统的底层架构提出了根本性的新需求。当前主流的计算机系统架构,包括冯·诺依曼架构及其衍生变体,是为执行人类预先定义的确定性程序而设计的,而通用人工智能系统则需要支持持续学习、不确定性推理、自我反思和开放式探索等截然不同的计算模式。本文系统性地分析了通用人工智能对计算机系统架构提出的差异化需求,评估了当前新兴计算范式(包括存内计算、神经形态计算、光子计算和量子计算)满足这些需求的潜力与不足,并提出了面向通用人工智能的系统架构设计原则和可能的演进路径。本文的核心论点是,通用人工智能所需的计算机系统将不再是传统意义上的“执行指令的机器”,而更接近于一种能够在物理世界中自主进行知识获取、维护和推理的智能基质,这一转变要求重新思考硬件和软件的根本关系。

1 引言

通用人工智能是指在广泛的任务和领域中能够达到或超越人类水平智能的人工系统。与当前在特定任务上表现优异的狭义AI不同,通用人工智能系统需要具备若干关键能力:抽象推理、跨领域知识迁移、从少量样本中学习、开放环境中的自适应、以及某种形式的自我意识和自我改进。尽管通用人工智能的实现时间表存在巨大争议,从十年到百年不等,但一个日益共识的前提是,如果它终究要到来,当前主流的计算机系统架构很可能不是合适的基础。

这一判断的依据是多方面的。首先,冯·诺依曼架构的存储-计算分离从根本上限制了系统持续学习的能效。其次,确定性的数字逻辑难以直接支撑不确定性推理和创造性思维所带来的模糊状态空间。第三,通用人工智能系统需要与物理世界进行实时的、多模态的、上下文敏感的交互,这是当前计算机系统的设计未曾考虑的。本文将系统性地分析通用人工智能对计算系统的差异化需求,评估新兴计算范式满足这些需求的潜力,并提出面向通用人工智能的系统架构设计原则。

2 通用人工智能对计算系统的差异化需求

2.1 持续学习与终身适应

通用人工智能系统必须能够在部署后持续地从新经验中学习,而不遗忘已获得的知识。这要求底层硬件支持在运行中持续、高效、本地化地调整大量参数。当前深度学习系统依赖离线训练和静态部署的范式对此明显不足。

2.2 不确定性表示与概率推理

世界是概率性的,通用人工智能系统需要在其推理链中表示和处理不确定性。这意味着计算系统需要原生地支持概率分布的操作,而不是仅仅支持点值计算。

2.3 多模态与具身交互

通用人工智能系统需要融合来自多种传感模态的信息流,以及在与世界的物理互动中学习。这要求计算系统具有极强的实时响应和时空整合能力。

2.4 自我建模与元认知

通用人工智能系统的标志性特征之一是能够对自己的知识状态和推理过程进行建模和反思。这种自我指涉的计算模式在传统架构中缺乏对应物。

2.5 开放式探索与好奇心驱动学习

与在当前部署的AI系统中完成预设任务不同,通用人工智能系统需要能够在开放环境中自主设定探索目标。这要求系统在利用已有知识和探索新知之间进行持续权衡。

3 新兴计算范式的适用性评估

3.1 存内计算

存内计算解决了数据搬运瓶颈问题,对持续学习场景有天然优势,支持推理时的低延迟,但其发展受限于当前器件的耐久性限制,存量寿命通常为一千万到十亿次编程循环,而大规模持续学习可能需要更高数量级的突触更新次数。

3.2 神经形态计算

神经形态计算利用脉冲编码、事件驱动和分布式本地学习,与通用人工智能对实时和低功耗具身智能的需求高度契合,但其训练算法尚不成熟,难以支撑复杂的符号推理和抽象思维,脉冲的时间特性也可能限制符号级计算。

3.3 光子计算

光子计算在矩阵运算上具有高带宽和并行度,适合快速感知处理,但同样面临缺乏逻辑完备性支持、光学存储匮乏以及不支持在线学习等局限。

3.4 量子计算

量子计算理论上适合处理不确定性推理等问题,但其系统工作在极低温下,与通用人工智能所需的大规模实时交互在物理上难以匹配,更可能以加速器的形式部分使用。

3.5 异构融合的必然性

结论很清晰:不存在单一能覆盖通用人工智能全部需求的技术路线。未来架构几乎必然是多种范式的深度融合,在各取所长的同时接受系统复杂度的急剧上升。

4 面向通用人工智能的系统架构设计原则

4.1 从分层到渗透

传统分层架构虽然使得软件管理可控,但每一层抽象都引入延迟和能效代价。面向通用人工智能的系统可能需要打破严格分层,让不同层级之间更直接地共享和流动信息。

4.2 动态可重构

计算硬件在运行时根据工作负载动态调整其结构,硬件资源分配由软件意图驱动,实现软硬件之间的双向优化循环。

4.3 原生概率支持

在逻辑门层面引入概率操作能力,让概率成为硬件的基本操作对象而非软件模拟。忆阻器的模拟噪声源恰好可以将这种“问题”转化为蒙特卡洛采样资源,为不确定性推理提供硬件原语。

4.4 自我指涉的硬件支持

通用人工智能的自我建模能力需要硬件提供对其自身状态的监测和控制支持,包括片上功耗监控、错误率感知、以及架构参数的自我调整能力。

5 可能的演进路径

本文勾画了从短期到长期的三个阶段:短期内在存内计算阵列上进行神经网络的在线微调作为起点;中期发展混合信号存算一体计算,融合概率计算和可解释推理模块;长期目标则是建造具有持续学习和自我演进能力的大规模脑启发计算系统。

6 结论

本文分析了通用人工智能对计算机系统架构的差异化需求,评估了各新兴计算范式的适用性,提出了未来系统架构的设计原则和演进路径。核心结论是,通向通用人工智能的道路与超越冯·诺依曼架构的道路高度重合。两者的共同需求,持续学习、不确定性处理、实时交互、低能耗,正在推动计算系统朝向一个全新的形态演进,其中软件与硬件的严格界限将逐渐模糊。在这个视角下,通用人工智能不是计算机系统发展的终极目标,而是计算机系统自我超越的自然而然的下一站。

关键词:通用人工智能;计算机系统架构;存内计算;神经形态计算;异构融合