稀疏LSTM硬件结构

 

本文介绍稀疏LSTM的硬件架构,一种是细粒度稀疏化,权重参数分布随机,另外一种是bank-balance稀疏化。

 

 

 

1. 文章结构

Long-short term memory,简称LSTM,被广泛的应用于语音识别、机器翻译、手写识别等。LSTM涉及到大量的矩阵乘法和向量乘法运算,会消耗大量的FPGA计算资源和带宽。为了实现硬件加速,提出了稀疏LSTM。核心是通过剪枝算法去除影响较小的权重,不断迭代训练以达到目标函数收敛。参与实际运算的权重数量大大缩减,这可以有效降低FPGA计算资源和缓解带宽以及存储。本博文结构如下:

1)  Fine-grained稀疏压缩的硬件架构。权重稀疏化后,数据被大大压缩,但是也增加了有效数据分布不规律性,这些增加了硬件实现复杂性。

2)  Bank-balanced稀疏化方法以及硬件架构。为了能够提高权重数据规律性,提出了bank-balanced稀疏化方式。

 

 

2. fine-grained稀疏化

首先要讲的是细粒度压缩架构。当对一个已经训练好的网络进行剪枝后,你会发现权重分布会变得十分随机。这不利于硬件加速的实现,因为FPGA更喜欢整齐划一的结构,这样便于并行化处理。比如对于下边左图,每一行有效权重数据个数不同,而我们在硬件中按照行(这是最容易的并行化方式)并行运算的时候,每一行计算的时间就不会相等,用时少的会等待用时长的,最终用时长的决定了计算的总时间。这样就产生了计算间歇,降低了计算利用率。左图的计算效率就只有60%((5+2+4+1)/20=60%)。

 

 

QQ截图20190127205541.png

为了提升计算效率,降低等待时间,最理想情况是每行的有效权重数据相同,这样就不需要进行等待了。如右图,仅仅每行计算都需要三个时钟周期。计算效率100%。在进行训练的时候,就需要添加约束条件使得每行具有相同的有效权重数。从结果看出,这样处理在能够加速硬件的同时,还可以保持不变的精度。

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值