“软件2.0“的时代正在到来
“构建一个聪明的机器”是2015年时英国著名AI实验室DeepMind创始人提出的愿景——我们让机器变得很聪明,然后利用聪明的机器人解决其他的科研问题。在Graphcore看来,机器的智能不能用“相当于几岁小孩的IQ”或“相当于几岁小孩的EQ”这样简单地类比,机器的智能体现在数据处理上——从数据学习中获得智能。

如今我们正在从“软件1.0”时代向“软件2.0”时代跃进,即在定义了一些基本的数字和方法后,通过数据学习从而获得某些功能。所以我们认为机器和“软件2.0”时代的方法结合,就是在构建智能的机器系统,这也是Graphcore为之奋斗的事业。
构建计算系统,有人传承,有人颠覆
数据,好比人们开采的石油、矿产;算法,好比精炼矿石、石油的方法;计算,好比熔炉。在Graphcore看来,一个AI系统,是否具备可用性主要取决于算法。不管是个人消费者还是工业使用者,在某个使用场景,某个时机,能否使用AI解决问题?其重要判断依据之一是该AI算法能否达到人类或是超过人类对某个任务的处理水平。
同时,衡量一个方法能否被大规模推广、使用,很大程度上取决于计算系统。虽然我们可以粗暴地增加系统的宽度、深度、数据量等,使其最终提高精度,但这种算法显然不具备经济效益从而无法被大规模地推广。
当业界在构建计算系统时,通常采用两种方法:一种是“向领头羊看齐”。通过学习领头羊的成功经验,进行一些基于学习的创新。第二种方法更加大胆——从事情的第一性原理出发,寻找要解决的本质问题,探索解决该问题更好的方式,我们称之为颠覆式创新。

以上两种方法没有优劣之分,因此我们看到了AI领域的不同产品、发展的重点与方向。以比较典型的TPU为例,TPU是特别针对AI应用场景进行了深度定制的DSA的处理器——选用了脉动阵列,尤其针对AI场景使用了非常多矩阵乘法。它的第一代处理器系统做得非常极致,只有一个芯片并在一个核里面集成了大量脉动阵列,而在最新的系统里面有4个核。在TPU的计算系统里,其存储架构与GPU、CPU是类似的——芯片里面有比较小块的片内的缓存,片外最早它们使用的是DDR,如今则使用像HBM这样的高速内存接口,所以基本上就是TPU的计算架构属于核的数量非常少,但核的个头非常大,加上层次化的存储结构,使得TPU这个系统十分适合做AI计算中的稠密运算。而GPU作为被广泛使用的AI计算系统,也属于层次化的存储结构,片内缓存搭配非常大的片外的存储,计算结构上GPU拥有一百多个核,也比较适合稠密计算的操作。
与GPU和TPU相比,IPU的优势在三方面:第一,IPU是众核架构,一枚芯片中拥有一千多个核,凭借更多的核获得优势。第二,IPU的存储系统与GPU、TPU都不同,IPU在片内集成了巨大的SRAM,例如第二代和第三代产品,我们都在单芯片内集成了900兆比特的片内的存储,同时IPU的片段存储是分布式架构,因此非常适合做一些稀疏化运算和细粒度运算。第三,IPU的通信系统与GPU、TPU非常不同,IPU的通信系统采用的是基于编译的通信方式,某种意义上说IPU芯片跟芯片之间的通信的机制与芯片内部核与核之间通信类似。无论是单独一颗IPU还是一百甚至几千颗IPU通过统一编译框架,从而能够把计算图以及通信等一起进行规划。
挖掘计算潜力,突破算力瓶颈
前面分享了我对计算系统的思考,但其实,我认为做出芯片只是刚刚获得了AI计算的入场券而已,若想真正下场参赛,重点是软件。软件底层是AI计算平台,如GPU、TPU、IPU等计算平台之上,软件人员需要XLA、TVM、ONNX等,再往上是一些高层的框架比如PyTorch、PaddlePaddle之类的框架,再往上便是高层的算法库。
AI的发展和生物界有些类似——从最开始的视觉功能,接着是智能生物如人类产生的语言功能,进而可以处理更多的信息以及更加高级的任务。同理,一个模型应当能进行语言、视频的处理,以及图片、语音的分析,甚至生成图片和语音,以此为基础构建处理不同任务的能力。如今AI在感知方面尤其是以计算机视觉为核心的相关应用以及语言处理能力方面,已经非常成熟了。毫无疑问,AI模型的体量最终会变得十分庞大,相信我们会在不久的将来看到万亿规模的模型成为主流。不仅如此,AI应用的种类也非常多样化:视觉的、语言的、语音的,还有在上面构建相应的框架,做一些大数据、数据库、数据分析等相关的应用。如果异构计算也实现了多样化,那么开发者所需要面对的是X个硬件*Y个框架*Z个应用的复杂且割裂的排列组合。
Graphcore IPU的设计理念与AI模型的发展规律十分契合。专为AI而设计的IPU,能够提供高效的AI计算,实现数倍甚至数十倍的性能提升,而由于IPU系统的灵活性和可扩展性,未来在大规模的应用和部署上将会发挥更明显的优势。同时,Graphcore更于今年3月宣布将在2024年推出Good Computer™(古德计算机)——使用IPU符合AI计算特点的架构,针对超大规模的计算而构建的系统。Good Computer™提供超过10 Exa-Flops的AI浮点计算,助力开发超过500万亿参数的AI模型。未来,人们将以高效的AI计算,赋能开发、运行、部署人类大脑规模的AI应用,届时AI的潜力,将更上一层楼。
算力搭配算法加速AI落地
OpenMMLab算法框架一直以开箱即用、高度可扩展化享誉AI社区。迄今,OpenMMLab已开源了超过20个算法库。OpenMMLab在MMCV的最新的版本里面,已经开始支持Graphcore的IPU了,当前已经支持ResNet、ViT等模型。新增的算子和优化后的特性将为AI的产业化进程做出贡献。
借助OpenMMLab在视觉领域多元化的生态以及丰富的算法库,Graphcore将能为广大的客户快速提供不同场景的解决方案。OpenMMLab的用户仅需加入一个简单的参数便可以轻松将模型训练部署到IPU上,充分利用IPU所提供的高效算力,加速AI的落地。
AI正在进入飞速发展的成熟期,而Graphcore正聚焦于为用户提供通用的高性能算力。这次合作正是借助OpenMMLab在视觉领域多元化的生态,为广大客户快速提供不同场景的解决方案。在未来,我们将携手各领域的客户,用更强大的AI算力赋能千行百业的转型、升级,和智能化发展。