ChatGPT有多强?这取决于这个问题提出的时间。一个月以前,这可能还是个问题。但是,当ChatGPT连续创造纪录、并不断颠覆人们认知的现在,这已经不是个问题了。真正的问题是,ChatGPT如何变得这么强?
有人做过统计,ChatGPT需要超过1万颗A100 GPU提供算力支持,单次训练成本超过400万美元,每天成本超过10万美元。「算力」,再一次被推到所有人眼前,但其实这并不是一个新概念。
顾名思义,算力指的就是计算的能力。如果你从来没听说过这个词,或许可以把它等价成A100的数量。但很多人还没意识到的是,算力已经像水、电、气一样,成为了我们现代社会不可或缺的关键基础资源。
也正是因为看到算力的重要性,包括亚马逊微软谷歌阿里腾讯在内的这些国内外的顶级科技巨头,已经早早地把业务重点转向云计算了。而云计算的本质,就是希望能像自来水一样,为用户提供源源不断的算力。拧开水龙头就会出水,插上电源就会有电,未来接上算力网络,就能使用云端的大量算力。
云厂商为何要自研芯片
云计算领域的一个重要趋势,就是这些云计算和互联网大厂都在纷纷自研芯片,包括亚马逊云科技、微软、阿里云都是如此。他们并不是在玩票,而是把自研芯片作为自己的核心竞争优势和主要的差异化。
要说清楚为什么云厂商要自研芯片,就要首先看一下云计算里的一个「不可能三角」,也就是说在云计算里,性能、成本、安全性,这三点不可同时兼得。如果既要又要,就不能还要。比如,追求高性能和低成本,那安全性就要妥协;追求低成本和高安全,那就很难做到高性能;如果既要高性能又要高安全,那成本肯定低不了。
不可能三角出现的本质原因,就是市面上的那些通用软硬件并没有针对特定场景做优化。比如CPU厂商提供的处理器芯片,并不是专门为了某个云厂商的实际应用专门设计的,那么在核心数量、主频、缓存大小,以及软件的并行性支持和应用开发上,肯定不会优化得那么深入。这就像去商店买的公版的衣服或许也不错,但肯定不如裁缝量体裁衣来得合适。
于是,这些财大气粗的互联网和云计算大厂,就纷纷开始下水自己做芯片了,而亚马逊云科技,应该算是最早吃螃蟹的那个。
Nitro:亚马逊云科技的基石芯片
Nitro是亚马逊云科技自研芯片的起点,从2013年推出首颗Nitro芯片起,它已经经历了4代迭代,并且已经成为驱动当今所有EC2实例的基础性技术。我们先介绍下Nitro的技术特点,然后来看看这次大会上发布的最新一代Nitro v5芯片。
从广义上来说,Nitro并不是单独的芯片本身,而是由多个芯片和板卡组成的基础架构,可以实现存储访问、加密、监控、实例配置等等几乎所有的工作。对于云计算、特别是公有云来说,Nitro最重要的意义就是帮助CPU减负。也就是说,它能把数据中心里的「网络」「计算」「存储」这些基本功能都从CPU里卸载出来,从而释放CPU宝贵的内核资源。专用的Nitro卡可以实现高速网络、高速EBS和I/O加速,不需要在CPU上运行额外的管理软件。
同时,Nitro系统还能虚拟出来一个统一的用户接口,不管底层硬件用的是x86 CPU、ARM CPU,甚至是苹果的Mac硬件,对于用户来说都没有区别。这种软硬件的解耦,就极大地释放了软硬件设计的灵活性,让二者不会相互掣肘,这也是亚马逊云科技能大规模部署基于ARM架构处理器的本质原因。
当然,Nitro出现的本质原因还是基于安全性的考虑,这也一直是Nitro的核心功能之一。比如它会阻止主机之外的任何系统登录或读取基于Nitro的实例内存,从而在硬件层面直接保障安全性。
也就是说,Nitro的核心设计理念,就是为了很好地平衡前面说到的那个云计算「不可能三角」,它并不是为了追求单个领域的极致,而追求的是三个重要因素很好的平衡。
去年底,亚马逊云科技召开了一年一度的re:Invent大会,并发布了最新的Nitro v5芯片,重点聚焦在通信带宽的提升:PCIe带宽提升2倍、DRAM速度提升50%、数据包处理速度提升60%、通信延时降低30%。和前一代相比,Nitro v5的晶体管数量增加一倍,并由此带来每瓦性能40%的提升。
事实上,大会上并未公布Nitro v5的架构细节和制造工艺,但这对于用户来说可能并不重要,毕竟用户不会单独购买或者使用Nitro本身,它已经作为每台EC2服务器的基础设施而存在了。有了Nitro的高性能和虚拟化功能的加持,也给用户提供了更多的计算实例。在2022年初,EC2实例有400多款;经过一年的发展,已经超过600款。这就让算力的供给更加快速和灵活。
Graviton3E:一切为了高算力
除了Nitro,亚马逊云科技还有一个看家芯片,那就是基于ARM架构的服务器CPU芯片Graviton。
很多人认为,和x86架构相比,ARM架构不适合用于数据中心或者高性能计算领域。但事实上,决定性能的并不是指令集,而是微架构。Graviton系列处理器不仅能取得高性能、更能兼顾ARM架构低功耗的优势,从而实现更好的「性能功耗比」。和x86实例相比,基于Graviton3的实例能取得高达60%的每瓦功耗提升。
在去年的re:Invent大会上,并没有发布第四代Graviton芯片,但在第三代的基础上增加了对高性能计算的优化。具体来说,就是特别优化了对向量计算和浮点计算的支持。这也是ARM架构进一步进军HPC的重要尝试。要知道,性能在HPC领域只是重要因素之一,同样重要的还有功耗、成本、性价比。在这些方面,ARM架构无疑有着更大优势。再加上自研芯片的加持,通过大规模部署进一步摊薄成本,就会让性价比进一步提升。这些才是这些云厂商自研处理器芯片的本质动力。
除了硬件,软件同样重要
云计算未来的发展方向,肯定是软硬件协同优化。就像木桶里不能存在短板一样,芯片和算力上去了,软件也不能拉胯。所以对于云厂商来说,芯片和硬件只是一小部分,剩下的主要部分,都集中在软件和系统层面的创新。
比如在协议层面,亚马逊云科技提出了新的网络协议SRD(Scalable Reliable Datagram),和TCP的单路径相比采用了多路径路由,并且可以乱序传输数据包,从而达到更高的吞吐量。
在服务层面,他们继续加码serverless,这也是全球云计算领域最近的最大热点。这个可以稍微展开说说。
Serverless「无服务器」这个概念最早出现在2012年左右,它的核心思想就是让开发人员不需要关注服务器的物理限制和资源管理这些底层细节,而是把重点放在服务和任务本身的开发,专注于构建产品和应用,让整个开发过程更加敏捷、成本更低。
Serverless给开发人员提供极大便利,但势必需要底层的硬件和基础设施的更好配合与支撑,这就极大考验云服务提供商的能力。亚马逊云科技在2006年就搭建了类似思路的Amazon S3存储服务。然后在2014年,发布了著名的Serverless计算服务Amazon Lambda,直到目前已经有超过百万用户、每月的调用请求量超过100万亿次。
在他们最新的产品中,针对erverless的冷启动问题推出一个名叫Lambda SnapStart的新功能。它在首次启动时会执行标准初始化,并且将内存和磁盘状态进行快照并缓存。当面对大量服务要进行初始化和扩展的时候,可以用SnapStart的快照机制实现直接启动,从而跳过初始化的过程,这样就极大提高了冷启动延时。根据大会上的数据,Lambda Snapshot可以将启动延时降低90%以上。
云计算的未来发展
云计算的未来发展,有两个大概率的趋势,一个是自研芯片仍然会是这些云计算大厂未来发力的重点,另一个是软硬件的协同优化也将不断获得更多关注。这些趋势的本质目的,就是为云计算的客户提供更强、更灵活的算力。
事实上,算力的「基础设施化」,也已经成为了未来发展的必然趋势。开头提到的「东数西算」,就是要建立全国一体化的算力网络,就像水网、电网一样,让算力网变得更加普及。
农业时代的标志是水的合理使用;工业时代的标志是电的广泛应用。现在通过云计算,已经在一定程度上实现了算力能像水和电一样能随用随取。但是如何获得性能更高、更安全、更节能的算力,仍然是云计算厂商和学术界不断探索的课题,一旦解决,或许就会开启人类社会的新时代。
用中国工程院院士孙凝晖的话说,算力时代是算力的基础设施化时代,是走向智能时代的必由之路。