首页 » 互联网 » AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片

AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片

南宫静远 2024-10-22 09:52:18 0

扫一扫用手机浏览

文章目录 [+]

AI芯片的涌现,与深度学习技能的成熟及运用密不可分。
深度学习的过程可以简化理解为利用大量标注的数据进行演习,演习出一个行之有效的模型,再将这一模型利用于新数据的推断。

这个耳熟能详的爆款算法是建立在多层大规模神经网络之上的,后者实质上是包含了矩阵乘积和卷积操作的大运算量函数。
每每须要先定义一个包含回归问题的方差、分类时的交叉熵的代价函数,再数据分批通报进网络,根据参数求导出代价函数值,从而更新全体网络模型。
这常日意味着至少几百万次的相乘处理,打算量巨大。
普通来说,包含了数百万次AB+C的打算,算力花费巨大。

AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片 AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片 互联网

为办理这一问题,AI芯片应运而生。
2017年开始,环绕AI芯片,半导体行业,战事升级,赛场上新老玩家暗潮涌动,连横合众,大有“AI芯片太多,设备都不足用了”之势。

AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片 AI芯片之争白热化的当下若何设计一款真正适用于终端的AI芯片?_数据_芯片 互联网
(图片来自网络侵删)

韶光进入2018年,备受关注的大小公司都将正式推出自研AI芯片。
这些芯片也都被业界寄予厚望,是否能办理或者部分办理终端打算难题?什么样的芯片才能够真正适应终端智能的需求?

这些都是我们十分好奇且关注的问题。
于是也与一些创业者进行了互换。
本文即是个中的一篇,来自于与探境科技CEO鲁勇的访谈。
目前探境科技正研发适用于终真个AI芯片,在创业前鲁勇曾在芯片厂商Marvell任高管,从事过存储芯片的干系事情,而存储正是打算之外所有芯片另一核心。
基于过往的经历、履历与不雅观察,鲁勇认为,做适用于终真个AI芯片,除了要在打算方面提升,存储优化同样至关主要。

以下为正文,来自36氪对鲁勇的访谈内容,36氪基于访谈内容对其不雅观点进行了整理。

AI算法在芯片实现时碰着的核心问题不是打算资源而是存储问题,强如GPU供应浩瀚的打算资源,而实际打算能力与打算资源大为降落。

概括来说,存储问题分为两个部分,一个是带宽问题,一个是功耗问题,这两个问题的办理实在也是耦合在一起的。

详细来说,深度学习算法利用大量存储资源,即包括静态模型参数,也包括网络层之间的动态数据。
对付静态模型参数权重,动辄几十兆上百兆样本数量,无法在片上SRAM保存,因此须要存入外部DRAM。
DRAM与AI打算芯片间带宽有限,如果芯片上打算资源很大,但受存储带宽的瓶颈限定,实际打算力大为低落。

打比方来说,卖力存储的DRAM和与卖力打算的芯片就像是位于河两岸的仓库,全体运算的过程可以类比从存储的仓库搬取数据、搬运过桥,将数据搬入打算的单元进行处理,并高速循环往来来往。
而当前的AI芯片技能重点提升将数据搬入打算单元后的处理速率,但由于搬出数据、过桥的过程基本未发送变革,因此整体的效率提升还相对有限。

与之对应的方法即是战胜存储带宽的手段:一是减少数据量,降落所需数据带宽,便是说想办法只要从仓库搬出少量数据,就可以达到同样的效果;二是更科学的调度数据利用,提升调度的效率。

(1)减少数据容量

如果数据量降落了,这将总体上减少对DRAM的访问,在DRAM物理带宽保持不变的条件下,降落了DRAM的依赖性,提高了整体性能,同时减少DRAM访问也将大幅减少系统功耗开销。
因此首先须要办理的问题是减少静态参数权重的大小。
常日的办理办法包括参数定点化,将每个32bit浮点数减少为16bit以下的定点数,至少能降落50%乃至75%的存储容量,也同样幅度的降落了存储带宽的需求。
实践证明16bit定点化可以采取线性量化的办法,而16bit以下定点化根据模型的不同,有些须要采取非线性量化才可以达到坚持模型性能的目的。

目前紧张有模型剪枝、设计适于终端设备的简化网络两种实现办法。
模型剪枝作为进一步降落模型容量和存储带宽的办法,是基于神经网络模型存在大量冗余信息的根本,而另一种从源头开始重新设计适于终端设备的简化网络的办法也在逐渐兴起,从同样规模的网络性能来看,新设计的网络可能比旧网络通过剪枝再演习的办法更为大略快捷,性能也更好。

(2)更科学的调度数据利用

深度学习的打算大量利用乘累加,即完成AXB+C的事情,这种乘累加单元(MAC)每次运算须要三个输入,完成一个输出。
参与运算的数据包括事先准备好的权重参数和网络层产生的中间数据。
每个乘累加完成后的输出常日也会作为下一次运算的输入,因此如何调度这些数据成为关键。

功耗角度来说,从DRAM获取数据所花费的功耗最大,从SRAM中获取数据其次,从本地寄存器中获取数据花费功耗最低,但从本钱角度考虑刚好相反,因此这三个不同层次的存储器的利用非常关键,我们希望尽可能减少DRAM的访问,最空想的结果是仅从DRAM中读取一次事先存好的模型参数,而不依赖DRAM做任何其他事情。

从宏不雅观上看,全体深度学习运算打算一次,进入MAC的总数据量远大于静态数据的容量,由于无论是模型参数还是中间数据都多次被重复利用,因此实际所需的数据带宽非常大,并且当所有这些数据都仅通过DRAM被缓存利用时,其功耗开销也是惊人的,因此充分利用各级缓存的特性非常主要,设计一个合理的数据流,将多次被重复利用的数据放在离打算资源较近的地方,少量读取的数据放在DRAM中,将提高打算性能,降落系统功耗。

那么问题来了,如何才能设计一款真正适用于终真个AI芯片。

大略的设计一个卷积加速器并不能带来深度学习打算性能上的提高,合格的打算架构须要结合对存储问题的剖析来设计,不仅要考虑打算架构,也要考虑存储的数据流掌握,因此深度学习的打算特点并非是一个大略粗暴的并行打算问题。

首先还是要考虑浮点和定点打算的问题,8 位的整数乘法比IEEE 754标准下16位浮点乘法降落 6 倍的能耗,占用的芯片面积也少 6 倍;而整数加法的差异是13倍的能耗与38倍的面积,因此终端AI芯片采取定点打算将得到巨大收益。
当定点成为设计目标的时候,要充分考虑软硬件的结合,不同网络对定点位数的影响程度是不一样的,数据量化的详细办法也有差异,有线性量化也有非线性量化的方法,因此针对运用处景结合软件协同设计非常有必要。

其次深度学习不是大略粗暴的并行打算但仍旧有明显的并行打算特色,因此考虑存储问题后放入更多的打算资源会大幅提高打算性能。
首先将最多被重复利用的数据放在靠近打算资源的地方,这符合较为盛行的In Memory Computing(存储打算一体化)的思想,并且考虑到当前工业水平,这更为实际,而通过重新设计包括打算单元的存储单元或采取ReRAM等办法是未来的 发展方向。

第三要考虑到深度学习数据的另一主要特性,即数据稀疏化特性,也便是说在参与运算的数据中有大量的零值数据存在,这些零值数据即可以在存储中被压缩存放,降落存储容量和带宽需求,也可以在打算中被进一步调度,减少运算压力,提高运算的有效性能。
这些零值数据不仅存在于模型参数中,也大量存在于神经网络各层运算的中间数据中,这两方面都须要进行考虑。
稀疏数据在多核心并行打算中的调度是个繁芜的问题,而不同网络构造也会带来不同的影响,因此将软硬件协同设计,动态调度的调度器是非常繁芜的设计难点。

末了要考虑针对不同网络的资源有效利用率问题,由于神经网络差异化较大,如果希望针对不同网络都有较高的资源有效利用率,则须要在较细的颗粒度上进行优化,进一步加深了数据流调度器的繁芜度。

标签:

相关文章

通俗易懂の入门SPWM教程_极性_存放器

之前在PWM的文章中先容过,基本事理便是面积等效事理,即冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,厥后果基本相同 。换句话...

互联网 2025-01-07 阅读0 评论0