Skip to content
Snippets Groups Projects
Unverified Commit 245f8b0d authored by Neta Zmora's avatar Neta Zmora Committed by GitHub
Browse files

update README

Remove monthly updates sections (Oct, Nov 2018)
parent 1fe80da7
No related branches found
No related tags found
No related merge requests found
...@@ -39,70 +39,7 @@ Network compression can reduce the memory footprint of a neural network, increas ...@@ -39,70 +39,7 @@ Network compression can reduce the memory footprint of a neural network, increas
As of release 0.3, we've moved some code around to enable proper packaging and installation of Distiller. In addition, we updated Distiller to support PyTorch 1.X, which might also cause older code to break due to some API changes. As of release 0.3, we've moved some code around to enable proper packaging and installation of Distiller. In addition, we updated Distiller to support PyTorch 1.X, which might also cause older code to break due to some API changes.
If updating from an earlier revision of the code, please make sure to follow the instructions in the [install](#install-the-package) section to make sure proper installation of Distiller and all dependencies. If updating from an earlier revision of the code, please make sure to follow the instructions in the [install](#install-the-package) section to make sure proper installation of Distiller and all dependencies.
<details><summary><b>What's New in November?</b></summary>
<p>
- Quantization: Several new features in [range-based linear quantization](https://nervanasystems.github.io/distiller/algo_quantization/index.html#range-based-linear-quantization):
- Asymmetric post-training quantization (only symmetric supported so until now)
- Quantization aware training for range-based (min-max) symmetric and asymmetric quantization
- Per-channel weights quantization support (per output channel) in both training and post-training
- To improve quantization results: Averaging-based activations clipping in post-training quantization.
- More control over post-training quantization configuration: Additional [command line arguments](https://nervanasystems.github.io/distiller/usage/index.html##post-training-quantization) in image classification sample.
- Added an implementation of [Dynamic Network Surgery for Efficient DNNs](https://arxiv.org/abs/1608.04493) with:
- A sample implementation on ResNet50 which achieves 82.5% compression 75.5% Top1 (-0.6% from TorchVision baseline).
- A new SplicingPruner pruning algorithm.
- New features for PruningPolicy:
1. The pruning policy can use two copies of the weights: one is used during the forward-pass, the other during the backward pass. You can control when the mask is frozen and always applied.
2. Scheduling at the training-iterationgranularity (i.e. at the mini-batch granularity). Until now we could schedule
pruning at the epoch-granularity.
- A bunch of new schedules showing AGP in action; including hybrid schedules combining structured-pruning and element-wise pruning.
- Filter and channel pruning
- Fixed problems arising in non-trivial data dependencies.
- Added [documentation](https://github.com/NervanaSystems/distiller/wiki/Pruning-Filters-&-Channels)
- Changed the YAML API to express complex dependencies when pruning channels and filters.
- Fixed a bunch of bugs
- Image classifier compression sample:
- Added a new command-line argument to report the top N best accuracy scores, instead of just the highest score.
- Added an option to load a model in serialized mode.
- We've fixed a couple of Early Exit bugs, and improved the [documentation](https://nervanasystems.github.io/distiller/algo_earlyexit/index.html)
- We presented Distiller at [AIDC 2018 Beijing](https://bizwebcast.intel.cn/aidc/index_en.aspx?utm_source=other) and @haim-barad presented his Early Exit research implemented using Distiller.
- We've looked up our star-gazers (that might be you ;-) and where they are located:<br>
*The map was generated by [this utility](https://github.com/netaz/github_stars_analytics).*
<center> <img src="imgs/wiki/distiller_star_gazer_Nov11_2018.png"></center>
</p>
</details>
<details><summary><b>What's New in October?</b></summary>
<p>
<b><i>We've added two new Jupyter notebooks:</i></b>
- The [first notebook](https://github.com/NervanaSystems/distiller/blob/master/jupyter/what_are_you_looking_at.ipynb) contrasts what sparse and dense versions of ResNet50 "look at".
<center> <img src="imgs/sparse_dense_cmaps.png"></center>
- The [second notebook](https://github.com/NervanaSystems/distiller/blob/master/jupyter/truncated_svd.ipynb) shows a simple application of Truncated SVD to the linear layer in ResNet50.
</p>
<p>
<b>We've added collection of activation statistics!</b>
Activation statistics can be leveraged to make pruning and quantization decisions, and so
we added support to collect these data.
Two types of activation statistics are supported: summary statistics, and detailed records
per activation.
Currently we support the following summaries:
- Average activation sparsity, per layer
- Average L1-norm for each activation channel, per layer
- Average sparsity for each activation channel, per layer
For the detailed records we collect some statistics per activation and store it in a record.
Using this collection method generates more detailed data, but consumes more time, so
Beware.
* You can collect activation data for the different training phases: training/validation/test.
* You can access the data directly from each module that you chose to collect stats for.
* You can also create an Excel workbook with the stats.
</p>
</details>
## Table of Contents ## Table of Contents
...@@ -158,7 +95,7 @@ Beware. ...@@ -158,7 +95,7 @@ Beware.
- Group Lasso an group variance regularization - Group Lasso an group variance regularization
* **Quantization** * **Quantization**
- Automatic mechanism to transform existing models to quantized versions, with customizable bit-width configuration for different layers. No need to re-write the model for different quantization methods. - Automatic mechanism to transform existing models to quantized versions, with customizable bit-width configuration for different layers. No need to re-write the model for different quantization methods.
- Post-training quantization of trained full-precision models, dynamic and static (statistics-based) - [Post-training quantization](https://nervanasystems.github.io/distiller/usage/index.html##post-training-quantization) of trained full-precision models, dynamic and static (statistics-based)
- Support for [quantization-aware training](https://nervanasystems.github.io/distiller/algo_quantization.html#quantization-aware-training) in the loop - Support for [quantization-aware training](https://nervanasystems.github.io/distiller/algo_quantization.html#quantization-aware-training) in the loop
* **Knowledge distillation** * **Knowledge distillation**
- Training with [knowledge distillation](https://nervanasystems.github.io/distiller/knowledge_distillation.html), in conjunction with the other available pruning / regularization / quantization methods. - Training with [knowledge distillation](https://nervanasystems.github.io/distiller/knowledge_distillation.html), in conjunction with the other available pruning / regularization / quantization methods.
......
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