打破内存墙、功耗墙 国产芯片AI-NPU的现在和未来

OFweek电子工程网 中字

在AI视觉芯片领域,爱芯元智发布的第一款高性能、低功耗的人工智能视觉处理器芯片AX630A,在公开数据集下的不同神经网络运行速度对比,每秒处理帧数分别为3116和1356,远超其他同类芯片产品,且功耗仅约3W。

打破内存墙、功耗墙 国产芯片AI-NPU的现在和未来

图|AX630A产品框图

到底是什么拉开了这些NPU利用率的差距?这背后其实是内存墙和功耗墙的问题。所谓内存墙就是当我们通过堆MAC单元来拉高算力指标的同时,数据带宽一定要跟上,否则数据供应能力不足,就会带来MAC单元不断等待数据的现象,处理性能就会下降。而功耗墙的问题主要来自两个方面:MAC单元和DDR。当我们通过堆MAC单元来拉高算力指标时,MAC单元本身的耗电总量会提升,同时还需要高带宽的支撑,在服务器侧可以使用比较贵的HBM,如此一来DDR所需的功耗势必会拉升上去,而在端侧,出于成本的考量,还没有特别好的DDR方案。

为了解决阻碍AI落地的内存墙和功耗墙这两个共性问题,业界常用的方法有两种,一种是存算一体,但会受到工艺节点瓶颈的限制,距离量产还有一定的距离;另外一种是减少数据搬运。爱芯元智就是通过混合精度技术减少了数据搬运,从而在一定程度上减小了内存墙和功耗墙的阻碍,提高了整个NPU的效率。

那么,混合精度是如何减少数据搬运的呢?首先我们要明确混合精度的概念——混合精度就是将不同精度的浮点数/定点进行数值计算。

打破内存墙、功耗墙 国产芯片AI-NPU的现在和未来

图|神经网络示意图(简化版)

如上图所示,其每一数列被称为一个layer层,最左边的是输入层,最右边的是输出层,中间的部分是隐藏层。图中的每个圆圈代表一个神经元,每一个神经元上都有很多链接,链接上的数字是权重,它是参与计算的重要组成。如果权重是小数的话,则代表着其为浮点数。

在整个神经网络中,权重系数比较复杂,传统NPU的数据表示格式一般是8比特、16比特和浮点数,才能达到AI算法的精度,所以运算量繁重。但爱芯元智发现,在实际应用中,AI网络中有的信息是有冗余的,这意味着并不是所有的计算都需要高精度的浮点或是高精度的16比特,而是采用8比特或者4比特等低精度混合运算就足够了。

在爱芯元智的AI-ISP应用中,就是基于混合精度技术,网络中许多中间层都是采用INT4精度。相比原来的8比特网络,数据搬运量可能就变成原来的1/2,计算量缩减为1/4。由此便可以提升NPU的使用率和效率,在单位面积内提供数倍于传统NPU的等效算力,同时还能把成本和功耗降下来,更有利于端侧和边缘侧AI落地。

当然,在AI落地的过程中,除了要解决内存墙和功耗墙问题以外,还需要考虑算法和硬件的结合问题。尤其是在端侧和边缘侧,芯片天生就和场景有一种弱耦合的关系,所以爱芯元智在设计AI视觉芯片时,采用了从应用到算法再到NPU的联合优化设计。

打破内存墙、功耗墙 国产芯片AI-NPU的现在和未来

图|算法与NPU的协同设计

声明: 本网站所刊载信息,不代表OFweek观点。刊用本站稿件,务经书面授权。未经授权禁止转载、摘编、复制、翻译及建立镜像,违者将依法追究法律责任。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存