齐健
Graphcore是一家总部位于英国的创新公司,其主要业务是研发专门应用于AI技术的创新芯片——IPU(Intelligence Processing Unit)。自2016年成立以來,就受到了业界、市场和资本的高度关注。截至目前,Graphcore的总融资额超过4.5亿美金,其全球办公室遍布欧洲、亚洲和北美。
随着Graphcore IPU(智能处理器)硬件及其开发软件Poplar在人工智能行业的日益升温,日前,Graphcore又发布了Graphcore IPU的第二代产品Colossus Mk2 GC200,以及可以用于大规模系统级产品的IPU- Machine: M2000(IPU-M2000)。第二代IPU具有更强的处理能力、更多的内存和内置的可扩展性,可处理庞大的机器智能工作负载。
“从单一芯片来看,Colossus Mk2 GC200处理器是目前世界上最复杂的单一处理器,基于台积电的7纳米技术,我们在一颗823平方毫米的IPU处理器中集成了将近600亿个晶体管。Colossus Mk2 GC200拥有250 TFlops AI-Float的算力和900MB的处理器内存储。处理器内核从第一代IPU的1 217个独立的处理器内核提升到了1 472个,这样一个IPU处理器有将近9 000个单独的并行线程。相对于第一代产品,其系统级的性能提升了8倍以上。”Graphcore高级副总裁兼中国区总经理卢涛介绍说。
IPU处理器的颠覆性突破
相比于Graphcore的第一代IPU产品,Colossus Mk2 GC200在技术上实现了三大颠覆性的突破:计算、数据和通信。
在计算方面,Colossus Mk2 GC200处理器继承了上一代IPU的简洁架构,在单颗芯片中集成了1 472个独立的IPU-Tiles的单元,并设置了8 832个可并行执行线程,In-Processor-Memory从上一代的300 MB提升到900 MB,每个IPU的内存带宽为47.5TB/s,与上一代IPU相比Colossus Mk2 GC200的峰值算力提高了两倍。同时Colossus Mk2 GC200还包含了IPU-Exchange以及PCI Gen4跟主机的交互接口,在芯片之间具备带宽为320 GB/s的IPU-Links互联。
在数据处理方面,Colossus Mk2 GC200具备900 MB超高速SRAM,在每个处理器内核旁边都设有大量RAM,以实现最低能量访问。从数值上看,Colossus Mk2 GC200的处理器存储容量比前代的300 MB提高了三倍,但在芯片内部,可供算法模型使用的激活、权重存储容量比上一代提高了六倍以上,对于提升有效的运算效能大有帮助。
此外,Graphcore的Poplar软件提出了全新的交换式存储概念——IPUExchangeMemory。通过IPUExchangeMemory访问Streaming Memory,可以支持具有数千亿个参数的最大模型,每个IPU-M2000都可以支持密度高达450 GB的IPU ExchangeMemory,以及180 TB/s的带宽。与采用HBM技术的芯片相比,Graphcore在每个IPU-M2000设备中通过IPU ExchangeMemory技术,可以提供近100倍的带宽以及大约10倍的内存容量,这对于很多复杂的AI模型算法是非常有帮助的。
在通信方面,Graphcore专门为AI横向扩展推出了全新的IPU-Fabric结构。IPU-Fabric结构主要由三种网络IPU-Link、IPU Gateway Link和IPUoverFabric三种网络组成,其可以实现2.8 Tbps的超低延时,并且支持AI运算中的集合通信以及全缩减(All-Reduce)操作。此外,通过IPU-Fabric技术,用户可以通过直联,或者以太网交换机实现IPU的横向扩展,把设备集群从一个、几个、几十个、几百个甚至几千个无缝扩展至最高64 000个IPU。
在Colossus Mk2与Mk1的系统级对比中,Graphcore分别选择了利用IPU-Link连接8个C2 PCIe卡的IPU服务器和利用IPU-Fabric扩展的8个IPU-M2000进行对比。在BERT-Large训练、BERT-3Layer推理和EfficientNet-B3训练三个典型的应用场景中,BERT-Large训练实现了9.3倍的性能提升,BERT-3Layer推理实现了8.5倍的性能提升,EfficientNet-B3训练实现了7.4 倍的性能提升。卢涛表示,“相较于前代产品,不管是典型的NLP应用,还是CV类的应用,在8个C2的IPU服务器和基于8个M2000的服务器的系统级性能对比中,Colossus Mk2 GC200都可以实现平均八倍左右的性能提升。”
大规模可扩展的IPU-M2000刀片卡
IPU-Machine:M2000(IPU-M2000)是一款即插即用的机器智能刀片式计算单元,采用Colossus Mk2 GC200内核,并由Poplar软件栈提供全面支持。其设计便于部署,并支持可扩展至大规模的系统。这款纤薄的1U刀片机可提供1个PetaFlop的机器智能计算,且拥有450 GB的ExchangeMemory,以及可以为用户提供超低延时通信的2.8 Tbps IPU-Fabric。IPU-M2000目前的建议零售价是32 450美金。
IPU-M2000有多种配置形态,用户可以根据自己的需求利用IPU-Fabric对IPU模块进行横向扩展。同时,Graphcore还推出了基于IPU-M2000的全新模块化机架规模解决方案IPU-POD64,可用于极大型机器智能横向扩展,为用户提供更大的AI计算可能性,以及完全的灵活性和易于部署的特性。
IPU-M2000是IPU-POD的一个基本组件,一个IPUPOD64的参考架构里支持16个IPU-M2000,可以根据不同的工作负载进行不同的配置,并且具有64颗IPU、16PFlops的算力、58GB的In-Processor-Memory,以及7TB的流存储。此外,IPU-POD64支持2D-Torus的拓扑,最大化IPU-Link的带宽,全缩减(All-Reduce)的效率比网状拓扑快两倍。
利用Graphcore最新的IPU-Fabric技术,用户可以在整个数据中心内连接IPU,把IPU-M2000从一个机架式本地系统扩展到高度互连的超高性能AI计算设施中的1 000多个IPU-POD64系统。IPU-M2000的设计使客户可以在IPU-POD配置中构建最多64 000个IPU的数据中心规模系统,这样一个64 000个IPU的集群可以为用户提供16ExaFlops的机器智能计算能力。
Graphocore在多核协同应用方面,应用了针对IPU协同的BSP(Bulk Synchronization Parallel)机制,通过软件+硬件+编译的协同机制,实现超大规模线程的同步。Graphcore中国区技术应用总负责人罗旭介绍说,BSP机制其实并不是一个新的概念,很早之前在超算领域就被人提出过,而Graphcore在BSP机制的基础上把IPU芯片以及整个编译器结合起来,利用IPU-Fabric,实现了IPU的多核协同工作,并保证大规模并行处理过程中的性能提升线性。
圍绕IPU构建的开发环境
Graphcore的IPU应用软件Poplar包括了PopART(run time)和PopLibs(SDK)两个部分。Poplar支持的算法框架包括PyTorch、TensorFlow1、TensorFlow2和ONNX,对百度PaddlePaddle的支持也会尽快发布。开发者通过PopART和PopLibs连接Poplar的compute graph,再通过graph compiler在整个处理器软件跟硬件结合最紧密的地方生产计算图,并把这个计算图加载到对应的硬件,也就是IPU-M2000整个这一系列的产品中。
Graphcore最新发布的PoplarSDK1.2可以完全支持主流数据中心的操作系统,包括ubuntu、RedHat和CentOS等。Poplar SDK 1.2还优化了卷积库和稀疏库,开放了可扩展的Poplar库,集成了很多先进的机器学习框架,进一步开放了低级别的API,为上层的算法提供低层次的API接口,并开放了Graphcore的独特技术IPU Exchange Memory的相关API和管理功能,帮助用户对模型性能做出最大程度的调优。
Graphcore还为用户提供了基于图形的分析工具Graphcore PopVisionGraph,可以做到基于算子层面检测整个系统。以图形界面的形式呈现内存使用、算力使用等信息,并针对IPU的特性进行性能调优。
GraphcoreIPU开发者云
目前Graphcore在中国的首款IPU 开发者云已经在金山云平台完成了部署,其中使用的IPU产品包括三种: IPU-POD64、浪潮IPU服务器NF5568M5,以及戴尔IPU服务器DSS8440。Graphcore的IPU开发者云支持当下最先进、最复杂的AI算法模型的训练和推理的工作,例如ResNeXt和EfficientNet等以分组卷积为代表的机器视觉应用,LSTM、RNN和GRU等基于时序分析的应用,还有自然语言、广告推荐和金融算法等方面的模型。
Graphcore的IPU 开发者云为商业用户提供三周左右的试用期,对于高校、研究机构和个人开发者则提供六个月左右的免费试用,Graphcore还为应用机器智能辅助人类突破人类潜力的研究者,例如针对新型冠状病毒COVID-19的相关研究提供优先访问使用权。
在用户社群建设方面,Graphcore一直在努力筹备中国的创新社区,并在微信、知乎、微博,以及GitHub等平台与开发者、创新者及研究者积极互动,Graphcore的中国官网“拟未科技”也将于近期上线。
后记
“Graphcore当下的主要工作分为三个部分:第一部分是专门为AI应用从零开始设计的IPU处理器。第二部分是基于IPU处理器以及面向AI应用的Poplar软件栈,以及相关开发工具。第三部分是围绕硬件和软件共同打造IPU平台。”卢涛介绍说,“Graphcore的愿景是在CPU和GPU之外‘画出第三个圆,因为我们认为不管是CPU还是GPU都没有从根本意义上解决AI的问题。AI是一个面向计算图的计算任务,跟CPU的标量计算和GPU的矢量计算都是不一样的。Graphcore希望IPU能够帮助创新者在机器智能中实现下一步算法的突破。Graphcore芯片架构的特点能够为模型开发、算法迭代带来速度的提升,从而实现进一步的突破。”