1. NPU与AI芯片概述:从CPU到NPU的演进

大家好,我是你们这期课程的主讲。在芯片行业摸爬滚打了十几年,我见过太多架构的起起落落。今天咱们聊的NPU,说白了就是专门为AI计算打造的“特种兵”。

为什么需要NPU?这事儿得从CPU说起。

1.1 从CPU到NPU的演进

CPU是个全才。它能处理文字、跑操作系统、玩游戏,什么都能干。但全才往往意味着不专精。你想想看,CPU内部大量面积给了缓存和控制逻辑,真正做计算的ALU单元其实没多少。

到了深度学习时代,问题就暴露了。神经网络计算有个特点:数据量大、计算模式单一、并行度高。CPU那点并行能力,根本喂不饱这些模型。

核心矛盾:CPU擅长复杂控制流,但AI计算需要大量简单重复的矩阵运算。

我记得2015年做第一个AI加速项目时,用CPU跑一个简单的卷积层,等了整整两个小时。当时我就想,这条路走不通。

于是行业开始寻找出路。GPU最先被拉来“救火”。它天生就是为并行计算设计的,上千个核心一起干活,确实比CPU快得多。但GPU有个问题——功耗太高。你想想,一块高端GPU动辄300W+,数据中心根本扛不住。

1.2 AI芯片的分类

目前主流的AI芯片方案,我习惯把它们分成四类:

芯片类型 代表产品 核心特点 典型场景
GPU NVIDIA A100/H100 通用性强,生态成熟 云端训练、推理
FPGA Xilinx Alveo系列 可重构,低延迟 边缘推理、原型验证
ASIC Google TPU 专用性强,能效比高 大规模数据中心
NPU 华为昇腾、寒武纪 神经网络专用优化 端侧推理、自动驾驶

这里我想多说一句。很多人把ASIC和NPU混为一谈,其实不对。NPU是ASIC的一个子集,它专门针对神经网络计算做了架构优化。说白了,NPU就是“ASIC中的特种部队”。

1.3 NPU的核心优势

NPU到底强在哪?我总结了三句话:

  • 算力密度高:同样芯片面积,NPU能塞进更多MAC单元
  • 能效比优秀:每瓦性能是GPU的5-10倍
  • 数据流优化:专门为神经网络的数据复用模式设计

避坑指南:我曾经在项目里吃过亏——以为NPU能替代所有AI计算。后来发现,对于稀疏化模型或者动态图计算,NPU反而表现不佳。选型时一定要看具体场景。

为什么会这样?因为NPU的架构设计是“静态”的。它假设计算模式是固定的,比如卷积核大小、步长这些参数在编译时就确定了。一旦运行时发生变化,性能就会大打折扣。

1.4 典型NPU架构

下面这张图是我自己画的NPU典型架构,大家先有个整体印象:

NPU典型架构框图 控制单元 (CU) 全局缓冲区 (Global Buffer) ~2MB SRAM 计算阵列 (Systolic Array) MAC × N 激活/池化单元 ReLU, MaxPool等 DMA / 外部存储接口 控制 存储 计算 后处理 接口

这个架构图里,最核心的是脉动阵列(Systolic Array)。它就像一条流水线,数据从左到右、从上到下流动,每个MAC单元只做一件事——乘加运算。这种设计的好处是:数据复用率高,访存次数少。

嗯,这里要注意。脉动阵列虽然高效,但它对数据流的规整性要求很高。如果卷积核大小不是2的幂次,或者步长很奇怪,阵列的利用率就会下降。我在做算子映射时,经常需要手动调整数据排布来适配这个结构。

1.5 从编译器角度看NPU

作为编译器工程师,我看NPU的角度可能跟硬件工程师不太一样。我关心的是:怎么把神经网络的计算图,高效地映射到NPU的硬件资源上。

这里面有几个关键问题:

  • 算子拆分:大矩阵怎么切分成小块,塞进脉动阵列
  • 数据排布:输入特征图在内存里怎么摆放,才能让数据流最顺畅
  • 流水线调度:计算、访存、后处理怎么重叠,才能把硬件跑满

警告:千万别以为NPU是“傻瓜式”加速器。我见过太多团队,买了NPU板卡,结果性能连GPU的1/3都跑不到。问题往往出在编译器适配和算子优化上。

举个例子。同样是卷积算子,在GPU上你可能用cuDNN直接调库就行。但在NPU上,你得手动做im2col变换、调整数据分块大小、甚至要手写汇编级别的微代码。这就是为什么我说,NPU的潜力,一半在硬件,一半在编译器。

我个人习惯把NPU编译器的工作流程分成三步:

  1. 图优化:合并算子、消除冗余计算、调整计算顺序
  2. 算子映射:把每个算子分配到具体的硬件单元,决定数据排布
  3. 代码生成:生成NPU能执行的指令序列,包括DMA传输、计算、同步等

这三步里,算子映射是最难的。因为它直接决定了硬件利用率。我曾在某个项目里,仅仅因为调整了数据分块的大小,性能就提升了40%。

好了,第一章的内容就到这里。这一章我们建立了对NPU的基本认知——它为什么出现、有什么优势、长什么样。下一章开始,我们会深入算子映射的具体技术细节。


想要更多资料,联系可可