Skip to content

Commit 12c1532

Browse files
committed
Fix ch03
1 parent 3903a3f commit 12c1532

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

docs/ch03/ch03.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ $$
7272

7373
#### 3.2.1.3 半结构化剪枝
7474

75-
  半结构化剪枝介于非结构化剪枝和结构化剪枝之间,它试图在保持模型结构的同时,移除不重要的权重。这种剪枝方法可能涉及到移除整个神经元或过滤器的一部分,而不是全部。半结构化剪枝可以提供比非结构化剪枝更好的性能,同时比结构化剪枝更容易实现。通常的做法是按某种规则对结构中的一部分进行剪枝,比如在某个维度上做非结构化剪枝,而在其他维度上保持结构化。这种方式可以在一定程度上提高模型的稀疏性,降低计算量,同时保持模型在硬件上的高效运行。NVIDIA A100 GPU在稀疏加速方面的一个显著特性是其支持的2:4 (50%)稀疏模式,这是一种特定形式的半结构化剪枝。在这种模式下,模型中的每个权重块(通常是 4 个连续的权重值)中有 2 个权重被剪枝(即置为 0),剩下 2 个权重值保留
75+
  半结构化剪枝介于非结构化剪枝和结构化剪枝之间,它试图在保持模型结构的同时,移除不重要的权重。这种剪枝方法可能涉及到移除整个神经元或过滤器的一部分,而不是全部。半结构化剪枝可以提供比非结构化剪枝更好的性能,同时比结构化剪枝更容易实现。通常的做法是按某种规则对结构中的一部分进行剪枝,比如在某个维度上做非结构化剪枝,而在其他维度上保持结构化。这种方式可以在一定程度上提高模型的稀疏性,降低计算量,同时保持模型在硬件上的高效运行。NVIDIA A100 GPU在稀疏加速方面的一个显著特性是其支持的2:4 (50%)稀疏模式,这是一种特定形式的半结构化剪枝。在这种模式下,模型中的每个权重块(通常是 4 个连续的权重值)中有 2 个权重为非零值,剩下 2 个权重置为0
7676

7777
### 3.2.2 剪枝范围
7878
  按照剪枝范围进行划分,剪枝分为局部剪枝和全局剪枝。
@@ -98,13 +98,13 @@ $$
9898

9999
#### 3.2.3.2 基于模式的剪枝
100100

101-
  N:M 稀疏度表示 DNN 的稀疏度。N:M稀疏性要求每M个连续权重中N个元素被裁剪。它可以利用NVIDIA的稀疏张量核心以在实践中加速矩阵乘法。Nvidia Ampere A100 配备了 Sparse Tensor Cores,可加速 2:4 结构的细粒度稀疏性,充分利用了网络权重的细粒度稀疏性。它们提供高达 2 倍的密集数学最大吞吐量,而不会牺牲深度学习核心的矩阵乘法累加作业的准确性。
101+
  N:M 稀疏度表示 DNN 的稀疏度。N:M稀疏性要求每M个连续权重中固定有N个非零值,其余元素均置为0。它可以利用NVIDIA的稀疏张量核心以在实践中加速矩阵乘法。Nvidia Ampere A100 配备了 Sparse Tensor Cores,可加速 2:4 结构的细粒度稀疏性,充分利用了网络权重的细粒度稀疏性。它们提供高达 2 倍的密集数学最大吞吐量,而不会牺牲深度学习核心的矩阵乘法累加作业的准确性。
102102

103103
  稀疏矩阵W首先会被压缩,压缩后的矩阵存储着非零的数据值,而metadata则存储着对应非零元素在原矩阵W中的索引信息。具体来说,metadata会将W中非零元素的行号和列号压缩成两个独立的一维数组,这两个数组就是metadata中存储的索引信息。如下图所示:
104104

105105
![图3-3 矩阵压缩示意图](images/2-4-structured-sparse-matrix.png)
106106

107-
  这里以NVIDIA 2:4为例,创建一个patterns,如下图所示,由于是2:4,即从4个中取出2个置为0,可以算出一共有6种不同的模式;然后将weight matrix变换成nx4的格式方便与pattern进行矩阵运算,运算后的结果为nx6的矩阵,在n的维度上进行argmax取得最大的索引(索引对应pattern),然后将索引对应的pattern值填充到mask中。
107+
  这里以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

0 commit comments

Comments
 (0)