第一章:NPU与AI芯片概述

从CPU、GPU到NPU的演进

各位同学好,我是老张。在芯片设计这行摸爬滚打了十几年,今天咱们聊聊AI芯片的来龙去脉。

先说个有意思的事。我刚开始做芯片那会儿,大家觉得CPU就是万能的。什么都能算,什么都能跑。后来发现,CPU处理AI任务就像让一个数学家去搬砖——不是不能干,是效率太低。

为什么会这样?

CPU的设计哲学是「通用」。它要处理操作系统、数据库、网络协议,什么活都得接。所以它的核心就那么几个,但每个核心都特别复杂。分支预测、乱序执行、超线程……这些技术让CPU很灵活,但算力密度上不去。

GPU就不一样了。它天生是为图形渲染设计的。你想想看,屏幕上几百万个像素点,每个都要做矩阵运算。所以GPU堆了上千个简单核心,专攻并行计算。2012年AlexNet用GPU训练深度学习模型,一下子把AI带火了。

但GPU也有短板。它毕竟是为图形设计的,跑AI模型时很多电路是闲置的。我见过一个项目,用GPU跑Transformer,利用率不到30%。说白了,就是杀鸡用牛刀,还费电。

NPU就是冲着这个痛点来的。它把AI计算中最常用的操作——矩阵乘法、卷积、激活函数——做成了硬件电路。没有多余的分支预测,没有复杂的缓存管理,就是算、算、算。

核心区别一句话总结:

  • CPU:一个博士,什么都会,但一次只能干一件事
  • GPU:一千个小学生,只会加减乘除,但能一起干
  • NPU:一百个专做乘法的专家,只干一件事,但干得最快最省电

AI芯片的市场格局

现在的市场,说实话挺热闹的。我把它分成三个梯队来讲。

梯队 代表厂商 主打产品 特点
第一梯队 NVIDIA A100、H100、B200 生态最强,CUDA护城河深
第二梯队 Google、AMD、Intel TPU、MI300、Gaudi 各有绝活,但生态不如NVIDIA
第三梯队 华为、寒武纪、地平线 昇腾、思元、征程 国产替代,差异化竞争

NVIDIA现在确实是老大。我记得2016年参加一个AI芯片峰会,大家还在争论用FPGA还是ASIC。结果NVIDIA默默把CUDA生态做起来了,现在你想跑大模型,基本绕不开它。

但格局不会一成不变。Google的TPU已经迭代到第五代,专门为自家Transformer优化。AMD的MI300把CPU和GPU封装在一起,延迟更低。这些都在蚕食NVIDIA的市场。

个人经验:选芯片平台时,别只看算力。生态成熟度、工具链完善度、社区支持,这些比峰值算力更重要。我见过一个团队选了算力很高的芯片,结果算子库不全,自己手写算子写了三个月。

未来趋势

接下来聊聊方向。我个人判断,未来五年有这几个趋势。

第一,架构走向异构。 单一芯片打天下的时代过去了。CPU做调度,GPU做训练,NPU做推理,再加上DSP做信号处理。怎么把这些东西高效地粘在一起,是门大学问。

第二,存算一体。 现在的冯·诺依曼架构,数据在存储和计算单元之间搬来搬去,功耗都耗在搬运上了。存算一体把计算做到存储里面,省掉搬运。我去年看过一个存算原型芯片,能效比提升了10倍。虽然离量产还有距离,但方向是对的。

第三,稀疏化与量化。 大模型动辄几千亿参数,全精度计算太奢侈。把不重要的权重剪掉,把32位浮点换成8位整数,精度损失不大,但速度能快好几倍。我在项目里试过INT8量化,推理速度翻了4倍,准确率只掉了0.3%。

避坑指南:我曾经在一个边缘计算项目里,为了追求极致能效,把模型量化到INT4。结果精度掉得一塌糊涂,模型直接没法用。后来发现是激活值分布太广,量化参数没选好。所以量化之前,一定要先做激活值分布分析。

第四,软件定义硬件。 未来的NPU应该能动态调整架构。跑CNN时把卷积核调大,跑Transformer时把注意力机制硬件化。这需要硬件有可重构能力,也需要编译器足够智能。

嗯,说到这里,我想起一个案例。去年有个客户要做语音唤醒芯片,要求功耗低于1毫瓦。我们用传统NPU架构,怎么优化都到不了。后来换成了事件驱动架构,只在有语音输入时才唤醒计算,平时几乎不耗电。功耗直接降到0.3毫瓦。这就是架构创新的力量。

小结

这一章我们聊了CPU、GPU、NPU的演进逻辑,看了市场格局,也展望了未来趋势。说白了,NPU的出现不是偶然,是AI计算需求倒逼出来的产物。

下一章,我们会深入NPU的指令集架构,讲讲指令是怎么设计的,为什么有些指令快,有些指令慢。到时候我会拿一个真实项目的指令集出来,咱们一行一行地分析。

今天就到这里。有问题随时交流。


公众号:蓝海资料掘金营,微信deep3321