公司动态

从Landauer原理到人脑算力:20瓦能量预算下的物理极限

📅 2026/8/30 4:00:38
从Landauer原理到人脑算力:20瓦能量预算下的物理极限
大部分人谈论算力时习惯把目光放在 GPU 数量、芯片制程、模型参数量上。但很少有人会问一个更底层的问题一台计算设备就算晶体管再多、架构再先进它每秒能处理多少信息是否存在一个由物理定律决定的硬天花板1989 年一位身份有些特殊的研究者把这个问题摆上了桌面。他就是 Ralph Merkle——今天很多开发者每天都在使用他发明的 Merkle 树却很少知道他还有另一面。他发表了一篇标题很长的论文《Energy Limits to the Computational Power of the Human Brain》中文可以理解为“人脑计算能力的能量极限”。这篇论文的核心思路不是从神经科学出发数人头而是从热力学出发数能量人脑仅仅以大约 20 瓦的功耗运行在这 20 瓦的“电费预算”内它的计算能力在理论上能达到什么量级这个问题的价值不在于给出一个“人脑有多强”的猎奇数字而在于提供一种思考框架计算首先是物理过程任何计算都必须消耗能量来擦除信息。正因为如此讨论算力时不能只看晶体管密度还要看能量预算。这在 1989 年是理论边界问题在今天却变成了 AI 基础设施的工程现实。本文我会先把 Landauer 原理讲清楚再用 Python 把能量上限的估算过程复现一遍最后谈谈这个 1989 年的问题为什么在大模型时代变成了每一个做基础设施和模型部署的开发者都绕不开的问题。1. 为什么一位密码学家会去研究人脑算力如果只看 Ralph Merkle 的履历你大概率会把他归入信息安全领域。他在 1970 年代独立提出了公钥协商方案与 Diffie、Hellman 一起推动了公钥密码学的发展他发明的 Merkle 树也就是哈希树至今仍然是区块链、分布式系统、数据库完整性校验的底层数据结构。随便翻一本密码学教材都会看到他留下的痕迹。但 Merkle 的研究兴趣远不止密码学。1980 年代他把大量精力投入到一个看起来和密码学完全无关的问题——计算的物理极限。他后来长期推动分子纳米技术也讨论过量子计算与可逆计算。对这些领域熟悉的人都知道一个共同点它们都默认“计算是物理过程因此受物理定律约束”。为什么一个密码学家会关心这个问题因为密码学的核心假设是攻击者的计算能力有限。既然计算能力决定了安全强度那么“计算能力本身的边界在哪里”就变成了一个安全问题。如果你能证明一台物理设备在给定能量下最多能执行多少次计算你就能对攻击者给出一个更严格的上界。从密码学出发走向纳米技术再回到热力学这条路线看似跳跃内在逻辑却非常一致。1989 年前后正是分子纳米技术、量子计算、可逆计算这些话题开始升温的时期。Charles Bennett 和 Edward Fredkin 等人关于可逆计算的工作表明如果计算过程可以完全可逆理论上能量消耗可以降到极低只有不可逆的信息擦除过程才必须消耗能量。Merkle 把 Landauer 原理用于分析人脑时实际上在做一件事把大脑当作一台通用计算设备先不看它的生物细节而是直接用热力学公式估算它的能力上限。这种“先把物理账算清楚再来讨论结构”的思路和他做密码学设计时的思考方式一模一样。2. 计算的最小能耗从 Landauer 原理说起要理解 Merkle 的估算必须先理解 Landauer 原理。1961 年IBM 的 Rolf Landauer 提出在温度 T 下擦除一个比特的信息最少需要消耗 kT ln2 的能量。这里的 k 是玻尔兹曼常数约等于 1.38×10⁻²³ J/KT 是环境的绝对温度ln2 约等于 0.693。在室温 300K 或人体温度 310K 下kT ln2 大约在 2.9×10⁻²¹ 焦耳这个量级。这个数字小到难以直觉感知。但它的意义不在数值本身而在“擦除信息必须耗能”这一硬性约束。为什么擦除信息必须耗能因为计算机的内存清零、状态重置、历史覆盖本质上都涉及信息擦除。逻辑学上的“丢弃一个状态”在物理上意味着系统从一个有多种可能性的状态收敛到一个确定状态这对应熵减。为了补偿这种熵减系统必须向环境排放热量。热力学第二定律在这里表现为你可以让每一次逻辑操作尽量可逆但只要最终要覆盖旧结果就必须支付能量。Landauer 原理还引出一个更重要的推论理论上如果计算过程完全可逆能量消耗可以趋近于零。Charles Bennett 在 1970 年代证明了普通程序可以改写为可逆形式并且不会带来根本性的性能障碍。这个认识后来成为量子计算的一个基本出发点。Merkle 把人脑放到这个框架里本质上也在问作为一台并不完全可逆的生物计算机大脑离这个物理下限到底有多远下表给出了不同温度下1 瓦功率对应的信息擦除率上限。这是教科书式的物理计算也是后面估算人脑极限的基础。温度kT ln2J/bit1 W 功率每秒可擦除比特数4 K3.83×10⁻²³2.61×10²²77 K7.37×10⁻²²1.36×10²¹300 K2.87×10⁻²¹3.49×10²⁰310 K2.97×10⁻²¹3.37×10²⁰注意一个细节温度越低擦除一个比特的最小能耗越低。这也是后来量子计算、超导计算拼命往低温跑的原因之一。这个话题我在第 5 节展开。3. 人脑的能量账本20 瓦如何支撑 860 亿神经元现在把视线从物理常数拉回到生物现实。成年人大脑重约 1.4 千克约占人体质量的 2%却消耗了大约 20% 的基础代谢能量。如果成年人静息时全身的功率约 100 瓦那么大脑大约分到 20 瓦。这 20 瓦要供养约 860 亿个神经元和上百万亿个突触。平均下来每个神经元分到的功率大约是 2.3×10⁻¹⁰ 瓦相当于一颗微型 LED 亮度的千分之一不到的能量预算。这个能量花在了哪里神经元的能量主要用于维持静息电位钠钾泵不断把离子泵回浓度梯度、产生动作电位、释放和回收神经递质以及细胞内的物质运输。其中维持静息电位是一个持续不断的“耗电”过程因为离子浓度梯度必须时刻保持。每产生一次动作电位离子梯度就会被打乱之后必须通过钠钾泵把钠离子泵出细胞、把钾离子泵回细胞内这又是一个耗能过程。因此神经元不可能无限高频放电。传统估算认为皮层神经元的平均放电率通常在几赫兹到几十赫兹之间远低于电子电路里那几 GHz 的时钟频率。这不是生理学家闲着没事给神经元设限而是能量账本下的必然结果。如果你把大脑看作一台计算机这台计算机的设计约束非常清楚总功耗约 20 瓦结构上有 860 亿个处理单元每个单元分到的能量极其微薄。很多神经科学的讨论会把注意力放在网络结构、可塑性规则、突触权重更新上但 Merkle 的思路提醒我们在这些结构之上还有一个更根本的物理预算。带宽、频率、精度最终都要用能量来兑换。你不可能让每个神经元都以 100 Hz 高频放电因为那会迅速耗尽 20 瓦的能量预算。这也是理解大脑计算能力的一个关键转折点大脑算力的真正瓶颈不是神经元数量而是能量。4. 用 Python 估算人脑的理论算力上限有了 Landauer 原理和人脑功耗我们就可以把 Merkle 的核心问题数量化如果 20 瓦全部用于擦除信息并且每次擦除都恰好达到 Landauer 下限那么在 310K 的体温下人脑每秒最多能擦除多少比特先说明一点下面的推导使用公开物理常数做独立估算是在展示 Merkle 论文背后的方法论并不是在复述论文原文里的某个结论。原始论文的完整推导细节我没有可靠资料但能量上限的估算思路是清楚的。# 文件路径merkle_brain_limit.py import math BOLTZMANN 1.380649e-23 # J/K TEMP 310.0 # 人体内部温度单位 K P_BRAIN 20.0 # 人脑功耗单位 WJ/s e_landauer BOLTZMANN * TEMP * math.log(2) print(fkT ln2 at {TEMP}K {e_landauer:.3e} J/bit) max_bit_erasure_rate P_BRAIN / e_landauer print(f20 W 功耗对应的信息擦除率上限 {max_bit_erasure_rate:.3e} bit/s) print(f约等于 {max_bit_erasure_rate / 1e21:.2f}×10^21 bit/s)运行方式python merkle_brain_limit.py预期输出kT ln2 at 310.0K 2.966e-21 J/bit 20 W 功耗对应的信息擦除率上限 6.743e21 bit/s 约等于 6.74×10^21 bit/s这个结果是一个超过 10²¹ 的天文数字。作为对照公开讨论中对大脑实际计算能力的常见估算范围大致在 10¹⁴ 到 10¹⁶ 次操作每秒之间具体取决于统计口径。即使我们按最乐观的 10¹⁶ 来算和 6.74×10²¹ 之间也隔着大约 10⁵ 到 10⁷ 倍。需要说明的是“次操作”和“比特擦除”并不是同一个计数单位一次操作可能包含多次位擦除。即便如此几个数量级的差距仍然足以说明一个问题大脑的实际运行效率离热力学理论极限还很远限制大脑算力的不是终极物理定律而是生物机制把能量转化为计算过程的效率。这个结论在直觉上可能有点反常识。我们通常认为大脑非常高效但从 Landauer 极限的角度看真正留给人脑的优化空间依然巨大。反过来这也说明功耗极低的大脑并没有逼近物理极限那么“能不能用更少的能量做同样的计算”就成为一个开放且重要的工程问题。5. 温度对信息擦除能耗的影响为什么量子计算要低温Landauer 原理里的 T 是环境温度所以温度直接决定了信息擦除能耗的下限。温度越低kT ln2 越小理论上擦除一个比特的最小能耗就越低。下面这段代码扫描了几种典型温度。# 文件路径landauer_temperature_scan.py import math BOLTZMANN 1.380649e-23 P 20.0 temperatures [4.0, 77.0, 300.0, 310.0] for temp_k in temperatures: e BOLTZMANN * temp_k * math.log(2) rate P / e print(fT{temp_k:6.1f}K kTln2{e:.3e} J/bit 20W擦除率{rate:.3e} bit/s)运行结果T 4.0K kTln23.83e-23 J/bit 20W擦除率5.22e23 bit/s T 77.0K kTln27.37e-22 J/bit 20W擦除率2.71e22 bit/s T 300.0K kTln22.87e-21 J/bit 20W擦除率6.97e21 bit/s T 310.0K kTln22.97e-21 J/bit 20W擦除率6.74e21 bit/s看起来非常有诱惑力同样的 20 瓦放到 4K 环境里理论上能获得 10²³ 量级的擦除率比室温高出大约两个数量级。这也是为什么量子计算和超导计算都拼命往接近绝对零度的环境里跑。除了降低热噪声、维持量子相干性之外温度下降还直接降低了不可逆操作的理论能耗下限。但工程上要冷静把设备冷却到 4K本身需要制冷压缩机、液氦、多层绝热结构整个制冷系统消耗的电能远远高于计算部分节省出来的那一点。所以“低温更节能”必须放在系统总能耗里看不能只看芯片本地的那几焦耳。现实中低温系统的能效账往往非常难看只有在量子过程本身对温度极其敏感、非低温不可的场景下这趟能量开销才值得支付。这个道理放到人脑身上也一样人脑必须维持在 310K 左右的体温下工作因为生物化学反应依赖这个温度。它不可能为了降低 kT ln2 就把自己冷却到 4K所以温度这条优化路径对大脑关闭了。大脑只能选择在 310K 这个固定温度下通过架构和机制优化来提高能效。6. 从 1989 到当下算力焦虑的本质是能量焦虑Merkle 在 1989 年讨论的是理论边界问题但到了大模型时代这个问题已经变成了数据中心的电费单。大型 GPU 服务器单卡功耗就能达到几百瓦一个训练集群的总功耗堪比一个小型城镇。过去几年业界围绕液冷、绿电、碳配额、变电站扩容讨论得热火朝天。表面上看这些讨论属于基础设施领域本质上它们都在处理同一个约束能量预算。你可以在一年内把 GPU 数量翻一倍但电网不会自动多出一倍的电。算力焦虑的本质其实是能量焦虑。人脑在能效上的优势被反复提及。做几个粗糙的数量级对比对象功耗量级有效计算量级说明人脑约 20 W10¹⁴-10¹⁶ ops/s常见估算每瓦特大约 10¹³-10¹⁵ ops/s数据中心级 GPU数百瓦/卡数十万亿到百万亿次/秒未计