碾压GPU,改变AI研究方向,明星公司Graphcore的AI芯片已进入中国

上个月刚刚和百度、阿里巴巴宣布合作,又帮助微软实现了医疗影像识别的技术突破。最近,有关 AI 芯片公司 Graphcore 的新闻越来越密集。事实上,这家公司正准备在全球人工智能计算领域向传统架构的玩家发起冲击。

本周,Graphcore 在中国首次举行活动,介绍了自己的最新技术和业务进展。其专门为机器智能设计的 IPU 架构,因采用大面积片上存储等领先技术,已经在自然语言处理、图像分类、金融等领域展现了自己的优势。

随着 AI 应用落地进程加快,机器学习和深度学习代表全新计算负载逐渐成为云计算的重要内容。这种计算需求大规模并行化、数据呈现稀疏结构,相较于高性能计算(HPC)的需求有着很大不同——机器智能通常需要低精度的计算。

然而很大程度上,现在机器学习不得不选择传统架构:面向普通应用和网络设计的处理器 CPU,以及向量处理为核心的 GPU 一直被广泛应用于深度学习负载中。很多 AI 芯片公司认为,现在以 GPU 为依托的密集计算是不可持续的,AI 模型越来越大,算力需求正呈现指数级提升,我们需要全新的方法来做 AI 计算。

Graphcore 提出的 IPU,正是面向计算图处理而设计的处理器。

IPU 的架构直面高效率 AI 计算的瓶颈:对于芯片来说,TFLOPS 的提升一直很快,但是内存吞吐量正逐渐成为提升的难点,在实践中经常会出现主板内通信能力无法满足峰值算力吞吐的现象。与 CPU、GPU 相比,IPU 采用片上内存的形式,可以做到相比常规架构 10-300 倍的性能提升,时延只有访问外存的 1%,低到可以忽略不计。

Graphcore 目前的 GC2 处理器采用台积电 16nm 制程,内含 1216 个 IPU 核心,算力 1Peta FLOPS,支持 7296 线程并行运行,晶体管数量 236 亿,功耗为 120W。它包含高达 300MB 的处理器上存储。所有机器学习模型都在片内进行处理,在 IPU 处理器之内,以及 IPU 之间的数据处理依靠 BSP-Sync 进行连接,延迟不到 90 纳秒,而处理器核心之间的数据交换速度高达 8TB/s。

相比其他 AI 专用芯片,IPU 的通用性较高:和 GPU 一样,Graphcore 芯片同时支持训练和推理。

为了解决如此大带宽的并行挑战,Graphcore 找到了大型计算机集群的并行方式。IPU 是世界第一个 BSP 处理器,具有易于编程的特性:对于用户来说,无需考虑 7200 多个线程如何分配。

强大的芯片也需要软件的配合,Graphcore 一直在为与 IPU 配合的 POPLAR 软件体系投入大量精力。POPLAR 负责连接硬件与机器学习框架,同时提供大量工具,这款产品目前已实现对 TensorFlow、PyTorch 等框架提供了支持,很快还会上线对于国产 AI 深度学习平台飞桨(PaddlePaddle)的支持。

Graphcore 表示,POPLAR 支持容器化的部署,可以在各种生态上运行,也支持虚拟化和相关安全技术。

今年 5 月,Graphcore 还推出了 POPVision 工具,支持以图形化显示软件运行情况,效率调优结果等。POPLAR 文档已经在包括 GitHub、知乎的各社区上线,这些内容可以帮助开发者把 TensorFlow 的模型用在 Graphcore 的 IPU 上。

「在 IPU 上,如果你是 TensorFlow、PyTorch 的 Python 语言开发者,改用的迁移成本非常低,」Graphcore 中国区总经理卢涛说道。「对于更高级的开发者来说,我们会尽量保持 Graphcore 软件与 cuDNN 类似的体验。但对于直接在 CUDA 上进行开发的人们来说,使用 POPLAR 还需要经历重新开发的过程。」

今天为止,基于 IPU 的应用已经覆盖了机器学习的各个领域,开发者们也已把大多数流行模型的示例推向 GitHub,供他人使用。

最重要的问题是:这些模型跑在 IPU 上速度如何?据 Graphcore 介绍,目前在流行算法上,IPU 可以说已经碾压了最流行型号的 GPU。在训练 BERT 时,8 块 V100 GPU 需要花费 50 多个小时,而在同样型号的服务器上使用 8 块 IPU 只需要 30 多个小时,速度提升了 25%。而在推断时,IPU 则有 50% 的速度提升。

更为重要的是,IPU 的架构不仅可以提升已有模型的计算效率,还可以为未来 AI 模型的发展打开道路。在 ResNet 这样的图像分类模型上,一块 IPU 的训练速度要比 V100 要快一倍左右,但如果是 EfficientNet 这样采用分组卷积的模型时,IPU 的效率提升更是巨大。

对于开发者来说,有时 GPU 无法支持极端低延时,高吞吐量需求的任务。有时一些模型在 GPU 上处理的很慢,需要开发者们花费精力提升算法,但如果不用稠密卷积,而采用分组卷积等方法,情况就会变得完全不同了。「深度学习模型在 GPU 上跑得不好并不是算法的问题,很多方法在 IPU 上就跑得非常好,」Graphcore 销售总监朱江博士说道。

5 月份微软提出的 SONIC 就是这样的例子。在 EfficientNet 的基础上,微软研究人员针对 IPU 特点设计了 SONIC 模型,采用分组卷积等方法,其模型仅需要 430 万参数,其推断效果却要比 EfficientNet 更好,而且更具泛化性。

「ResNet-50 带有 2000 万参数,EfficientNet 则带有 500 多万参数,我们认为分组卷积将是未来的重要趋势,」朱江表示。「现在人们正在思考将这些概念用在 NLP,特别是 BERT 上。这种思路或许为开发者们打开了新的可能性。」

基于 IPU 的实体芯片和云服务现在都已经上线。除了戴尔提供的整机,以及微软 Azure 云服务,Graphcore 在国内还在与金山云等公司合作,即将推出基于 IPU 的云服务。

Graphcore 一直是 AI 芯片界的明星公司,自 2016 年以来它的行动一直被业内关注。目前为止,这家公司全球融资金额已超过 4.5 亿美金,员工数量达到 450 人。

面对全球新常态,云端的计算需求从算量到算力都有了爆发性增长,这一切似乎为 AI 芯片提供了新的机遇。另一方面,英伟达刚刚推出的 7 纳米架构安培也为业界树立了新的标杆。在挑战和机遇面前,Graphcore 显得很有信心。

「我们认为英伟达 Tesla A100 的推出对于 Graphcore 是一个利好。新一代架构发布之后,很多 AI 芯片创业公司都要被扫地出门,」卢涛说道。「我们相信,即使是第一代 IPU 产品在某些应用上的效果也不会输于 A100。此外,英伟达 A100 采用了 7 纳米工艺,Graphcore 现款 IPU 是 16 纳米的,今年晚些时候我们也会出 7 纳米的新一代产品。」

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章