- 题目:An Energy-Efficient Deep Reinforcement Learning Accelerator With Transposable PE Array and Experience Compression
- 时间:2019
- 期刊:JSSC
- 研究机构:KAIST
1 缩写 & 引用
- tPE: Transposable PE
- BMEM: broadcasting memory
- UMEM: unicasting memory
- WBC: weight broadcasting
- IFBC: input feature broadcasting
2 abstract & introduction
之前的论文大多集中在inference,这篇论文的贡献:
- 新型的可配置PE阵列:transposable PE阵列
- 为FCL、RNN、CNN训练
- 中间结果通过压缩,节省了空间
3 具体的buliding block
一共有4个tPE-cores,一个top控制器,64KB的top-shared memory
每个tPE-core有一个experience compressor、16个tPE array,16-way activation/一维SIMD单元、t-Core控制器、64KB的BMEM、32KB UMEM
3.1 对experience和部分积的压缩
input feature是用半精度浮点数存储的,一般的浮点数有两部分组成,一个是指数部分一个是小数部分,但是统计发现很多数的指数部分都相同
experience compressor扫描output buffer去找到最经常出现三个指数,用01、10、11分别进行编码,这样就不需要存指数部分了;00就表示指数部分不是那三个数,需要存的,这样就可以压缩了
3.2 矩阵乘法
input feature是半精度浮点数,权重是整型数,支持16bit或者两个8bit或者4个4bit
有两种模式可以选择,一种是权重广播,一种是input feature广播。
如果是权重广播,则复用input feature,input feature存储在PE内部,权重矩阵一列一列的进,部分和结果往下移动,PE阵列不同列会计算不同结果的部分和
如果是input feature广播,则权重复用,权重会存在PE内部,其他的都差不多