AI处理器IPU的崛起:能补足CPU、GPU哪些短板

人工智能不会陷入低潮,它会产生大量的应用。但是很多 AI应用程序都非常场景化,既需要成熟的 CPU和 GPU,也需要全新的 AI处理器。Intelligence Processing Unit是一个革命性的架构,它为 AI计算提供了一个全新的平台,目前它已经在金融、医疗、电信、机器人、云和因特网等领域取得了成功。
当第三类 AI处理器在英国初创公司 Graphcore的 IPU市场大规模上市时, IPU是否能更好地完成 CPU和 GPU所不擅长的 AI任务成为当之无愧的革命性架构?

1.IPU如何跨越芯片和 AI应用差距呢?

去年年底,雷锋网为 AI颠覆 GPU!电脑历史上迎来第三次革命的架构 IPU”这篇文章已经解释了 Graphcore IPU架构的独特之处。在此,我们进一步介绍一下 Graphcore已经量产的 IPU,其型号是GC2,在处理器内有1216个 IPU Tiles,每一个 Tile内都有一个独立的 IPU核作为计算和 In Processor Memory,即处理器内的内存。整体上来说,GC2处理器有7296个线程,可以支持7296个程序并行运行。

IPU比CPU和GPU强在哪
IPU/GPU/CPU区别

GC2以台积电16纳米工艺为基础,集成了236亿个晶体管,混合精度为125 TFlops,综合功率消耗120 W,300 M SRAM可容纳完整的模型,另外内存带宽为15 TB/s,片间交换为8 TB/s,片间IPU-Links为2.5 Tbps。

IPU采用分布式片上存储体系,突破了 AI芯片存储瓶颈。但是就像 Graphcore的销售副总裁和中国区总经理卢涛最近在一次媒体分享会上说的那样:“从一个芯片到落地都有很多的 gap。其中包括有没有比较好的工具链,有多少软件,有多少软件库支持,有多少主流算法,框架和操作系统。

这就是说,只有通过易于使用的软件来发挥芯片的优势, AI芯片才能更好地落地。对 IPU来说,由于其体系结构的特殊性,实现高效的并行硬件编程是一个重大课题。为了实现这一目标, Graphcore在GC2中采用了谷歌、 Facebook和百度等 BSP技术,它们将为建立大型数据中心集群而使用,即 BSP (Bulk Synchronous Parallel)技术,它通过硬件支持 BSP协议,将整个计算逻辑划分为计算、同步和交换。

Luks说:“采用 BSP之后,对于软件工程师和开发人员来说都是非常容易的,因为不用处理 locks。对于用户来说,不用管这里面是1216个内核(Tile),还是超过7000个线程,任务具体在哪个核上执行,都是非常方便用户的创新。

然后, Graphcore推出了一个软件栈 Poplar,它在机器学习框架软件和硬件之间建立了基于计算图的完整工具链和程序库。据报道, Poplar目前已经为750个高性能计算单元提供了50多种优化功能,支持TensorFlow1,2, ONNX和 PyTorch等标准机器学习框架,不久将支持 PaddlePaddle。
此外,还支持容器化部署,可以快速启动和运行。Docker、 Kubernetes以及微软的Hyper-v等虚拟化和安全技术在标准生态方面得到了支持。OS支持三种广泛应用的 Linux发行版本: ubuntu、红帽企业 Linux、 CentOS。

五月份, Graphcore发布了另一款分析工具 PopVisionGraph Analyser,开发者和研究人员在使用 IPU编程时可以通过 PopVision这一可视图形显示工具来分析软件的运行状况、效率调试调整等等。Poplar开发者文档和社区也于本月上线。

基于 IPU的一些应用已经覆盖了机器学习的各个领域,包括自然语言处理,图像/视频处理,时间分析,推荐/排名和概率模型等。在 Github上, Graphcore不仅提供了模型移植的文章,还提供了大量应用案例和模型。
此外,开发者将模型移植到 IPU是否需要在代码层面上进行修改也是个关键问题。Luzzan告诉雷锋网:“90%的 AI开发者使用开放源码框架,开发语言是 Python,对于这类开发者来说,代码的迁移成本很低。即使是9%的开发人员,使用基于 NvidiacuDNN的性能级开发人员时,我们也会尽量提供与 cuDNN相似的用户体验,这一工作现在看来完全可以接受。

2.IPU最大吞吐量是 GPU的260倍

把芯片软件应用解决了,那么 IPU更适合应用于哪些场景呢?「未来发展的策略,仍是同时训练与推理两件事。可以是个别的训练任务,也可以是个别的推理任务,但是我们将会更加关注某些场景,这些场景对准确度的要求更高,对时延的要求更低,对吞吐量的要求更高,”卢涛进一步表示。

IPU到底有多强
IPU有多强

他说:“目前广泛使用的 CV类主流模型是以Int8为主,但是像现在的 NLP模型,以及一些搜索引擎中使用的模型或者广告算法,实际上都是FP16甚至FP32作为主流的数据格式,因为这样一些模型对精度的要求比较高。所以除了Int8、FP16和FP32之外,云推理的市场也很大。

朱江, Graphcore中国销售总监,指出,除了稠密的数据外,现在代表整个 AI发展方向的大规模稀疏数据,在 IPU上处理将具有非常明显的优势。针对大规模稀疏化数据,提出了一种新的卷积算法——包卷积算法,它比当前常用的 ResNet算法具有更好的精度方差和性能改进。

Graphcore提供了一个Micro-Benchmark,它可以对卷积内核进行分组,把组的维度(Group Dimension)从1到512进行比较。而512就是应用更多的” Dense卷积网络”,比如 ResNet等典型应用。IPUGC2在212维上的性能几乎是V100的两倍。当组尺寸为1或32时, IPU表现出很大的优势,当组尺寸为1或32时, IPU对 MobileNet或 MobileNet进行对比, GPU显示出很大的优势,从而能够成倍地提高性能,同时大大降低延迟。

由于分组卷积数据不够密集,可能对 GPU不起作用,因此在低数组方面具有明显的优势,而 IPU的架构设计能够在分组卷积方面发挥优势,而且能够提供 GPU难以甚至无法提供的低延迟和高吞吐量。

总体来说, Graphcore的 IPU比英伟达V100在自然语言处理上提高了20%-50%,而图像分类的吞吐量提高了6倍,从而达到更低的延迟。在实际落地案例中, IPU也具有同样明显的性能优势。

将 MarkovChain和 MCMC等算法应用于金融领域的风险管理、算法交易等应用中,借助 IPU,采样率可以比 GPU提高26倍。广泛应用于财务领域的强化学习, IPU也可以将强化学习时间减少到1/13。此外,使用 MLP (多层感知器)以及嵌入一些数据来进行销售预测,与 GPU相比, IPU的吞吐量提高了5.9倍。

IPU在新药物发现、医学影像、医学研究、精准医疗等医疗与生命科学领域也已体现出其优势。利用微软对COVID-19算法模型 CXR的图像分析,COVID-19可以在30分钟内完成对 NVIDIA GPU的5小时训练。
此外,在电信领域,机器智能能够帮助分析无线数据的某些变化,例如使用 LSTM模型预测未来网络规划性能。在时间序列分析的基础上,利用 IPU实现了 GPU的260倍吞吐率。

通过5 G网络切片和资源管理所需的强化学习,使用 IPU还可以将吞吐量提高13倍。

对于创新的自然语言处理(NLP)客户体验,典型的模式是 BERT。目前,我们在 BERT项目上训练的时间可以比 GPU缩短25%以上。

IPU在机器人领域的应用也很有趣, Graphcore与伦敦帝国理工学院合作,主要利用一些空间的 AI,以及实时定位和地图构造技术,帮助机器人做更复杂的动作和更高级的功能。

对于 Graphcore来说,更重要的是 IPU在云和数据中心中的应用,这是其早期推广以及现在的主要推广领域,包括微软在 Azure公有云上开放 IPU服务,以及欧洲搜索引擎公司 Qwant通过使用 IPU来提高搜图识别能力3.5倍以上。

3.怎样占领中国 AI市场的制高点?

他说:“在 IPU落地方面,目前我们的整体战略还是与云服务提供商和服务器提供商合作,所有地区基本上都是这样。Luke坦言,与中国相比,美国的 IPU落地速度更快,包括 Azure在公有云上开放 IPU服务,以及与 DelImport安信合作推出 IPU服务器等。

“这是因为美国用户可能比较活跃,研究人员也比较多,而中国更注重产品化的落地,”他解释。在中国,我们当地的一些合作伙伴,开发人员可能会更务实。也许之前的导入会慢一些,但后面就真的开始加速了,整个开发过程将变得非常快速。

POPLAR
机器智能

Luke还透露, Graphcore正在与金山云合作,为中国开发者和创新者提供一款免费试用的开发者云。
关于本土化产品服务,“长期以来,我们非常愿意做产品定制化,以适应中国市场的需求。就服务而言,我们有两个技术团队,工程技术团队负责两方面的工作,一个是根据中国本土 AI应用的特点和应用的需要,将一些 AI算法模型运用到 IPU上;另一个是根据中国本土用户对 AI稳定性学习框架平台软件方面的需求,做一些功能性的开发强化工作。实地申请小组就是协助客户在实地进行一些技术支援。」

自然, Graphcore支持阿里巴巴为其底层架构抽象出的统一接口 API ODLA (Open Deep Learning API)硬件标准,以及支持一个重要的深度学习框架百度 framework (Graphcore),这也有助于 Graphcore在国内实现 IPU。
就 AI未来发展趋势而言, IPU也可以发挥其优势。卢涛说:“我们看到一个大趋势,就是训练和推理需要相互融合。例如在线推荐算法,以及预测汽车应用程序。IPU既能满足训练和推理的需要,又能发挥优势。
此外,“数据包卷积对于算法设计者来说,最简单的一种表现就是设计出参数更小、精度更高的算法模型。我想这是未来的一大趋势。

4.结语

IPU是一种全新的体系结构,得到了业界众多专家的高度评价。然而, Graphcore从芯片到落地之间的距离,从创新架构到芯片再到革命性产品,需要易于使用的软件和丰富的工具来支持,尤其是云端芯片市场,因为这依赖于软件生态环境。就目前情况而言, Graphcore已经有了相应的工具链、部署支持的产品,并在金融、医疗、数据中心等领域有了落地案例。同时, Graphcore基于7 nm先进工艺的下一代 IPU也将面世。

那么,标杆客户之后市场的接受程度又如何呢?还有, Graphcore的市场战略和它们的产品一样具有优势吗?
除了 Graphcore之外,世界上其他的公司也都在利用 IPU的概念来设计 AI芯片并开始推广。我们正见证着 IPU时代的来临。

THE END
分享