在CPU 芯片领域,延续至今的“摩尔定律”正在随着制程工艺逼近物理极限而有了延缓的趋势,甚至失效的可能。就在摩尔定律的增长放缓脚步的同时,半导体芯片的计算也正在从通用走向专用,其中AI 计算正是其中增长最快的一种专用计算。
现在,AI 计算正在接棒摩尔定律,延续并超越其倍增神话。2019 年,OpenAI 发布了 AI 算力的增长情况,结果显示 AI 算力以 3.4 个月的倍增时间实现了指数增长,从 2012 年起,该指标已经增长了 30 万倍。
在 AI 算力爆炸式增长的过程中,英伟达的 GPU 功不可没。广为人知的一个故事就是 2012 年,来自多伦多大学的 Alex 和他的团队设计了 AlexNet 的深度学习算法,并用了 2 个英伟达的 GTX580 GPU 进行训练后,打败了其他所有计算机视觉团队开发的算法,成为那一届 ImageNet 的冠军。
此后,在计算机视觉和自然语言处理领域,GPU 的高并行计算能力得到了充分的发挥,英伟达的 GPU 也随着 AI 第三次浪潮的崛起而迎来井喷发展。与此同时,更多为机器学习而专门定制的专用芯片开始出现,比如专用集成电路(ASIC)的张量处理单元 TPU、神经网络单元 NPU 以及半定制芯片 FPGA 等等。
2018 年底,英国一家名为 Graphcore 的创业公司推出了一种专门用于 AI 计算的处理器芯片IPU(Intelligence Processing Unit)。一经问世,IPU就受到 AI 界越来越多的关注。
ARM 创始人,被称为英国半导体之父的赫曼·豪瑟曾为 Graphcore 的IPU给出很高评价,将其誉为“计算机史上三次革命中,继 CPU 和 GPU 之后的第三次革命”。赫曼在芯片产业的地位自然不容置疑,但由于 Graphcore 是英国芯片产业中为数不多的新生力量,难免赫曼有“护犊子”的打广告之嫌。
IPU 出道 2 年时间,现已推出了量产第二代型号为 GC2 的 IPU。那么,IPU 的表现如何,与 GPU 相比有哪些优势之处,这是本文要重点探讨的问题。
GPU 所开启的深度学习
一个广为人们熟知的例子就是,在计算机视觉发展初期的 2011 年,谷歌大脑想要在 YouTube 的视频中识别人类和猫,当时这样一个简单的任务,谷歌要动用一家大型数据中心内的 2,000 颗服务器 CPU,这些 CPU 的运行会产生大量的热量和能耗,关键是代价不菲,很少能有研究人员可以用得起这种规模的服务器。
不过在当时,研究人员注意到了英伟达的 GPU,斯坦福大学的吴恩达团队开始和英伟达合作,将 GPU 应用于深度学习。后来证明,只需要 12 颗英伟达 GPU 就可以达到相当于 2000 颗 CPU 提供的深度学习性能。此后越来越多的 AI 研究人员开始在 GPU 上加速其深度神经网络 (DNN)的训练。
现在我们都知道,GPU 能够在深度学习的训练中大显身手,正是源于 GPU 的计算架构正好适用于深度学习的计算模式。深度学习是一种全新的计算模式,其采用的 DNN 算法包含数十亿个网络神经元和数万亿个连接来进行并行训练,并从实例中自己学习规律。
深度学习算法主要依赖的基本运算方法有矩阵相称和卷积浮点运算,而 GPU 多核架构在原本图像渲染中可以大规模处理矩阵乘法运算和浮点运算,很好地可以处理并行计算任务,使得 DNN 训练速度大幅提升。
此后,GPU 成为辅助完成深度学习算法的主流计算工具,大放异彩。但 GPU 本身并非是专门为 AI 计算而设计的芯片,其中有大量的逻辑计算对于 AI 算法来说毫无用处,所以行业自然也需要专门针对 AI 算法的专用 AI 芯片。
近几年,全球已经有上百家公司投入到新型 AI 芯片的研发和设计当中,当然最终能够成功流片并推出商用的仍然是几家巨头公司和少数实力雄厚的独角兽公司。
这其中,2017 年初创成立的 Graphcore 所研发的 AI 芯片 IPU,则成为这些 AI 芯片当中的另类代表,因其不同于 GPU 架构的创新得到了业内的关注。而这正是我们要着重介绍的部分。
更适合 AI 计算的 IPU 芯片
近两年,AI 芯片出现了各种品类的井喷,其中甚至出现一些堪称疯狂的另类产品。
比如一家同样创立四年的 AI 芯片创业公司 Cerebras Systems 就发布了史上最大的半导体芯片 Wafer Scale Engine(WSE),号称“晶圆级发动机”,拥有 1.2 万亿个晶体管,比英伟达最大的 GPU 要大出 56.7 倍。这块芯片主要瞄准的是超级计算和和大型云计算中心市场,其创新之处在于一体化的芯片设计大幅提高了内部的数据通信数据,但其架构仍然类似于 GPU 的计算架构。
而 Graphcore 的 IPU 与 GPU 的架构差异非常大,代表的是一种新的技术架构,可以说是专门为解决 CPU 和 GPU 在 AI 计算中难以解决的问题而设计的。
IPU 为 AI 计算提供了全新的技术架构,同时将训练和推理合二为一,兼具处理二者工作的能力。
我们以目前已经量产的 IPU 的 GC2 处理器来看,IPU GC2 采用台积电的 16nm 工艺,拥有 236 亿个晶体管,在 120 瓦的功耗下有 125TFlops 的混合精度,另外有 45TB/s 内存的带宽、8TB/s 片上多对多交换总线,2.5 TB/s 的片间 IPU-Links。
其中,片内有 1216 个 IPU-Tiles 独立处理器核心,每个 Tile 中有独立的 IPU 核,作为计算以及 In-Processor-Memory(处理器内的内存)。对整个 GC2 来说共有 7296 个线程(每个核心最多可以跑 6 个线程),能够支持 7296 个程序并行运行,处理器内的内存总共可以达到 300MB,其设计思路就是要把所有模型放在片内处理。
首先,IPU 作为一个标准的神经网络处理芯片,可以支持多种神经网络模型,因其具备数以千计到数百万计的顶点数量,远远超过 GPU 的顶点规模,可以进行更高潜力的并行计算工作。此外,IPU 的顶点的稀疏特性,令其也可以高效处理 GPU 不擅长的稀疏的卷积计算。其次,IPU 也支持了模型参数的复用,这些复用特性可以获取数据中的空间或时间不变性,对于训练与推理的性能会有明显帮助。
其次,为解决芯片内存的宽带限制,IPU 采用了大规模并行 MIMD(多指令流多数据流)众核架构,同时,IPU 架构做了大规模分布式的片上 SRAM。片内 300MB 的 SRAM,相对于 GPU 的 GDDR、HBM 来说,可以做到数十倍的性能提升,而且与访问外存相比,SRAM 的片内时延基本可以忽略不计。
第三,IPU 采用了高效的多核通信技术 BSP(Bulk Synchronous Parallel)。IPU 是目前世界上第一款采用 BSP 通信的处理器,支持内部 1216 个核心之间的通信以及跨不同的 IPU 之间的通信。通过硬件支持 BSP 协议,并通过 BSP 协议把整个计算逻辑分成了计算、同步、交换,能极大方便工程师们的开发工作。
基于以上 IPU 的差异化特点,IPU 在某些批量训练和推理中能够获得更好的性能、更低延时和更快网络收敛。片内的 SRAM 相对于片外存储,也有高带宽和低延时的优势。
今年 7 月,Graphcore 发布了二代的 Colossus MK2 IPU (MK2),以及包含四颗 MK2 芯片系统方案的 IPU-Machine:M2000 (IPU-M2000),其核心数增加了 20%,达到 1472 个,8832 个可并行执行的线程。片内 SRAM 则多出 3 倍,增加到 900MB,互联扩展性能是上一代的 16 倍。显然在计算、数据和通信扩展层面,MK2 都算是延续了第一代 IPU 堆料狂魔的作风。
由 4 个 IPU 芯片构成的 IPU-M2000 系统,可以提供大约 1 PetaFLOPs 的算力。基于 IPU 的多层级存储结构,与 IPU Exchange Memory 等技术优化,整体与 GPU 的 HBM2 存储比较,可以提供超过 100 倍的带宽以及大约 10 倍的容量,可以适用于更复杂的 AI 模型和程序。
计算加上数据的突破可以让 IPU 在原生稀疏计算中展现出领先 GPU 10-50 倍的性能优势,在通信上,Graphcore 专为为 AI 横向扩展设计了 IPU-Fabric,解决数据中心大规模计算横向扩展的关键问题。Graphcore 将计算、数据、通信三者的突破技术结合,构建了大规模可扩展的 IPU-POD 系统,最终可以提供一个 AI 计算和逻辑进行解耦、系统易于部署、超低网络延时、高可靠的 AI 超算集群。
可以预计,未来 IPU 在各类 AI 应用中将具有更大的优势,而这也必然会引起英伟达的注意。那么,相较于英伟达 GPU 所占据的 AI 行业生态位的霸主地位,IPU 会有哪些前景,也会遭遇哪些困境呢?
走向通用 AI 计算的“另辟蹊径”
如果回顾下 AI 芯片的发展经历,我们看到在经过这几年专用 AI 芯片的井喷之后,也开始面临一个尴尬困境,那就是 ASIC 芯片的灵活性或者说可编程性很差,对应的专用 AI 芯片只能应对一种算法应用,而算法本身则在 3-6 个月的时间就有可能变化一次,或许出现很多 AI 芯片还未上市,算法就已经发生进化的问题,一些 AI 芯片注定无法生产。当然,专用 AI 芯片的优势也很明显,在性能、功耗和效率上远胜更加通用的 GPU,对于一些非常具体的 AI 应用场景,这些专用芯片就具有了巨大的收益。
从专注图像渲染崛起的英伟达的 GPU,走的也是相当于 ASIC 的技术路线,但随着游戏、视频渲染以及 AI 加速需要的出现,英伟达的 GPU 也在向着 GPGPU(General Purpose GPU)的方向演进。为保持其在 GPU 领域的寡头地位,使得英伟达必须一直保持先进的制程工艺,保持其通用性,但是要牺牲一定的效能优势。
这给后来者一定的启发,那就是 AI 芯片既要具备一定的灵活的可编程性(通用性),又要具备专用的高效性能优势。这为 IPU 找到了一个新的细分市场,也就是介入 GPU 不能很好发挥效能的神经网络模型,比如强化学习等类型,同时又避免的专用 AI 芯片的不可扩展性,能够部署在更大规模的云计算中心或超算中心,对新算法模型保持足够的弹性计算空间。
目前来看,IPU 正在成为仅次于 GPU 和谷歌 TPU 的第三大部署平台,基于 IPU 的应用已经覆盖包括自然语言处理、图像 / 视频处理、时序分析、推荐 / 排名及概率模型等机器学习的各个应用场景。
典型的如通过 IPU 可以训练胸片,帮助医学人员快速进行新冠肺炎的诊断;如在金融领域,对涉及算法交易、投资管理、风险管理及诈骗识别的场景进行更快的分析和判断;此外在生命科学领域、通信网络等方面,都可以同 IPU 实现高于 GPU 性能的 AI 加速。
(NLP 模型参数的指数增长)
当然,IPU 想要在 AI 计算中拥有挑战 GPU 地位的资格,除了在性能和价格上面证明自己的优势之外,还需要在为机器学习框架提供的软件栈上提供更多选择,获得主流 AI 算法厂商的支持,在标准生态、操作系统上也需要有广泛的支持,对于开发者有更方便的开发工具和社区内容的支持,才能从实际应用中壮大 IPU 的开发生态。
今年, AI 芯片产业正在遭遇洗牌期,一些 AI 芯片企业黯然退场,但这并不意味着 AI 计算遭遇寒冬,反而 AI 算力正在得到大幅提升,以今年数量级提升 GPT-3 的出场就可以看出这样的趋势。
一个 AI 芯片从产出到大规模应用必须要经过一系列的中间环节,包括像上面提到的支持主流算法框架的软件库、工具链、用户生态等等,打通这样一条链条都会面临一个巨大挑战。
现在,GPU 已经形成一个非常完整的 AI 算力生态链路,而 IPU 则仍然在路上,是否能真正崛起,还需要整个 AI 产业和开发者用实际行动来投票。
版权及免责声明:凡本网所属版权作品,转载时须获得授权并注明来源“物联之家 - 物联观察新视角,国内领先科技门户”,违者本网将保留追究其相关法律责任的权力。凡转载文章,不代表本网观点和立场。
延伸阅读
版权所有:物联之家 - 物联观察新视角,国内领先科技门户