File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed
Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change 7272
7373#### 3.2.1.3 半结构化剪枝
7474
75- &emsp ;&emsp ; 半结构化剪枝介于非结构化剪枝和结构化剪枝之间,它试图在保持模型结构的同时,移除不重要的权重。这种剪枝方法可能涉及到移除整个神经元或过滤器的一部分,而不是全部。半结构化剪枝可以提供比非结构化剪枝更好的性能,同时比结构化剪枝更容易实现。通常的做法是按某种规则对结构中的一部分进行剪枝,比如在某个维度上做非结构化剪枝,而在其他维度上保持结构化。这种方式可以在一定程度上提高模型的稀疏性,降低计算量,同时保持模型在硬件上的高效运行。NVIDIA A100 GPU在稀疏加速方面的一个显著特性是其支持的2:4 (50%)稀疏模式,这是一种特定形式的半结构化剪枝。在这种模式下,模型中的每个权重块(通常是 4 个连续的权重值)中有 2 个权重被剪枝(即置为 0) ,剩下 2 个权重值保留 。
75+ &emsp ;&emsp ; 半结构化剪枝介于非结构化剪枝和结构化剪枝之间,它试图在保持模型结构的同时,移除不重要的权重。这种剪枝方法可能涉及到移除整个神经元或过滤器的一部分,而不是全部。半结构化剪枝可以提供比非结构化剪枝更好的性能,同时比结构化剪枝更容易实现。通常的做法是按某种规则对结构中的一部分进行剪枝,比如在某个维度上做非结构化剪枝,而在其他维度上保持结构化。这种方式可以在一定程度上提高模型的稀疏性,降低计算量,同时保持模型在硬件上的高效运行。NVIDIA A100 GPU在稀疏加速方面的一个显著特性是其支持的2:4 (50%)稀疏模式,这是一种特定形式的半结构化剪枝。在这种模式下,模型中的每个权重块(通常是 4 个连续的权重值)中有 2 个权重为非零值 ,剩下 2 个权重置为0 。
7676
7777### 3.2.2 剪枝范围
7878&emsp ;&emsp ; 按照剪枝范围进行划分,剪枝分为局部剪枝和全局剪枝。
9898
9999#### 3.2.3.2 基于模式的剪枝
100100
101- &emsp ;&emsp ; N: M 稀疏度表示 DNN 的稀疏度。N:M稀疏性要求每M个连续权重中N个元素被裁剪 。它可以利用NVIDIA的稀疏张量核心以在实践中加速矩阵乘法。Nvidia Ampere A100 配备了 Sparse Tensor Cores,可加速 2:4 结构的细粒度稀疏性,充分利用了网络权重的细粒度稀疏性。它们提供高达 2 倍的密集数学最大吞吐量,而不会牺牲深度学习核心的矩阵乘法累加作业的准确性。
101+ &emsp ;&emsp ; N: M 稀疏度表示 DNN 的稀疏度。N:M稀疏性要求每M个连续权重中固定有N个非零值,其余元素均置为0 。它可以利用NVIDIA的稀疏张量核心以在实践中加速矩阵乘法。Nvidia Ampere A100 配备了 Sparse Tensor Cores,可加速 2:4 结构的细粒度稀疏性,充分利用了网络权重的细粒度稀疏性。它们提供高达 2 倍的密集数学最大吞吐量,而不会牺牲深度学习核心的矩阵乘法累加作业的准确性。
102102
103103&emsp ;&emsp ; 稀疏矩阵W首先会被压缩,压缩后的矩阵存储着非零的数据值,而metadata则存储着对应非零元素在原矩阵W中的索引信息。具体来说,metadata会将W中非零元素的行号和列号压缩成两个独立的一维数组,这两个数组就是metadata中存储的索引信息。如下图所示:
104104
105105![ 图3-3 矩阵压缩示意图] ( images/2-4-structured-sparse-matrix.png )
106106
107- &emsp ;&emsp ; 这里以NVIDIA 2:4为例,创建一个patterns,如下图所示,由于是2:4,即从4个中取出2个置为0 ,可以算出一共有6种不同的模式;然后将weight matrix变换成nx4的格式方便与pattern进行矩阵运算,运算后的结果为nx6的矩阵,在n的维度上进行argmax取得最大的索引(索引对应pattern),然后将索引对应的pattern值填充到mask中。
107+ &emsp ;&emsp ; 这里以NVIDIA 2:4为例,创建一个patterns,如下图所示,由于是2:4,即从4个中取出2个为非零值 ,可以算出一共有6种不同的模式;然后将weight matrix变换成nx4的格式方便与pattern进行矩阵运算,运算后的结果为nx6的矩阵,在n的维度上进行argmax取得最大的索引(索引对应pattern),然后将索引对应的pattern值填充到mask中。
108108
109109![ 图3-4 NVIDIA 2:4示意图] ( < images/NVIDIASparse.png > )
110110
You can’t perform that action at this time.
0 commit comments