阿里云吴翰清:我对计算的理解
凌云时刻
编者按:在今年的ArchSummit全球架构师峰会上,阿里巴巴研究员吴翰清(花名道哥)进行了主题演讲,本文根据演讲内容整理而成。
各位嘉宾大家上午好。非常高兴能够来到ArchSummit全球架构师峰会,我跟极客邦是老朋友了,我以前也参加过这个会,今年这个会是第十届了,我非常高兴能够看到今天大家又共聚一堂来聊一聊技术架构。
我最近写了一篇关于“什么是技术”的文章,技术的本质就是结构与组合。我觉得用架构这个词是非常有道理的,今天我们在谈技术架构,有时候我们也会谈产品架构,再往前走,我们会谈商业架构,它中间都是一个结构的问题。
言归正传,我想先跟大家做一个简单的自我介绍。我叫吴翰清,江湖人称道哥,我在阿里的花名也是道哥。我在阿里工作很多年了,我是 2005 年加入阿里的,中间出去创业过,也是在那段时间跟极客邦的霍泰稳有过一段非常深厚的友谊。
今天到这个场合来,想用一点点时间跟大家分享我对于计算的一些理解。我在阿里云工作了十多年,我非常清楚这家公司到底要做什么,实际上直到最近两年,我才搞明白王坚博士在十多年前讲的那个计算到底是什么意思。
我今天会分三部分跟大家讲讲关于计算的话题:
第一部分,我想先讲一讲关于计算的过去;
第二部分,讲一讲当下我们在计算这个领域最重要的是哪些事情,跟在座的各位最相关的可能是哪些事情;
第三部分,我想聊一聊计算的未来。
计算的过去
我们先回过头来谈一谈计算的过去。说到过去,我觉得可能绕不开的一个话题就是,我们得先谈一谈什么是技术。
技术这个话题可能比计算的发展要久远太多。如果我们往前追溯整个人类文明的话,往前倒推八千年到一万年,从轮子的发明开始,可能就是人类历史上技术的一个起点。再往后到诞生农业文明,这是技术的一个进步,技术的发展有它的自然规律。到了第二次工业革命,科学逐渐成为技术的主导力量,在此之前都不是。
首先,我认为技术最重要的目标是开始追求生产效率,带来产能上的巨大提升。当产能得到一个巨大提升之后,就能够创造出越来越多的产品,进而实现规模化。技术要通过架构师或者工程师的工作才能完成这个过程。
我更喜欢用工程师这个词,因为我觉得很多东西能不能做出来,它实际上是一个工程实现的问题,这也是工程师非常了不起的地方。而且通过回顾历史你会发现,在历史上最伟大的工程师一定是一个实用主义者,他往往没有什么科班的经验,但是他往往能够做出创新,他是工作在第一线的。
比如瓦特是一个学徒工,爱迪生也不是什么科班出身,他最早是个报童,而像苹果的乔布斯、微软的比尔盖茨、硅谷钢铁侠马斯克,早些年的时候都有过辍学经历。我认为他们都属于最伟大的工程师,他们能够在工程领域做出真正的创新,最终转型成为企业家。我认为他们首先是创造了新的体验,在某一个领域内大幅提高了效率。
第二步,技术要走向的是规模化。在第一步的创新中,我认为它主要是通过对所在世界的技术进行不同的组合,设计了一种结构,然后通过工程的整合能力,去完善了它的通用性、成本优化、安全性,然后来完成了一个整体,这是工程架构的能力。之后它会走向一个巨大的规模化,在走向规模化的这个过程中借助了很多网络工具。比如第一次工业革命,蒸汽机诞生之后,通过铁路网实现了市场的规模化,实现了技术的普惠。第二次工业革命(电力革命)的时候,建立了电网。
当时爱迪生之所以能够把电力基础设施做出来,是因为找到了电气照明这个领域。也就是说,电气照明极大地拉动了大家对电力基础设施的需求,也正是因为电力基础设施需求快速提升,爱迪生才会在 1882 年,在纽约的珍珠街去构建他的中央发电站。什么叫中央发电站?就是以前是分散和孤立的发电,现在是集中式发电,这就是中央发电站。他是设计了六个机组,做了一个非常重要的中央发电站,来支撑了大概6000盏电灯的照明。
实际上这个发展脉络非常像今天的云计算。我们发展到今天,从个人 PC 的计算,孤立的IDC机房,逐渐走向了一个大集中式的云计算。
云计算的逻辑跟当年爱迪生设计中央发电站的逻辑是一模一样的,而且它的历史发展规律基本上也是一样的。我们可以看到在电力革命之后,很快人类文明进入到了计算时代,也就是在 1946 年前后,当时出现了世界上的第一台电子计算机。
而计算这个概念在很早以前就有了。如果我们的数学从毕达哥拉斯开始算起——人类真正开创了一个数学的时代,这是以几何的诞生为标志。但是直到 19 世纪,才有了相对比较明确的一个数理逻辑体系的建立。
这里面有几个非常重要的人,比如说希尔伯特提出了他的判定性问题,希尔伯特希望构建一套完善的数理逻辑体系,这套体系通过符号化的逻辑推理,去完备地证明整个数学的定理。但非常不幸的是,在他提出这个问题不久之后,有一个非常年轻的数学家叫哥德尔,他证明了希尔伯特的判定性问题是否定的。也就是说,今天我们基于可数自然数的这个体系,不可能完备地去描绘这个世间的万事万物,我们的数学是不完备的。
在哥德尔工作的基础之上,我们计算机领域非常熟悉的开山鼻祖——图灵就出现了。当时图灵也在研究希尔伯特的判定性问题,但是他在论文的备注里,写了一个更重要的东西,就是我们今天讲的图灵机模型。图灵引入了二进制,图灵机模型基于可数自然数集能够去进行数理逻辑运算。
我们今天所有的计算机依然是一种图灵机。但是图灵机有一个问题,它基于可数自然数集的体系因为受到哥德尔不完备定理的约束,注定是无法完备地去描述世间的万事万物的。也就是说,今天我们所有的计算机,没有办法用来描述世间的万事万物。这件事情在数学上是被证明过的,这是非常遗憾的地方。数学不是万能的,计算机也不是。
如果我们谈到计算的未来,我认为有个非常重要的点,就是如何突破图灵机模型,这是约束我们今天所有计算模型的一个天花板。
在图灵的工作基础之上,到了 1946 年,冯·诺依曼提出了冯·诺依曼架构。冯·诺依曼曾经被誉为世界上最聪明的人,他是一个美国的数学家,他在接触计算机项目之前从来没有接触过计算机。当时这个项目是由军方资助进行研究的,主要是利用电子计算机来分析和预测导弹的轨迹。冯·诺依曼进入项目之后敏锐地发现,把代码和数据分离之后,能够极大地提高运算的效率。基于此,他提出了冯·诺依曼架构,从而定下了今天所有计算机的基本架构。可以说,我们目前绝大多数的计算机依然采用冯·诺依曼架构。
那么,什么是计算机?我们的手机是一台计算机,我们的云计算,我们的数据中心也是一台计算机。阿里云最重要的一个思想就是,在成立的第一天,我们就认为整个数据中心是一台计算机。它既然是一台计算机,那么它自然就符合冯·诺依曼架构。
虽然我最近几年的工作转向了城市大脑和人工智能,但是我深入研究之后发现,人工智能做的这些东西依然是一台计算机,它并没有特别的地方。所以我认为计算这个概念本身是非常伟大的,随着数据的不断增长,尤其是当计算机发明出来之后,以前的很多不可能完成的工作就能做了。
就像我在前面讲的技术发展规律,蒸汽力革命和电力革命都带来了极大的生产效率上的提高,带来一种体验的改变。计算机发明出来之后,它依然符合技术发展的规律,所以催生了第三次产业革命。计算机把原来需要人去算的很多工作电子化,电子的速度非常快,电子化之后可以说提升了千万倍的效率。
举个非常典型的例子,今天如果我们脱离了电子计算机,我们很难去设计出一个大型桥梁。在中国古代,你要去设计一个桥梁,只能设计一些很简单的桥梁。但是在今天,我们可以设计出像杭州湾跨海大桥这样非常宏伟的桥梁,这在古人眼中是完全不可想象的,而这一切都是通过计算机的复杂计算来完成的。
我认为,计算机真正在做的事情是模拟。比如在冯·诺依曼时代就开始在研究气象预测,就开始基于各种各样的数据,通过计算机做一定测算之后,试图预测出未来的天气到底会是什么样。事实上,在气象预测领域,我们当前的难点在于中期的气象预测,短期和长期的预测已经比较准了。从 1946 年到现在,八十多年过去了,气象预测的本质没有发生改变,只是它的精准程度得到了一些提升,这件事情就非常像人工智能。
在六十年代提出人工智能概念的时候,就已经出现一些神经网络的算法,但是基本到了五六年前,神经网络由于算力的提升才突破到了深度学习,并在视觉、语音等领域有了一些质的突破。而这只是算力上量的突破,实际上它的原理基本没有变过。而在冯·诺依曼时代,冯·诺依曼就开始在研究并行计算。
我们今天谈到云计算,我认为它并不是一个特别新的东西,因为在很早以前,计算机科学家就在思考如何让多台计算机能够同时工作,能够同时运算一份数据,只是在那个年代,算力没有办法很好地去支撑这样的计算需求。
摩尔定律发展到今天,在微观层面上逐渐开始失效,但是在宏观层面,我个人认为摩尔定律依然有效,基本上我们还是按照每 18 个月的时间去把计算的性能翻一倍,对应的使计算的成本降一半,这样的规律。
云计算的下一个形态以 API 为主
接下来,我们来聊聊什么是云计算。
我认为云计算依然是一台计算机,它有几个基本的东西依然是不变的,比如它的算力、数据、算法,这几个基本元素今天依然是不变的。刚才提到,在宏观尺度上,云计算依然符合摩尔定律。我看到今天在整个业内有各种各样的云,而云计算它是一个典型的规模经济,既然是一个规模经济,我们就要非常注重它的资源利用率,它的资源复用的程度,所以有太多的东西可以在云计算内部进行优化,尤其是在算力这一层。
阿里云从 2009 年成立到现在,大概发展了十一二年,这么多年的时间,我认为阿里云至少有一件事情做得还可以,就是算力的基础设施。算力包含哪几个部分?我认为算力包含计算、存储、网络,这里的计算指的是狭义的计算,在这几件事情上面,我认为依然有足够大的提升空间。
我们可以看到,2009 年当时阿里云成立的第一天,做云计算的路线上出现了一些分岔。最初阿里云做云计算的时候是从分布式计算开始做起,它是用来处理大规模的数据的计算。最早的时候,以 Google 的 MapReduce论文的算法提出,我们开始对海量数据做分布式计算,但后来突然发现 AWS 发布了两个东西,一个是 EC2,一个是 S3,S3 是它的云存储,EC2 是它的弹性计算。阿里云那时候有一个内部项目叫做后羿,也就是今天大家看到的阿里云弹性计算的前身,最后弹性计算这件事情意外成为了一个巨大的业务。
如果今天的弹性计算,我们按照虚拟资源来售卖,就会存在巨大的浪费,这个浪费既是对阿里云自身,也是对我们所有的应用开发者。这里面的问题在于资源利用率,它包括我们的CPU、GPU资源利用率,包括内存资源利用率,也包括我们的存储资源利用率、网络资源利用率等。
今天如果云计算这个商业模式成立,一定是多方共同参与的一个交易,商业模式设计正确了,对阿里云有利,对我们所有的客户,对所有的阿里云的开发者也是有利的,因为你会享受到云计算的规模经济带来的红利。
但是今天因为虚拟机直接售卖资源,导致这件事情出现了一点问题。我们知道在物理机上做一层虚拟化后,如果把一个虚拟机卖给你,你拿到的是一个虚拟化之后的固定资源,对你来说,你的资源利用率就是你自己需要去负责的,但大多数用户没有把买到的资源用满,所以你是为闲置资源多花了钱。举个例子,比如你今天买了一个虚拟机,它的 CPU 利用率只有 50%,剩下它空闲的时间,我认为是你多花掉的钱,所以这件事情应该双方坐下来共同优化。
我认为云计算在未来的一个形态,一定是去看它的资源利用率,它会以 API 服务为主,这是我认为云计算的下一个形态。当年我们做阿里云的时候,其实我们非常清晰地认识到阿里云未来应该是一家 API 公司,和微软是一样的,所以我们给开发者提供的应该是 SDK 和 API。
我们今天在做数据中心的云操作系统,实际上和微软当年做单机的 Windows 操作系统是类似的。微软面向开发者的 API 有很多,这和未来的云是一样的。我们把云计算的数据中心当成一台计算机,未来提供给开发者的更多是 API,由平台和开发者共同来优化我们的资源利用率,省出来的这一部分资源应该成为让利给到我们所有的开发者。
但是今天,弹性计算这部分的红利还没有完全释放出来,我认为从计算的角度来看,这可能是我们在座的所有人需要关注的第一点,就是对于资源利用率的进一步的提升。
我认为在宏观尺度上,摩尔定律依然有效,并且依然有着巨大的可以提升的空间。在微观尺度上,摩尔定律基本上已经逐渐开始失效,因为已经触碰到了物理极限,原子核的直径也是纳米尺度的,今天我们做晶体管已经把它做到纳米尺度。这是我想表达的第一个和在座各位有关系的话题。
如何做数字化运营
第二个和在座各位有关系的话题是关于如何做数字化运营。
我在 2017 年开始做城市大脑,城市大脑简单来说就是,过去是靠人的经验在治理城市,在未来,应该由机器来承担大部分城市治理工作、城市服务和城市管理的工作,少量的需要讨论、推理和决策的工作则交给人去做,这能在效率上带来极大的提升。而这中间,一个最重要的过程就是城市的数字化。
所以城市大脑提出了一个重要的命题,就是把数据当成了一个城市最重要的一种自然资源来看待。我们今天城市的问题都是城市可持续发展的问题,这些问题往往都是人口增长带来的,未来有没有可能用更少的自然资源,比如说更少的土地资源,更少的水资源和电力资源来服务于更大规模的城市人口,这是城市大脑在研究的一个主要问题。
如果我们把它切回到企业的尺度,切回到商业的尺度,这个命题依然成立。也就是说,今天我们需要找到一种行之有效的方式,让数据来指导我们的业务发展,让数据发挥它在管理上真正该发挥的作用,这也就回到我们今天在讲的精细化生产和精细化管理,这个可能是我们在未来可以去做到的。
我们今天也在很多领域做了很多的努力和尝试,比如说在零售领域,你今天卖出去一双鞋,你不知道用户是怎么穿这双鞋的,你也不知道在他那个场景里到底发生了什么。我认为在未来,由于 IoT 的改变,有很多新的感知器能够把数据给带回来,能够对空间,对个人的行为重新进行一轮数字化,这些数据是有可能被采集到,从而反向去影响个性化生产的。这些是在未来整个产业会发生的新一轮的变化,基于数字化的管理和数字化的经营来重新指导企业发展。
阿里其实在很多年前就已经在这样做了,我们应该是最早开始做数字化经营的企业。我们的部门主管,以及对应的整条线需要做经营决策的主管,每天都会从各种数据报表里看人力资源投入,看财务数据和精准的用户反馈数据。
和过去不一样的是,它不仅仅是一个简单的统计数据,它是一个全量而非抽样的,实时的,全链路可追溯、可分析的数据体系,它可以一直追溯到任何一个原子的数据来源。我认为在接下来,计算发挥的主要作用是帮助整个社会完成数字化转型升级。其中的关键是数字化,数字化这个过程,我们是通过在线服务和 IoT 来完成的,IoT 在未来会产生大量的数据,这些数据都需要进行分析,然后最终再反馈到生产使用的过程中,这是我想表达的第二个观点。
人工智能的未来应用场景
第三个观点跟人工智能有关。如果把人工智能作为一个计算的子命题,我们还是先从技术发展角度来审视人工智能。
我认为人工智能是计算对于人类大脑行为的一种模拟。计算的本质是模拟,人工智能是在算力和数据之上叠加了一种适当的算法,所以它依然是计算,它做的具体的应用场景是对人的大脑进行了一些模拟。
今天我们来看人工智能这个领域到底发生了什么问题。这个领域在几年前投资非常热,有大量的热钱涌入,包括所有的媒体都在炒人工智能,非常像十年以前所有的媒体都在炒云计算和大数据,炒来炒去,很多人也没搞明白什么是人工智能,最后发现在人工智能相关产业里,能够有所成就的公司也并没有大家想象的那么多。
到底问题出在什么地方?我自己认为,这个问题依然是出在计算的应用场景上面。如果我们认为计算是模拟,人工智能就是计算机对人的大脑进行的模拟。但从产业价值的角度,仿人只仿到感知,价值是不够的。必须要让这个模拟的大脑能够动起来。如果你只模拟人的大脑的感知能力,你就只能让他去看,让他去听。目前的一些有所成就的人工智能企业,依然还停留在看和听等强感知强相关的产业上。
我认为,未来人工智能真正的应用场景是解决行动能力之后,对劳动力密集型的产业进行大规模的替代,也就是说,很多简单的重复劳动未来有可能会被人工智能所设计出来的机器所取代。
举个例子,比如现在在很多商场和社区里可以看到有很多自动扫地机器人,也有一些半自动的,还有一些送餐的机器人,它们已经在商场和社区里活动了。我认为这样的趋势在未来三到五年之后,很快就会普及。
所以今天,你如果工作在一个劳动力高度密集型的企业,那应该尽快地开始考虑,如何用人工智能对劳动力密集型的相关工种进行升级,当然对应的,它一定会出现新的工种,新的工种会操作人工智能的相关设备和机器。
我们永远不要把机器想得过于完美,所以很快就会出现新的工种,这种工种它有新的知识,理解人工智能系统,同时做更多的慢决策。我们知道大脑分为 System1 跟 System2,System1 主要是用于处理感知的快速反馈,到了 System2 开始做慢决策,要做很多认知推理的工作,这一类工作可能是未来机器不能做,主要靠人做的事情。
在今天这个时代,计算领域可能会发生几件比较重要的事情:
第一个就是关于资源利用率的继续提升,以及云计算商业模式的重新设计。
第二就是关于数字化经营,这个事情可能很快就会到来,会带来各行各业的产业化升级。给大家汇报一下,目前我在阿里云负责整个数字产业的相关产品工作,我的产品经理涉及到 50 个行业,可以看到,在每个行业都存在数字化转型升级的巨大机会。
第三个就是关于人工智能未来的主要应用场景,不是大家想象的科幻电影里的那些东西,我认为在今天,很难让人工智能去做慢决策,但是今天很快就会发生的是,劳动力密集型产业会出现一次巨大的产业升级。
计算的未来
最后我想跟大家再汇报一下,我是怎样去思考计算的未来的。
刚才前面一直讲到计算的本质是在做模拟,事实上在大概 200 年前,莱布尼茨的一个愿景就是希望通过符号化的体系,基于符号之间的运算来去模拟世间的万事万物,从而发现其中的规律,这个愿景到了图灵和冯·诺依曼时代得到了巨大的实现和落地。这中间已经过去了一百多年,但是到今天,我认为莱布尼茨的这个梦想依然没有实现。
我个人认为计算的本质是模拟,在未来,计算应该要去做的是从模拟走向创造,这个应该是未来 30 年,甚至是未来 50 年的事情。
昨天杭州的云栖小镇开了 2050 大会,这是一个年轻人的大会,2050 大会的背景等是到了 2050 年,全球的人口应该是年轻人会超过中老年人,是一个很不一样的时代。我在昨天的2050大会上跟参会的人分享了计算未来 30 年到底会怎样走,主要就是在谈计算的未来如何从模拟走向创造。
我认为在过去,我们主要是通过计算去提升了各行各业的效能。在电子计算机之前是机械计算器,比如莱布尼茨就设计过机械的计算器,它能够做简单的四则运算,但是到了冯·诺依曼时代,我们基于电子计算机,能够将这样简单的计算器的效率提升了千万倍,所以才能够做到以前做不到的事情,才能够设计出飞在天上的飞机,我们的人造卫星才有可能被实现。这所有的计算过程,我认为都只是对于现实世界的一种模拟。
比如淘宝就是计算对于购物过程的一种模拟,淘宝下面是一台计算机,上面算法的应用场景是对于购物场景的一种模拟。同样的,今天我们看到百度也好,或者是腾讯也好,他们在应用场景方面做的事情都是模拟,但都没有走向创造。真正走向创造的,或者说更接近一点的是游戏公司。
我觉得在未来,是有可能让我们的精神更多地生活在一个虚拟的世界中,这个世界极大地释放了人类的想象力,甚至每个人都可以基于计算机技术去构建一个自己的世界,让更多的人参与其中,去设计新的经济模式、新的社会模式,让人与人都能够在其中进行大量的互动。
我是一个游戏爱好者,我是从上大学开始玩游戏的,我认为未来每一个孩子都是会打游戏的。我不知道有多少人玩腾讯的“某某荣耀”,反正我挺喜欢这个游戏的,但是你会发现它里面还有游戏的分区,我认为这件事情从计算的角度来看是匪夷所思的。它为什么还需要分区呢?为什么不能上千万人同时在一个大区里面玩呢?这是因为我们今天的计算能力还没有办法去做到,它只能做到非常简单的交互和体验。
未来,当这些计算的瓶颈被突破之后,我们就有可能创造一个新的时代,有可能基于我们现在的世界,重新去构建一个更美好的未来。我们现在的世界存在很多缺陷,如何让它变得更好?模拟是一种方式,创造一个新的世界也是一种方式,里面会有新的精神生活、新的经济模型、新的就业,所以我认为这是可能未来人类会走向的另外一个方向。
在未来的 30 年到 50 年,我不知道我有生之年能够做到什么程度,但是我会继续奋斗在这条道路上,也希望未来有志同道合的人可以一起来,我们来一起做一点跟计算相关的事情。
如果我们从计算的整个历史发展脉络来看,我们回顾计算的过去,从数学开始到图灵和冯·诺依曼时代,有了一个巨大的进步。今天,我们在解决眼下的资源利用率和算力的问题、算法的问题,要想走向未来,我认为最重要的是要解决计算真正的应用问题,从而走向创造。
今天就跟大家分享这些,谢谢大家。(完)
你可能还想看
1. 如何做慢SQL治理?
2. 对话阿里云飞刀:数据库迎来开源新时代
3. 进入“后红海”时代,大数据体系到底是什么?
4. 阿里云工程师带你去东京看奥运
5. 直播时各种背景原来是这样实现的!
END
关注「凌云时刻」并设置星标✨精彩推送不错过✨