AI 芯片和传统芯片有何区别?

以前一直以为是一个噱头,今天看到说华为也在研发,是否可能AI芯片的前景比预想的要宽广。所以想了解一下。
1.性能上和传统芯片有差异吗?【假设我做手机,我的产品使用AI芯片的话,无论从任何角度来说都胜过或者至少打平同价位的普通芯片吗】?
2.设计与制作上与传统芯片有差异吗?【中国的芯片研制工艺比不了国外,AI芯片能实现弯道超车吗?】
收藏者
0
被浏览
666

5 个回答

yoogoo LV

发表于 2025-4-9 11:29:09

广义上,AI芯片是用于运行AI算法的专用处理器,与传统芯片(如CPU)的区别在于专用性通用性的侧重上。下面的几类芯片,都可以执行AI算法。

AI 芯片和传统芯片有何区别?-1.jpg

某种程度上,GPU和FPGA也可以视为AI芯片,不过ASIC类的特点鲜明,因此最具有代表性。
AI芯片遵循一个硬件设计规律:
通过牺牲一定通用性,换来特定业务效率提升

<hr/>一个好理解的例子是比特币挖矿。
比特币的共识算法是SHA256算法,基于哈希运算,所以不存在反向计算公式,只能靠矿机去穷举海量的可能值。对于每个区块,最先尝试到正确值的矿工,将获得挖矿奖励。对于矿工来说,计算速度越快,获得奖励的期望就会越高。
在CPU作为主流挖矿方式的时期,一位论坛ID为Laszlo的程序员,发现GPU的挖矿效率远远高于CPU。于是他仅用一块9800显卡,就挖出了超过8万个比特币。
Laszlo:As far as I know I was the first to release a GPU miner.
AI 芯片和传统芯片有何区别?-2.jpg


Laszlo的比特币账户

Laszlo除了是最早用GPU挖矿的人外,还做过一件具有里程碑意义的行为艺术:用10000枚比特币买了2个披萨

AI 芯片和传统芯片有何区别?-3.jpg


Laszlo上传到论文的披萨照片(时价10000比特币)

关于这段有趣的历史,参见我之前的文章:
还记得那位,花了10000个比特币买披萨的程序员吗?接下来的一段时间里,GPU得益于算力和能效上的巨大优势,逐渐成为了主流的挖矿芯片。
不过到了现在,再用GPU挖比特币,已经几乎不可能了。例如RTX 3090显卡,在超频情况下,每秒能执行126.5M次SHA256计算,而比特币的全网总算力已经超过178.60EH/s,等价于14000亿块RTX 3090显卡的算力总和。

AI 芯片和传统芯片有何区别?-4.jpg

这些海量算力主要来自ASIC矿机,其计算芯片就是面向执行SHA256算法去进行架构设计。这使得ASIC矿机在挖矿效率上碾压显卡,甚至于单矿机就能胜过超算中心。
租用国家的超级计算机挖比特币是否能盈利?但是ASIC矿机在硬件上牺牲了通用性,导致无法执行其他计算任务,甚至于无法挖非SHA256算法的区块链货币,如以太坊。
AI芯片面向AI算法设计,牺牲通用性,超高的执行效率。

<hr/>在比特币挖矿的例子中,能看出专用芯片最为适合:算法(or算子)固定,且相对简单的应用场景,比如比特币的SHA256算法。
AI芯片跟矿机的特点一致,重视专用场景下的运算效率,但落地场景不同。
AI芯片的目的是高效率地执行AI算法,因此也会被称为AI加速器,并衍生出了一大堆名字,如NPU(神经网络处理器),TPU(谷歌·张量处理器),APU(AMD·加速处理器)。虽然名字上不一样,但性质上颇为类似。

AI 芯片和传统芯片有何区别?-5.jpg

下面用谷歌的初代TPU(2016年)举例。
图中对比了若干主流AI算法的推理表现,初代TPU相比同时代的CPU/GPU,效率可谓摧枯拉朽。TPU不仅是性能强悍,在能效上依然甩出CPU和GPU数十倍。

AI 芯片和传统芯片有何区别?-6.jpg

有意思的是,根据TPU项目的技术负责人(诺曼·乔皮)所说,在工程开始时,他们连团队都没组齐,还要手忙脚乱的去招聘RTL和验证工程师。
Norm Jouppi:We did a very fast chip design. It was really quite remarkable.
即便是仓促上阵,但初代TPU的设计,验证,流片,加上部署,整体流程只耗费了15个月时间。
这体现了AI芯片的一个特点,架构相比通用芯片(CPU/GPU)要简单得多,使得TPU团队能够在如此短的时间内,快速打造出一款全新的AI芯片。
下图是TPU的模块面积图,其中黄色是计算相关,蓝色是数据相关,绿色是读写相关,而红色则是控制相关的电路,仅占了芯片面积(die)的2%。

AI 芯片和传统芯片有何区别?-7.jpg

TPU只需面向卷积神经网络的运行,因此可以减少控制逻辑,且各项延时相对固定,运行的稳定性高。
CPU和GPU因为要面临复杂多样的计算任务,控制逻辑复杂的多,造成控制电路的面积大,也更难设计。
想进一步了解AI芯片效率奇高的机理,就要了解些AI算法

<hr/>AI算法通常是基于卷积神经网络,最基本且最主要的操作是『卷积』
注意,此处『卷积』定义不同于信号处理中的卷积。以最常见的3x3卷积为例,计算过程如下图所示:

  • 当输入层数C_in=1时,每个输出像素为9个输入像素值,对应加权,然后求和得到;
  • 此时,获取每个输出像素的数值,需执行9次乘法和9次加法;
  • 此时,当前层共需要9个参数,对应3x3卷积的9个像素点。
  • 如果输入层数C_in不为1,则执行9 x C_in次乘法和加法。

AI 芯片和传统芯片有何区别?-8.jpg

举个更具体的例子,在1080P分辨率下,1个4层输入4层输出的卷积层:

  • 需要执行 次乘法和加法
当层数较大时,参数量会激增。对于一个512层输入和512层输出的卷积层:

  • 需要载入 个卷积参数
上述介绍的仅仅是一个卷积层,而真正的卷积神经网络通常由多个卷积层和其他算层蹭相互连接构成[3]。

AI 芯片和传统芯片有何区别?-11.jpg


卷积神经网络结构的示意[3]

为了更好地实现模型的推理加速,需要总结实际模型的特点,分析出性能瓶颈,进而做出针对性的优化。
TPU团队在2016年时,统计过6个谷歌产品和工具中的若干类常见神经网络,详见下表:
模型类型网络层数参数数量部署比例
MLP0520M61%
MLP145M
LSTM05852M29%
LSTM15634M
CNN0168M5%
CNN189100M
常见模型的参数数量从500万到1亿个之间,可见:

  • 卷积神经网络的推理,经常需要大量的乘加运算和大量的参数载入。
  • 所以,不仅仅是卷积计算,读写参数造成的IO负担,也可能成为瓶颈。
AI芯片:并行化以优化计算瓶颈

<hr/>面对卷积神经网络的庞大计算量,CPU在单时钟周期内可执行的运算数有限,极易出现计算瓶颈。GPU则是提升了并行计算性能,将卷积运算等价变换成矩阵的乘加运算,成为了神经网络训练的主流硬件。
模型加速的核心是提升并行化水平,在同一个时钟周期内,进行尽可能多次的运算。TPU重新设计了专用的硬件架构:脉动阵列(systolic array)。
单个时钟周期可执行的运算数
CPU一两个
CPU(vector extension)数十个
GPU数千个
TPUv1256 * 256 = 65536个
TPU的脉动阵列参见下图[1],计算结果并非直接输出,而是在脉动阵列中按规律“流动”,等完全计算好后才输出保存。不仅增加了并行度,还实现了参数的复用,避免了反复载入。脉动阵列结构精妙,后续有机会可以单独写回答来介绍。

AI 芯片和传统芯片有何区别?-12.jpg

TPU的脉动阵列在每个时钟周期能执行65536次8位整型数的乘加运算。在700MHz的主频下,实现了65536 * 700,000,000 * 2 =92Tops@INT8的惊人算力。
AI芯片:高速的片上存储以缓解读写压力

<hr/>上文提到,谷歌部署的神经网络中,参数数量从500万到1亿个不等,且中间结果也有很大数据量。
如果卷积运算单元(如脉动阵列)从DDR(内存)上,频繁进行:

  • 加载参数
  • 读入数据
  • 写出结果
类似木桶效应,决定盛水量的是最短的那块木板,即性能瓶颈。上述密集的DDR读写操作,使得IO速度容易成为模型推理的性能瓶颈。
于是,初代TPU搭载了28M字节的片上存储器(On-chip memory, OCM),虽然成本较高,但读写速度远胜DDR内存。而第二代TPU更是不惜成本,十分奢侈地搭载了16GB的HBM存储单元,其IO速度达到了600GB每秒。

AI 芯片和传统芯片有何区别?-13.jpg

有了高速缓存(OCM or HBM)后,运行时就可以将频繁使用的参数,提前载入到高速缓存中,然后卷积核便可以快速读取所需数据,无需反复从内存上载入。不仅如此,片上存储器还可以保存网络运作的中间结果,避免在内存上中转(写入+读回),从而显著降低内存的IO压力。
这里高速缓存的作用类似于传统CPU中的L3缓存,目的是有效缓解内存的带宽压力,让卷积核的强大算力得到充分发挥,避免出现空等数据载入的情况。

AI 芯片和传统芯片有何区别?-14.jpg

下图出自论文[2],第一作者TPU项目的技术负责人(诺曼·乔皮)。论文实验并统计了若干主流模型在TPU/GPU/CPU上的运行表现。
横轴为所需算力除以需从内存载入的数据量,代表单位内存数据载入对应的计算密度,而纵轴为实际发挥的算力。因此,斜线部分代表算力表现被内存IO带宽制约,而水平部分代表性能已充分发挥,即被算力制约。
如图所示,TPU(蓝线)在高计算密度时,效果明显优于CPU(黄线)和GPU(红线)。可见在高计算密度情况下,TPU能发挥更大优势。而28MB的片上存储能够提前缓存参数和中间结果,避免卷积核频繁进行内存对鞋,从而提升计算密度,让TPU运行更加高效。

AI 芯片和传统芯片有何区别?-15.jpg

软硬结合:卷积神经网络的量化算法

<hr/>在硬件设计之外,为了让AI芯片更高效的运行模型,需要对AI算法做轻量化处理。
一个常见且直观的方法是进行『模型量化』,可以显著降低参数大小和计算量。
当前的神经网络训练基本都基于浮点运算,在GPU上训练和推理时,通常使用32比特或64比特来表示一个浮点数。
如果使用更低的比特数,比如改用8个比特来表示数字,会极大降低参数大小和计算量。
谷歌:如果外面在下雨,你可能不需要指导每秒有多少雨滴落下,而只是想知道,下的大雨还是小雨[1]。
如下图[1]是使用8比特整型数去近似32位浮点数。

AI 芯片和传统芯片有何区别?-16.jpg

量化等于带来了一定的量化噪声,而好的神经网络会具备一定的抗噪能力,因此量化后算法的精度损失会是有限且可控的。
量化的另一个好处是,如果将模型的输入和参数均量化成整型数(如int8/uint8),没有了浮点计算,能让硬件设计更加简化。如上文介绍到,初代TPU仅支持整型运算,不仅是因为整型数运算在硬件上更加高效,且电路会简单很多。
目前主流的量化方法有两大类:
量化方法简称量化能力优势劣势
量化训练QAT低于8bit极致的精度和效率需要训练数据
训练时间长学习门槛高
训练后量化PTQ可达8bit不需要训练数据
转换速度快使用门槛低
存在精度/效率损失
QAT在训练模型时就使用量化算子,可以最大地避免精度损失,但不能使用现有的浮点模型,需要从头开始去重训模型。
PTQ则是对现有的浮点模型做量化,虽然量化后的模型精度和效率不通常如QAT,但由于不需要重新训练模型,使用门槛更低更稳定,还是有很大的使用需求。而如何减少精度损失,是PTQ方案在不停探索的目标,也衍生出了多种思路,例线性数量化和对数量化。
软硬结合:执行效率和硬件成本的最佳兼顾

<hr/>除必不可少的3x3卷积外,常见的神经网络算子多达数十种(如ONNX包含80+算子)。
出于芯片成本,设计难度和运行效率的考虑,现有的AI芯片都只能原生支持部分算子。
因此,在模型训练时就需要了解和考虑硬件能力,尽量使用AI芯片能高效支持的算子,以提升部署后的运行效率。反过来,AI芯片的硬件设计时,同样需要考虑算法设计的需要,尽量支持更多的常用算子,以提高模型设计的自由度。
如果厂商具备软硬件之间的协同开发能力,就可以在模型精度,芯片成本,推理速度之间,达到非常好的兼顾,实现1+1>2的效果。
这也是越来越多终端厂商选择自研AI芯片的原因,而AI芯片厂商也经常会打包算法出售。

AI 芯片和传统芯片有何区别?-17.jpg

其他:

<hr/>AI芯片除了硬件外,软件栈(工具链)的设计也是非常重要且有难度的,不仅是模型量化,还包括编译器设计。
在编译环境,为追求更高的硬件效率,需要研究非常复杂的调度问题,这是我目前的主要工作内容。日后有精力会单独写回答分享。
参考资料:

<hr/>[1] 重点参考:An in-depth look at Google’s first Tensor Processing Unit (TPU)
[2] https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf
[3] Convolutional Neural Network (CNN)
[4] 【国产自研芯片】为了测试AI暗光相机,工程师竟去密室拍NPC和小姐姐?_哔哩哔哩_bilibili
[5] 下书(一直在看):

蓝小枫 LV

发表于 2025-4-9 11:37:31

因为(xx)两个不同架构项目的关系,不断有朋友问我,怎么看AI芯片和通用计算芯片在架构上的差异和优缺点?其实这个话题有点“旧”了,这几年中,既有学术界专家的比较正式的文章回答,也有业界大佬在会议上总结了一些观点,感兴趣的稍微搜一下就可以找到。但其实这个问题却又非常难回答,一个主要的原因,AI芯片架构众多,有几条不同的路线,再加上不同的应用场景:训练(normal/HPC),推理(Datacenter/Edge/Mobile/Tiny),自动驾驶是Mobile+Edge的组合,L2/L2.5以Mobile为主。我们不能以其中一个架构代表所有的AI芯片架构,但让我们了解了所有的AI芯片再来回答这个问题,就会发现太发散了,不好总结。
我尝试从几个最主要的特征出发,基于当前的一代架构为基础,将这些架构分成几类,纯粹个人见解:

  • GPGPU类,以SIMD为基础和核心,为AI拓展了较小的Tensor core(几百OPS/Cycle),整个芯片几十到百来个SM/CU,硬件调度Grid/Block。以Nvidia Ampere,AMD MI200为代表,包括包括国内几家以AI训练和推理为方向的初创公司架构,也可以包括寒武纪MLU架构。
  • AI计算中GEMM/Conv为目标,围绕较大的MAC阵列设计的架构,MAC通常在边长256*256/128*128/64*64的范围,希望通过大阵列提供高能效。前期主打的是推理,后面也可以拓展到训练。以Google TPU为代表的新的AI架构,包括海思达芬奇,特斯拉FSD的NPU核等。
  • DNN网络计算特点为基础,众多小核组成网格布局,软件栈编译器切割调度模型为主,希望通过最好的调度减少数据流动的能耗。小核用比如RISC-V,没有MAC阵列或者很小,以Graphcore IPU和Tenstorrent的Tensix core为代表,还有Cerebras的盘子一样大的Wafer Scale Engine 2。
  • 某一些专用领域的推理NPU,比如OPPO的MariSilicon X,还有一些SOC里专用给ISV/CV功能的NPU核心。这些核心对应相关需求定制化,包括精度,量化,pipeline设计等,以达到更高的能效。
  • 以数据流为设计中心的架构,张量流处理器,代表是Groq的TSP。
  • 基于光学矩阵计算单元的数字/光学混合架构,类似第2类架构,对应的有较大(128*128/64*64)的光学矩阵,以Lightintelligence和Lightmatter为代表。
  • 存内AI计算/存算一体芯片,国内外都有不少公司已有相关芯片,包括达摩院也发布了一款。
可以看得出,每一种架构都有自己的独特的出发点,然后围绕这个出发点,以更好的AI加速为目的,再加上其他的一下约束,比如编程模型和编译器设计等,去拓展其他架构和微架构,实现一个AI计算架构。
有些架构兼有多种特征,比如高通最新的AI core(第7代),在原来的SIMD(DSP)架构上,加入较大MAC阵列,兼顾上面第1和第2类的特点。国内还有推理芯片使用同样的DSP+MAC(可认为DSA)架构。
上面几种类型的架构,后三种还是比较特别的,这里就不参与详细的对比讨论了。感兴趣的可以看相关论文资料。
我这里分析总结这些架构,只能从比较笼统的几个方面,以公开的资料来阐述。因为从业者的特殊身份,细节的地方容易触碰敏感的地方。敬请谅解。
总结一些架构思考角度,非常精简和枯燥,

  • 指令集,其实是一个芯片架构的综合体现,也是其中的一个精髓;
  • 核内(SM/CU/AI core)架构的分析和推断

    • Tensor core/Matrix core/MAC,AI计算的核心:Conv/GEMM加速;
    • Vector core,DNN中还有很大一部分的Vector操作,它们对能效的影响;
    • 核内存储系统(Buffer 和/或 L0/L1 Cache,Register)
    • 核内pipe间并行和调度:ALU(Matrix/Vector/Special Function),Memory(Load/Store from buffer or DRAM);
    • 核内调度的粒度和实现:thread/warp/CTA级别的

  • 核间架构的分析和推断

    • 单算子tiling(Grid/Block)并行工作流程,软件还是硬件调度,思考可能的实现方法;
    • Fused op的可能性,实现方法,难以程度和收益;
    • 全模型的工作模式,软硬件的协同:包括硬件(MCU),编译器,软件栈的协同;
    • 控制command的工作方式和,同步,等等

  • 能效比分析

    • 性能,功耗,只从架构角度,包括静态的TOPS/W,以及核心利用率的考量,端到端的推理训练性能/W。

  • 通用性分析,覆盖的算子,支持新算子的难易程度。
  • 编程模型和编程接口,编译器难度,如何对接训练框架等。
  • 产品的业务落地所需要的特性支持。
一个提醒,我们讨论的是芯片产品架构,它有很多的理论以外的限制,比如硬件和软件的实现代价:RTL设计,验证,后端;编译器,软件栈,复杂度和人手和产品周期等等因素的相互约束。这些因素会影响这个产品能不能最后实现,多长时间能落地,从而影响架构的创新。我们似乎可以看到国外的公司更加敢于去做创新的架构,一个方面就是他们senior的人相对多一些,投资者也给他们更长的时间。当然另外还有一个因素是他们没有国产化这一个市场替代的创业方向,走已有的NV/AMD等的架构路线必然是没有前途的。
后面文章详细聊聊自己上面几个典型架构的一些想法,纯属个人见解,很多不足之处,欢迎指教和讨论。
总的观点是,当前是一个计算架构的时代,各种架构有自身的长处和短处,没有好坏之分,只有适合不适合。所以我们只看架构特点,不争论哪个架构更优秀。这些架构的架构师和设计者都是业界大佬,我们也不了解他们做这个架构的一些实际情况,所以真没资格做评判。

大模型是啥 LV

发表于 2025-4-9 11:49:01

相信你一定还记得击败了李世石和柯洁的谷歌“阿尔法狗”(Alpha Go),那你知道驱动Alpha Go的是什么吗?

如果你觉得Alpha Go和人相似,只不过是把人脑换成了芯片,那么你就大错特错了。击败李世石的Alpha Go装有48个谷歌的AI芯片,而这48个芯片不是安装在Alpha Go身体里,而是在云端。所以,真正驱动Alpha Go的装置,看上去是这样的...


AI 芯片和传统芯片有何区别?-1.jpg


图片来自网络,版权属于作者

因此李世石和柯洁不是输给了“机器人”,而是输给了装有AI芯片的云工作站。

然而近几年,AI技术的应用场景开始向移动设备转移,比如汽车上的自动驾驶、手机上的人脸识别等。产业的需求促成了技术的进步,而AI芯片作为产业的根基,必须达到更强的性能、更高的效率、更小的体积,才能完成AI技术从云端到终端的转移。

目前,AI芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的FPGA(现场可编程门阵列)和ASIC(专用集成电路)芯片,二是模仿人脑神经元结构设计的类脑芯片。其中FPGA和ASIC芯片不管是研发还是应用,都已经形成一定规模;而类脑芯片虽然还处于研发初期,但具备很大潜力,可能在未来成为行业内的主流。

这两条发展路线的主要区别在于,前者沿用冯·诺依曼架构,后者采用类脑架构。你看到的每一台电脑,采用的都是冯·诺依曼架构。它的核心思路就是处理器和存储器要分开,所以才有了CPU(中央处理器)和内存。而类脑架构,顾名思义,模仿人脑神经元结构,因此CPU、内存和通信部件都集成在一起。

接下来小探将为读者分别介绍两种架构的简要发展史、技术特点和代表性产品。

从GPU到FPGA和ASIC芯片

2007年以前,受限于当时算法和数据等因素,AI对芯片还没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。比如现在在读这篇文章的你,手机或电脑里就有CPU芯片。

之后由于高清视频和游戏产业的快速发展,GPU (图形处理器)芯片取得迅速的发展。因为 GPU 有更多的逻辑运算单元用于处理数据,属于高并行结构,在处理图形数据和复杂算法方面比 CPU 更有优势,又因为AI深度学习的模型参数多、数据规模大、计算量大,此后一段时间内 GPU 代替了 CPU,成为当时 AI 芯片的主流。


AI 芯片和传统芯片有何区别?-2.jpg


GPU 比 CPU 有更多的逻辑运算单元(ALU)图片来自网络,版权属于作者

然而 GPU 毕竟只是图形处理器,不是专门用于 AI 深度学习的芯片,自然存在不足,比如在执行AI 应用时,其并行结构的性能无法充分发挥,导致能耗高。

与此同时,AI技术的应用日益增长,在教育、医疗、无人驾驶等领域都能看到 AI 的身影。然而GPU 芯片过高的能耗无法满足产业的需求,因此取而代之的是 FPGA 芯片,和 ASIC 芯片。

那么这两种芯片的技术特点分别是什么呢?又有什么代表性的产品呢?

“万能芯片” FPGA

FPGA(FIELD-PROGRAMMABLE GATE ARRAY),即 “现场可编程门阵列”,是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。

FPGA 可以被理解为“万能芯片”。用户通过烧入 FPGA 配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言(HDL)对 FPGA 的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。

用大白话说,“万能芯片” 就是你需要它有哪些功能、它就能有哪些功能的芯片。

尽管叫“万能芯片”,FPGA也不是没有缺陷。正因为 FPGA 的结构具有较高灵活性,量产中单块芯片的成本也比 ASIC 芯片高,并且在性能上,FPGA 芯片的速度和能耗相比 ASIC 芯片也做出了妥协。

也就是说,“万能芯片” 虽然是个 “多面手”,但它的性能比不上 ASIC 芯片,价格也比 ASIC 芯片更高。

但是在芯片需求还未成规模、深度学习算法需要不断迭代改进的情况下,具备可重构特性的FPGA芯片适应性更强。因此用FPGA来实现半定制人工智能芯片,毫无疑问是保险的选择。

目前,FPGA 芯片市场被美国厂商 Xilinx 和 Altera 瓜分。据国外媒体 Marketwatch 的统计,前者占全球市场份额 50%、后者占 35%左右,两家厂商霸占了 85% 的市场份额,专利达到 6000 多项,毫无疑问是行业里的两座大山。

Xilinx 的 FPGA 芯片从低端到高端,分为四个系列,分别是 Spartan、Artix、Kintex、Vertex,芯片工艺也从 45 到 16 纳米不等。芯片工艺水平越高,芯片越小。其中 Spartan 和 Artix 主要针对民用市场,应用包括无人驾驶、智能家居等;Kintex 和 Vertex 主要针对军用市场,应用包括国防、航空航天等。


AI 芯片和传统芯片有何区别?-3.jpg


Xilinx 的 Spartan 系列 FPGA 芯片图片来自网络,版权属于作者

我们再说说 Xilinx 的老对手 Altera。Altera 的主流 FPGA 芯片分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的应用需求,如 Cyclone 和 MAX 系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix和Arria系列。Altera的FPGA芯片主要应用在消费电子、无线通信、军事航空等领域。

专用集成电路 ASIC

在 AI 产业应用大规模兴起之前,使用 FPGA 这类适合并行计算的通用芯片来实现加速,可以避免研发 ASIC 这种定制芯片的高投入和风险。

但就像我们刚才说到的,由于通用芯片的设计初衷并非专门针对深度学习,因此 FPGA 难免存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。换句话说,我们对人工智能所有的美好设想,都需要芯片追上人工智能迅速发展的步伐。如果芯片跟不上,就会成为人工智能发展的瓶颈。

所以,随着近几年人工智能算法和应用领域的快速发展,以及研发上的成果和工艺上的逐渐成熟,ASIC 芯片正在成为人工智能计算芯片发展的主流。

ASIC芯片是针对特定需求而定制的专用芯片。虽然牺牲了通用性,但 ASIC 无论是在性能、功耗还是体积上,都比 FPGA 和 GPU 芯片有优势,特别是在需要芯片同时具备高性能、低功耗、小体积的移动端设备上,比如我们手上的手机。

但是,因为其通用性低,ASIC 芯片的高研发成本也可能会带来高风险。然而如果考虑市场因素,ASIC芯片其实是行业的发展大趋势。

为什么这么说呢?因为从服务器、计算机到无人驾驶汽车、无人机,再到智能家居的各类家电,海量的设备需要引入人工智能计算能力和感知交互能力。出于对实时性的要求,以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。而 ASIC 芯片高性能、低功耗、小体积的特点恰好能满足这些需求。

ASIC 芯片市场百家争鸣

2016 年,英伟达发布了专门用于加速 AI 计算的 Tesla P100 芯片,并且在 2017 年升级为 Tesla V100。在训练超大型神经网络模型时,Tesla V100 可以为深度学习相关的模型训练和推断应用提供高达 125 万亿次每秒的张量计算(张量计算是AI深度学习中最经常用到的计算)。然而在最高性能模式下,Tesla V100的功耗达到了300W,虽然性能强劲,但也毫无疑问是颗“核弹”,因为太费电了。


AI 芯片和传统芯片有何区别?-4.jpg


英伟达 Tesla V100 芯片图片来自网络,版权属于作者

同样在 2016 年,谷歌发布了加速深度学习的 TPU(Tensor Processing Unit)芯片,并且之后升级为 TPU 2.0 和 TPU 3.0。与英伟达的芯片不同,谷歌的 TPU 芯片设置在云端,就像文章在Alpha Go 的例子中说的一样,并且“只租不卖“,服务按小时收费。不过谷歌 TPU 的性能也十分强大,算力达到 180 万亿次每秒,并且功耗只有200w。


AI 芯片和传统芯片有何区别?-5.jpg


谷歌 TPU 芯片   图片来自网络,版权属于作者

关于各自 AI 芯片的性能,谷歌 CEO Sundar Pichai 和英伟达CEO 黄仁勋之前还在网上产生过争论。别看两位大佬为自家产品撑腰,争得不可开交,实际上不少网友指出,这两款产品没必要“硬做比较”,因为一个是在云端,一个是在终端。

除了大公司,初创企业也在激烈竞争 ASIC 芯片市场。那么初创企业在行业中该如何生存呢?对此,AI 芯片初创企业 Novumind 的中国区 CEO 周斌告诉小探:创新是初创企业的核心竞争力。

2017 年,NovuMind 推出了第一款自主设计的AI芯片:NovuTensor。这款芯片使用原生张量处理器(Native Tensor Processor)作为内核构架,这种内核架构由 NovuMind 自主研发,并在短短一年内获得美国专利。除此之外,NovuTensor 芯片采用不同的异构计算模式来应对不同 AI 应用领域的三维张量计算。2018年下半年,Novumind 刚推出了新一代 NovuTensor 芯片,这款芯片在做到 15 万亿次计算每秒的同时,全芯片功耗控制在 15W 左右,效率极高。


AI 芯片和传统芯片有何区别?-6.jpg


Novumind 的 NovuTensor 芯片

尽管 NovuTensor 芯片的纸面算力不如英伟达的芯片,但是其计算延迟和功耗却低得多,因此适合边缘端 AI计算,也就是服务于物联网。虽然大家都在追求高算力,但实际上不是所有芯片都需要高算力的。比如用在手机、智能眼镜上的芯片,虽然也对算力有一定要求,但更需要的是低能耗,否则你的手机、智能眼镜等产品,用几下就没电了,也是很麻烦的一件事情。并且据 EE Times 的报道,在运行 ResNet-18、ResNet-34、ResNet70、VGG16等业界标准神经网络推理时,NovuTensor 芯片的吞吐量和延迟都要优于英伟达的另一款高端芯片 Xavier。

结合Novumind现阶段的成功,我们不难看出:在云端市场目前被英伟达、谷歌等巨头公司霸占,终端应用芯片群雄逐鹿的情形下,专注技术创新,在关键指标上大幅领先所有竞争对手,或许是AI芯片初创企业的生存之道。

类脑芯片

如文章开头所说,目前所有电脑,包括以上谈到的所有芯片,都基于冯·诺依曼架构。

然而这种架构并非十全十美。将CPU与内存分开的设计,反而会导致所谓的冯·诺伊曼瓶颈(von Neumann bottleneck):CPU与内存之间的资料传输率,与内存的容量和CPU的工作效率相比都非常小,因此当CPU需要在巨大的资料上执行一些简单指令时,资料传输率就成了整体效率非常严重的限制。

既然要研制人工智能芯片,那么有的专家就回归问题本身,开始模仿人脑的结构。

人脑内有上千亿个神经元,而且每个神经元都通过成千上万个突触与其他神经元相连,形成超级庞大的神经元回路,以分布式和并发式的方式传导信号,相当于超大规模的并行计算,因此算力极强。人脑的另一个特点是,不是大脑的每个部分都一直在工作,从而整体能耗很低。


AI 芯片和传统芯片有何区别?-7.jpg


神经元结构 图片来源:维基百科

这种类脑芯片跟传统的冯·诺依曼架构不同,它的内存、CPU和通信部件是完全集成在一起,把数字处理器当作神经元,把内存作为突触。除此之外,在类脑芯片上,信息的处理完全在本地进行,而且由于本地处理的数据量并不大,传统计算机内存与CPU之间的瓶颈不复存在了。同时,神经元只要接收到其他神经元发过来的脉冲,这些神经元就会同时做动作,因此神经元之间可以方便快捷地相互沟通。

在类脑芯片的研发上,IBM 是行业内的先行者。2014 年 IBM 发布了 TrueNorth 类脑芯片,这款芯片在直径只有几厘米的方寸的空间里,集成了 4096 个内核、100 万个“神经元”和 2.56 亿个“突触”,能耗只有不到 70 毫瓦,可谓是高集成、低功耗的完美演绎。


AI 芯片和传统芯片有何区别?-8.jpg


装有16个TrueNorth芯片的DARPA SyNAPSE主板 图片来自网络,版权属于作者

那么这款芯片的实战表现如何呢?IBM研究小组曾经利用做过 DARPA 的NeoVision2 Tower数据集做过演示。它能以30帧每秒速度,实时识别出街景视频中的人、自行车、公交车、卡车等,准确率达到了80%。相比之下,一台笔记本编程完成同样的任务用时要慢100倍,能耗却是IBM芯片的1万倍。

然而目前类脑芯片研制的挑战之一,是在硬件层面上模仿人脑中的神经突触,换而言之就是设计完美的人造突触。

在现有的类脑芯片中,通常用施加电压的方式来模拟神经元中的信息传输。但存在的问题是,由于大多数由非晶材料制成的人造突触中,离子通过的路径有无限种可能,难以预测离子究竟走哪一条路,造成不同神经元电流输出的差异。

针对这个问题,今年麻省理工的研究团队制造了一种类脑芯片,其中的人造突触由硅锗制成,每个突触约 25 纳米。对每个突触施加电压时,所有突触都表现出几乎相同的离子流,突触之间的差异约为 4%。与无定形材料制成的突触相比,其性能更为一致。

即便如此,类脑芯片距离人脑也还有相当大的距离,毕竟人脑里的神经元个数有上千亿个,而现在最先进的类脑芯片中的神经元也只有几百万个,连人脑的万分之一都不到。因此这类芯片的研究,离成为市场上可以大规模广泛使用的成熟技术,还有很长的路要走,但是长期来看类脑芯片有可能会带来计算体系的革命。

说了这么多,相信读者们对 AI 芯片行业已经有了基本的认识。在未来,AI芯片是否会从云端向终端发展?行业中大小公司的激烈的竞争会催生出怎样的创新和转型?类脑芯片的研发又能取得哪些突破?关于这些问题,每个人都会有不同的见解,欢迎各位读者在下面留言。
---------------------------

欢迎关注@硅谷密探
掌握全球创新趋势

植树种草 LV

发表于 2025-4-9 11:58:13

现在所说的AI芯片,可以分两类,一类是面向训练和推断(Inference)皆可的,这个活GPGPU可以干,CPU也可以干,FPGA(Altera的Stratix系列)也都行,但是Google的TPU2和Bitmain的sophon之类因为专门设计可能在能耗比上有优势。这类产品相对GPGPU,整体类似,保留了相当多的浮点处理单元的同时(或者说建立了很多张量计算单元),抛弃了一些没啥用的图形流水线的玩意,提高了能耗表现。这部分玩家少,但是却更有趣。当然ICLR也有琢磨用定点器件训练的工作,Xilinx家是希望XNOR-net让定点器件都能参与训练。
另一类是Inference Accelerator推断加速芯片,简单说就是把训练好的模型在芯片上跑。这块是真的百花齐放,比如的寒武纪NPU,Intel Movidius(还有个Nervana应该类似XeonPhi用来训练的),深鉴的DPU,地平线BPU,Imagination的PowerVR 2NX,ARM的Project Trillium,还有一堆IP。这类产品既有产品,又提供IP让其他开发者讲深度学习加速器集成到SoC内。另外这里需要单独说下Tegra X2这个产品,这个相当于一个小的桌面平台,ARM处理器加Nvidia GPU可以提供完整的训练推断能力,当然功耗也很高。其他的加速芯片,我觉得最好分成两类,浮点的和定点的。浮点的也只是FP16半精度的,当然支持FP16也支持INT8,比如寒武纪的NPU和Intel Movidius。一类就是纯定点的比如地平线的BPU还有Imagination的PowerVR 2NX之类。当然也有混合的,这块后面细说。
首先说下非ASIC的,Deephi部分产品使用了ZYNQ实现,使用ZYNQ最大的好处就是省了流片费用,使用DSP48和资源实现乘加器完成定点操作,浮点交给CortexA9硬核,Deephi主要是工作在模型剪枝定点化方面,之前和汪玉老师交流,网络定点化时候部分层定点化定点化损失较高,因此保留部分层(主要是最后的)浮点,和嘉楠智耘做加速的人聊也印证这部分,用SOPC比较省事。再就是兼职的比如高通AI平台使用了Adreno GPU和Hexagon DSP做(主要是DSP,风评貌似能耗比970那个好看),SNPE主要是OpenCL折腾用GPU和DSP之类资源推断,MTK和AAPL也类似。其他的差别就很大了Intel Movidius发布较早,支持浮点推断,实际里面是VLIW的SIMD单元,这玩意和之前ATi显卡,或者说DSP设计类似。其他的因为在下看到公开资料不多,瞎说说,一般AI加速器都主要是针对现有网络,做定点或者浮点计算的优化,当然首先还是堆运算单元(矩阵运算单元,乘加),然后减少内存数据搬运,970上那个可能挂在CCI上,然后靠较多缓存,PowerVR 2NX那个貌似是优化到4bit的内存控制器?通过优化内存数据通路,减少一些内存带宽需求之列,总体其实还是关联的。感觉上这类东西接近超多核的DSP,不过是精简的毕竟DSP还能做点控制,笑。
另外某种程度上说,对新的网络优化很差,一般工业比学术慢一年多,比如DenseNet出来了,片子只支持到Resnet。

关于下面两个问题:
如果让GPGPU或者CPU做inference能耗比肯定不好看,但是浮点inference一般比定点化或者精度降低后的情况准确率高(当然存在定点化后泛化能力好的情况)。但是NPU只能在CPU控制下做特定任务就很丢人了,没有很多的应用支持,NPU就很鸡肋,在手机上,很多时候你根本用不到NPU,所以我觉得需要的时候用Mali啥的顶顶得了……
没有啥差别,和别的比如手机SoC,显卡GPU用一套工艺,有钱上新制程,新工艺咯。

三某人 LV

发表于 2025-4-9 12:09:36

正好在做这个,简单说两句,不要当真。

先回答问题,
(1)性能与传统芯片,比如CPU、GPU有很大的区别。在执行AI算法时,更快、更节能。
(2)工艺没有区别,大家都一样。至少目前来看,都一样。


下面随便扯几句。

所谓的AI芯片,一般是指针对AI算法的ASIC(专用芯片)。

传统的CPU、GPU都可以拿来执行AI算法,但是速度慢,性能低,无法实际商用。
比如,自动驾驶需要识别道路行人红绿灯等状况,但是如果是当前的CPU去算,那么估计车翻到河里了还没发现前方是河,这是速度慢,时间就是生命。如果用GPU,的确速度要快得多,但是,功耗大,汽车的电池估计无法长时间支撑正常使用,而且,老黄家的GPU巨贵,经常单块上万,普通消费者也用不起,还经常缺货。另外,GPU因为不是专门针对AI算法开发的ASIC,所以,说到底,速度还没到极限,还有提升空间。而类似智能驾驶这样的领域,必须快!在手机终端,可以自行人脸识别、语音识别等AI应用,这个必须功耗低,所以GPU OUT!
所以,开发ASIC就成了必然。

说说,为什么需要AI芯片。

AI算法,在图像识别等领域,常用的是CNN卷积网络,语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法。但是,他们本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。
一个成熟的AI算法,比如YOLO-V3,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。对于YOLO-V3来说,如果确定了具体的输入图形尺寸,那么总的乘法加法计算次数是确定的。比如一万亿次。(真实的情况比这个大得多的多)
那么要快速执行一次YOLO-V3,就必须执行完一万亿次的加法乘法次数。
这个时候就来看了,比如IBM的POWER8,最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算。一次最多执行16个操作。这还是理论上,其实是不大可能的。
那么CPU一秒钟的巅峰计算次数=16X4Gops=64Gops。
这样,可以算算CPU计算一次的时间了。

同样的,换成GPU算算,也能知道执行时间。因为对GPU内部结构不熟,所以不做具体分析。

再来说说AI芯片。比如大名鼎鼎的谷歌的TPU1.
TPU1,大约700M Hz,有256X256尺寸的脉动阵列,如下图所示。一共256X256=64K个乘加单元,每个单元一次可执行一个乘法和一个加法。那就是128K个操作。(乘法算一个,加法再算一个)

AI 芯片和传统芯片有何区别?-1.jpg

另外,除了脉动阵列,还有其他模块,比如激活等,这些里面也有乘法、加法等。
所以,看看TPU1一秒钟的巅峰计算次数至少是=128K X 700MHz=89600Gops=大约90Tops。

对比一下CPU与TPU1,会发现计算能力有几个数量级的差距,这就是为啥说CPU慢。

当然,以上的数据都是完全最理想的理论值,实际情况,能够达到5%吧。因为,芯片上的存储不够大,所以数据会存储在DRAM中,从DRAM取数据很慢的,所以,乘法逻辑往往要等待。另外,AI算法有许多层网络组成,必须一层一层的算,所以,在切换层的时候,乘法逻辑又是休息的,所以,诸多因素造成了实际的芯片并不能达到利润的计算峰值,而且差距还极大。

可能有人要说,搞研究慢一点也能将就用。
目前来看,神经网络的尺寸是越来越大,参数越来越多,遇到大型NN模型,训练需要花几周甚至一两个月的时候,你会耐心等待么?突然断电,一切重来?(曾经动手训练一个写小说的AI,然后,一次训练(50轮)需要大约一天一夜还多,记得如果第一天早上开始训练,需要到第二天下午才可能完成,这还是模型比较简单,数据只有几万条的小模型呀。)
修改了模型,需要几个星期才能知道对错,确定等得起?
突然有了TPU,然后你发现,吃个午饭回来就好了,参数优化一下,继续跑,多么爽!
计算速度快,才能迅速反复迭代,研发出更强的AI模型。速度就是金钱。


GPU的内核结构不清楚,所以就不比较了。肯定的是,GPU还是比较快的,至少比CPU快得多,所以目前大多数都用GPU,这玩意随便一个都能价格轻松上万,太贵,而且,功耗高,经常缺货。不适合数据中心大量使用。

总的来说,CPU与GPU并不是AI专用芯片,为了实现其他功能,内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU与GPU并不能达到最优的性价比。
谷歌花钱研发TPU,而且目前已经出了TPU3,用得还挺欢,都开始支持谷歌云计算服务了,貌似6点几美元每小时吧,不记得单位了,懒得查.
可见,谷歌觉得很有必要自己研发TPU。

就酱。


======================分割线==========
看到有答案点我名说不应该用CPU做对比,这个锅我不背。

做一点解释。

目前在图像识别、语音识别、自然语言处理等领域,精度最高的算法就是基于深度学习的,传统的机器学习的计算精度已经被超越,目前应用最广的算法,估计非深度学习莫属,而且,传统机器学习的计算量与 深度学习比起来少很多,所以,我讨论AI芯片时就针对计算量特别大的深度学习而言。毕竟,计算量小的算法,说实话,CPU已经很快了。而且,CPU适合执行调度复杂的算法,这一点是GPU与AI芯片都做不到的,所以他们三者只是针对不同的应用场景而已,都有各自的主场。

至于为何用了CPU做对比?
而没有具体说GPU。是因为,我说了,我目前没有系统查看过GPU的论文,不了解GPU的情况,故不做分析。因为积累的缘故,比较熟悉超标量CPU,所以就用熟悉的CPU做详细比较。而且,小型的网络,完全可以用CPU去训练,没啥大问题,最多慢一点。只要不是太大的网络模型。
那些AI算法公司,比如旷世、商汤等,他们的模型很大,自然也不是一块GPU就能搞定的。GPU的算力也是很有限的。

至于说CPU是串行,GPU是并行。
没错,但是不全面。只说说CPU串行。这位网友估计对CPU没有非常深入的理解。我的回答中举的CPU是IBM的POWER8,百度一下就知道,这是超标量的服务器用CPU,目前来看,性能已经是非常顶级的了,主频4GHZ。不知是否注意到我说了这是SIMD?这个SIMD,就代表他可以同时执行多条同样的指令,这就是并行,而不是串行。单个数据是128bit的,如果是16bit的精度,那么一周期理论上最多可以计算八组数据的乘法或加法,或者乘加。这还不叫并行?只是并行的程度没有GPU那么厉害而已,但是,这也是并行。

不知道为啥就不能用CPU来比较算力?
有评论很推崇GPU。说用CPU来做比较,不合适。
拜托,GPU本来是从CPU中分离出来专门处理图像计算的,也就是说,GPU是专门处理图像计算的。包括各种特效的显示。这也是GPU的天生的缺陷,GPU更加针对图像的渲染等计算算法。但是,这些算法,与深度学习的算法还是有比较大的区别,而我的回答里提到的AI芯片,比如TPU,这个是专门针对CNN等典型深度学习算法而开发的。另外,寒武纪的NPU,也是专门针对神经网络的,与TPU类似。
谷歌的TPU,寒武纪的DianNao,这些AI芯片刚出道的时候,就是用CPU/GPU来对比的。
无图无真相,是吧?
看看,谷歌TPU论文的摘要直接对比了TPU1与CPU/GPU的性能比较结果,见红色框:

AI 芯片和传统芯片有何区别?-2.jpg

看不清?
没事,放大。

AI 芯片和传统芯片有何区别?-3.jpg

这就是摘要中介绍的TPU1与CPU/GPU的性能对比。

再来看看寒武纪DianNao的paper,摘要中直接就是DianNao与CPU的性能的比较,见红色框:

AI 芯片和传统芯片有何区别?-4.jpg


回顾一下历史。
上个世纪出现神经网络的时候,那一定是用CPU计算的。
比特币刚出来,那也是用CPU在挖。目前已经进化成ASIC矿机了。比特大陆了解一下。
从2006年开始开启的深度学习热潮,CPU与GPU都能计算,发现GPU速度更快,但是贵啊,更多用的是CPU,而且,那时候GPU的CUDA可还不怎么样,后来,随着NN模型越来越大,GPU的优势越来越明显,CUDA也越来越6,目前就成了GPU的专场。

寒武纪2014年的DianNao(NPU)比CPU快,而且更加节能。ASIC的优势很明显啊。这也是为啥要开发ASIC的理由。

至于说很多公司的方案是可编程的,也就是大多数与FPGA配合。你说的是商汤、深鉴么?的确,他们发表的论文,就是基于FPGA的。
这些创业公司,他们更多研究的是算法,至于芯片,还不是重点,另外,他们暂时还没有那个精力与实力。FPGA非常灵活,成本不高,可以很快实现架构设计原型,所以他们自然会选择基于FPGA的方案。不过,最近他们都大力融资,官网也在招聘芯片设计岗位,所以,应该也在涉足ASIC研发了。
如果以FPGA为代表的可编程方案真的有巨大的商业价值,那他们何必砸钱去做ASIC?

您需要登录后才可以回帖 登录 | 立即注册