查看原文
其他

不是GPU的IPU,为什么更值得英伟达警惕?

芯基建 2021-01-16

The following article is from 雷锋网 Author 包永刚

在超大规模数据中心,Graphcore和英伟达将会正面竞争。

 作者 | 包永刚 

2020年7月30日,MLPerf组织发布第三个版本MLPerf Training v0.7基准测试(Benchmark)结果。英伟达基于5月最新发布的A100 Tensor Core GPU构建的DGX SuperPOD系统在性能上打破了8个记录,这为不少想要打造比英伟达更好GPU的AI芯片公司增加了难度。
相比而言,7月15日Graphcore发布的第二代IPU GC200更值得英伟达警惕。其中的原因,当然不是简单因为同为台积电7nm工艺的第二代IPU比英伟达A100 GPU晶体管密度大10%。

而是,Graphcore的第二代IPU在多个主流模型上的表现优于A100 GPU,两者将在超大规模数据中心正面竞争。未来,IPU可能在一些新兴的AI应用中展现出更大的优势。

多维度对比GPU,

IPU有最高100倍性能提升

目前,AI的应用主要还是集中在计算机视觉(CV)。就CV而言,以谷歌最新发布的EfficientNet模型的Benchmarks(基准测试)来看,推理性能IPU吞吐量可以达到GPU的15倍,训练也有7倍的性能提升。

在ResNet的改进模型ResNeXt-101的推理中,IPU可以带来7倍吞吐量的提升,同时时延降低了约24倍。在ResNeXt-50模型的一个训练中,IPU的吞吐量比GPU提升 30%左右。
另外,在目前最流行的NLP模型BERT-Base中,进行推理时相同时延IPU可以有2倍的吞吐量,训练时间减少25%到36.3小时左右,同时可以降低20%的功耗。

在概率模型中,IPU同样有优势,在MCMC的一个训练模型中,IPU比GPU有15倍的性能提升,缩短15倍的训练时间。在VAE的精度训练模型中,可以达到4.8倍的性能提升,缩短4.8倍的训练时间。
还有,目前比较受关注的销售预测和推荐模型。IPU在用在做销售数据分析的MLP模型训练中相比GPU有最高6倍的性能提升,在用于推荐的Dense Autoencoder模型训练性能有2.5倍提升。

如果是在IPU更擅长的分组卷积内核中,组维度越少,IPU的性能优势越明显,总体而言,有4-100倍的吞吐量提升。

IPU的三大技术突破

从IPU与GPU在当下AI应用的多个维度对比中,已经可以看到IPU的优势,这与Graphcore的计算、数据、通信三大关键技术突破密切相关。
Graphcore最新发布的第二代IPU Colossus Mk2 GC200算力核心从1216个提升到1472个独立的IPU-Tiles的单元,共有8832个可以并行执行的线程。In-Processor-Memory从上一代的300MB提升到900MB。每个IPU的Memory带宽为47.5TB/s。
还包含了IPU-Exchange以及PCI Gen4跟主机交互的一个接口;以及IPU-Links 320GB/s的一个芯片到芯片的互联。

计算

选用三个典型的应用场景从计算层面对比第二代和第一代IPU,BERT-Large的训练有9.3倍性能的提升,3层BERT推理有8. 5倍的性能提升,EfficientNet-B3有7.4 倍的性能提升。第二代IPU相比第一代IPU有两倍峰值算力的提升,在典型的CV还有NLP的模型中,第二代IPU相比第一代IPU则展现出了平均8倍的性能提升。

这样的性能提升很重要的是处理器内部存储从300MB提升到了900MB。Graphcore中国区技术应用总负责人罗旭对雷锋网表示,“我们在算力核心的微架构上做了一些调整,每个IPU-Tiles的性能本身就会更强,总体实现2倍的峰值性能提升。在有效算力方面,处理器内存储从300M提升到900M,可以为性能带来较大的提升。”
MK2 IPU增加的处理器内存储主要是用于供我们模型的激活、权重的一些存储空间。因为处理器内存储的程序所占的空间与第一代IPU基本相同,所以增加的供算法模型可用的权重和激活的有效存储容量有6倍以上。

但是,300M的处理器内存储本身就挑战很大,提升到900M面临着怎样的挑战?罗旭指出,“要让MK2支持8000个超线程并行一起工作,并且保证其线性度和各方面性能都要好,这个是非常复杂的一个技术,我们是利用BSP这一套软件+硬件+编译的机制,来保障性能能够提升。软件层面主要的挑战是对新模式的支持,所以我们的软件Poplar SDK要不断迭代。“
如果对比英伟达基于8个最新A100 GPU的DGX-A100,Graphcore 8个M2000组成的系统的FP32算力是DGX-A100的12倍,AI计算是3倍,AI存储是10倍。价格上,IPU-M2000需要花费25.96万美元,DGX-A100需要19.9万美元。Graphcore有一定的性价比优势。

如果从应用的角度,在EfficientNet-B4的图象分类训练中,8个IPU-M2000(在1U的盒子里集成4个GC200 IPU)的性能等同于16个DGX-A100,这时候就能体现出10倍以上的价格优势。

数据

数据方面,Graphcore提出了IPU Exchange Memory的交换式存储概念,相比英伟达当前使用的HBM技术,IPU- M2000每个IPU-Machine通过IPU-Exchange-Memory技术,可以提供近100倍的带宽以及大约10倍的容量,这对于很多复杂的AI模型算法是非常有帮助。

计算加上数据的突破可以让IPU在原生稀疏计算中展现出领先IPU 10-50倍的性能优势。在数据以及计算密集的情况下,GPU表现非常好,但是随着数据稀疏性的增强,到了数据稀疏以及动态稀疏时,IPU就有了比GPU越来越显著的优势。
Graphcore高级副总裁兼中国区总经理卢涛说:“现在一些全球领先的研究,像NLP方面,大家开始来探索一些像sparse NLP的算法模型。我们的技术对很多超大规模的AI模型非常有帮助。”

通信

通信也是目前数据中心大规模计算非常关键的问题。为此,Graphcore专为为AI横向扩展设计了IPU-Fabric。IPU-Fabric可以做到2.8Tbps超低延时的结构,同时最多可以支持64000个IPU之间的横向扩展。
卢涛介绍,IPU-Fabric是由三种网络一起组成,第一种是IPU-Link,第二种叫IPU Gateway Link,第三种是IPU over Fabric。IPU-Link是在一个机架(rack)之内提供在IPU之间的一个通讯的接口。IPU Gateway Link提供了机架和机架之间横向扩展之间的网络。IPU over Fabric能够把IPU的集群和x86的集群进行非常灵活以及低延时、高性能组合起来的网络。

将计算、数据、通信的突破结合在一起,就可以用于构建大规模可扩展的IPU-POD系统。一个用于超算规模的IPU-POD的形态是一个IPU-POD64,这是IPU-POD的一个基本组件,每个IPU-POD64的机柜里面总共有64颗IPU,提供16PFlops的算力、58GB的In-Processor-Memory,总共达到了7个TB的流存储。

因此,在IPU-POD中间非常重要的是把AI的计算跟逻辑的控制进行了解耦,让系统易于部署,网络延时非常低,能够支持非常大型的一个算法模型,以及非常安全的多住户的使用。
卢涛表示,“IPU-Fabric最高支持64000个IPU-POD组成的集群,总共能提供16 EFlops FP16的算力。日本前一阵发布的超算是0.5 EFlops算力。而我们基于64000个IPU总共可以组建16个EFlops算力,这非常惊人。”

Graphcore为什么值得英伟达关注?

“目前超大规模IPU-POD技术主要的应用场景还是大规模AI训练,包括自然语言处理以及机器视觉的应用,IPU-POD都有优势。”卢涛指出,“譬如说做一个模型的训练, GPU的性能是1,可能一个单机有8张卡,性能比0.7高。但如果把场景扩展到1000个GPU或者几千个GPU,性能可能会下降到0.7、0.6,好一点可能到0.8,而超大规模的IPU-POD很重要的是要帮助大家解决大规模集群可扩展性的问题。
另外,从功耗的角度看,不同的场景会有一些差别。总体来看,单片 M2000 的整机系统功耗为 1.1KW,折合到每颗IPU处理器的性能功耗比 0.9TFlops/W,在同类面向数据中心高性能AI计算的产品中,比A100 GPU的0.7TFlops/W,华为Ascend 910的 0.71TFlops/W的能效比都高一些。
也就是说,在大规模数据中心,Graphcore将会与英伟达进行正面的竞争。雷锋网认为,相比于来自类GPU的竞争,英伟达不应该忽视Graphcore的IPU,特别是Graphcore一直都在强调其是为AI而生,面向的应用也是CPU、GPU不那么擅长的AI应用。

这从Graphcore的软件以及生态建设中也能看出。IPU作为一款通用处理器能够同时支持训练和推理也提供统一的软件平台。最新的POPLAR SDK1.2有三个特性:第一,会与比较先进的机器学习框架做好集成。第二,进一步开放低级别的API,让开发者针对网络的性能做一些特定的调优。第三,增加框架支持,包括对PyTorch和Keras的支持,还优化了卷积库和稀疏库。
另外,通过支持全面的开发框架的三个主流操作系统ubuntu、RedHat、CentOS,降低开发者的使用难度,同时通过进一步开放低级别API,开源POPLAR PopLibs源代码。这些工作,正是想要让开发者利用IPU去创新,在新的应用领域构建IPU的竞争优势。

更进一步,Graphcore面向商业用户、高校及研究机构、个人开发者都提供不同时长的免费IPU使用。在国内,Graphcore IPU开发者云部署在金山云上,这里面使用了三种IPU产品,一种是IPU-POD64,还有浪潮的IPU服务器(NF5568M5),以及戴尔的IPU服务器(DSS8440)。
雷锋网了解到,目前申请使用Graphcore IPU开发者云的主要是商业用户和高校,个人研究者比较少。
IPU开发者云支持当前一些最先进和最复杂的AI算法模型的训练和推理。比如,高级计算机视觉类主要以分组卷积为代表的一些机器视觉的应用模型,像ResNeXt、EfficientNet等。基于时序分析类的应用,像LSTM、GRU等大量应用在自然语音应用、广告推荐、金融算法等方面的模型。排名和推荐类像Deep Autoencoder,在概率模型方面,基于MCMC的一些算法交易的模型方面都有非常好的一些表现。

卢涛表示:“Graphcore找到了自己的赛道,我们首要思考的是IPU如何帮助客户与合作伙伴解决他们目前使用CPU或者GPU上解决不了的问题。从全球看,我们最快落地的应用还是在超大规模数据中心,在金融、医疗健康领域进展非常大。”
还有一个影响IPU大规模商用非常关键的问题,片内存储高达900M的第二代IPU良率的成本如何?卢涛对雷锋网表示,“成本分为几个部分,包括人员、工具、IP、流片成本。所以要考虑两个部分。第一部分,芯片生产的BOM成本,这部分基本是固定的。所以,第二部分的良率就是非常重要,我们从第一代产品到第二代产品都采用分布式存储架构,就会非常好地控制产品的良率,所以即使是900M处理器内存储,也不会对成本产生特别大的影响。

已经有多家云合作伙伴的Graphcore,正在通过硬件以及软件打造起中国创新社区来发展生态,接下来通过与OEM、渠道合作伙伴的合作,将会如何与英伟达竞争呢? 
粉丝福利:目前还有少量CCF-GAIR大会AI芯片专场门票,添加小雷哥微信(ID:leiphonesz2018),获取限量免费票。                                                


往期推荐


                                                          

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存