打破内存墙、功耗墙 国产芯片AI-NPU的现在和未来
在AI视觉芯片领域,爱芯元智发布的第一款高性能、低功耗的人工智能视觉处理器芯片AX630A,在公开数据集下的不同神经网络运行速度对比,每秒处理帧数分别为3116和1356,远超其他同类芯片产品,且功耗仅约3W。
图|AX630A产品框图
到底是什么拉开了这些NPU利用率的差距?这背后其实是内存墙和功耗墙的问题。所谓内存墙就是当我们通过堆MAC单元来拉高算力指标的同时,数据带宽一定要跟上,否则数据供应能力不足,就会带来MAC单元不断等待数据的现象,处理性能就会下降。而功耗墙的问题主要来自两个方面:MAC单元和DDR。当我们通过堆MAC单元来拉高算力指标时,MAC单元本身的耗电总量会提升,同时还需要高带宽的支撑,在服务器侧可以使用比较贵的HBM,如此一来DDR所需的功耗势必会拉升上去,而在端侧,出于成本的考量,还没有特别好的DDR方案。
为了解决阻碍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的联合优化设计。
图|算法与NPU的协同设计
图片新闻
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.5立即观看>> 松下新能源中国布局:锂一次电池新品介绍
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论