AI芯片第二极:xPU性能、技术架构分析
NPU 在人工智能算法上具有较高的运行效率。为了适应某个特定领域中的常见的应用和算法而设计,通常称之为“特定域架构(Domain Specific Architecture,DSA)”芯片,NPU(神经网络处理器)属于其中一种,常被设计用于神经网络运算的加速。以华为手机 SoC 麒麟 970 为例,NPU 对图像识别神经网络的运算起到了显著加速效果,使其图像识别速度明显优于同代竞品的表现。
目前已量产的 NPU 或搭载 NPU 模块的芯片众多,其他知名的芯片包括谷歌 TPU、华为昇腾、特斯拉 FSD、特斯拉 Dojo 等。各家厂商在计算核心的设计上有其差异,例如谷歌 TPU 的脉动阵列,华为昇腾的达芬奇架构。
以谷歌 TPU 及计算核心结构脉动阵列为例,对比其相较于 CPU、GPU 的区别:
CPU 和GPU 均具有通用性,但以频繁的内存访问导致资源消耗为代价。CPU 和 GPU 都是通用处理器,可以支持数百万种不同的应用程序和软件。对于 ALU 中的每一次计算,CPU、GPU 都需要访问寄存器或缓存来读取和存储中间计算结果。由于数据存取的速度往往大大低于数据处理的速度,频繁的内存访问,限制了总吞吐量并消耗大量能源。
谷歌TPU 并非通用处理器,而是将其设计为专门用于神经网络工作负载的矩阵处理器。TPU 不能运行文字处理器、控制火箭引擎或执行银行交易,但它们可以处理神经网络的大量乘法和加法,速度极快,同时消耗更少的能量,占用更小的物理空间。
TPU 内部设计了由乘法器和加法器构成的脉动阵列。在计算时,TPU 将内存中的参数加载到乘法器和加法器矩阵中,每次乘法执行时,结果将传递给下一个乘法器,同时进行求和。所以输出将是数据和参数之间所有乘法结果的总和。在整个海量计算和数据传递过程中,完全不需要访问内存。
这就是为什么TPU 可以在神经网络计算上以低得多的功耗和更小的占用空间实现高计算吞吐量。
脉动阵列本质上是在硬件层面多次重用输入数据,在消耗较小的内存带宽的情况下实现较高的运算吞吐率。
脉动阵列结构简单,实现成本低,但它灵活性较差,只适合特定运算。然而,AI 神经网络需要大量卷积运算,卷积运算又通过矩阵乘加实现,正是脉动阵列所适合的特定运算类型。
脉动阵列理论最早在1982 年提出,自谷歌2017 年首次将其应用于 AI 芯片TPU 中,这项沉寂多年的技术重回大众视野,多家公司也加入了脉动阵列行列,在自家加速硬件中集成了脉动阵列单元。
NPU 已经在 AI 运算加速领域获得了广泛应用。在数据中心获得大规模应用的 NPU 案例即 TPU,已被谷歌用于构建数据中心的超级计算机,执行特定神经网络的训练任务。在用户端,手机、汽车、智能安防摄像头等设备开始搭载AI 计算功能,通常是利用训练好的神经网络模型执行图像处理等工作,此时NPU 通用性差的劣势被缩小,高算力、高能耗比的优势被放大,因而得到了广泛的应用。在终端设备中,NPU 常以模块的形式包含在 SoC 内部,对 AI 运算进行加速,例如特斯拉自动驾驶芯片 FSD 均包含 NPU。
模型训练需要规模化的算力芯片部署于智能服务器,CPU 不可或缺,但性能提升遭遇瓶颈,CPU+xPU 异构方案成为大算力场景标配。其中 GPU 并行计算优势明显,CPU+GPU 成为目前最流行的异构计算系统,而NPU 在特定场景下的性能、效率优势明显,推理端应用潜力巨大,随着大模型多模态发展,硬件需求有望从GPU 扩展至周边编解码硬件。
AI 加速芯片市场上,英伟达凭借其硬件产品性能的先进性和生态构建的完善性处于市场领导地位,在训练、推理端均占据领先地位。根据 Liftr Insights 数据,2022 年数据中心AI 加速市场中,英伟达份额达82%。
推荐阅读
2、随着电子书数量增加及内容更新,价格会随之增加,所以现在下单最划算,购买后续可享全店内容更新“免费”赠阅。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。
微信扫码关注该文公众号作者