近期Graphcore又发布了二代IPU芯片Colossus MK2 IPU (GC200)(以下简称MK2),以及包含四颗MK2芯片系统方案的IPU-Machine: M2000 (IPU-M2000)(以下简称M2000)。扩展至1024个IPU-POD,即512个机架,至多64000个MK2芯片集群之后,其16bit FP算力能够达到16 ExaFLOPs.

去年的《观点》特刊中,我们花相当大的篇幅谈了作为CPU、GPU之外“第三类”芯片存在的IPU——简单地说是Graphcore的一种通用AI芯片(虽然现在看来,它可能还在寻求HPC其他方向的可能性)。当时初代IPU构成的32个IPU-POD,算力弹性扩展至0.5 ExaFLOPs的程度,已经令人印象深刻。

近期Graphcore又发布了二代IPU芯片Colossus MK2 IPU (GC200)(以下简称MK2),以及包含四颗MK2芯片系统方案的IPU-Machine: M2000 (IPU-M2000)(以下简称M2000)。扩展至1024个IPU-POD,即512个机架,至多64000个MK2芯片集群之后,其16bit FP算力能够达到16 ExaFLOPs.

在上周的媒体分享会上,Graphcore高级副总裁兼中国区总经理卢涛还提到,“日本前一阵发布了超算,做到0.5 ExaFLOPs的算力”。这应该指的是富士通A64FX芯片构成的Fugaku(富岳)超算——A64FX也是一颗很有意思,芯片之上融入片上HBM2,并且偏向融合CPU+GPU架构的通用芯片,未来我们将就这颗芯片做更多分析。

实际上卢涛所说的0.5 ExaFLOPs,应该是指Fugaku的FP64算力,其FP16算力在2.15 ExaOPs上下。而Fugaku超算内部堆了158976个A64FX板卡。从这个层面来说,Graphcore的MK2的确能够在单纯的算力上轻松超越前者,即便A64FX作为一颗通用芯片,还是用了更多的资源在控制流方面——而且A64FX更偏向于一个完整的系统。

在谈Graphcore的二代IPU之前,仍然建议首先读一读《芯片专用好还是通用好?遥想20年前GPU也面临这一抉择》这篇文章,其中相对详尽地介绍了IPU这一类芯片的技术路线和理念,亦便于理解二代IPU产品。

用料还在加

初代IPU给人留下印象深刻的地方就在于堆料相当充沛,不仅是超过1200个低精度浮点运算核心(每个核心至多跑6个线程),还包括令人咂舌的300MB片内SRAM资源,算力水平125 TeraFLOPs。

而这次的MK2在架构上与前代还是基本相似的,不过核心数目增加到1472个(多出20%),片内SRAM则增加到900MB(多出3倍);在互联扩展性方面,Graphcore官方给的数据为可扩展性是前代的16倍——这个数据应该是根据前代至多4096个MK1,到这一代至多扩展64000个MK2(即16 ExaFLOPs),差不多是16倍的关系;同时开始采用台积电的7nm工艺。

显然在计算、数据和通信扩展层面,MK2都算是延续了Graphcore堆料狂魔的传统。我们去年就有问过卢涛,像900MB这么大的片内SRAM,是如何确保芯片良率、控制成本的。这次,Graphcore中国区技术应用总负责人罗旭还是有提到:“Graphcore其实是使用了分布式的存储技术,相当于做了很多小核,多做一些冗余在芯片里,使其可以达到很高的良品率,也能够较好地控制成本。”

上面这张图可以相对清晰地展现MK2的内部架构。这里的每个IPU-Tile,即包含了核心与独立SRAM的一个单元,总共1472个IPU-Tiles,8832个可并行执行的线程。

“In-Processor-Memory从上一代的300MB提升到了900MB,每个IPU的Memory带宽是47.5TB/s。同时还包含了IPU-Exchange以及PCIe Gen 4与主机交互的一个接口;另外有IPU-Links 320GB/s的芯片到芯片的互联。”卢涛说。

在构成系统时,IPU-M2000即是包含了4个IPU芯片的设备。现在的芯片制造商为了加速产品上市,通常都会采用这种系统交付的方式,为客户提供更多的便利。这样一个1U的M2000设备,提供大约1 PetaFLOPs的算力。

系统层面,还提供了针对4颗IPU的至多448GB DRAM内存支持,Graphcore将其称作“Streaming Memory(流存储)”,“通过IPU Exchange Memory技术,提供超过100倍的带宽以及大约10倍的容量,这对于很多复杂的AI模型算法是相当有帮助的。”

这里的100倍和10倍,对比的是英伟达现有面向AI计算的GPU产品HBM2存储。这个对比,应该是纯粹基于IPU的多层级存储结构,与Exchange Memory乃至更多优化技术加成,将其作为一个整体与GPU的HBM2存储作比较。是否真的能同时在带宽和容量上达到100倍与10倍的优势,与Exchange Memory技术应该有着莫大关联。有关IPU存储系统的部分,还将在下文详述。

M2000本身集成了扩展网络,可从一个小系统扩展到大规模的机架部署。Graphcore采用一种名为IPU-Fabric的技术来连接前文提到的IPU-Tiles,以及其他IPU,乃至盒子和机架。 “2.8Tbps超低延迟结构”,最终可以扩展到64000个IPU,“通过直连或者通过以太网的交换机等技术做互联。”卢涛说,“IPU-Fabric是专门为AI应用从零开始设计的一个技术。”

M2000设备内部包含了一颗Gateway网关芯片(这是个Arm CPU,其上跑Linux系统,通过PCIe与四个IPU连接),提供对DRAM、100Gbps IPU-Fabric Links、连SmartNIC的PCIe接口、1GbE OpenBMC管理接口,以及M.2接口的访问。

Graphcore宣称,M2000在神经网络训练的性能表现上,是上一代的7-9倍,推理则也有超过8倍的性能提升。

“上图是三个比较典型的应用场景,一个是BERT-Large的训练,有9.3倍的性能提升;BERT-3Layer推理,有8.5倍性能提升;而像EffcientNet-B3这样一个计算机视觉应用模型,有7.4倍性能提升。”

单纯从算力的角度来说,Graphcore还列举了自家8个M2000设备,与8个英伟达DGX-A100的比较,如上图所示——虽然我们认为这样的对比意义可能并没有数字看起来的那么大,毕竟后者在生态构建上要完善很多。不过做纯算力投入时,IPU仍然是明显更加高效和经济的选择。

卢涛举例说,“在EfficientNet-B4图像分类训练方面对比,客户只需要259600美金(8个IPU-M2000),就能使用需要投资高于300万美金(16个DGX A100)的GPU设备。如果是做EfficientNet-B4训练的话,可能性价比要高10倍都不止了。” 这本身就是专用与通用之间,在效率上的差别。

谈谈存储与通信

我们认为,在AI或者HPC芯片产品中,IPU的独特之处主要在于其存储子系统,与通信系统/扩展能力。这一点在过去的文章中,我们就不止一次地提到过。Graphcore也在官网对这这两方面的技术做了相对详尽的分享。虽然我们过去就介绍过,但这次的二代IPU,在这两个方面又有了深入。

如前所述,IPU的每个Tile都带独立SRAM,一个MK2总共有900MB SRAM,相比上一代提升3倍,实际上由于片内存储还包括了程序占用的部分。所以MK2实际带来,可供weights(权重)和activations(激活)使用的片内SRAM容量是上一代MK1的6倍。

除此之外,Graphcore在上个月发布的文章中提到,要确保IPU能够通过Exchange Memory通信技术访问其他存储资源,用于更大的模型和程序——这对于现在的机器学习负载来说还是很重要的,“如何访问内存,与如何执行计算一样重要。”

所以除了片内SRAM之外,也需要Streaming Memory流存储。上面这张图片是戴尔DS8440 IPU服务器的内部结构。这台服务器的存储子系统,给16个IPU配了256GB的可寻址流存储。这台服务器用的还是初代MK1,所以IPU的片上SRAM是300MB。每个IPU分得16GB流存储。

存储资源的使用,是由软件高度支配的,这样一来存储访问便具备了相当的弹性。Exchange Memory实际上是Poplar SDK内,用于管理片内存储与流存储的一个功能特性。最新发布的 Poplar SDK 1.2 针对这项特性面向开发者开放了一些API。简单来说,它是一种在片内存储与流存储之间做带宽与容量平衡的方案,就类似于本地存储和外部存储那样。

从Graphcore的文档来看,除了Exchange Memory之外,针对两种存储的数据高效利用,还有更多的方案。比如说对于开发者而言,低层级的Poplar Graph编程框架中可以进行显式的存储管理;像TensorFlow这样的机器学习框架,也能利用模型的分阶段执行,实现任意时间点,仅模型所需的部分参数,才存放在本地SRAM存储器中(虽然现在似乎仅基于开发者的用户注释)等等操作——而且看起来Graphcore还在强化其自动化能力。

虽然我们并不清楚Exchange Memory的实现细节(Graphcore官网有探讨一些针对深度神经网络优化片内存储利用率的方案[1][2]),但显然这些操作都依托于大容量的片内SRAM,另外再配合Exchange Memory这一系列优化技术,达成Graphcore宣传中相比GPU带宽高100倍,容量大10倍的目标。

实际上相关存储,或者“数据”部分的设计,Graphcore有比较多的思考,毕竟存储容量与带宽矛盾是DNN网络的重要挑战之一。即便MK2如今的片内SRAM达到900MB,在模型尺寸每3.5个月就翻倍的当下,也必须依靠更多优化技术来解决其中的矛盾。鉴于篇幅的关系这里无法探讨更多。接下来我们再谈谈 “通信” 与扩展部分。

从相对更微观的层面来看,先前的文章中,我们特别提到过,IPU采用BSP(Bulk Synchronous Parallel)模型进行多核协同工作——这是一种比较古老的方案,但是是第一次在芯片上实现的,在核心与存储分别在“计算阶段”和“交换阶段”两个状态间切换;IPU再藉由专门的硬件保证全局同步。而IPU-Fabric以及BSP编程模型,显然是实现IPU可扩展性,以及网络通信开销最小化的保证。

这里的IPU-Fabric是三种网络互联技术的集合。这种集成互联通讯结构,在设计上从数据和模型并行层面都是在全力支持BSP的。 “Graphcore的IPU-Fabric主要由三种网络组成,IPU-Link、IPU Gateway Link,以及IPU over Fabric。” 卢涛说,“其中IPU-Link,像是IPU-POD64里面,一个机架之内提供IPU之间的通讯的接口。”

“IPU Gateway Link提供机架与机架之间横向扩展的网络。IPU over Fabric,则是将IPU集群与x86集群进行非常灵活以及低延时、高性能组合起来的网络。”

也就是说,IPU集群通过IPU over Fabric接入到x86集群中;同时在IPU集群内部,一个IPU-POD64机架内部通过IPU-Link连接——每个IPU-POD64支持16个IPU-M2000;机架间连接网络则采用IPU Gateway Link——至多1024个IPU-POD64,即512个机架(64000个IPU)。

IPU-Link用的是2D-Torus拓扑结构,Graphcore提到这种结构最大化了IPU-Link的带宽,全缩减(All-Reduce)效率比网状拓扑快2倍。而机架到机架之间的扩展,则借助于100GbE以太网。

这里尤为值得一提的是,IPU-Fabric采用一种比较灵活的disaggregation模型,CPU与加速器之间的数量比例没有特别的限制。比如自然语言模型对于CPU的需求比较低,CPU与AI加速器之间的数量比例可以做到1:100,而CNN卷积神经网络就可能需要 1:4/1:8 这样的比例。这种设计也就提供了比较大的部署灵活性。Moor Insights & Strategy针对这种disaggregation模型的评价是,“可能是第二代Graphcore IPU平台最大的优势特性”。

生态构建在持续:开源

随MK2芯片与M2000盒子一同到来的,不可缺少的当然还有软件方面的Poplar SDK。去年的文章中我们也详细介绍过Graphcore的Poplar。它主要解决的问题是,在编译、优化流程的自动化过程中,IPU这种独特的架构带来的编程挑战;在不需要开发者手动调整指令集编程的情况下,就能充分利用IPU硬件进行大规模并行计算。

罗旭表示,“Poplar包含几个部分,第一部分是PopART和PopLibs。PopLibs相当于最底层的SDK这块。”前端的ML框架通过PopART接口来对接整个Poplar。上层的ML框架支持,包括主流的PyTorch、TensorFlow、ONNX、mxnet,以及即将支持的百度PaddlePaddle等。(早前的宣传中,TesnorFlow似乎有个单独的XLA)

这里的PopLibs应该包括了很多库,如PopNN、PopLIN、PopOPS等,针对包括线性代数、常见神经网络函数等操作。这部分实际上就包含了针对IPU分布式处理器与存储架构的,数据与工作分区。它构建起了针对各种操作的一个定制化层,而且为IPU执行做了高度优化。

再往后是Graph Compiler(计算图编译器),这是为开发者提升编程易用性的核心所在,据说Graphcore开发了超过5年时间。它有两部分工作,其一是对计算进行编译(计算图顶点),其二是生成代码进行BSP通讯(计算图边缘)。这部分需要优化代码,尽可能让数据迁移动作变少,充分利用好片内存储,做好大规模并行工作。对开发者而言,因为Graph Compiler仅呈现单个“Multi-IPU”,而不是一大堆独立的处理器,开发者就可以更加专注于数据和算法。

还有一些组件这里也省略了,比如与Graph Compiler并列的实际上还有个Graph Engine,为IPU提供运行时支持,包括连接主机CPU的软件和IPU的软件;管理数据移动;针对I/O、应用加载、debugging等管理IPU设备。

Graph Compiler编译过程,实际上就是构成计算图的过程,也是实现IPU通用性的基础。在这个简化的模型里,再往后计算图就会加载到IPU硬件。当然,理论上这其中应该还包括IPU硬件抽象层、驱动等。

而这次Poplar SDK 1.2的提升主要包括“更多ML框架的支持”;“进一步开放低级别的API,开发者针对网络性能可做进一步调优”;“还有优化的卷积库和稀疏库”。API部分,Exchange Memory“也做了一些开放,包括API以及它的管理功能的开放。应用开发者可以基于Exchange Memory对模型的性能做极大程度的调优。”

与此同时,在实际生产部署中,Graphcore软件能够扩展到云与企业本地基础设施。Microsoft Azure支持IPU,戴尔也在早前就开始在服务器中支持双C2卡;在虚拟化、安全、编排工具支持上,Graphcore开始支持Kubernetes、Docker、Hyper-V。

另外“Poplar SDK以及Graphcore的drivers、工具链等,都完全支持Ubuntu、RedHat、CentOS”这样的主流操作系统。作为一家初创公司,在短时间内做到这个程度的部署,是相当迅速的;可见其生态部署积极性有多高。

在生态部署上尤为值得一提的是,7月6日,PopLibs计算图库在GitHub上正式开源。这一步对Graphcore而言应该是相当重要的。开源策略应该能够扩张IPU平台的参与度,引导社区共同开发更多的库。生态资源本身就是Graphcore当前面临的最大挑战。

率先在中国部署开发者云

“目前Graphcore在中国的首款IPU开发者云是部署在金山云之上的。这里面使用了三种IPU产品,分别是IPU-POD64,还有浪潮的IPU服务器NF5568M5,以及戴尔的DSS8440。这是个面向商业用户进行评测,以及高校研究机构,甚至个人开发者可提供免费试用的资源。”卢涛表示。

在Graphcore看来,第二代IPU应当会在NLP自然语言处理方面首先落地。“因为NLP方面,模型规模超级大,数据规模超级大,这就导致现在NLP都用比较大规模的算力集群来处理问题。”“当然,在机器视觉、视频等方面目前也可以看到一些新的突破,可能会驱动非常大的算力需求。”

“目前IPU的开发者云支持当前一些最先进和最复杂的AI算法模型的训练和推理的工作,比如说自然语言处理类的、高级计算机视觉类的应用,主要是以分组卷积为代表的一些机器视觉的应用,像ResNeXt、EfficientNet等等。

“基于一些时序分析类的应用,譬如像LSTM、GRU等等大量应用在语音应用、广告推荐、金融算法等方面的模型。在排名和推荐类的,譬如像Deep Autoencoder,在概率模型方面,譬如说基于MCMC的一些算法交易的模型方面都有非常好的一些表现。”

从去年我们采访Graphcore的CEO Nigel Toon,到今年二代IPU问世还不到一年的时间,从Graphcore现有的宣传资料(比如出现类似Exchange Memory这样的市场词汇),能明显感觉出Graphcore在产品推广方面纯熟了很多。虽然在产品应用上,Graphcore还有很长的路要走,但从Graphcore的技术分享,以及现有资料来看,IPU的确是时代下大有可为的芯片。

“IPU不是GPU,这个可能是最大的一个挑战,但同时也是最大的一个机会。IPU并不是GPU的替代品或者类似品,Graphcore IPU有自己独特的赛道。重要的一点是我们拥有IPU思维,不能拿GPU的逻辑来套用IPU的逻辑。对用户、对自己的员工都是如此,需要建立IPU的思维模式,我们需要和用户就此积极地沟通。”

责编:Yvonne Geng

本文为EET电子工程专辑原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
阅读全文,请先
您可能感兴趣
自研AI芯片计划是OpenAI在硬件领域的一次重要战略调整。如果此次试产过程顺利进行,OpenAI将能够量产其首款自研AI芯片,并可能在今年晚些时候测试英伟达AI芯片的替代品。
在成本方面,使用特定水平AI的成本每12个月下降约10倍,较低的价格会促进更多使用。从2023年初的GPT-4到2024年中期的GPT-4o,每个token的价格下降了约150倍。
2024 年,全球半导体市场迎来了历史性的增长。销售额首次突破 6000 亿美元,达到 6276 亿美元(约 4.58 万亿元人民币)……
这笔巨额投资将重点支持基础研究、技术转化、应用实例与生态系统建设等关键领域。
台积电对中国大陆的集成电路实施一系列严格的供应限制,特别是针对16/14nm工艺及以下的产品,不在BIS白名单中的“approved OSAT”进行封装,并且台积电没有收到该封装厂的认证签署副本,这些产品将被暂停发货。这一发货限制,将使得16/14nm及以下工艺的相关产品在出口到中国大陆时,生产和封装环节变得更加透明......
许多人认为这可能是 AI 模型训练领域的一次重大突破,预示着未来 AI 模型的训练和应用将更加平民化。然而,随着更多细节浮出水面,事实似乎并不像最初报道的那样简单。
全球人形机器人领域上市公司的百强名单将人形机器人产业链区分为大脑、身体以及集成三大核心环节,覆盖全球共计100家上市公司。中国共37家企业上榜(中国大陆32家,台湾5家),其中深圳7家,占中国大陆上榜企业近四分之一,包括比亚迪、腾讯、优必选、速腾聚创、雷赛智能、兆威机电、汇川技术等......
DeepSeek模型虽降低AI训练成本,但AI模型的低成本化可望扩大应用场景,进而增加全球数据中心建置量。光收发模块作为数据中心互连的关键组件,将受惠于高速数据传输的需求。未来AI服务器之间的数据传输,都需要大量的高速光收发模块......
凭借新一代3nm制程工艺与全新架构,骁龙® 8至尊版的单核和GPU 性能提升均超过 40%,使得Find N5在性能上实现质的飞跃……
简化物联网连接:应用就绪型软件构建模块
2月10日晚,比亚迪举办了“天神之眼 开创全民智驾时代”智能化战略发布会,正式发布了全民智驾战略,并推出了首批21款智驾车型,覆盖7万级至20万级价格区间,全部保持原价。           其中,海
在当今竞争激烈的商业环境中,企业运营效率的高低往往决定了其在市场中的地位和生存能力。而信息化系统的应用,正逐渐成为企业提升运营效率的关键因素。众所周知,信息化系统能够实时监控企业生产、销售等各个环节的
据业内人士2月11日透露,三星显示器近期限时推出名为“平衡假期”的特别假期。具体内容是,每周平均工作超过52小时的员工可获得三天带薪休假,每周工作超过60小时的员工可获得六天带薪休假。上个月,三星显示
当地时间2025年2月10日,恩智浦半导体公司 (NXP) 宣布,已与高性能、节能和可编程离散神经处理单元 (NPU) 领域的行业领导者 Kinara 达成最终收购协议。此次收购将以全现金方式进行,
据IT业界9日报道,苹果公司最近进入了“可折叠iPhone”零部件供应商选择的最后阶段,据观察,三星显示器已决定独家供应初期面板量。据悉,三星将供应约1500万至2000万片,并将于明年5月开始量产,
会议时间:2025年3月13日 13:15--16:35会议地点:无锡富力喜来登酒店 • 三楼齐厅会议地址:无锡市滨湖区梁溪路49号会议介绍物联网作为新一代信息技术高度集成和综合运用的载体,在日常生产
RS90LV049是一款双通道LVDS差分信号发送、接收一体的芯片,可以支持400Mbps的LVDS信号。主要参数特性如下:Ø 符合TIA/EIA-644-A标准;Ø >400Mbps(200MHz)
2月11日,特斯拉上海储能超级工厂投产仪式今日在上海临港举行,这一重要项目的投产标志着特斯拉在华业务的进一步拓展。特斯拉上海储能超级工厂于 2024 年 5 月正式在上海临港新片区开工建设。从开工到产
一年一度的新能源汽车“掀桌子”活动又开始了,前两年新能源汽车“价格战”的阴影还没有消散,今年关于智能驾驶只怕又要卷生卷死了。搅动风云的,依旧是那个男人,依旧是那个品牌——比亚迪,又来掀桌子了。昨晚,比
  电子无尘车间在设计时需要重视多个问题,以确保生产环境的洁净度、生产效率和安全性。以下是需要重视的设计问题,具体随合洁科技电子洁净工程公司一起来了解下吧! &emsp