ISCA2022部分论文阅读整理

GPU设计:

一、GPU tensor core的扩展设计和编译器优化

针对现有GPU tensor core只有矩阵乘法单元的局限性,SIMD2[3]设计了SIMD2基本单元和对应的指令集来支持一系列矩阵操作,并编写了相应的API供编程调用。SIMD2 unit引入了5%的面积开销,在一系列应用上取得了6.94-8.25×的速度提升。
在这里插入图片描述

SIMD2基本单元电路如下:
在这里插入图片描述

由于GPU上新出的Tensor Core是一种新的硬件特性,且TVM对Tensor Core这类特殊指令的支持还比较原始,依靠手写tensorize schedule完成,同时对于输入格式也有限制。AMOS[6]能够提供合理的硬件抽象和自动化算法,将多种多样的前端软件映射到后端定制硬件上。

二、GPU分析模型

Cycle-level的仿真模型精度较高但是很慢,而分析模型很快,但是现有的分析模型由于其GPU核心微架构假设过时且高度抽象,所以无法准确地建模现代GPU。[1]从以往GPU分析模型的三方面局限性出发提出了新的分析模型:1)受限的sub-core level functional unit;2)SM level下分段的L1缓存和SM内部负载不平衡;3)GPU level下SM间负载不平衡。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主要思路:
在这里插入图片描述
在这里插入图片描述

剪枝:

一、剪枝self-attention的冗余计算量

对于自注意力机制而言,因其会计算上下文所有token对当前token的影响,这才导致计算量巨大,但是事实上在所有token中,能够对当前token产生作用的也只有一小部分token,因此[5]提出了一种基于梯度的运行状态下剪枝计算量的方法并设计了相应的电路。
自注意力中计算注意力的公式为score=Q*KT,attn=softmax(score)*V。作者主要围绕这两个过程来剪枝计算量。针对第2步,通过设置score的阈值来决定哪些score可以参与这一步计算,其实现方法是:1)设计了一种soft threshold函数使其可微分;2)在损失函数中加入正则化项,在正则项里加入阈值的作用,训练出layer-wise的阈值,达到剪枝计算量与精度的平衡。针对第1步,作者设计bit串行计算电路,从高位算起,如果predicated value小于阈值,那么就舍弃剩余计算。

在这里插入图片描述
在这里插入图片描述

二、增大剪枝带来的硬件优势

由于数据访存模式的不规则,现有的压缩方法和稀疏性-跳过机制不能支持许多节能的数据重用机会以及对应的数据流,[4]设计了一种剪枝算法(CSP),并针对算法产生的稀疏性设计了相应的PE结构和数据流。
CSP剪枝算法的思路:先把卷积核均分成一定数量的chunks,然后把所有卷积核按chunk的顺序铺平成二维矩阵,即Cout个kkCin的卷积核铺平展开成(kkCin)×Cout的二维矩阵。在每一行上,从第n个chunk到最后一个chunk记为cascade,然后利用group LASSO算法在chunk粒度进行剪枝,通过这样的剪枝方法产生的数据会具有连续稀疏性的特点,即PE在某时刻检测到了0值,那么之后所有filter的相同位置都会是0,因此有early stop的优势可以利用。
在这里插入图片描述

三、剪枝DNN在训练时的冗余计算量

目前用于稀疏卷积神经网络的加速器有三类:内积加速器、外积加速器、交叉积加速器。
在这里插入图片描述

内积加速器只能处理1个稀疏输入的卷积,并且还依赖结构化稀疏的特性,但是在训练过程中,卷积的两个输入可能都是稀疏的且稀疏性是非结构化的,另外它还依赖于img2col的预处理,所以这种加速器对于训练不友好;由于训练过程中的动态稀疏性,交叉积加速器需要为成功匹配两个非零值而承受不小的逻辑电路面积开销,尤其是两个输入都进行了压缩的情况下,开销面积会更大,因此也不适合加速训练;外积加速器不会产生非零值,但是会产生大量的冗余结果,[2]中称为冗余笛卡尔积(RCP),在推理中RCP只占一小部分,但是在训练中它会占到90%以上,所以[2]的主要工作是设计算法识别和消除RCP,并设计了相应的数据流和PE结构实现。
在这里插入图片描述

可以看到,RCP主要是输入图像边界和卷积核计算而产生的,因此[6]主要是通过匹配输入图像和卷积核索引值来设计算法消除RCP的。

[1]GCoM: A Detailed GPU Core Model for Accurate Analytical Modeling of Modern GPUs.
[2]Anticipating and Eliminating Redundant Computations in Accelerated Sparse Training.
[3]SIMD2 : A Generalized Matrix Instruction Set for Accelerating Tensor Computation beyond GEMM.
[4]Cascading Structured Pruning: Enabling High Data Reuse for Sparse DNN Accelerators.
[5]Accelerating Attention through Gradient-Based Learned Runtime Pruning.
[6]AMOS: Enabling Automatic Mapping for Tensor Computations On Spatial Accelerators with Hardware Abstraction.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值