MIT2020年力作:机器学习加速器综述

【前言】

首先还是保命时刻,以下解读与见解均为我的个人理解,要是我有哪里曲解了,造成了不必要的麻烦,可以联系我删除文章,也可以在评论区留言,我进行修改。也欢迎大家在评论区进行交流,要是有什么有意思的paper也可以留言,我抽空看一下也可以写一些。正文内容中的“作者”二字,均是指paper的作者,我的个人观点会显式的“我”注明。而文中的图基本都是从paper上cv过来的,我也没本事重做这么多的图,况且作者的图弄得还挺好看的。

【Paper基本信息】

题目:Survey of Machine Learning Accelerators

作者:Albert Reuther, Peter Michaleas, Michael Jones, Vijay Gadepally, Siddharth Samsi, Jeremy Kepner, 是来自MIT林肯实验室的超算中心的团队(PS:光是这个Title,就没有理由不去看)

链接:https://arxiv.org/pdf/2009.00993.pdf​arxiv.org

总结:截止到2020年6月的,目前的机器学习加速的综述,还汇总了一大批芯片的功耗算力,可谓是居家旅行,选型省钱的必看。

【Paper具体内容】

【Introduction】

MIT2020年力作:机器学习加速器综述_第1张图片

现在机器学习有多火我就不说了,上图是一个overview,这个图做的非常好,归纳的也不错,简洁明了。这个Paper主要讲的是机器学习的加速器,这个团队19年也做了一次这个的综述,看样子是每年一更了,19年的还涉及到了一些基于FPGA的推理实例和手机用的加速器,20年的这一篇只考虑了有动态可编程性的FPGA推理实例,作者对于排除了手机加速器的解释是,手机上的加速器如果不做重新设计,很难在不同的平台上使用。

现在的加速器的实现也越来越花里胡哨了,Paper中提到了现在有用矢量引擎(Vector Engines)、数据流引擎(Dataflow Engines)、神经形态设计(Neuromorphic Designs)、基于闪存的模拟内存计算(Flash-based Analog Memory Processing)和基于光子的计算(Photonoc-based Processing)。这里随便一个拉出来,都是一个大饼,大坑。

PS:神经形态设计这个,目前国内做的最好的应该是清华的施路平团队,两个Nature封面奠定王座,就那个在清晨的清华操场自动骑自行车的那个。

作者这里还贴心的给我们普及了一些前置知识(PS:有种上课的感觉):

神经网络的类型,这个类型有好多,但是Paper主要讨论CNN和DNN,因为这两个网络用的最多,大部分的计算也都是密集的矩阵和矩阵的运算、矩阵和向量的运算。

神经网络的训练和推理,训练就是把带标记的数据输入进去(正向),网络输出预测,然后调整模型的权重参数来收敛模型,使得能有更好的预测输出(反向)。推理就是用训练好了的权重参数,应用到输入数据上,以获得预测输出。一般来说,专门为了训练设计的加速器,在推理上效果也可能很好,但反过来就不一定了。

数值精度,用来存模型权重和输入数据的数值精度,这个会影响网络的训练和推理的准确性和效率的。就跟float和double一样,写过代码的都很容易理解。一般来说是训练的时候用高精度,推理的时候用低精度,这个有paper证明过是有效的。但是但是,过低精度的推理,例如int4、int2、int1这种,是没有被论证的,不要瞎搞。现在很多的训练加速器,都支持float16和bfloat16了,大部分的推理加速器,性能指标给的也是int8的结果。

PS:很多年前英伟达就推出了混合精度训练了,yolov5好像就用了这个,用来提速和缩小模型还是挺好用的,准确性也影响不大,能接受。intel也有,intel的没记错的好像是bfloat16,去年有幸体验过intel的cpu的神经网络训练解决方案,用支持bfloat16,avx512指令集的一大堆核的最新至强U,加上intel自己的基于spark的分布式训练库,没错,不是电脑跟电脑之间分布式,是一个U上面核跟核的分布式,加上MKL库,再开个bfloat16,跟打了鸡血一样,训练速度比V100也就慢一点点,大约能有V100的70~80%的速度了,当时跟intel的工程师交流过,他们的做法是把数据分包,打成pkl格式,然后用java分发下去训练,训练完再把权重汇总更新,当时就被他们这个数据分包坑了一手,我数据太大,打包炸了,据说是java打包的锅,这里要羡慕一下intel中国的工作时间,当时的技术支持老哥很给力,晚上一过6点,就不回消息了,第二天早上上了班才回,羡慕不用加班的

神经形态计算,这个是模仿神经元和突触的,这部分是另一个大领域了,也就不多说了,这里作者还特地提到了我前面说的清华施路平团队的天机芯片,他们用的就是SNN和ANN。

Paper主要比较了适用于政府、工业传感器和数据处理的神经网络加速器,并且区分开了研究型加速器和商用型加速器。

【加速器调查】

Paper调查了现有的研究论文、技术新闻、公司的基准数据等公开的资料,收集了加速器的性能和功率信息&#

你可能感兴趣的:(卷积神经网络,ai)