wifi(WiFi技术更迭20年)
发布时间:2023-04-07 09:02:38 作者:互联网收集 浏览量:199
Graphcore可以说是AI界的黑马,这几年其打造的IPU屡屡表现亮眼。在最近的MLPerf训练1.1中IPU再创佳绩,通过在GPU占据优势的模型ResNet-50上进行测试,结果表明Graphcore的IPU-POD16在计算机视觉模型ResNet-50上的表现优于英伟达的旗舰产品DGX A100。这对Graphcore乃至整个行业来说,都具有很大的创新意义。
比英伟达DGX A100快约1分钟,比自己上一次提交的MLPerf性能大幅提升
在此次MLPerf训练1.1中,基于IPU-M2000,Graphcore主要提交了4个IPU系统。第一个是IPU-POD16,它有4个1U的IPU-M2000,配备一台双CPU的服务器,AI算力是4 petaFLOPS。第二个是IPU-POD64,包含了16台IPU-M2000,配备了1台用于BERT的双CPU服务器和4台用于ResNet的双CPU服务器,总共是16 petaFLOPS的AI算力;再者,基于IPU-POD64,Graphcore又横向扩展了IPU-POD128和IPU-POD256,所以分别是32台、64台的IPU-M2000,同时服务器也是成倍数的增长:2台、4台、8台、16台;算力分别是32 petaFLOPS、64 petaFLOPS,这是Graphcore首次IPU的系统集群的提交。
此次Graphcore提交了ResNet-50和BERT-Large两个主流的模型。其中,ResNet-50只提交了封闭分区(Closed Division),主要是对图片分类在网络上做训练。BERT-Large做了封闭分区和开放分区(Open Division)两种提交,BERT-Large主要是做自然语言的处理,如语义的理解、问答和推测等。
那么这两个模型在Graphcore IPU上的表现如何?下图是ResNet-50在Graphcore不同机器集群的端到端训练的性能。可以看到,在IPU-POD16上的训练时间是28.33分钟,随着系统的增大,时间逐次递减,在IPU-POD64上只需要8.5分钟,在IPU-POD256上已经减少到3.79分钟。Graphcore大中华区总裁兼全球首席营收官卢涛表示,希望到明年这个时候,Graphcore能提供更大的集群,让整个ResNet-50能在1分钟之内训练完。
来到BERT-Large在MLPerf上的性能,在开放分区和封闭分区两个提交上,开放分区的结果相对好些。比如BERT-Large在IPU-POD16上的端到端训练,在封闭分区上需要半小时,而随着集群的增加,训练时间也大大缩短。当集群扩大8倍后,训练时间不到7分钟。这会大大提高算法工程师迭代模型的效率。在开放分区中,IPU-POD64的性能进一步提高,这主要是因为Graphcore对在软件层面进行了优化,如训练策略的优化、损失函数的优化等等。
这是Graphcore第二次提交MLPerf训练,与第一次MLPerf 1.0版本提交结果纵向相比较来看有很大的提升。对于ResNet-50来说,Graphcore在IPU-POD16上有了24%的提升,在IPU-POD64上有41%的提升。对于BERT来说,在IPU-POD16上有了5%的提升,在IPU-POD64上有了12%的提升。
而横向与英伟达相比较,在ResNet-50上,Graphcore第一次超越了英伟达DGX A100的性能,在IPU-POD16端到端的时间只用了28.3分钟,而在DGX A100上的时间为29.1分钟,慢了大概接近一分钟。卢涛表示,ResNet是2016年的模型,在GPU上优化了5年,已经非常成熟。Graphcore通过两次的MLPerf的提交,就能够在GPU最主流的模型上超过了GPU,这对Graphcore来说具有里程碑的意义。
Graphcore大中华区总裁兼全球首席营收官卢涛
强大的IPU横向扩展能力
据Graphcore中国工程总负责人、AI算法科学家金琛的介绍,IPU的这些提高主要归功于Graphcore软件上的优化,比如说对应用程序本身的优化,在框架和系统软件上的优化,还有更底层的对编译器以及核函数的优化等等。能在IPU-POD128和IPU-POD256上也取得很好的成绩,也很大一部分归功于Graphcore软件的可扩展性。
Graphcore中国工程总负责人、AI算法科学家金琛
金琛表示,Graphcore在设计这个软件的过程中考虑了很多因素,比如在做模型变形、数据变形,以及在做Kernel变形等等方面都做了非常多的优化,并且用了非常细致的设计思路,比如用系统级的软件去优化主机到设备上的通信,怎么去解决框架的数据并行优化。对于用户来说,只需要写一个脚本,配置一下数据的Replica的个数,就可以很自如地进行从16个IPU到256个IPU的横向扩展。
除了在机器学习框架层上做了横向扩展,Graphcore也在通信库上做了很大一部分的优化。作为Poplar SDK版本的一部分提供的优化集合,目前已在应用程序中得到验证。而且已经集成到所有支持机器学习框架的IPU中。关于在BERT-Large的训练中所看到的5%和12%的提升,很大程度上都是源于Graphcore在通信库的提升。
此外,在绝对吞吐量性能以及扩展到更大的IPU-POD系统方面,Graphcore在MLPerf之外的一系列模型中,如用于自然语言处理的GPT类模型和用于计算机视觉的ViT(Transformer视觉模型)都是非常适用的。在这些模型中,IPU系统也可以平滑地从16个IPU一直扩展到256个IPU。
不仅如此,Graphcore的IPU还展现出了巨大优势。以EfficientNet-B4为例,其在英伟达的DGX A100上端到端的训练时间为70.5小时,而其在IPU-POD16上端到端的训练时间是20.7个小时,基本上是DGX A100的3.5倍。随着系统的增大,这个时间也在慢慢地减少,在256个IPU上的训练时间仅不到2个小时。
最低的AI芯片计算密度
据卢涛的讲述,Graphcore在设计IPU系统的时候,将1U尺寸的IPU-M2000作为单元构建模块,然后跟x86的服务器做了解耦的方案。这样的好处是能够让用户根据自己的工作负载,灵活配比服务器、处理器的数量和AI计算之间的比例。
从下图中可以看出各家企业的主机处理器与加速器的配比情况。比如AMD、英特尔、谷歌等,其CPU和自己的AI加速器之间的配比是1:2;而Graphcore在做像BERT这样的应用时,是每32个加速器配有1个主机CPU处理器。这个配比率在所有提交MLPerf的厂商中最低。这就是其解耦架构的一个特别好的佐证。
另外,如果以服务器的CPU为一个维度,Graphcore在单一的服务器的BERT训练上也是最快的,基于2颗AMD的CPU,BERT训练时间为10.6分钟。而英特尔提交的Gaudi平台,大概是80分钟;DGX A100大概是20分钟。
之所以能做到单一服务器最快的原因是,Graphcore IPU独特的执行模型需要的主机服务器更少。比如说IPU代码的执行机制能够让CPU做的工作尽量少一点;还可以通过以太网IPU连接到各品牌的服务器,灵活根据应用程序工作负载调整主机服务器与AI计算的比率。
庞大的生态系统圈
在过去半年时间里,Graphcore的生态系统也在不断扩大,无论是机器学习框架、云化部署,还是客户的合作方面,进展都很迅速。
首先在机器学习框架和AI相关的生态网方面,除了已经在支持的TensorFlow、PyTorch、Keras之外,PyTorch Lightning以及Hugging Face等也已经开始支持IPU。就在本月,百度飞桨宣布了在IPU上训练和推理的全面支持。另外,现在Hugging Face的Optimum Library已经能够在IPU训练Transformer,这也证明了IPU软件栈的通用性以及应用程度。
在云化部署方面,Docker已经能够支持IPU,VMware也宣布了对于IPU的支持。VMware是企业级虚拟化、云化平台最主流的厂商。目前这两个平台都已经开始支持IPU。
在客户生态圈中,Graphcore也公布了一些客户案例。在金融方面,牛津-英仕曼用IPU能够进行更快和更高精确度的股票预测。Tractable使用AI技术提高汽车和财产损失评估的准确性和效率。该公司通过从现有的计算平台切换到Graphcore的IPU,使其图像识别系统的性能提高5倍。还有欧洲、中国的一些使用IPU进行天气预测的案例。在电信方面,Korea Telecom发布了基于IPU的IPU云。在超算方面,Graphcore跟Atos也确定了战略合作关系。
结语
2020年12月,Graphcore的第一版IPU-POD的硬件宣布量产。在过去的一年时间里,Graphcore取得了很大的进步,提交了两次MLPerf训练,进行了硬件集群的增加和软件方面的优化,至少每三个月推出一次重大软件更新。Graphcore的IPU系统越来越强大、高效,软件日益成熟且更快、更易使用。未来Graphcore随着产品和软件迭代,性能会持续不断攀升。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第2907内容,欢迎关注。
★亚洲半导体风云再起
★FPGA面世前的江湖
★WiFi技术更迭20年
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
收藏