《电子技术应用》
您所在的位置:首页 > 电子元件 > 业界动态 > ​英伟达的最强挑战者:Graphcore用数据征服开发者

​英伟达的最强挑战者:Graphcore用数据征服开发者

2021-01-13
来源:半导体行业观察

  在人工智能芯片,尤其是在训练芯片这个市场,英伟达是当之无愧的霸主。

  得益于公司在通用CPU和CUDA生态方面的多年投入,英伟达拿下了AI训练芯片公开市场的绝大多数份额。据笔者了解,除了谷歌自用的TPU颇具规模以外,其他的AI芯片在训练市场现在基本都难以撼动英伟达的地位。但因为这是一个巨大的市场,所以不少厂商正在投入其中,期望打破这种格局,从中分一杯羹,来自英国的Graphcore正是其中一个最强挑战者。

  今年年中,Graphcore发布了全新一代的IPU芯片Colossus MK2 GC200 IPU,同时还带来了搭载四颗MK2 IPU的系统解决方案IPU-Machine:M2000(IPU-M2000)。据介绍,这款产品还可以扩展到1024个IPU-POD,也就是512个机架,最多64000个MK2 IPU,进而把16bit FP的算力扩展到16 ExaFLOPs。

  从基础数据来看,IPU给英伟达带来了前所未有的威胁。而在最近Graphcore发布的一个benchmark测试中,基于这个芯片打造的系统也在多项应用中领先于AI芯片领域的王者。

  多维度领先GPU

  Graphcore中国工程总负责人、AI算法科学家金琛在日前的一场媒体沟通会上告诉记者,Graphcore最新的AI计算系统——IPU-M2000和纵向扩展的IPU-POD64在各种流行的模型的训练和推理方面的表现都优于英伟达的A100(基于DGX)。

  首先看训练方面:

  从金琛提供的数据我们可以看到,在BERT-Large(基于Transformer的自然语言处理模型)端到端的训练方面,英伟达DGX-A100所需的训练时间是69.5小时。来到IPU-POD64上,PopART BERT-Large的端到端训练时间仅为13.2小时。

  2.png

  “如此看来,相比1个DGX-A100,BERT-Large能在IPU-POD64上实现5.3倍的提升”,金琛告诉记者。她进一步指出,与三个DGX-A100相比,1个IPU-POD64也能够实现1.8倍的提升。“1个IPU-POD64和3个DGX-A100的功率和价格基本相同,但却能够实现接近两倍的性能提升,这就是非常显著的性能优势”,金琛补充说。

  3.png

  据金琛介绍,Graphcore的IPU在Deep Voice 3的训练性能与英伟达GPU相比,也有不小的提升。如上图所示,IPU-M2000的吞吐量是最新GPU的13.6倍。

4.png

  来到机器视觉的训练方面,IPU也毫不逊色。

  如上图所示,在大家较为熟悉的ResNet-50的训练中,IPU-M2000较之A100有2.6倍的吞吐量提升。在ResNet-101的训练中,IPU-M2000和A100相比,更是实现了3.7倍吞吐量的提升。

5.png

  在EfficientNet-B4的训练中,EfficientNet在IPU-M2000上实现了比A100高18倍的性能提升。从金琛的介绍我们得知,能实现这样的飞跃,主要是因为EfficientNet是由可分离深度卷积组成的,它的卷积核比较小,使得您在调度上的开销和算子的利用率在IPU上可能会有更好的体现。而ResNet-50则基本上是由卷积组成的。

6.png

  “如果算子小、算子比较多,在GPU上的调度开销也会引入跟HDM内存上数据交互的开销,这就可能会导致它们的性能折损。这也从侧面证明了新一代的模型上IPU其实更具普适性。”金琛说道。

  在了解完IPU在训练方面的优势外,我们再来看一下它们在推理方面的杰出表现。首先被介绍的是IPU在EfficientNet上的推理性能。金琛表示,这个由谷歌在2019年开发的模型尺寸有8个等级,其中B0是一个模型尺寸比较小的模型,拥有5兆的参数量级。而B7则是其中最大的模型,参数量级大概是60兆-70兆。

7.png

  “在PyTorch和TensorFlow两种不同的框架下,EfficientNet-B0在1台IPU-M2000上的吞吐量大概可以达到以‘万’为单位的级别,时延则远远小于5毫秒。而在最新的GPU上,即使在时延最大化的情况下,它的吞吐量也远远小于以‘万’为单位的吞吐量级,由此可充分体现IPU所具备的时延优势”,金琛告诉记者。

8.png

  “BERT-Large推理上,在IPU和GPU都处于最低时延的情况下,与A100相比,IPU-M2000也能实现3.4倍的吞吐量提升”。金琛进一步指出。

9.png

  据金琛介绍,IPU-M2000在LSTM推理和ResNeXt-101的推理方面,获得了遥遥领先于GPU的时延和吞吐表现。其中前者以更低时延实现吞吐量提升超过600倍,后者的吞吐量提升了40倍,同时时延缩短了10倍。

10.png

  Graphcore软件高级副总裁Matt Fyles在对测试结果发表评论时说,这一整套全面的benchmark表明Graphcore的IPU-M2000和IPU-POD64在许多流行模型上的性能均优于GPU。他进一步指出,诸如EfficientNet之类的新型模型的benchmark特别具有启发性,因为它们证明了AI的发展方向越来越倾向于IPU的专业架构,而非图形处理器的传统设计。

  软硬件是底气

  从前文的介绍中,我们可以看到Graphcore IPU及基于IPU打造的系统的实力。毫无疑问,Graphcore独特设计的IPU芯片是其根本。但除此以外,Graphcore基于这个芯片打造的一个可扩展的硬件生态以及一个让开发者的工作更简便的软件生态,才是Graphcore叫板英伟达的底气。

  Graphcore高级副总裁兼中国区总经理卢涛告诉记者,Graphcore的IPU-POD64是一个由16台IPU-M2000组成的解决方案,目前也已经在全球范围之内实现了该方案的交付。该方案具备的优势之一是实现了x86和IPU计算的解耦。

  “在IPU-M2000里,我们通过IPU-Fabric,使其能够实现与x86服务器芯片之间的动态搭配。您在使用IPU做计算机视觉的应用时,可以把x86配比设置得高一点。而在做自然语言处理业务的时候,您则可能可以用一台x86服务器带动一个IPU-POD64、甚至两个IPU-POD64。这就是解耦的作用”,卢涛举例说。

  此外,IPU-POD64是目前市场上非常少见的,可以同时将纵向扩展和横向扩展都做得非常好的AI计算平台产品。

11.png

  据卢涛介绍,所谓纵向扩展是指IPU-POD64可以实现从一台IPU-M2000到一个IPU-POD16(4台IPU-M2000),再到一个IPU-POD64(16台IPU-M2000)进行软件透明扩展。换而言之,您在一个IPU-M2000里编译好的软件,可以被应用到扩展后的IPU-POD64上。

  在谈到为何将扩展限制在IPU-POD64的时候,卢涛表示,这是他们与很多头部互联网公司交流的结果。在后者看来,当前绝大部分单一工作负载最大不会超过IPU-POD64。也就是说,对于当前最主流的工作负载来说,1个IPU-POD64就能够让绝大多数工程师不需要担心分布式的机器学习、分布式的机器学习框架和分布式通信等问题,可以进行软件透明扩展。

  “与之相比,如果您把DGX-A100这样的机器,从1个扩展到4个,就需要用一个叫做分布式的机器学习框架,对您的算法模型进行相应的改造,才能被应用到新系统上”,卢涛接着说。

  从横向扩展的角度来看,多个IPU-POD64最多可以支持64000个IPU组成的AI计算集群。这就为开发者提供了更多的选择。

  在介绍了Graphcore的IPU在硬件方面的扩展能力之后,卢涛还对公司在软件方面的进展进行了分享。首先,他讲到,公司在发布Poplar SDK 1.4时,还发布了面向IPU的PyTorch产品化版本。

12.png

  “在PyTorch的代码里面,Graphcore引入了一个叫PopTorch的轻量级接口。通过这个接口,用户可以基于他们当前的PyTorch的模型做一个轻量级的封装。封装之后就可以无缝的在IPU和CPU上执行这个模型了。在当前的Poplar SDK 1.4版本中,我们既支持模型并行、也支持数据并行。”

13.png

  他进一步指出,这个封装使得模型生成了一个IPU和PyTorch兼容的一个中间模型表示格式,这个表示格式可以通过PopART编译起来,之后生成一个可在IPU上执行的一个二进制文件。“Poplar SDK 1.4版本支持模型从1个IPU横向扩展到64个IPU。下一代的Poplar SDK可能能够横向扩展到128个IPU”,金琛补充说。

  除了进一步完善自身的软件方面以外,Graphcore还正在与微软和阿里云进行开源相关合作。用卢涛的话来说,他们与这两者的合作,目的就是希望能从AI编译的角度,让用户能够在GPU和IPU之间能实现尽量平滑的迁移。

  金琛也解析道,NNFusion是微软亚洲研究院所做的一项的工作,其目的就是为了让用户在不同芯片平台上开发的时候,可以避免一些重复性的工作,使用统一的平台、统一的接口,让模型在不同的硬件厂商的芯片上无缝的运行。

14.png

  “上图中间表示,理想情况下,NNFusion可以做跨平台的工作,既可以集成TensorFlow生成的模型、也可以集成PyTorch或其他框架生成的模型,用户只要通过一个NNFusion接口就可以在不同的AI芯片上做训练或者推理”,金琛告诉记者。

15.png

  至于阿里云的HALO,其初衷也是和NNFusion一样,想做一个整体的框架,向上跨AI框架,向下通过ODLA这样一个通用的硬件接口对接不同的硬件厂商的芯片。据金琛所说,阿里云的初衷多是希望处理如TensorFlow的模型、ONNX的模型、或是PyTorch的模型等不同模型,然后能够将它一键式地在系统上或者是集群上运行起来。

  在问到对竞争的看法时,卢涛告诉记者,在他看来,Graphcore在AI芯片市场,唯一的一个挑战者就是英伟达。这主要是得益于他们过去多年与开发者、社区一起共同建立的,包括GPU和CUDA在内的AI加速计算的软硬件生态。但即使如此,他们对未来还是充满信心,这一方面因为Graphcore的处理器在不同的地方充分体现了自己的价值;另一方面,Graphcore也在解决一些GPU所不能解决的问题。

  “目前我们从体量和生态上跟英伟达相比,肯定还是有差距的。但只要我们在所聚焦的领域跑得更快,我们之间的距离会越来越短,甚至在某些领域超过英伟达。Graphcore希望在未来几年之内,能够真正在数据中心的AI训练和推理的批量部署上面,在发货以及体量上面,做到除英伟达以外的另一个头部企业的地位,这是我们中短期的目标”,卢涛最后说。



本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。