《表3 5种典型机器学习算法的计算共性[17]》

《表3 5种典型机器学习算法的计算共性[17]》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《基于FPGA的机器学习硬件加速研究进展》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

大部分的机器学习算法在学习或者推理的过程中都涉及到了大量的大规模的线性代数运算,这些线性代数运算一般来说都需要占用大量的计算资源,因此往往也是算法的计算核心.因此针对涉及到的线性代数运算进行加速能够有效地提升算法整体的性能.其中,很多机器学习算法中间步骤都能表示为矩阵/向量乘积运算的形式,并且当中间步骤运算完成产生中间数据后,最终步骤往往是相对简单地对中间数据进行排名、寻找最大/最小值、聚合等归约操作[17].如表3所描述的5种算法为例,这5种算法均能表示为这种形式.其中,一项代表性的工作MAPLE硬件加速器就是针对矩阵/向量乘积运算的过程来进行加速的[17].MAPLE利用矩阵/向量乘积运算的特征,处理计算中间数据并对它们进行归约操作.对于规模大的不易变的矩阵,它往往存放在片外内存中,数据以流的形式传进给MAPLE;对于规模小的易变的矩阵,它就被划分并存放着MAPLE的多个计算单元中.每个PE是一个向量计算单元,能够在一个Cycle进行乘加运算;每个PE都有一个Local Storage,存放规模小的矩阵的列;M个PE构成了一条链,每个Core有H条链;对于每条链,input从左传到右,output从右传到左;每条链的output都连接着一个Smart Memory Block,它能够对每条链的输出结果进行排名、最大/最小、聚合等归约操作,并存放符合归约条件的结果.