【文献阅读15】层级结构稀疏的有效灵活的DNN加速HighLight

标题:HighLight: Efficient and Flexible DNN Acceleration with Hierarchical Structured Sparsity

创新点:利用简单的稀疏模式的系统地表示各种各样的稀疏度。

摘要

为了实现精度和硬件性能之间的折中,理想的DNN加速器应当有更高的灵活度,可有效将DNN稀疏转换为额外硬件开销小情况的高能效和小延迟。

此文引入了层级结构稀疏(HSS,hierarchical structured sparsity),关键的insight在于我们可以利用简单的稀疏模式的系统地表示各种各样的稀疏度。作为结果,HSS简化了硬件,因为只需要支持简单地稀疏模式;此举有效地降低了稀疏加速的额外开销。HighLight可支持各种各样的稀疏度,包括密集DNN。由于HSS的灵活性,不同的HSS模式可被引入DNN中来满足应用精度的要求。与现存的工作相比,HighLight实现了在各种各样的工作负载的情况下,几何平均最多6.4x的能量延时积。

引言

各种各样的DNN中激活可为稀疏或者密集的。ReLU引入稀疏激活,Mish引入密集激活。权重剪枝也应用到DNN中得到网络中的0权重。剪枝后各种DNN的稀疏度不同。
ResNet50稀疏度可达80%,密集模型如EfficientNet难以被大量剪枝。

加速器的指标应当是:

  • Efficient:low sparsity tax
  • Flexible:支持各种粒度的稀疏,diverse

对于中、高等稀疏,消除无效操作。操作包含计算与搬移
对于较低的稀疏度,实现纯密集的加速。

在这里插入图片描述

没有加速器同时实现了所有功能

  • “Diannao: A small-footprint high-throughput accelerator for
    ubiquitous machine-learning(dense)
  • 2017-In-datacenterperformance analysis of a tensor processing unit(dense)
  • 2017-Nvidia tesla v100 gpu architecture(dense)
  • 2017-SCNN
  • 2018-Outerspace: An outer product based sparse matrix multiplication
    accelerator
  • 2019:-Eyeriss v2
  • 2019-SparTen
  • 2019-Sparse tensor core: Algorithmand hardware co-design for vector-wise sparse neural networks on modern gpus
  • 2019-Extensor: An accelerator for sparse tensor algebra
  • 2020-Sparsity-aware and re-configurable npu architecture for samsung flagship mobile soc
  • 2020-Sigma: A sparse and irregular gemm accelerator with flexible interconnects for dnn training
  • 2020-Sparch: Efficient architecture for sparse matrix multiplication
  • 2020-“Nvidia ampere ga102 gpu architecture(2:4稀疏模式,STC类型, dense or 2:4, low sparsity tax)
  • 2021-Dual-side sparse tensor core(DSTC,high sparsity tax)
  • 2022-S2ta: Exploiting structured sparsity for energy-efficient mobile cnn acceleration(G:8稀疏模式的利用)
  • 2022-Sparseloop: An Analytical Approach To Sparse Tensor Accelerator Modeling

密集加速器没有利用稀疏,no sparsity tax;
结构稀疏加速器针对空间约束的DNN,low-to-medium sparsity tax

在这里插入图片描述

本文的关键设计在于利用乘法分解的性质来:1. 表示各种各样的机构稀疏度;2. 支持模块化的低稀疏度的硬件开销,从而可以利用结构稀疏。图1展示了可组成的两种密度的集合(密度=1-稀疏度)。S0和S1的组合有6种稀疏度。因此,模块化的硬件支持六种稀疏度。

关键贡献如下:

  • 提出HSS,层级结构稀疏,通过不同简单稀疏模式的层级组合,支持各种各样的稀疏模式。并且,提出了一种fibertree-based 精确的稀疏特征来区分HSS与现存的稀疏模式。
  • 提出同时有效和灵活的硬件加速器设计
    • 利用HSS的模块度来模块化稀疏加速,从而利用简单稀疏模式的不同组合来实现稀疏加速,在不同的架构级别实现加速。
  • 验证了使用HSS的稀疏满足不同稀疏度的DNN加速。
  • 为了证实有效性和灵活性,HighLight(加速器名字)比现存的工作性能好。

背景

  • 挑战与机遇
  • 现存加速器的限制:非结构性稀疏的加速器,结构性稀疏的加速器
  • 量化比较:双侧稀疏DSTC类型的:high sparsity tax;STC类型的:low sparsity tax;低能量延迟积;运行Transformer-Big [48] and ResNet50 [16]。
  • 非结构性稀疏的设计低效性:运行Resnet50时,STC类型比DSTC类型的结果差,因为STC-like(STC类型)设计最高加速2x。
  • 结构性稀疏的设计低效性:

在这里插入图片描述

  • 2020-Efficient processing of deep neural networks

精准的稀疏度定义

  • fibertree 抽象:描述所提出的方法.rank0, fiber的关系
    在这里插入图片描述

  • 描述tensor中的稀疏, 在高层时,为了描述特定的稀疏模式,需要指定rank oder,每个rank会议一个剪枝规则。规则制定了每个fiber的坐标是否被除掉。任何rank的坐标可被剪掉。由于链式效应的影响,引入的稀疏被称为结构稀疏。结构稀疏在不同的粒度下课实现,具体取决于兼枝规则在哪一层的rank被使用。

    图4a展示了按通道剪枝, b展示了2:4的稀疏

在这里插入图片描述

稀疏模式的定义包含对这些rank进行 reodering, flattening, partitioning
对于特定的fiber,shape的定义为坐标的总数量;
occupancy作为非0值的个数;
对于2:4的稀疏,最初的ranks被重新排序,行R与列S合为RS rank2;通道C分成两个rank:C1与C0;G:H风格的稀疏结构通过使得C0中最多有两个非0值来实现。稀疏模式定义为RS->C1->C0。fiber-tree的定时可以清晰描述现存的许多工作。

HSS

  • N rank 的稀疏模式指的是HSS包含N个稀疏rank
    图5即为2 rank HSS,但rank ordering, flattening和splitting的工作不限于此。

在这里插入图片描述

  • 稀疏度:多rank中的HSS有不同粒度的稀疏模式,图5中C0表示单值的稀疏,C1的稀疏粒度较大。总的稀疏粒度可以从每个rank的稀疏结构中获取。

  • HSS可被引入DNN模型中国实现稀疏的DNN。基于HSS的稀疏保证了重要的非0值被尽可能地保留。对于C0,剪掉最小的幅度,对于中间rank,剪掉L2范数最小的fiber payload。由于所引入的稀疏模式与剪枝算法正交(密集模型简枝Accelerating sparse deep neural
    networks,scratch剪枝Learning n: M fine-grained structured sparse neural networks from
    scratch,值恢复剪枝runing redundant mappings in transformer models via spectral-normalized identity prior)

HSS的重点

三方面的设计空间

  • G:H设计模式的支持
  • 硬件支持的HSS的rank数量
  • 加速机制的选择,稀疏加速特征(SAFs:sparse acceleration features)

以下讨论不同设计决策的影响。
当存在无效计算时,硬件可采用的方式有:

  • Gating: 与门即可实现,稀疏开销低。
  • Skipping:取非0操作数,高稀疏代价,muxing逻辑实现

Gating对延迟敏感的应用来说不可取,本文专注于讨论各种设计层面的影响。
Skipping极大地取绝于组件的高利用率来实现加速。

实验设置

  • 加速器建模:Sparseloop-Accelergy
  • DNN剪枝:A programmable approach to neural network compression
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue Highlight是一个用于在web界面上美化pre标签的插件。它使用highlight.js来实现高亮显示代码。具体使用方法如下: 首先,在需要高亮显示的内容标签上使用v-highlight指令。例如: ```html <div> <pre v-highlight> <code class="lang-javascript"> {{codeText}} </code> </pre> </div> ``` 然后,在Vue的环境中配置highlight.js。需要安装highlight.js依赖并在main.js中导入所需配置。可以选择导入自己喜欢的样式文件。例如: ```javascript import hljs from "highlight.js"; import "highlight.js/styles/atelier-cave-dark.css"; Vue.directive("highlight", function (el) { let blocks = el.querySelectorAll("pre code"); blocks.forEach((block) => { hljs.highlightBlock(block); }); }); ``` 最后,在Vue组件中使用highlight.js。官方提供了两种组件的用法,autodetect和language。例如: ```html <highlightjs autodetect :code="code" /> <highlightjs language="javascript" code="var x = 5;" /> ``` 可以根据需要选择使用不同的样式。 总结:Vue Highlight是一个使用highlight.js来美化pre标签的插件,在Vue中使用v-highlight指令来实现高亮显示代码,并根据需要导入不同的样式文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [在vue中使用highlight](https://blog.csdn.net/u011364720/article/details/90417302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [vue—highlight.js在Vue中的使用(pre标签代码高亮)](https://blog.csdn.net/qq_45997679/article/details/115027351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值