Graphcore:IPU 开启 AI 研发与应用的新篇章

  • 来源:智能制造
  • 关键字:AI 技术,升温,突破
  • 发布时间:2020-10-21 14:35

  Graphcore 是一家总部位于英国的创新公司,其主要业务是研发专门应用于 AI 技术的创新芯片——IPU(Intelligence Processing Unit)。自 2016 年成立以来,就受到了业界、市场和资本的高度关注。截至目前,Graphcore的总融资额超过 4.5 亿美金,其全球办公室遍布欧洲、亚洲和北美。

  随着 Graphcore IPU(智能处理器)硬件及其开发软件 Poplar 在人工智能行业的日益升温,日前,Graphcore又发布了 Graphcore IPU 的第二代产品 Colossus Mk2 GC200,以及可以用于大规模系统级产品的 IPUMachine: M2000(IPU-M2000)。第二代 IPU 具有更强的处理能力、更多的内存和内置的可扩展性,可处理庞大的机器智能工作负载。

  “从单一芯片来看,Colossus Mk2 GC200 处理器是目前世界上最复杂的单一处理器,基于台积电的 7 纳米技术,我们在一颗 823 平方毫米的 IPU 处理器中集成了将近600 亿个晶体管。Colossus Mk2 GC200 拥有 250 TFlops AI-Float 的算力和 900MB 的处理器内存储。处理器内核从第一代 IPU 的 1 217 个独立的处理器内核提升到了 1 472个,这样一个 IPU 处理器有将近 9 000 个单独的并行线程。

  相对于第一代产品,其系统级的性能提升了 8 倍以上。”Graphcore 高级副总裁兼中国区总经理卢涛介绍说。

  IPU处理器的颠覆性突破

  相比于 Graphcore 的第一代 IPU 产品,Colossus Mk2 GC200 在技术上实现了三大颠覆性的突破:计算、数据和通信。

  在计算方面,Colossus Mk2 GC200 处理器继承了上一代 IPU 的简洁架构,在单颗芯片中集成了 1 472 个独立的 IPU-Tiles 的单元,并设置了 8 832 个可并行执行线程,In-Processor-Memory 从上一代的 300 MB 提升到900 MB,每个 IPU 的内存带宽为 47.5TB/s,与上一代IPU 相比 Colossus Mk2 GC200 的峰值算力提高了两倍。同 时 Colossus Mk2 GC200 还包含了 IPU-Exchange 以 及 PCI Gen4 跟主机的交互接口,在芯片之间具备带宽为320 GB/s 的 IPU-Links 互联。

  在数据处理方面,Colossus Mk2 GC200具备900 MB超高速 SRAM,在每个处理器内核旁边都设有大量RAM,以实现最低能量访问。从数值上看,Colossus Mk2 GC200 的处理器存储容量比前代的 300 MB 提高了三倍,但在芯片内部,可供算法模型使用的激活、权重存储容量比上一代提高了六倍以上,对于提升有效的运算效能大有帮助。

  此 外,Graphcore 的 Poplar 软件提出了全新的交 换 式 存 储 概 念 ——IPUExchangeMemory。通过IPUExchangeMemory 访问 Streaming Memory,可以支持具有数千亿个参数的最大模型,每个 IPU-M2000 都可以支持密度高达 450 GB 的 IPU ExchangeMemory,以及 180 TB/s的带宽。与采用 HBM 技术的芯片相比,Graphcore 在每个IPU-M2000 设备中通过 IPU ExchangeMemory 技术,可以提供近 100 倍的带宽以及大约 10 倍的内存容量,这对于很多复杂的 AI 模型算法是非常有帮助的。

  在通信方面,Graphcore 专门为 AI 横向扩展推出了全新的 IPU-Fabric 结构。IPU-Fabric 结构主要由三种网络 IPU-Link、IPU Gateway Link 和 IPUoverFabric 三种网络组成,其可以实现 2.8 Tbps 的超低延时,并且支持AI 运算中的集合通信以及全缩减(All-Reduce)操作。此外,通过 IPU-Fabric 技术,用户可以通过直联,或者以太网交换机实现 IPU 的横向扩展,把设备集群从一个、几个、几十个、几百个甚至几千个无缝扩展至最高 64 000个 IPU。在 Colossus Mk2 与 Mk1 的系统级对比中,Graphcore分别选择了利用IPU-Link连接8个C2 PCIe 卡的IPU服务器和利用 IPU-Fabric 扩展的 8 个 IPU-M2000 进行对比。在BERT-Large 训练、BERT-3Layer 推理和 EfficientNet-B3 训练三个典型的应用场景中,BERT-Large 训练实现了 9.3 倍的性能提升,BERT-3Layer 推理实现了 8.5 倍的性能提升,EfficientNet-B3 训练实现了 7.4 倍的性能提升。卢涛表示,“相较于前代产品,不管是典型的 NLP 应用,还是 CV 类的应用,在 8 个 C2 的 IPU 服务器和基于 8 个 M2000 的服务器的系统级性能对比中,Colossus Mk2 GC200 都可以实现平均八倍左右的性能提升。”

  大规模可扩展的IPU-M2000刀片卡IPU-Machine:M2000(IPU-M2000)是一款即插即用的机器智能刀片式计算单元,采用 Colossus Mk2 GC200内核,并由 Poplar 软件栈提供全面支持。其设计便于部署,并支持可扩展至大规模的系统。这款纤薄的 1U 刀片机可提供 1 个 PetaFlop 的机器智能计算,且拥有 450 GB的 ExchangeMemory,以及可以为用户提供超低延时通信的 2.8 Tbps IPU-Fabric。IPU-M2000 目前的建议零售价是32 450 美金。

  IPU-M2000 有多种配置形态,用户可以根据自己的需求利用 IPU-Fabric 对 IPU 模块进行横向扩展。同时,Graphcore 还推出了基于 IPU-M2000 的全新模块化机架规模解决方案 IPU-POD64,可用于极大型机器智能横向扩展,为用户提供更大的 AI 计算可能性,以及完全的灵活性和易于部署的特性。

  IPU-M2000 是 IPU-POD 的一个基本组件,一个 IPUPOD64 的参考架构里支持 16 个 IPU-M2000,可以根据不同的工作负载进行不同的配置,并且具有 64 颗 IPU、16PFlops的算力、58GB的In-Processor-Memory,以及7TB的流存储。此外,IPU-POD64 支持 2D-Torus 的拓扑,最大化 IPU-Link 的带宽,全缩减(All-Reduce)的效率比网状拓扑快两倍。

  利用 Graphcore 最新的 IPU-Fabric 技术,用户可以在整个数据中心内连接 IPU,把 IPU-M2000 从一个机架式本地系统扩展到高度互连的超高性能 AI 计算设施中的1 000 多个 IPU-POD64 系统。IPU-M2000 的设计使客户可以在 IPU-POD 配置中构建最多 64 000 个 IPU 的数据中心规模系统,这样一个 64 000 个 IPU 的集群可以为用户提供16ExaFlops 的机器智能计算能力。

  Graphocore 在多核协同应用方面,应用了针对 IPU 协同的 BSP(Bulk Synchronization Parallel)机制,通过软件 + 硬件 + 编译的协同机制,实现超大规模线程的同步。Graphcore 中国区技术应用总负责人罗旭介绍说,BSP 机制其实并不是一个新的概念,很早之前在超算领域就被人提出过,而 Graphcore 在 BSP 机制的基础上把 IPU 芯片以及整个编译器结合起来,利用 IPU-Fabric,实现了 IPU的多核协同工作,并保证大规模并行处理过程中的性能提升线性。

  围绕IPU构建的开发环境

  Graphcore 的 IPU 应用软件 Poplar 包括了 PopART(run time)和 PopLibs(SDK)两个部分。Poplar 支持的算法框架包括 PyTorch、TensorFlow1、TensorFlow2 和ONNX,对百度 PaddlePaddle 的支持也会尽快发布。开发者通过 PopART 和 PopLibs 连接 Poplar 的 compute graph,再通过 graph compiler 在整个处理器软件跟硬件结合最紧密的地方生产计算图,并把这个计算图加载到对应的硬件,也就是 IPU-M2000 整个这一系列的产品中。

  Graphcore最新发布的PoplarSDK1.2可以完全支持主流数据中心的操作系统,包括 ubuntu、RedHat 和 CentOS 等。Poplar SDK 1.2 还优化了卷积库和稀疏库,开放了可扩展的Poplar库,集成了很多先进的机器学习框架,进一步开放了低级别的 API,为上层的算法提供低层次的 API 接口,并开放了 Graphcore 的独特技术 IPU Exchange Memory 的相关 API和管理功能,帮助用户对模型性能做出最大程度的调优。

  Graphcore 还为用户提供了基于图形的分析工具Graphcore PopVisionGraph,可以做到基于算子层面检测整个系统。以图形界面的形式呈现内存使用、算力使用等信息,并针对 IPU 的特性进行性能调优。

  GraphcoreIPU开发者云

  目前 Graphcore 在中国的首款 IPU 开发者云已经在金山云平台完成了部署,其中使用的 IPU 产品包括三种:IPU-POD64、浪潮 IPU 服务器 NF5568M5,以及戴尔 IPU服务器 DSS8440。Graphcore 的 IPU 开发者云支持当下最先进、最复杂的 AI 算法模型的训练和推理的工作,例如ResNeXt 和 EfficientNet 等以分组卷积为代表的机器视觉应用,LSTM、RNN 和 GRU 等基于时序分析的应用,还有自然语言、广告推荐和金融算法等方面的模型。

  Graphcore 的 IPU 开发者云为商业用户提供三周左右的试用期,对于高校、研究机构和个人开发者则提供六个月左右的免费试用,Graphcore还为应用机器智能辅助人类突破人类潜力的研究者,例如针对新型冠状病毒COVID-19的相关研究提供优先访问使用权。

  在用户社群建设方面,Graphcore一直在努力筹备中国的创新社区,并在微信、知乎、微博,以及 GitHub 等平台与开发者、创新者及研究者积极互动,Graphcore 的中国官网“拟未科技”也将于近期上线。

  后记

  “Graphcore 当下的主要工作分为三个部分:第一部分是专门为 AI 应用从零开始设计的 IPU 处理器。第二部分是基于 IPU 处理器以及面向 AI 应用的 Poplar 软件栈,以及相关开发工具。第三部分是围绕硬件和软件共同打造IPU 平台。”卢涛介绍说,“Graphcore 的愿景是在 CPU和 GPU 之外‘画出第三个圆’,因为我们认为不管是 CPU还是 GPU 都没有从根本意义上解决 AI 的问题。AI 是一个面向计算图的计算任务,跟 CPU 的标量计算和 GPU 的矢量计算都是不一样的。Graphcore 希望 IPU 能够帮助创新者在机器智能中实现下一步算法的突破。Graphcore芯片架构的特点能够为模型开发、算法迭代带来速度的提升,从而实现进一步的突破。”

  齐健

关注读览天下微信, 100万篇深度好文, 等你来看……