模拟一个人要花多少钱?

0,82微秒。我们测量过,不是估计出来的。由此得出的结论比数字本身更令人惊讶:全人类都能装进一台机器,地球上所有动物都败在内存上,所有细胞都败在电力上。

作者 McGrinseyAuf Deutsch lesenLeer en español
模拟一个人要花多少钱?人工生成
人工生成人工生成人工智能法案第50条要求,人工生成的图像、音频和视频必须可识别、可机读地标出。这个符号是欧盟委员会的官方基础图标。使用它是自愿的,标注义务不是。机器生成: 文字 · 图像. 有人在驾驭。McGrinsey Living Intelligence SystemsMcGrinsey Living Intelligence SystemsLI: 各种活的智能。 McGrinsey 把常规智能和新的智能收成活的智能系统。这些机器与人共生的系统一起工作,为每一种智能提供最精的认识。

每个建过智能体模拟的人都知道它卡住的那一刻。你再加一千个智能体,突然一切都卡顿了。通常的解释是:智能体太多了。正确的解释几乎总是:一个每个都看每个的循环。

我们运营一个名为 JIJI BAMBAM 的社会模拟,里面有小生命在生活、吃饭、研究、生孩子、吵架和死亡。每个生命随身携带九个意识模块,从感知到记忆再到自我形象。困扰我们的问题不是关于游戏的。它是: 这种东西能推进到多远?

所以我们测量了而不是猜测。

三个数字

0,82 微秒 每个生命每个刻度的计算时间。 4.677 字节 每个生命的内存。 17 纳秒 每个地图格子每个刻度的计算时间。四个刻度是一个模拟年。

设置:无显示的模拟核心,无图像输出的浏览器,人口人为设到目标大小,补给填满,这样测量期间没人饿死。每个测量点 60 个刻度,丢弃一个预热刻度。

生命每刻度毫秒每生命微秒每秒模拟年
1000,484,80521
3000,511,69493
9001,401,56179
2.5002,320,93108
6.0005,380,9046
15.00012,230,8220

从上到下读第三列。成本 每生命 下降,生命越多,并趋向一个固定值。从 2.500 到 15.000 个生命,计算时间在 12.500 个额外生命时增加 9,91 毫秒:那是每个生命 0,79 微秒的边际成本,加上每个刻度 0,34 毫秒的固定底座。

模拟是线性的,不是二次的。这不是理所当然的事,而是一个构建决定:邻里关系通过网格和定居点运行,而不是通过一个每个检查每个的循环。

正是在这里决定一切。二次模拟在 15.000 个智能体时就死了。线性的在那里花 12 毫秒,还能继续跑。

地图几乎是白送的

我们用固定人口和增长的地图做了同样的测试。3.404 个格子每个刻度花 0,70 毫秒,54.464 个格子花 1,42。等于每个格子 17 纳秒。

一个地图格子大约比一个生命便宜五十倍。 谁想要大世界,几乎白得。谁想要很多生命,就得付钱。这是一条远超我们游戏的有用经验法则:空间便宜,行动者昂贵。

九十亿人

现在是真正相关的计算。九十亿人,每个单独的,有年龄、地点、饥饿、健康、家庭和九个意识模块。

计算时间不是问题

在我们的脚本语言里:一个处理器核心上每个刻度 2,05 小时。听起来像故事的结局。但语言是这个计算里最慢的变量。在紧密打包的带向量指令的 C 里,每个生命每个刻度 75 纳秒是现实的,那是十一倍。然后一个核心上每个刻度是 675 秒,在 64 个核心上 每个Tick 10,5 秒.

一个模拟的人类年只要42秒。在一台你今天就能买到的单机上。

内存已经

4.677字节乘以九十亿是42太字节。这是数据中心,不是服务器。

只是这种格式太浪费了。年龄不需要浮点,零到一之间的饱和度不需要浮点,地图上的一个位置不需要64位。如果把所有东西都量化成各一个字节,并把对伴侣和父母的引用存成32位数字,就会落到大约 每人40字节。就是360吉字节。这装得进一台半太字节内存的机器。

最棒的部分是:名字、宗族和兴趣根本不用存。我们的模拟是确定性的,每个随机都来自一个起始值。从编号加起始值可以随时重新生成同一个名字,随便多少次,总是一样。 确定性在这里不是纯净律,而是存储策略。

所有动物:墙在别处

地球上的多细胞动物:大约十Trillionen,也就是一后面十九个零,绝大部分是线虫、节肢动物和桡足类。脊椎动物在这个账里只是个舍入误差。

这算得出来。在一台Exascale机器上,按每个生物每个Tick大约一百次运算,大约是 每个Tick一千秒。地球所有动物的一个季节要十七分钟。

存不了。40字节乘以1e19是 400艾字节。全世界已建的数据存储在一到两泽字节。一次模拟就会占掉五分之一到四分之一。

对所有动物来说,墙是存储,不是计算时间。这把通常的直觉给拧过来了。

所有细胞:墙是电

大约1e30个细胞,绝大部分是细菌。存不了,不是差一点,而是差九个数量级。有意思的是电。

用今天的好硬件,每次运算大约一飞焦耳,一个Tick要花 27,8太瓦时。世界用电量大约是每年30.000太瓦时。所以一年的世界电力大约够 270个模拟年 地球上所有细胞。

现在是这个连我们自己都吃惊的数字。Landauer界限描述了在室温下擦除一个比特至少要花多少能量:2,85仄焦耳。如果按这个物理下限来算同一模拟,一个Tick要花 79兆瓦时。这是一座小城几个小时的消耗。

在我们今天造的和物理允许的之间,隔着六个数量级。细胞模拟不是物理问题。它是硬件问题。

六个杠杆

上面的所有计算都假设每个生命体都被单独模拟。正是这个假设是错误的。

1. 按观察分辨率。 它不是按每人计费,而是按 被观察的 人。模拟只需要在有人看的地方单独进行。其他一切作为聚合运行。因为我们的模拟是确定性的,可以从聚合中可重复地恢复个体:谁看两次,就两次看到同一个人。因子100到10000。

2. 角色而非个体。 不是模拟九十亿人,而是模拟几百万个队列,用分布代替单个值。棘手的部分是过渡:一个队列不能表现得像一个单个的巨大生命体,否则会失去产生所有有趣动态的离散度。在阈值处,计算突破它的队列比例,而不是让整个队列翻转。因子1000到10000。

3. 事件驱动而非节拍驱动。 大多数生命体在大多数时钟周期里什么都不改变。因子5到50,而收益恰恰在危机中缩小,也就是在需要它的时候。

4. 按地点的时间分辨率。 观察者所在的地方,以季节运行。一个三百年来没人看过的大陆,以十年运行。因子10到100。

5. 状态打包。 从4677到40字节是因子117,除了细心之外不花任何成本。副作用:紧密打包的字段也更快,因为处理器整块加载它们。再加两到五。

6. 统计收尾。 对于从未有人单独查看的层面,用调整后的方程代替模拟。这是对细胞问题的唯一答案。模拟所有细胞行不通。这样描述所有细胞使上层正确,行得通。

真正的认识

我们从能否模拟地球这个问题开始。测量之后,我们认为这个问题提错了。

正确的问题不是我们能负担多少分辨率,而是所寻求的答案需要多少分辨率。

对于一项法律对人口的影响,需要队列,不需要个体。对于单个生命,需要一个个体,但只需一个。全分辨率模拟整个地球不仅昂贵,而且无用,因为没人能读它。

价值产生在聚合和个案相遇的地方。技术必须坐落在那里,我们正在那里建造。


所有数字来自对我们自己的模拟核心的测量,2026年7月。动物和细胞数量的数量级是文献估计,存疑时有一个数量级的不确定性。这些陈述并不依赖于此:上下一个数量级都不会推翻其中任何一个。你可以自己运行进行测量的模拟: JIJI BAMBAM.