每当我听到有人大谈特谈我们现在的计算机要比上世纪 60 年代阿波罗登月时期的计算机强大得多时,我都会感到震惊。这些比较通常严重低估了差异。
1961 年,世界上的一些大学已经购买了 IBM 7090 大型机。7090 系列是第一个全晶体管计算机系列,以今天的货币计算,它的成本为 2000 万美元,相当于今天的顶级笔记本电脑的 6000 倍。它的早期买家通常将计算机作为整个校园的共享资源来部署。很少有用户能幸运地每周获得一小时的计算机时间。
7090 的时钟周期为 2.18 微秒,因此其工作频率略低于 500 KHz。但在那个年代,计算机指令没有流水线执行,所以大多数指令需要一个以上的时钟周期来执行。一些整数运算需要 14 个时钟周期,而一个浮点运算可能需要 15 个时钟周期。因此,通常估计 7090 每秒钟可以执行约 10 万条指令。而大多数现代计算机的 CPU 核心能够以每秒 30 亿条指令的速度持续运行,甚至其峰值速度要快得多。这就是 3 万倍的差距,所以一个有四核或八核的现代芯片很容易达到比 7090 快 10 万倍的运算速度。
与 1961 年那个得到一小时计算机时间的幸运儿不同,你可以一直运行你的笔记本电脑,每周你可以累计得到超过 1900 年的 7090 计算机时间。(我不想问其中有多少时间是花在“我的世界”游戏上的)。
继续这个比较,考虑一下训练流行的自然语言人工智能模型 GPT-3 所需的指令数量。在云服务器上执行这些指令相当于 355 年的笔记本电脑时间,这在 7090 上就是超过 3600 万年。当你等待这项工作完成时,你会需要大量的咖啡。
但是,说真的,这种比较对今天的电脑还是不公平的。你的笔记本电脑可能有 16 GB 的主内存。而 7090 的最大内存为 144 KB。要运行同样的程序,需要将大量的数据从 7090 中换入换出,而且必须使用磁带来完成。当时最好的磁带机的最大数据传输率为每秒 60KB。虽然一台 7090 计算机上可以连接 12 个磁带设备,但这个速率是在它们之间共享的。而且,这种共享需要一组人类操作员来交换驱动器上的磁带;以这种方式读取(或写入)16GB 的数据将需要三天时间。因此,与今天的速度相比,数据传输也慢了大约 10 万倍。
所以现在 7090 看起来运行速度是你 2021 年的笔记本电脑的千万亿分之一(10-15)。在现代的笔记本电脑上运行一周的计算任务,就算是 7090 从宇宙诞生就开始运行也做不完。
但等等,不止如此。笔记本电脑中的每个核心都有内置的 SIMD(单指令、多数据)扩展,在用于向量运算时可以大幅提升浮点运算速度。而在 7090 上甚至没有这些东西的影子。然后是 GPU,最初用于图形加速,但现在用于大部分的人工智能学习,如训练 GPT-3。最新的 iPhone 芯片 A15 Bionic 上就不止一个 GPU,而是有五个 GPU,以及一个额外的神经引擎,在我们所做的所有其他比较的基础上,它可以每秒运行 15 万亿次算术运算。
短短 60 年的差异让人难以置信。但我想知道,我们是否有效地利用了所有这些计算能力,可以像我们的祖先从纸笔到 7090 的飞跃那样做出改变?
这篇文章将以《摩尔如此之多》为题发表在 2022 年 1 月的印刷版上。