文献阅读(57)

  • 题目:An Energy-Efficient Sparse Deep-Neural-Network Learning Accelerator With Fine-Grained Mixed Precision of FP8–FP16
  • 时间:2019
  • 期刊:JSSC
  • 研究机构:KAIST

1 缩写 & 引用

  • FGMP: fine-grained mixed precision
  • FF: feed forward
  • BP: back propagation
  • WG: weight gradient update
  • EMA: external memory access
  • FMA: fused multiply add
  • ILB: input load balance
  • LRF: local register file

2 abstract & introduction

之前有很多论文是 inference端的低位宽量化和稀疏性的利用,但是没有人做训练,因为训练需要浮点数运算,他把这个trick用在了DNN训练上
本篇论文的主要贡献有:

  1. FP8和FP16之间的混合精度,保证了精度,也能实现更高的吞吐
  2. 能利用DNN的稀疏性,进行DNN的训练
  3. 输入负载的平衡

正常的训练一共有三个部分

  • FF:前向传播
  • BP:后向传播
  • WG:根据后向传播的值更新权重

3 细粒度混合精度

在这里插入图片描述根据浮点数指数部分的值,如果在一定范围之内,就用fp8来存储,否则用fp16存储,根据一个阈值来确定
实际是用“混合乘加器”,可以同时算两个fp8或者一个fp16,内部的很多电路都是公用的,只比标准的fp16乘法器多13%的面积开销

4 稀疏深度学习计算单元

DL core包含这几部部分:

  • 4个PE_LINE:一个PE_LINE包含12个PE和一个本地路由器
  • 列缓冲区col-buf:存储权重
  • 片上存储DMEM:存储特征图
  • local aggregation 单元
    在这里插入图片描述
  1. 一个PE_LINE有12个PE,所以一次可以完成12个乘加,输入共享同一个输入特征图像素,和12个不同的kernel对应的数相乘,得到12个对应不同output channel的部分和。
  2. 一个输入特征图像素之后,再取相同一列,相同input channel,下一行的输入特征图像素,权重不变,这又能产生12个部分和
  3. 假设一共有Row行,那么就能产生12xRow个部分和,一个PE内部就需要存储Row个部分和,之前权重一直不变
  4. 然后输入下一个input channel,同一列,第一行的像素值,权重也要换成对应input channel的数
  5. 一共有4个PE_LINE,那么每个PE_LINE都负责1/4的input channel,这样如果负载不平衡的时候,四个PE_LINE之间还能平衡一点
  6. 4个PE_LINE对应位置的PE,比如说PE_LINE0、PE_LINE1、PE_LINE2、PE_LINE3的PE0的结果累计起来
    在这里插入图片描述

5 跳零MAC运算

跳零操作有两个层次:

  1. 上一节说过,每个PE_LINE内部输入特征图像素都是广播到12个PE的,那么如果输入特征图像素是零,就跳过他,存着对应的index就可以
  2. 如果一个tile内部,input channel都是零,那么对应input channel的权重也不用load了
    在这里插入图片描述

6 输入负载平衡

PE_LINE之间是按照input channel维度进行切分的,而input channel之间相互独立,可以调整input channel来平衡负载
在这里插入图片描述


  • 题目:LNPU: A 25.3TFLOPS/W Sparse Deep-Neural-Network Learning Processor with Fine-Grained Mixed Precision of FP8-FP16
  • 时间:2019
  • 会议:ISSCC
  • 研究机构:KAIST
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值