3500TOPS够不够,透视AI芯片算力数字游戏

AI百科5个月前更新 快创云
46 0

  智能驾驶系统作为复杂技术集合,单纯依赖AI算力数值的评估意义有限,且这些数值存在较大的操作空间。在汽车行业,算力通常基于8位整数精度的卷积运算,此类算力获取门槛较低,仅需增加MAC(乘积累加)单元即可。然而,各厂商因市场定位与成本控制,算力水平各异。

图片
图片

  图片来源:Synopsys

  Synopsys推出的一款IP支持最高8个NPU,算力可达3500TOPS,单个NPU也可实现440TOPS的算力,且这一算力纯粹基于MAC数量,无虚假成分。衡量算力最客观的数据是MAC数量,通过MAC数量与运行频率可精确计算算力值,这种方法无弄虚作假空间。例如,谷歌TPU V1拥有65000个MAC,频率为700MHz,算力为91TOPS;特斯拉初代FSD每个NN包含2*9216个MAC,频率为2GHz,算力为73.7TOPS。值得注意的是,智能驾驶领域已远非传统CNN的天下,Transformer与CNN相比有质的飞跃。从设计到量产,芯片需经历漫长过程,可能耗时2-4年。因此,当前市面上流行的嵌入式智能芯片大多源自更早期设计,可能未充分考虑Transformer的应用。

  AI模型可分为浮点与整数两大类,其中整数多用于推理,浮点用于训练。根据IEEE 754标准,浮点进一步细分为双精度FP64、单精度FP32及半精度FP16。浮点数通过浮动小数点表示数字,与定点数相比,浮点数能表达的数字范围更大,但无法精确表达所有实数,需采用不同精度近似表达。单精度浮点数用32位二进制表示,双精度用64位表示,而半精度则为16位。不同位数的浮点数计算精度与误差各异,适用于不同应用场景。例如,双精度适用于需处理大范围数字且要求精确的科学计算;单精度足够应对多媒体和图形处理;对于机器学习等应用,半精度甚至8位浮点数已足够。AI芯片需根据精度需求设计独立的浮点或整数计算单元。浮点运算需特殊寄存器和加载指令,通用CPU需添加FPU进行浮点运算。

图片
图片

  图片来源:英伟达

  以英伟达Orin为例,其包含2048个CUDA核心(针对FP32),以及64个张量核心(针对INT8),合计算力为275TOPS。若放弃FP32全改张量核心,算力可轻易突破1000TOPS。然而,考虑到市场覆盖,英伟达保留了CUDA核心以拓展至汽车市场。

  华为的计算核心则集成了标量、矢量与张量三种运算资源,张量几乎等同于AI运算。每个计算单元内的张量计算包含4096个FP16 MACs和8192个INT8 MACs。若运行频率为1GHz,FP16算力为8TOPS,INT8算力为16TOPS。在INT8下运算时,FP16算力翻倍至32TOPS。

  AI芯片与GPU均为并行计算设计,在CNN时代表现卓越。然而在后CNN时代,Transformer等模型出现大量串行计算需求,对AI加速器不友好,却利于CPU和DSP。例如NMS算法就是典型串行计算且大量消耗存储带宽的算子。此类计算最适合DSP进行高效处理。微软新发布的Cobalt 100 CPU采用ARM NeoverseN2架构,具备128核心。

  Transformer计算过程中涉及大量矩阵乘法(GEMM)与存储密集型算子(GEMV)。三星对GPT大模型的分析显示,GEMV占比高达86.53%,在延迟上占82.27%,而GEMM仅占2.12%。在GPU利用率方面,GEMV执行时GPU利用率低,不超过20%,大部分时间都在等待数据搬运。解决此问题的方法是采用HBM高带宽内存,但成本高昂,不适用于汽车领域。

  此外,新技术如NMS和Depthwise在车载领域得到应用。Depthwise在移动设备上尤为常见,如MobileNets架构;而NMS在车载视觉任务中广泛应用。其流程包括排序、IoU计算等串行操作,不适合传统AI芯片加速。Synopsys提出给NPU增加矢量DSP处理此类计算。AWS两代Inferentia芯片对比显示,二代针对Transformer进行了优化,每个NeuronCore-v2均为异构计算单元,包含张量、向量、标量与GPSIMD引擎以应对不同计算需求。

  总结而言,Transformer时代传统AI芯片面临挑战。新的计算需求涉及CPU、GPU、张量与DSP资源整合已超越传统AI芯片范畴。本文观点与数据仅供参考可能存在的偏差不构成投资建议文中所有观点数据仅代表笔者立场不具有任何指导投资或决策意见。

© 版权声明

相关文章