第8章 达利的平行范式
这到底是不是后谷歌时代呢?
比尔·达利开着特斯拉S型自动驾驶汽车正准备带我去帕洛阿尔托火车站。[50]
在圣克拉拉市的英伟达(Nvidia)车库里,我们似乎登上了一辆充满了未来感,外表光滑的灰色硼钢钛合金制成的导弹。我看了看它1200磅重的锂离子电池的有效载荷。充满电之后,它大概可以替代内燃机油箱里的60磅汽油,足够送我去车站了。这看起来似乎不多,但在谷歌时代的数学统计之中,它足可以拯救世界。
在编制计算数据中心的能源预算时,谷歌和硅谷的其他公司一样,都像肯尼亚的马拉松运动员一样严格。当汽车开始在太阳能补充动力的驱动下行驶的时候,你最好重新核对一下具体的数值才好。它们可能会大幅度地超出预算。
这是一辆特斯拉汽车,其得以实现自动驾驶源自英伟达行业领先的Drive PX系统。为了能在凹背座椅上坐好,我索性把在库比蒂诺附近召开的年度国际高性能微处理器研讨会(Hot Chips)上拿到的传单扔到一边。
大约30年前,为了分析本·罗森和埃丝特·戴森的半导体,我便开始参加Hot Chips大会。那个时候芯片已经开始蒸蒸日上了。后来我便常常去参加这个大会,以便了解这个行业的最新进展。当时,硅是整个信息技术大厦的基础,是其得以发展的物理层。尽管谷歌和某些人曾断言“软件吞噬一切”,但我依然相信芯片的热潮还将延续下去。
尼克·特雷登尼克曾为史蒂夫·乔布斯的苹果电脑,以及摩托罗拉设计了6.8万台微处理器高性能芯片。他认为,业界总是希望利用“领先优势楔子”。3个重叠的设计目标在这个充满意义的新月形芯片设计中融合在一起:零延迟(快速)、零功率(低温低能耗)和零成本(每枚晶体管仅1/10亿美分)。[51]从20世纪80年代到2017年,在达利的带领下,芯片已经从热快端向冷低端转变。
在特斯拉的前排座椅上,有一个两英尺高的屏幕,屏幕上显示着淡绿色的谷歌地图。达利说,自动驾驶汽车“不管道路在哪里,只是按着导航在地图上标记出的位置就可以了。如果前方道路空旷,它就自动选择中间的车道行进,就像是在乘坐火车一样。汽车只需使用其所具有的动作感知能力感知周围的移动物体,比如行人和其他车辆就可以了”。
虽然是谷歌的地图,但处理系统却是英伟达的图形处理器(GPU)。芯片通过计算激光、雷达、超声波和摄像机信号以便汽车做出响应,如此就可以使导弹从埃隆·马斯克的领域进入外层空间,并进入谷歌地图之外不断变化的高熵世界。
达利大声地命令道:“导航到加州大道火车站。”他说:“过去几年里,语音识别进展巨大,准确率比以前增长了30%。两年前做不到的事情,现在基于图睿芯片(Tegra)的机器学习能力,它的表现越来越好了。得益于此的是亚马逊的Alexa、苹果的Siri、微软的Cortana、谷歌的Go等所有用户。”
达利在与我闲聊的时候,双手依然放在方向盘上。“这只是二级自动。”他解释道,他指的是汽车工程师协会的分类,从第一级(纯粹的司机助理)到第五级(完全自动驾驶)。马斯克承诺在两年内把特斯拉提升到第五级。这就是我们大家知道的埃隆(Elon)。但是现在,当特斯拉汽车在路上行驶的时候,达利的眼睛一直盯着路面。随着几次增速时的轰鸣声,汽车驶向了101匝道。现在,特斯拉的自动驾驶模式可以帮他暂时解放,转向我并展示他最近拍摄的罕见的日食相片。
达利告诉我,机器学习能力主要是由英伟达的图形处理芯片完成。人工智能的进步源于算法的改进,但计算机速度爆炸性提高的真正来源是通过摩尔定律和并行处理相结合来实现。作为并行处理的先驱,英伟达的显卡处理器是达利长期职业生涯的高峰。他研发并行处理始于30年前的弗吉尼亚理工大学,彼时,他在那里研究了多处理器协同工作的优点。
1991年8月,在斯坦福大学召开的一次Hot Chips大会上,达利和诺尔曼·朱佩首次推出了具有颠覆意义的大型并行J型机(J-machine)。朱佩现在供职于谷歌公司,当时他还是数字设备公司的一员。当时,他们宣称J型机能将现有的处理器通道加速到每个时钟周期5个指令。[52]
1991年的那两篇论文使得计算机科学出现了两极化:要么能使现有的冯·诺依曼处理器运行得更快,并做到零延迟,能从高速的远程存储器中获取指令和数据;要么能通过机器来实现存储和处理功能。在达利力推的J型机这种大规模的并行扩展中,内存总是更加靠近处理器。
26年后,达利和朱佩仍然在孜孜以求。2017年8月,在库比提诺Hot Chips大会上,所有大公司都在兜售自己的芯片,强调所谓“深度学习”(deep learning)。“深度学习”在硅谷是个时髦词汇,指一种多层模式识别、关联和校正的大规模加速的方法,该方法与反馈导致累积的性能增益有关。他们所说的“学习”源自人工智能早期尝试。猜测,测量错误,调整答案,反馈,这些都是谷歌数据中心所遵循的规范性步骤,以此使得谷歌翻译、谷歌声音摹写(Soundwriter)、谷歌地图、谷歌助手、谷歌自动驾驶汽车“威莫”(Waymo)、谷歌搜索、谷歌实时等应用能够随时派上用场。[53]
2012年,谷歌还在为狗和猫的区别而苦苦挣扎。YouTube上猫的视频大受欢迎,但它无法有效地教会机器识别猫。机器能够做到计数;数据中心描述说狗也会跳舞,但要识别这一点需要1.6万个核心微处理器并耗费600千瓦的电。[54]然而它依然可能是狗而不是猫,依然有5%的误差率——这对于谷歌的人脸识别项目或汽车视觉系统来说并不是什么好的现象。人脸识别和汽车视觉系统需要完美并实时地识别远处的对象。
克劳德·香农指出,95%甚至99.999%的成功率具有欺骗性,因为你无法判断到底哪些实例是错误的。[55]次贷危机中绝大多数的房屋贷款都是合理的,但是因为谁也不知道到底哪些是不合理的,最终却导致了证券市场的大崩溃。你绝对不希望自动驾驶汽车也出现这种问题。
2012年,彼得·蒂尔与埃里克·施密特在阿斯彭同时亮相,并宣称该公司动用了约500亿美元现金,用以解决其数据中心庞大却仍不能识别出猫和3岁的孩子这个难题。对于硅谷奉行的“不可避免”的创新哲学,蒂尔是主要的批评者之一。与此相对,佩奇是机器学习的拥趸,他相信芯片很快就会超越人类。可能你很想区分这二者的不同。如果万能随机图灵机器的进化就能够生成人类的大脑的话,那么请想象一下,在谷歌杰出的学者们将整个数据中心都集中到数千兆赫的硅晶片上,再运用千兆赫为单位的数据训练机器的时候,会成就什么样的奇迹呢?然而,2012年的结果似乎并没有给人留下深刻的印象。[56]
2012年,在上演猫狗危机的同时,谷歌大脑(Google Brain)研究团队的负责人杰夫·迪安提高了赌注。他告诉谷歌数据中心的核心人物乌尔斯·霍尔泽勒:“我们还得需要另一个谷歌。”迪安的意思是说,谷歌不得不将数据中心的容量增加一倍,以满足安卓智能手机对谷歌语音识别服务的新需求。
2017年下半年,比尔·达利给出了一个解决之道。在最喜欢的帕洛阿尔托咖啡馆吃早餐的时候,迪安的同事,同在斯坦福大学任职的吴恩达向他抱怨给猫类命名的事情,1.6万个昂贵的微处理器内核似乎都不够用。达利建议他试一试英伟达的图形处理器,说不定会有所帮助。图形处理器专门研究矩阵乘法和浮点数学运算,这些运算可以教会机器识别不同的模式。图形图像是一组容易映射到数学矩阵上的值,在多达12层的矩阵中运行图像,机器学习可以被视作迭代图形处理的另一种形式。
吴恩达对达利说,如果这一点得到证明的话,谷歌肯定会购买他研发的芯片。
康奈尔大学的心理学教授弗兰克·罗森布拉特是第一个构建起图形处理器雏形的人。他是谷歌数据中心神经网络的先驱。1958年他在《纽约客》上描述了他研发的“感知器”:“如果三角形是感知器的眼睛(视觉感光器)的话,其他与三角形相关联的单元识别了这个图形,并把这个信息以随机线条的方式传递给反映单元(现在被称为神经元),图像在神经元上得以认定……所有导向连接的反馈都得到了增强,即它们的重量得到了增强。如果一个大小和形状不同的三角形被放在感知器上,它的图像就会沿着第一个三角形的轨迹传递。但是,如果给出一个正方形,那么就会调用一组新的随机线……感知器可以扫描的图像越多,归纳就会越敏捷……如此,就可以区分狗和猫了。”[57]
4年后,当时年仅16岁的雷蒙德·库兹韦尔拜访了罗森布拉特。库兹韦尔在麻省理工学院的导师马文·明斯基揭露了罗森布拉特所建立起来的单层感知器的局限性。罗森布拉特告诉库兹韦尔,可以通过将感知器层层叠加的方法克服这些限制。他说:“改善很显著。”8年后,罗森布拉特在船难中逝世,他建设多层机器的设想最终也没能实现。
谷歌现在正在努力补上这个缺口。达利指派英伟达的软件大师弗兰克·坎尼扎罗与吴恩达合作升级英伟达的专有软件CUDA(统一计算设备架构),目的是将其使用到CUDA深度神经网络库(cuDNN)之中。斯坦福—谷歌—英伟达联合团队的猫狗识别问题解决方案只需使用12颗图形处理器,能耗只有4千瓦。而整个项目只花费了3.3万美元。
达利为这一成就感到骄傲。之前英伟达机器的性价比大约是谷歌的150倍。这还是在没有考虑到图形处理器在能源效率方面巨大优势的情况下的数据。很快英伟达的处理器在谷歌的数据中心得到普遍的使用,为机器学习核心的矩阵乘法的积累提供了前所未有的性能。
现在,谷歌部署的神经网络已经多达10—12层,能生成30个浮点的数学计算能力,这真可谓是矩阵乘法的丰碑。罗森布拉特预测,“感知器扫描的图像越多,它的归纳就越熟练”。谷歌机器根据大约10亿个参数对数千万幅图像进行了分类。这让谷歌大脑习惯性地认为自己“比人类的表现更出色”。天啊,10亿个参数,我真是自愧不如!在为这些机器编程的硅谷,人们认为质疑“超人”力量的说法是不理智的。
除了谷歌的一项关键变化之外,其他没什么值得担心。2017年的Hot Chips大会上,该公司以“自己动手”的态度表示,今后将用自己的专用硅芯片取代英伟达的设备。杰夫·迪安赞扬了朱佩对“张量(tensor)”和“矩阵乘数(matrix multiplier)”的改进,认为这能避开对图形和浮点数的关注,而将注意力转移到机器学习功能上来。那是一种矩阵乘法器ASIC(特定于应用的集成电路)。如果没有这样的张量处理单元,谷歌这样公司的数据中心数目将不得不翻倍。
达利指出,通过将整个系统安装在单条ASIC硅片上,就一定有可能获得巨大的暂时性收益。他还告诉我,在执行并行操作的过程中,图形处理器的成本效益是通用中央处理器的10倍,而ASICS的成本效益是普通图形处理器的10—100倍。一旦拥有了ASICS,市场就只剩下你所选择的特殊目的了。数据中心也就不再是万能的图灵机,而是成为具有特殊用途的工厂,比如谷歌在达尔斯铝厂所获得的巨大成功。
谷歌可以为其数据中心的特定插槽定制专属的ASICS,但现实却是英伟达控制了整个庞大的并行处理领域。在Hot Chips大会上“受挫”后的2017年第三季度,英伟达宣布其云计算销售收入增长109%,达到了8.3亿美元,从而使公司的市值接近1300亿美元。
如今,英伟达是全球产业链中提供并行处理器的巨头,并为后谷歌时代提供新的平台。在谷歌既投身硬件制造业又关注软件领域,并聘请硬件业界巨头戴夫·帕特森和诺尔曼·朱佩等来设计世界领先芯片架构的情况之下,前面提到的一切会不会终结呢?
为了得到答案,我去拜访了达利。这位57岁的工程师一头棕发,头戴黑色的帽子,背着黑色背包,脚穿登山鞋。他一副硅谷登山者的风格,带着我在芯片和软件的高空中冒险。他和我分享观点,解答我的疑问。2017年8月底的某个星期五,下午5点钟。谷歌地图和埃隆·马斯克的“现实扭曲场”载着我们行驶在101号公路上。
这和布朗博士设计的德罗宁汽车里的未来之旅并不相同,但它却足以在计算机的历史上创造适度的时间旅行。
自从20世纪70年代末撰写大学论文以来,达利一直在反对循序渐进式的冯·诺依曼计算体系结构。尔后在加州理工学院追随主持“宇宙立方(Cosmic Cube)”的查克·塞茨获得博士学位(1983)。达利领衔设计了麻省理工学院的并行机器(J型机器和M型机器),为克雷超级计算机(T-3D和3E)导入了大规模并行机制,并在斯坦福大学开创了并行制图学(即“想象计划”。这是一种融合了可编程“着色器”的串流并行设备,如今在英伟达和其他公司的图形处理器中随处可见)。
在所有这些项目中,达利都在与传统的计算机体系结构做斗争。传统的计算机体系结构被认为是循序渐进式的,是与名为“冯·诺依曼瓶颈”的内存问题有关的体系。你生活在现实世界里,对不对?现实世界提供了某些内在的平行问题。例如,你是否正在雪地里驾驶汽车?还是在大数据的海洋中,用电脑生成的图形和模式与“机器学习”中的虚拟宇宙相匹配?
冯·诺依曼自己发现了“冯·诺依曼瓶颈”问题。作为回应,他提出了一种叫作细胞自动机的大规模并行架构。这也是他在57岁去世前完成的最后一本书。在《计算机和大脑》一书中,他提出了一种名为神经网络的并行解决方案。这种解决方案基于人类数十亿神经元在神经系统中是如何协同工作的这种原始想法而展开。
冯·诺依曼总结说,人的大脑是一个非冯机器(non-von machine),比他在1957年预言的计算机的千赫慢了9个数量级。令人惊讶的是,冯·诺依曼预见到了数百万倍的“摩尔定律”加速,这是当下每个人都在经历的现象。但他估计,大脑的效率比电脑高9个数量级(10亿倍)。这个增量比谷歌大脑研制人员声称的张量芯片(Tensor chip)更大。在IBM的“蓝色巨人”和“沃森”(Watson)的时代,这种比较仍然具有相关性。当一台超级计算机在国际象棋或围棋比赛中打败一个人的时候,这个人只使用了大约14瓦的能量,而计算机及其网络却正在利用哥伦比亚河上耗费近10亿瓦特电力的云。
在大数据时代,“冯·诺依曼瓶颈”具有哲学意义。冯·诺依曼机器中输入的知识越多,它的内存就越大越拥挤,平均数据地址越远,运行速度就越慢。思维机器公司的创始人丹尼·希利斯这样写道:“不管我们制造的处理器速度有多快,低效率的问题依然存在。计算的时长被处理器和内存之间数据移动的时间所控制。”计算过程中,每一步的跨越都受制于光速。在芯片上,光速大约为9英寸每纳秒——这对芯片来说是一个巨大的延迟,因为现在芯片上的电线可能长达60英里。
在达利看来,串行计算机已经走到了尽头,大多数电脑(智能手机、平板电脑、笔记本电脑,甚至是自动驾驶汽车)都不再是固定在墙壁上的。超级计算机和数据中心也受到电力限制的困扰。无论是巨大的风扇和空调,还是选址在河流或冰川附近,问题关键都在于对机器的冷却。正如霍尔泽勒所言,“根据经典定义,数据中心几乎不产生‘功’,因为大部分能量都转化为了热量。”
碰到能量墙和光速障碍,芯片的结构必然会分裂成单独模块或者异步结构或者更多的并行结构。我们可以把这些处理器命名为时空“软体动物”——这是爱因斯坦在相对论世界中对实体的称呼。设置集成电路单元的大小,与在宇宙中将光年作为测量方法具有同样的效果。类似于人类智能的分配,这也将加强计算能力的分配。
达利说,如此一来又回到了特雷登尼克的问题上。现在,超前楔形计算机的性能就不能用传统的每秒或每硅区的运算来衡量,而应该用每瓦的运算来衡量。基于图像的自然并行性,图形处理器不仅应该像视觉一样无处不在,而且更应该极端地并行处理。故而,当前很多“超酷的芯片”往往都由英伟达研制。
尽管如此,在每瓦特的操作中,胜者不是硅而是碳,是原始的神经网络。人类大脑运行时不超过14瓦,这甚至比在卡通漫画中照亮一个角色头上的灯泡的功率还要小。未来,计算机将向大脑的能量耗费看齐,追求人机工程学,其目标绝非“蓝色巨人”动辄兆瓦级的能量需求,也不是数据中心的巨型空调。电池驱动的智能手机行业所开发出来的节能技术是未来所有电脑都必须努力的方向,继而朝着真正的碳大脑能源经济学前进。
可编程机器和程序员之间存在关键的区别,机器是确定性的,而程序员是创造性的。
这意味着,人工智能非但不会取代人类的大脑,反而会日益发现人工智能只是在模仿人脑的运行。大脑与电脑内核相比,体现出明显的优势:大脑的运算绝非仅聚集在几个空调的节点上,而是分散于整个大脑中,并通过无数的感觉器官连接在一起。对计算机和电缆所构成的崭新全球神经节、光纤网络、光之网和空气网络的考验,在于它们将如何轻松地利用人类头脑在创造力和多样性中所展现出的意想不到的贡献。而这一切,计算机科学的标准根本无法衡量。
正如加州理工学院的硅谷奇才卡弗·米德在几十年的神经形态计算实验中所展示的那样,任何真正的人工智能都可能必须使用碳基材料而非硅基底物。碳有大约20万种化合物,它比硅具有更强的适应性和化学复杂性。近年来,新的碳材料如有机发光二极管和光电探测器逐渐占据了显示屏市场。最有希望的是石墨烯。这种厚度只有单个原子直径的透明碳片,可以在碳纳米管中卷曲,在石墨块中分层,也可以在C-60“巴克球”中进行结构设计。
石墨烯具有许多优点。它的抗拉强度是钢的60倍,电导率是铜的200倍。没有带隙来减慢它的速度,它为电子提供了一个相对巨大的60微米的非平均路径。正如莱斯大学纳米技术大师詹姆斯·图尔在他的实验室里演示的那样,石墨烯、碳纳米管旋涡以及它们的化合物使得一系列纳米机械、车辆和发动机成为可能。它们提供了新的计算机体系结构,譬如量子计算机,用以模拟物理现实,从而最终产生一些真正的智能。
20世纪早期,冯·诺依曼和哥德尔的研究成果,以及克劳德·香农、格雷戈里·蔡汀、安东·科尔莫戈洛夫和约翰·罗宾森·皮尔斯等人在信息理论上的突破,都让当代的硅谷人相形见绌。在一系列强有力的论点中,算法信息理论的发明者蔡汀把哥德尔的成果翻译成了现代术语。当硅谷的人工智能理论大师们把他们的逻辑推导到极端的时候,他们开始无视20世纪数学和计算机科学领域中那些最关键的发现。所有的逻辑方案都是不完整的,并且依赖于其无法证明的命题。把任何逻辑或数学上的争论推到极端——无论是“重新规范化”的不定式,还是平行宇宙的多重性——科学家们都把它推向了哥德尔式不完备的悬崖。
蔡汀在《创造力的数学》一书中指出,为了推动这项技术的发展,有必要超越存在于现有计算机中的确定性数学逻辑。任何确定性都禁止定义信息的意外,从而也就无从反映真实的创造性。哥德尔是创造性数学领域的执牛耳者。
这种数学方法将首先遇到一个重大障碍,即世界上普遍存在的系统在硅谷和金融领域都取得了惊人的成功。