正在加载图片...
·328· 智能系统学报 第15卷 路选择两种方式,如图7所示。压缩编码方式将 利用参数稀疏性主要可以分为压缩稀疏行 激活结果分块,按顺序判断激活结果是否有效, CSR和压缩稀疏列CSC两种方式22,如图9所 记录有效激活结果的值和有效激活结果之间的距 示。压缩稀疏行CSR,稀疏矩阵按照输出特征图 离。多路选择方式一次读入多个激活输入,按优 分离成若干个独立计算,每个输出特征图共享输 先级从中选择有效的激活结果,输出激活结果的 入特征图,并分别按照权重的有效性选择激活输 值和位置。压缩编码方式能够降低传输功耗,但 入进行乘累加计算。压缩稀疏列CSC,稀疏矩阵 不适合通道较浅的卷积层;多路选择方式不能降 按权重方向分离成若干个计算队列,每个计算队 低传输功耗,但逻辑更简单,并且适应所有卷积层。 列对应一个激活输入,计算时依次选择有效权重 与激活结果相乘,并将乘积累加到对应输出特征 原始数据 0 0 0 009 图位置。 权重参数值 2☑ 索引 输出特征图 激活输入 压缩数据 压缩编码 压缩稀疏行(CSR 索引 激活输人 激活值 目a+目▣+目a*目a+目▣+月a-目 压缩稀疏列(CSC) 多路选择 图9利用参数稀疏性方式 图7利用激活稀疏性的方式 Fig.9 Method of using parameter sparsity Fig.7 Method of using activate sparsity CSR模式需要完成两个稀疏矩阵的乘法,复 文献[8-9]、[12]使用了压缩编码的方式,文 杂性较高,文献[12]利用笛卡尔乘法在CSR模式 献[11]使用了多路选择的方式。本文在上节中实 完成了稀疏矩阵计算,文献[1O]使用CSR模式仅 际分析了VGG-l6网络在ImageNet下的激活稀疏 利用了参数稀疏性。CSC模式将计算分离成了若 性在50%左右,使用压缩编码的方式能够降低 干个计算队列,选择有效队列就能利用激活稀疏 50%的激活结果数据量,但与此同时对压缩编码 性,更容易实现,文献[11]使用了CSC模式同时 的索引也是需要占用数据量的。几乎所有分类网 利用了激活稀疏性和参数稀疏性。使用CSC模 络经过优化都能使用动态精度量化的方法量化 式完成全连接层计算。 成8bit激活结果与8bit权重2。如图8所示,随 全连接层稀疏计算PE如图10所示。多路选 着激活结果量化程度的不断提高,对激活结果进 择获得的有效激活输入和索引被送入PE,通过一 行压缩编码的收益是在不断下降的。并且我们的 个存储权重指针的逻辑获得这个有效激活输入对 设计充分靠虑了最大化共享激活输入,使用多路 应的有效权重的头地址和长度,然后从权重缓存 选择的方式消耗的激活压缩单元会非常少。基于 中依次读出权重。权重由位置索引和值两部分组 资源开销和普适性的考虑,我们使用了多路选择 成,在乘累加缓存区域获得位置索引对应位置的 的方式利用激活稀疏性。 乘累加值,与新产生的乘积累加,再送回乘累加 缓存区域,使用一个旁路逻辑缓存乘累加结果, 1.04 0.50.0.44 避免相邻周期对同一个位置读写导致的一个周期 05 0.50,0.38 的时间惩罚。 0.50,0254 2.3与其他加速器设计的比较 0.5 我们分别比较了上述几种卷积神经网络加速 0.5 器利用稀疏性的方式和并行展开方式,见表1。 有效激活结果密度 ★一8bit◆一16bit◆一32bit 表1中稀疏性A代表激活稀疏性,稀疏性W代表 参数稀疏性,CSR代表压缩稀疏行,CSC代表压 图8不同量化精度下VGG-16压缩编码实际压缩效率 Fig.8 Actual compression efficiency of VGG-16 compres- 缩稀疏列,展开方式S、N、F分别代表突触(syn- sion code with different quantization precision apse)、神经元(neuron)、特征图(feature map)o路选择两种方式,如图 7 所示。压缩编码方式将 激活结果分块,按顺序判断激活结果是否有效, 记录有效激活结果的值和有效激活结果之间的距 离。多路选择方式一次读入多个激活输入,按优 先级从中选择有效的激活结果,输出激活结果的 值和位置。压缩编码方式能够降低传输功耗,但 不适合通道较浅的卷积层;多路选择方式不能降 低传输功耗,但逻辑更简单,并且适应所有卷积层。 11 3 9 1 2 2 原始数据 0 11 0 0 3 0 0 9 索引 压缩数据 压缩编码 激活输入 索引 0 11 0 0 多路选择 激活值 M U X 图 7 利用激活稀疏性的方式 Fig. 7 Method of using activate sparsity 文献 [8-9]、[12] 使用了压缩编码的方式,文 献 [11] 使用了多路选择的方式。本文在上节中实 际分析了 VGG-16 网络在 ImageNet 下的激活稀疏 性在 50% 左右,使用压缩编码的方式能够降低 50% 的激活结果数据量,但与此同时对压缩编码 的索引也是需要占用数据量的。几乎所有分类网 络经过优化都能使用动态精度量化的方法量化 成 8 bit 激活结果与 8 bit 权重[21]。如图 8 所示,随 着激活结果量化程度的不断提高,对激活结果进 行压缩编码的收益是在不断下降的。并且我们的 设计充分靠虑了最大化共享激活输入,使用多路 选择的方式消耗的激活压缩单元会非常少。基于 资源开销和普适性的考虑,我们使用了多路选择 的方式利用激活稀疏性。 0.50,0.25 0.50,0.38 0.50,0.44 −0.5 0.5 1.0 0 0.5 1.0 实际激活结果压缩率 有效激活结果密度 8bit 16bit 32bit 图 8 不同量化精度下 VGG-16 压缩编码实际压缩效率 Fig. 8 Actual compression efficiency of VGG-16 compres￾sion code with different quantization precision 利用参数稀疏性主要可以分为压缩稀疏行 CSR 和压缩稀疏列 CSC 两种方式[22] ,如图 9 所 示。压缩稀疏行 CSR,稀疏矩阵按照输出特征图 分离成若干个独立计算,每个输出特征图共享输 入特征图,并分别按照权重的有效性选择激活输 入进行乘累加计算。压缩稀疏列 CSC,稀疏矩阵 按权重方向分离成若干个计算队列,每个计算队 列对应一个激活输入,计算时依次选择有效权重 与激活结果相乘,并将乘积累加到对应输出特征 图位置。 输出特征图 × 权重参数值 激活输入 × = × = × = × = 压缩稀疏行(CSR) × + × + × + × + × = + × 压缩稀疏列(CSC) 图 9 利用参数稀疏性方式 Fig. 9 Method of using parameter sparsity CSR 模式需要完成两个稀疏矩阵的乘法,复 杂性较高,文献 [12] 利用笛卡尔乘法在 CSR 模式 完成了稀疏矩阵计算,文献 [10] 使用 CSR 模式仅 利用了参数稀疏性。CSC 模式将计算分离成了若 干个计算队列,选择有效队列就能利用激活稀疏 性,更容易实现,文献 [11] 使用了 CSC 模式同时 利用了激活稀疏性和参数稀疏性。使用 CSC 模 式完成全连接层计算。 全连接层稀疏计算 PE 如图 10 所示。多路选 择获得的有效激活输入和索引被送入 PE,通过一 个存储权重指针的逻辑获得这个有效激活输入对 应的有效权重的头地址和长度,然后从权重缓存 中依次读出权重。权重由位置索引和值两部分组 成,在乘累加缓存区域获得位置索引对应位置的 乘累加值,与新产生的乘积累加,再送回乘累加 缓存区域,使用一个旁路逻辑缓存乘累加结果, 避免相邻周期对同一个位置读写导致的一个周期 的时间惩罚。 2.3 与其他加速器设计的比较 我们分别比较了上述几种卷积神经网络加速 器利用稀疏性的方式和并行展开方式,见表 1。 表 1 中稀疏性 A 代表激活稀疏性,稀疏性 W 代表 参数稀疏性,CSR 代表压缩稀疏行,CSC 代表压 缩稀疏列,展开方式 S、N、F 分别代表突触 (syn￾apse)、神经元 (neuron)、特征图 (feature map)。 ·328· 智 能 系 统 学 报 第 15 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有