嵌入式
返回首页

Graphcore 第二代IPU能否让AI焕然新生

2020-07-31 来源:EEWORLD

在AI浪潮推动下,大量新奇的AI应用迅猛而生。但这些应用非常场景化,既需要成熟的CPU和GPU,也需要全新的AI处理器。IPU(Intelligence Processing Unit)就是一种为AI计算而生的革命性架构,如今,IPU已经在金融、医疗、电信、机器人、云和互联网等领域取得成效。

 

Graphcore开放Poplar计算图库源代码


近日,英国初创公司Graphcore发布了第二代IPU以及用于大规模系统级产品IPU-Machine: M2000(IPU-M2000),新一代产品具有更强的处理能力、更多的内存和内置的可扩展性,可处理极其庞大的机器智能工作负载。据了解,IPU-M2000可构建成IPU-POD64这一Graphcore全新模块化机架规模解决方案,可用于极大型机器智能横向扩展,提供前所未有的AI计算可能性,以及完全的灵活性和易于部署的特性。它可以从一个机架式本地系统扩展到高度互连的超高性能AI计算设施中的1000多个IPU-POD64系统。

 

 

这款即插即用的机器智能刀片式计算单元能有出众的性能,得益于Graphcore全新的7nm Colossus MK2(也叫IPU GC200),并由Poplar®软件栈提供全面支持。

 

可不要小看那这块IPU,它是台积电7nm工艺的成果,晶体管数量高达594亿个,裸片面积达到823平方毫米。这比两个月前英伟达最新发布的安培架构GPU A100的540亿个晶体管增加了10%。

 

Graphcore发布第二代IPU GC200,超越全球最大7nm芯片A100!晶体管数高达594亿

 

IPU是一种全新的大规模并行处理器,此前报道,他们已经推出了基于台积电16nm工艺集成236亿个晶体管的GC2 IPU,120瓦的功耗下有125TFlops的混合精度、300M的SRAM能够把完整的模型放在片内。

 

据介绍,Graphcore最新的MK2对三大技术——计算、数据、通信进行了颠覆性突破:

 

1.计算

 

Mk2 GC200处理器是比较复杂的单一处理器,基于台积电7nm技术,集成了将近600亿个晶体管,拥有250TFlops AI-Float的算力和900MB的处理器内存储。处理器内核从上一代1217提升到了1472个独立处理器内核,从而达到有近9000个单独的并行线程。相对于第一代产品,其系统级的性能提升了8倍以上。

 

 

说到处理内存,可大致分为两部分:一部分是程序存储(Program Memory);另一部分是模型存储空间(Available Memory);当时的MK1拥有300MB SRAM,算是单一芯片里面最大的存储容量,在相同程序存储空间下,MK2拥有更大的Available Memory,相当于6倍以上的处理器内有效存储,大大提高了运算效率。这也使得每个IPU  Memory的带宽是47.5TB/s。同时还包含IPU Exchange以及PCI Gen4跟主机交互接口;互联速度(IPU-Links)也达到了320GB/s。

 

 

一个M2000的盒子里集成了4个GC200处理器,具有1PFlops16.16的算力,和近6000个处理器核心,以及超过35000个并行线程,In-Processor-Memory达到3.6GB。

 

 

2.数据

 

在处理数据方面,Graphcore提出了IPU Exchange Memory交换式存储的概念,较之英伟达HBM技术产品,Graphcore在M2000每个IPU-Machine里面通过IPU Exchange Memory,提供了将近超过100倍的带宽以及大约10倍的容量,这对于很多复杂的AI模型算法大有裨益。

 

3.通信

 

IPU-M2000具有内置的专用AI联网IPU-Fabric™。Graphcore创建了一个新的Graphcore GC4000 IPU-Gateway芯片,该芯片可提供令人难以置信的低时延和高带宽,每个IPU-M2000均可提供2.8Tbps。在从数十个IPU扩展到数以万计个IPU的过程中,IPU-Fabric技术使通信时延几乎保持恒定。卢涛表示:“它可以从一个机架式本地系统扩展到高度互连的超高性能AI计算设施中的1000多个IPU-POD64系统。它还可以做到2.8Tbps超低延时,同时最多可以支持64000个IPU之间横向扩展。通过直联或者是以太网交换机等技术做互联。此外,IPU-Fabric支持AI运算里面的集合通信或者全缩减(all-reduce)操作,这也是专门为AI应用从零开始设计的技术。”

 

IPU M2000的相关性能如下:

 

易于部署;

内含4个GC200 IPU,可达到1 PetaFlop 计算;

450GB Exchange Memory;

2.8Tbps IPU-Fabric,具备超低时延通信;

可满足最苛刻的机器智能负载;

 

 

罗旭介绍:“随着IPU-M2000和IPU-POD64的推出,Graphcore进一步扩大了在机器智能领域的产品竞争优势。通过技术创新实现更强有力的产品线,这些创新能够提供客户所期望的行业领先性能。对于寻求将机器智能计算添加到数据中心的客户而言,Graphcore最新推出的IPU-M2000凭借其强大的算力、易于扩展的灵活性和突出的易用性,将具有极强的可行性和价值提升潜力。”

 

IPU MK2 VS IPU MK1,性能猛蹿

 

拥有如此先进架构的IPU Mk2性能如何?据介绍,第二代IPU GC2000(MK2)与第一代IPU(MK1)相比,实际性能提高了8倍。

 

在计算、数据和通信这三块分别做了非常大的改进,总结下来有三大区别:

 

1.计算方面,它达到了两倍以上的peak能力,也就是Mk2峰值算力比Mk1的峰值算力高两倍,尤其是数据这块差别会很大;

2.基于六倍以上的处理器内有效存储,加上超过446GB的 IPU-Machine的流存储,其内存上的提升远非纸面上多出的600MB的优势;

3.基于大规模横向扩展IPU-Fabric技术,互联性能更强;

 

Mk2跟Mk1在系统级的对比,通过三个场景的比较,MK2都处于平均8倍的性能提升。

 

../Desktop/nigel头像.png

 

Graphcore联合创始人兼CEO Nigel Toon表示,GC200是目前世界上最复杂的处理器,可使创新者实现AI的革命性突破。

 

在IPU面前,GPU显得力不从心?

 

IPU的设计基础是Graphcore对于机器智能的Workload的理解。在所有形式的机器智能计算中,Graphcore试图从数据中推断知识模型,然后使用这些学习的模型从其他数据推断出新的结果。所以在很大程度上,工作量是由知识模型的性质来定义的。知识模型和对它们执行推理所需的算法最自然地表示为计算图。因此,他们用计算图来作为机器智能的基础表示方法。

 

 

其中计算图有以下特征:

 

1. 规模大,包括数千到数百万个顶点,意味着巨大的并行性;

2. 稀疏,必须在架构上适应这种稀疏性,因为它对处理器之间的存储器访问模式和通信模式有重大影响;

3. 数据的统计近似值;

4.模型参数的重用性,简单来说,卷积是空间重用,而回归是时间重用。这种重用可以获取数据中的空间或时间不变性。同时,如果重用参数,则会将其作用于给更多的数据,从而更快地学习;

5. 图形结构可以被视为静态,这对于构建高效的并行计算至关重要;

 

对于稀疏性,还可以更进一步说明。当我们把图模型存储到物理可实现的存储器中的时候,存储器访问的有效稀疏度进一步增加。例如,一个图中的顶点可能连接到同样接近的100个相邻顶点。但是,如果我将该顶点的状态存储在具有线性地址的存储器中,则它只能有两个直接邻居。在低维存储器中存储高维计算图的效果是使邻域分散在存储器中。这对于非常宽的向量机(如GPU)来说是一个潜在的问题。图处理有利于更细粒度的机器,从而有效地分散和收集(scatter and gather)数据。

 

 

在原生稀疏计算方面,把计算和数据结合起来看,就会看到IPU跟GPU截然不同的表现。无论是数据还是计算非常密集的情况下,从块稀疏(block sparse)到动态稀疏(dynamic sparse),GPU的表现实际上都很出色,但随着数据稀疏性越来越高,IPU的优势会越来越明显,比GPU领先10到50倍的性能。

 

这就是为什么IPU拥有比GPU更多的处理器,每个处理器都设计用于处理较窄的向量。基于上述对机器智能的Workload的理解,Graphcore提出了IPU的设计。和CPU (scalar workload),GPU (low-dimensional workload)相比,IPU是为了high-dimensional graph workload而设计的。

 

NLP方面,一机八卡的配置,IPU可以达到36.3小时的训练时间,提升了25%。

 

 

在分组卷积内核中,ResNeXt类型的模型下,Benchmark相对竞品有一个4倍到100倍的性能提升。

 

Graphcore IPU,大幅加速文本转语音模型

 

在Graphcore智能处理器(IPU)上,百度的Deep Voice 3实现了无与伦比的文本到语音的训练性能表现。IPU的独特架构特点以及与处理器共同设计的Poplar软件栈的优化共同促成了速度大幅提升。

 

与GPU PK一下,它的变现显得更出众。下图比较了IPU和GPU备选方案在训练期间的吞吐量数字。通过在具有2个Mk1 IPU(批处理大小为4)的C2卡上进行数据并行训练,可以实现每秒1260个查询(QPS)的吞吐量,相比GPU实现了6.8倍加速(使用与C2卡相同的功率)。换言之,要在VCTK语料库上完成一个训练阶段,使用Mk1 C2卡大约需要35秒,而使用GPU大约需要4分钟。

 

通过IPU-M2000中的单个Mk2 IPU和16的批处理大小,我们获得了每秒2744个查询的吞吐量,比GPU快14.8倍。即使发布了最新的GPU,基于已发布的GPU对比结果,我们预估第二代IPU仍然有大约10倍的优势。

 

 

软件Poplar SDK——助力创建下一代机器智能

 

 

IPU设计目的很明确,专为机器智能或AI应用场景而打造的,可同时做训练和推理。” Graphcore高级副总裁、中国区总经理卢涛表示,“IPU是一个处理器,针对IPU我们开发的 Poplar®软件,对程序员来说,在 IPU 上进行开发就是写一个TensorFlow或者Pytorch 的程序,易用性非常好。”

 

据悉,Poplar®目前已经提供750个高性能计算元素的 50 多种优化功能,支持标准机器学习框架,如TensorFlow1、2,ONNX和PyTorch,很快也会支持 PaddlePaddle。

 

Graphcore此次最新发布的SDK 1.2主要特性包括:

 

1.集成了先进的机器学习框架。

2.进一步开放低级别的API,主要是为上层的算法提供一个低层次API接口。

3.增加框架支持,包括对PyTorch和Keras的支持。

 

要开发一个好模型,除了SDK以及良好的驱动和上层框架支撑以外,工具也非常重要。为此Graphcore发布了一款基于一个图形的分析工具——PopVision 计算图,它可以做到基于算子层面,检测整个系统,将算力,内存的使用情况用图形界面直观的呈现出来。

 

 

除此之外,Graphcore还正式发布基于IPU的开发者云,面向中国的客户、大学、研究机构和个人研究者免费使用,使得前沿的机器智能创新者可以轻松获取IPU进行前沿AI模型的云端训练与推理,从而在新的一波机器智能浪潮中取得关键突破。该开发者云是中国首款IPU开发者云,部署在金山云上,使用了IPU PCIe卡适配完成的浪潮NF5568M5服务器和戴尔DSS8440服务器。

 

 

为了更好地赋能中国AI创新者,配合开发者云,Graphcore的创新社区现已全面正式上线,社区平台包含微信、知乎、微博以及Graphcore即将上线的中文创新社区网站。创新者们可以在自己常用的社交平台上轻松向Graphcore全球的科学家提问,获取IPU硬件产品与软件更新的最新资讯、阅读深度技术文章、并与其他创新者们一起交流成长。

 

 

到底什么是推理和训练?

 

AI智能处理单元最主要的工作就是训练和推理,那么二者有何区别?在Q&A环节中罗旭给出了答案:“推理比训练要简单很多,除前向计算外,训练主要还会涉及到反向计算。对于底层需要支持的算子。训练也会比推理多几倍;同样从底层的硬件角度来讲,训练对于处理器的通用性要求会更高。”

 

 

现在机器智能发展的方向之一就是Continuous Learning。如果在一个架构上能够同时很好的支持Training和Inference当然非常理想。不过从目前来看,Deep Learning中的Training和Inference还是有较大差异,运算量的巨大差别,精度要求不同,算法的差别,部署的Constraints等等都会收到限制。

 

如今,第三类AI处理器受到的关注度越来越高,IPU能否更好完成CPU和GPU不擅长的AI任务成为当之无愧的革命性架构?Graphcore的IPU能否很好的解决这些问题?结论还需时间来考量。


进入嵌入式查看更多内容>>
相关视频
  • Linux内核设计

  • 用于汽车应用的Qi无线充电

  • 直播回放:TI单芯片毫米波传感器产品组合新品发布会

  • Vivado入门与提高(高亚军)

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • TI 杯2019年全国大学生电子设计竞赛赛题解析与技术交流研讨会