Skip to content
Snippets Groups Projects
Commit ce60fc14 authored by Neta Zmora's avatar Neta Zmora
Browse files

Documentation: added a bit of info regarding Baidu's RNN pruning algorithm

parent be97de23
No related branches found
No related tags found
No related merge requests found
...@@ -103,9 +103,11 @@ The authors describe AGP: ...@@ -103,9 +103,11 @@ The authors describe AGP:
- Does not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable. - Does not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable.
## RNN pruner ## RNN pruner
- <b>Reference:</b> [Exploring Sparsity in Recurrent Neural Networks](https://arxiv.org/abs/1704.05119) The authors of [Exploring Sparsity in Recurrent Neural Networks](https://arxiv.org/abs/1704.05119), Sharan Narang, Erich Elsen, Gregory Diamos, and Shubho Sengupta, "propose a technique to reduce the parameters of a network by pruning weights during the initial training of the network." They use a gradual pruning schedule which is reminiscent of the schedule used in AGP, for element-wise pruning of RNNs, which they also employ during training. They show pruning of RNN, GRU, LSTM and embedding layers.
- <b>Authors:</b> Sharan Narang, Erich Elsen, Gregory Diamos, Shubho Sengupta
- <b>Status: not implemented</b><br> Distiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.
<center>![Gradual Pruning](imgs/baidu_rnn_pruning.png)</center>
# Structure pruners # Structure pruners
Element-wise pruning can create very sparse models which can be compressed to consume less memory footprint and bandwidth, but without specialized hardware that can compute using the sparse representation of the tensors, we don't gain any speedup of the computation. Structure pruners, remove entire "structures", such as kernels, filters, and even entire feature-maps. Element-wise pruning can create very sparse models which can be compressed to consume less memory footprint and bandwidth, but without specialized hardware that can compute using the sparse representation of the tensors, we don't gain any speedup of the computation. Structure pruners, remove entire "structures", such as kernels, filters, and even entire feature-maps.
......
...@@ -272,11 +272,9 @@ abundant and gradually reduce the number of weights being pruned each time as th ...@@ -272,11 +272,9 @@ abundant and gradually reduce the number of weights being pruned each time as th
</ul> </ul>
</blockquote> </blockquote>
<h2 id="rnn-pruner">RNN pruner</h2> <h2 id="rnn-pruner">RNN pruner</h2>
<ul> <p>The authors of <a href="https://arxiv.org/abs/1704.05119">Exploring Sparsity in Recurrent Neural Networks</a>, Sharan Narang, Erich Elsen, Gregory Diamos, and Shubho Sengupta, "propose a technique to reduce the parameters of a network by pruning weights during the initial training of the network." They use a gradual pruning schedule which is reminiscent of the schedule used in AGP, for element-wise pruning of RNNs, which they also employ during training. They show pruning of RNN, GRU, LSTM and embedding layers.</p>
<li><b>Reference:</b> <a href="https://arxiv.org/abs/1704.05119">Exploring Sparsity in Recurrent Neural Networks</a></li> <p>Distiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.</p>
<li><b>Authors:</b> Sharan Narang, Erich Elsen, Gregory Diamos, Shubho Sengupta</li> <p><center><img alt="Gradual Pruning" src="../imgs/baidu_rnn_pruning.png" /></center></p>
<li><b>Status: not implemented</b><br></li>
</ul>
<h1 id="structure-pruners">Structure pruners</h1> <h1 id="structure-pruners">Structure pruners</h1>
<p>Element-wise pruning can create very sparse models which can be compressed to consume less memory footprint and bandwidth, but without specialized hardware that can compute using the sparse representation of the tensors, we don't gain any speedup of the computation. Structure pruners, remove entire "structures", such as kernels, filters, and even entire feature-maps.</p> <p>Element-wise pruning can create very sparse models which can be compressed to consume less memory footprint and bandwidth, but without specialized hardware that can compute using the sparse representation of the tensors, we don't gain any speedup of the computation. Structure pruners, remove entire "structures", such as kernels, filters, and even entire feature-maps.</p>
<h2 id="ranked-structure-pruner">Ranked structure pruner</h2> <h2 id="ranked-structure-pruner">Ranked structure pruner</h2>
......
...@@ -246,5 +246,5 @@ And of course, if we used a sparse or compressed representation, then we are red ...@@ -246,5 +246,5 @@ And of course, if we used a sparse or compressed representation, then we are red
<!-- <!--
MkDocs version : 0.17.2 MkDocs version : 0.17.2
Build Date UTC : 2018-05-22 09:40:34 Build Date UTC : 2018-06-14 10:51:56
--> -->
This diff is collapsed.
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<url> <url>
<loc>/index.html</loc> <loc>/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<url> <url>
<loc>/install/index.html</loc> <loc>/install/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<url> <url>
<loc>/usage/index.html</loc> <loc>/usage/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<url> <url>
<loc>/schedule/index.html</loc> <loc>/schedule/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -37,19 +37,19 @@ ...@@ -37,19 +37,19 @@
<url> <url>
<loc>/pruning/index.html</loc> <loc>/pruning/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>/regularization/index.html</loc> <loc>/regularization/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>/quantization/index.html</loc> <loc>/quantization/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -59,13 +59,13 @@ ...@@ -59,13 +59,13 @@
<url> <url>
<loc>/algo_pruning/index.html</loc> <loc>/algo_pruning/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>/algo_quantization/index.html</loc> <loc>/algo_quantization/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<url> <url>
<loc>/model_zoo/index.html</loc> <loc>/model_zoo/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<url> <url>
<loc>/jupyter/index.html</loc> <loc>/jupyter/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
<url> <url>
<loc>/design/index.html</loc> <loc>/design/index.html</loc>
<lastmod>2018-05-22</lastmod> <lastmod>2018-06-14</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment