From 3658374ea79b4627140a4f4bfcae5897509c873b Mon Sep 17 00:00:00 2001 From: Guy Jacob <guy.jacob@intel.com> Date: Fri, 22 Jun 2018 02:15:31 +0300 Subject: [PATCH] Updated docs related to quantization --- .gitignore | 1 + docs-src/docs/algo_quantization.md | 58 +- docs-src/docs/design.md | 30 +- docs-src/docs/imgs/training_quant_flow.png | Bin 0 -> 101597 bytes docs-src/docs/imgs/use-flow.png | Bin 75598 -> 224802 bytes docs-src/docs/quantization.md | 31 +- docs-src/docs/schedule.md | 61 +- docs-src/docs/usage.md | 12 +- docs/algo_quantization/index.html | 53 +- docs/design/index.html | 25 +- docs/imgs/baidu_rnn_pruning.png | Bin 0 -> 266165 bytes docs/imgs/training_quant_flow.png | Bin 0 -> 101597 bytes docs/imgs/use-flow.png | Bin 75598 -> 224802 bytes docs/index.html | 2 +- docs/quantization/index.html | 28 +- docs/schedule/index.html | 60 +- docs/search/search_index.json | 663 +++++++++++---------- docs/sitemap.xml | 24 +- docs/usage/index.html | 29 +- 19 files changed, 687 insertions(+), 390 deletions(-) create mode 100644 docs-src/docs/imgs/training_quant_flow.png mode change 100755 => 100644 docs-src/docs/imgs/use-flow.png create mode 100644 docs/imgs/baidu_rnn_pruning.png create mode 100644 docs/imgs/training_quant_flow.png diff --git a/.gitignore b/.gitignore index 8f641a3..69edb25 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ env/ .env/ .idea/ logs/ +.DS_Store diff --git a/docs-src/docs/algo_quantization.md b/docs-src/docs/algo_quantization.md index 05f6654..964d90f 100644 --- a/docs-src/docs/algo_quantization.md +++ b/docs-src/docs/algo_quantization.md @@ -1,5 +1,55 @@ # Quantization Algorithms +The following quantization methods are currently implemented in Distiller: + +## DoReFa + +(As proposed in [DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients](https://arxiv.org/abs/1606.06160)) + +In this method, we first define the quantization function \(quantize_k\), which takes a real value \(a_f \in [0, 1]\) and outputs a discrete-valued \(a_q \in \left\{ \frac{0}{2^k-1}, \frac{1}{2^k-1}, ... , \frac{2^k-1}{2^k-1} \right\}\), where \(k\) is the number of bits used for quantization. + +\[a_q = quantize_k(a_f) = \frac{1}{2^k-1} round \left( \left(2^k - 1 \right) a_f \right)\] + +Activations are clipped to the \([0, 1]\) range and then quantized as follows: + +\[x_q = quantize_k(x_f)\] + +For weights, we define the following function \(f\), which takes an unbounded real valued input and outputs a real value in \([0, 1]\): + +\[f(w) = \frac{tanh(w)}{2 max(|tanh(w)|)} + \frac{1}{2} \] + +Now we can use \(quantize_k\) to get quantized weight values, as follows: + +\[w_q = 2 quantize_k \left( f(w_f) \right) - 1\] + +This method requires training the model with quantization, as discussed [here](quantization.md#training-with-quantization). Use the `DorefaQuantizer` class to transform an existing model to a model suitable for training with quantization using DoReFa. + +### Notes: + +- Gradients quantization as proposed in the paper is not supported yet. +- The paper defines special handling for binary weights which isn't supported in Distiller yet. + +## WRPN + +(As proposed in [WRPN: Wide Reduced-Precision Networks](https://arxiv.org/abs/1709.01134)) + +In this method, activations are clipped to \([0, 1]\) and quantized as follows (\(k\) is the number of bits used for quantization): + +\[x_q = \frac{1}{2^k-1} round \left( \left(2^k - 1 \right) x_f \right)\] + +Weights are clipped to \([-1, 1]\) and quantized as follows: + +\[w_q = \frac{1}{2^{k-1}-1} round \left( \left(2^{k-1} - 1 \right)w_f \right)\] + +Note that \(k-1\) bits are used to quantize weights, leaving one bit for sign. + +This method requires training the model with quantization, as discussed [here](quantization/#training-with-quantization). Use the `WRPNQuantizer` class to transform an existing model to a model suitable for training with quantization using WRPN. + +### Notes: + +- The paper proposed widening of layers as a means to reduce accuracy loss. This isn't implemented as part of `WRPNQuantizer` at the moment. To experiment with this, modify your model implementation to have wider layers. +- The paper defines special handling for binary weights which isn't supported in Distiller yet. + ## Symmetric Linear Quantization In this method, a float value is quantized by multiplying with a numeric constant (the **scale factor**), hence it is **Linear**. We use a signed integer to represent the quantized range, with no quantization bias (or "offset") used. As a result, the floating-point range considered for quantization is **symmetric** with respect to zero. @@ -10,14 +60,16 @@ Let us denote the original floating-point tensor by \(x_f\), the quantized tenso (The \(round\) operation is round-to-nearest-integer) Let's see how a **convolution** or **fully-connected (FC)** layer is quantized using this method: (we denote input, output, weights and bias with \(x, y, w\) and \(b\) respectively) -\[y_f = \sum{x_f w_f} + b_f = \sum{\frac{x_q}{q_x} \frac{w_q}{q_w}} + \frac{b_q}{q_b} = \frac{1}{q_x q_w} \sum{(x_q w_q + \frac{q_b}{q_x q_w}b_q)}\] -\[y_q = round(q_y y_f) = round(\frac{q_y}{q_x q_w} \sum{(x_q w_q + \frac{q_b}{q_x q_w}b_q)})\] +\[y_f = \sum{x_f w_f} + b_f = \sum{\frac{x_q}{q_x} \frac{w_q}{q_w}} + \frac{b_q}{q_b} = \frac{1}{q_x q_w} \sum{ \left( x_q w_q + \frac{q_b}{q_x q_w}b_q \right) }\] +\[y_q = round(q_y y_f) = round\left(\frac{q_y}{q_x q_w} \sum{ \left( x_q w_q + \frac{q_b}{q_x q_w}b_q \right) } \right) \] Note how the bias has to be re-scaled to match the scale of the summation. ### Implementation + We've implemented **convolution** and **FC** using this method. -- They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. +- They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. The wrapper is implemented in the `RangeLinearQuantParamLayerWrapper` class. - All other layers are unaffected and are executed using their original FP32 implementation. +- To automatically transform an existing model to a quantized model using this method, use the `SymmetricLinearQuantizer` class. - For weights and bias the scale factor is determined once at quantization setup ("offline"), and for activations it is determined dynamically at runtime ("online"). - **Important note:** Currently, this method is implemented as **inference only**, with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with \(n < 8\) is likely to lead to severe accuracy degradation for any non-trivial workload. \ No newline at end of file diff --git a/docs-src/docs/design.md b/docs-src/docs/design.md index 0fbf94a..e7a3a7c 100755 --- a/docs-src/docs/design.md +++ b/docs-src/docs/design.md @@ -47,20 +47,36 @@ A quantized model is obtained by replacing existing operations with quantized ve In Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided. -We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. The high-level flow is as follows: +We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. This mechanism is exposed by the `Quantizer` class. `Quantizer` should be sub-classed for each quantization method. -- Define a **mapping** between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. +### Model Transformation + +The high-level flow is as follows: + +- Define a **mapping** between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. The mapping is defined in the `replacement_factory` attribute of the `Quantizer` class. - Iterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it. -- Replace the existing module with the module returned by the function. +- Replace the existing module with the module returned by the function. It is important to note that the **name** of the module **does not** change, as that could break the `forward` function of the parent module. -Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different "strategies" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different **mapping** will likely be defined. +Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different "strategies" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different **mapping** will likely be defined. +Each sub-class of `Quantizer` should populate the `replacement_factory` dictionary attribute with the appropriate mapping. -This mechanism is exposed by the `Quantizer` class: +### Flexible Bit-Widths -- `Quantizer` should be sub-classed for each quantization method. - Each instance of `Quantizer` is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the `bits_activations` and `bits_weights` parameters in `Quantizer`'s constructor. Sub-classes may define bit-widths for other tensor types as needed. - We also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks ("container" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern. - So, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the `bits_overrides` parameter in the constructor. +### Weights Quantization + +The `Quantizer` class also provides an API to quantize the weights of all layers at once. To use it, the `param_quantization_fn` attribute needs to point to a function that accepts a tensor and the number of bits. During model transformation, the `Quantizer` class will build a list of all model parameters that need to be quantized along with their bit-width. Then, the `quantize_params` function can be called, which will iterate over all parameters and quantize them using `params_quantization_fn`. + +### Training with Quantization + +The `Quantizer` class supports training with quantization in the loop, as described [here](quantization.md#training-with-quantization). This is enabled by setting `train_with_fp_copy=True` in the `Quantizer` constructor. At model transformation, in each module that has parameters that should be quantized, a new `torch.nn.Parameter` is added, which will maintain the required full precision copy of the parameters. Note that this is done in-place - a new module **is not** created. We preferred not to sub-class the existing PyTorch modules for this purpose. In order to this in-place, and also guarantee proper back-propagation through the weights quantization function, we employ the following "hack": + +1. The existing `torch.nn.Parameter`, e.g. `weights`, is replaced by a `torch.nn.Parameter` named `float_weight`. +2. To maintain the existing functionality of the module, we then register a `buffer` in the module with the original name - `weights`. +3. During training, `float_weight` will be passed to `param_quantization_fn` and the result will be stored in `weight`. + The base `Quantizer` class is implemented in `distiller/quantization/quantizer.py`. -For a simple sub-class implementing symmetric linear quantization, see `SymmetricLinearQuantizer` in `distiller/quantization/range_linear.py`. +For a simple sub-class implementing symmetric linear quantization, see `SymmetricLinearQuantizer` in `distiller/quantization/range_linear.py`. For examples of lower-precision methods using training with quantization see `DorefaQuantizer` and `WRPNQuantizer` in `distiller/quantization/clipped_linear.py` diff --git a/docs-src/docs/imgs/training_quant_flow.png b/docs-src/docs/imgs/training_quant_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..5c91c1d44075b40aea10926d28320465be02c6b3 GIT binary patch literal 101597 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 ADF6Tf literal 0 HcmV?d00001 diff --git a/docs-src/docs/imgs/use-flow.png b/docs-src/docs/imgs/use-flow.png old mode 100755 new mode 100644 index 4b1ff29980eb5a0c5cec1e417d7df35bc1a1f466..de4a3bb64413cdaa89659d78379eaffbbc4ab066 GIT binary patch literal 224802 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%0DRa_#b#nyI{k!>3%j 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	Ms%N3SSyqN}GfqXuuX|3<(1B*<$ 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 literal 75598 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	>G0KD#6(T^q2<M|f0K0NTq;hDb) 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 E0c$=fmH+?% diff --git a/docs-src/docs/quantization.md b/docs-src/docs/quantization.md index 738be35..366d12c 100644 --- a/docs-src/docs/quantization.md +++ b/docs-src/docs/quantization.md @@ -35,27 +35,39 @@ The result of multiplying two \(n\)-bit integers is, at most, a \(2n\)-bit numbe ## "Conservative" Quantization: INT8 In many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy ([Gysel at al., 2018](#gysel-et-al-2018)). -As mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor (. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained "online" during inference, or "offline". +As mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained "online" during inference, or "offline". - **Offline** means gathering activations statistics before deploying the model, either during training or by running a few "calibration" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation. - **Online** means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive. -It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible ([Migacz, 2017](#migacz-2017)) +It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible ([Migacz, 2017](#migacz-2017)). -Another possible optimization point is **scale-factor scope**. The most common way is use a single scale-factor per-layer +Another possible optimization point is **scale-factor scope**. The most common way is use a single scale-factor per-layer, but it is also possible to calculate a scale-factor per-channel. This can be beneficial if the weight distributions vary greatly between channels. ## "Aggressive" Quantization: INT4 and Lower Naively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy: -- **Training / Re-Training**: For INT4 and lower, training is required in order to obtain reasonable accuracy. This means training with quantization of weights and activations "baked" into the training procedure. This is not straight forward, since quantization operations are usually not differentiable. This is usually worked-around by using "straight-through estimator" ([Bengio, 2013](#bengio-et-al-2013)) to approximate the gradient of these operations. -[Zhou S et al., 2016](#zhou-et-al-2016) have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods *require* a trained FP32 model, either as a starting point ([Zhou A et al., 2017](#zhou-et-al-2017)), or as a teacher network in a student-teacher training setup ([Mishra and Marr, 2018](#mishra-and-marr-2018)). +- **Training / Re-Training**: For INT4 and lower, training is required in order to obtain reasonable accuracy. The training loop is modified to take quantization into account. See details in the [next section](#training-with-quantization). +[Zhou S et al., 2016](#zhou-et-al-2016) have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods *require* a trained FP32 model, either as a starting point ([Zhou A et al., 2017](#zhou-et-al-2017)), or as a teacher network in a knowledge distillation training setup ([Mishra and Marr, 2018](#mishra-and-marr-2018)). - **Replacing the activation function**: The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used ([Zhou S et al., 2016](#zhou-et-al-2016), [Mishra et al., 2018](#mishra-et-al-2018)). Another method learns the clipping value per layer, with better results ([Choi et al., 2018](#choi-et-al-2018)). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above). - **Modifying network structure**: [Mishra et al., 2018](#mishra-et-al-2018) try to compensate for the loss of information due to quantization by using wider layers (more channels). [Lin et al., 2017](#lin-et-al-2017) proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different "base", covering a larger dynamic range overall. - **First and last layer**: Many methods do not quantize the first and last layer of the model. It has been observed by [Han et al., 2015](#han-et-al-2015) that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically ([Zhou S et al., 2016](#zhou-et-al-2016), [Choi et al., 2018](#choi-et-al-2018)). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them ([Rastegari et al., 2016](#rastegari-et-al-2016)). Most methods keep the first and last layers at FP32. However, [Choi et al., 2018](#choi-et-al-2018) showed that "conservative" quantization of these layers, e.g. to INT8, does not reduce accuracy. - **Iterative quantization**: Most methods quantize the entire model at once. [Zhou A et al., 2017](#zhou-et-al-2017) employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization. - **Mixed Weights and Activations Precision**: It has been observed that activations are more sensitive to quantization than weights ([Zhou S et al., 2016](#zhou-et-al-2016)). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 ([Li et al., 2016](#li-et-al-2016), [Zhu et al., 2016](#zhu-et-al-2016)). +## Training with Quantization + +As mentioned above, in order to minimize the loss of accuracy from "aggressive" quantization, many methods that target INT4 and lower involve training the model in a way that considers the quantization. This means training with quantization of weights and activations "baked" into the training procedure. The training graph usually looks like this: + + + +A full precision copy of the weights is maintained throughout the training process ("weights_fp" in the diagram). Its purpose is to accumulate the small changes from the gradients without loss of precision (Note that the quantization of the weights is an integral part of the training graph, meaning that we back-propagate through it as well). Once the model is trained, only the quantized weights are used for inference. +In the diagram we show "layer N" as the conv + batch-norm + activation combination, but the same applies to fully-connected layers, element-wise operations, etc. During training, the operations within "layer N" can still run in full precision, with the "quantize" operations in the boundaries ensuring discrete-valued weights and activations. This is sometimes called "simulated quantization". + +### Straight-Through Estimator +An important question in this context is how to back-propagate through the quantization functions. These functions are discrete-valued, hence their derivative is 0 almost everywhere. So, using their gradients as-is would severly hinder the learning process. An approximation commonly used to overcome this issue is the "straight-through estimator" (STE) ([Hinton et al., 2012](#hinton-et-al-2012), [Bengio, 2013](#bengio-et-al-2013)), which simply passes the gradient through these functions as-is. + ## References <div id="dally-2015"></div> **William Dally**. High-Performance Hardware for Machine Learning. [Tutorial, NIPS, 2015](https://media.nips.cc/Conferences/2015/tutorialslides/Dally-NIPS-Tutorial-2015.pdf) @@ -72,9 +84,6 @@ Naively quantizing a FP32 model to INT4 and lower usually incurs significant acc <div id="migacz-2017"></div> **Szymon Migacz**. 8-bit Inference with TensorRT. [GTC San Jose, 2017](http://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf) -<div id="bengio-et-al-2013"></div> -**Yoshua Bengio, Nicholas Leonard and Aaron Courville**. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. [arxiv:1308.3432, 2013](https://arxiv.org/abs/1308.3432) - <div id="zhou-et-al-2016"></div> **Shuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou**. DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. [arxiv:1606.06160](https://arxiv.org/abs/1606.06160) @@ -101,3 +110,9 @@ Naively quantizing a FP32 model to INT4 and lower usually incurs significant acc <div id="zhu-et-al-2016"></div> **Chenzhuo Zhu, Song Han, Huizi Mao and William J. Dally**. Trained Ternary Quantization. [arxiv:1612.01064](https://arxiv.org/abs/1612.01064) + +<div id="bengio-et-al-2013"></div> +**Yoshua Bengio, Nicholas Leonard and Aaron Courville**. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. [arxiv:1308.3432, 2013](https://arxiv.org/abs/1308.3432) + +<div id="hinton-et-al-2012"></div> +**Geoffrey Hinton, Nitish Srivastava, Kevin Swersky, Tijmen Tieleman and Abdelrahman Mohamed**. Neural Networks for Machine Learning. [Coursera, video lectures, 2012](https://www.coursera.org/learn/neural-networks) diff --git a/docs-src/docs/schedule.md b/docs-src/docs/schedule.md index 18e97cb..0089277 100755 --- a/docs-src/docs/schedule.md +++ b/docs-src/docs/schedule.md @@ -1,17 +1,16 @@ # Compression scheduler -In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of ```CompressionScheduler```: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and (later) quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. +In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of ```CompressionScheduler```: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. ## High level overview -Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, LR-scheduler and Policies. +Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, Quantizers, LR-scheduler and Policies. - - Pruners and Regularizers are very similar: they implement either a Pruning algorithm or a Regularization algorithm. + - Pruners, Regularizers and Quantizers are very similar: They implement either a Pruning/Regularization/Quantization algorithm, respectively. - An LR-scheduler specifies the LR-decay algorithm. These define the **what** part of the schedule. -The Policies define the **when** part of the schedule: at which epoch to start applying the Pruner/Regularizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/LR-decay it is managing. -<br> -The CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners and Regularizers from code. +The Policies define the **when** part of the schedule: at which epoch to start applying the Pruner/Regularizer/Quantizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/Quantizer/LR-decay it is managing. +The CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners, Regularizers and Quantizers from code. ## Syntax through example We'll use ```alexnet.schedule_agp.yaml``` to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet. @@ -53,9 +52,9 @@ There is only one version of the YAML syntax, and the version number is not veri ``` version: 1 ``` -In the ```pruners``` section, we define the instances of pruners we want the scheduler to instantiate and use.<br> -We define a single pruner instance, named ```my_pruner``` of algorithm ```SensitivityPruner```. We will refer to this instance in the ```Policies``` section.<br> -Then we list the sensitivity multipliers, \\(s\\), of each of the weight tensors.<br> +In the ```pruners``` section, we define the instances of pruners we want the scheduler to instantiate and use. +We define a single pruner instance, named ```my_pruner```, of algorithm ```SensitivityPruner```. We will refer to this instance in the ```Policies``` section. +Then we list the sensitivity multipliers, \\(s\\), of each of the weight tensors. You may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule. ``` @@ -73,7 +72,7 @@ pruners: 'classifier.6.weight': 0.6 ``` -Next, we want to specify the learning-rate decay scheduling in the ```lr_schedulers``` section. We assign a name to this instance: ```pruning_lr```. As in the ```pruners``` section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. You can use any LR-scheduler class that ```torch.optim.lr_scheduler``` supports and pass their arguments. The keyword arguments (kwargs) are passed directly to the constructor of the subclasses of [_LRScheduler](http://pytorch.org/docs/master/_modules/torch/optim/lr_scheduler.html), so that as new LR-schedulers are added to ```torch.optim.lr_scheduler```, they can be used without changing the application code. +Next, we want to specify the learning-rate decay scheduling in the ```lr_schedulers``` section. We assign a name to this instance: ```pruning_lr```. As in the ```pruners``` section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. The LR-scheduler must be a subclass of PyTorch's [\_LRScheduler](http://pytorch.org/docs/master/_modules/torch/optim/lr_scheduler.html). You can use any of the schedulers defined in ```torch.optim.lr_scheduler``` (see [here](https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate)). In addition, we've implemented some additional schedulers in Distiller (see [here](https://github.com/NervanaSystems/distiller/blob/master/distiller/learning_rate.py)). The keyword arguments (kwargs) are passed directly to the LR-scheduler's constructor, so that as new LR-schedulers are added to ```torch.optim.lr_scheduler```, they can be used without changing the application code. ``` lr_schedulers: @@ -82,7 +81,7 @@ lr_schedulers: gamma: 0.9 ``` -Finally, we define the ```policies``` section which defines the actual scheduling. A ```Policy``` manages an instance of a ```Pruner```, ```Regularizer```, or ```LRSchedule```, by naming the instance. In the example below, a ```PruningPolicy``` uses the pruner instance named ```my_pruner```: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. +Finally, we define the ```policies``` section which defines the actual scheduling. A ```Policy``` manages an instance of a ```Pruner```, ```Regularizer```, `Quantizer`, or ```LRScheduler```, by naming the instance. In the example below, a ```PruningPolicy``` uses the pruner instance named ```my_pruner```: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. ``` policies: - pruner: @@ -238,3 +237,43 @@ policies: frequency: 1 ``` + +## Quantization + +Similarly to pruners and regularizers, specifying a quantizer in the scheduler YAML follows the constructor arguments of the `Quantizer` class (see details [here](design.md#quantization)). +Let's see an example: + +``` +quantizers: + dorefa_quantizer: + class: DorefaQuantizer + bits_activations: 8 + bits_weights: 4 + bits_overrides: + conv1: + wts: null + acts: null + relu1: + wts: null + acts: null + final_relu: + wts: null + acts: null + fc: + wts: null + acts: null +``` + +- The specific quantization method we're instantiating here is `DorefaQuantizer`. +- Then we define the default bit-widths for activations and weights, in this case 8 and 4-bits, respectively. +- Then, we define the `bits_overrides` mapping. In this case, we choose not to quantize the first and last layer of the model. In the case of `DorefaQuantizer`, the weights are quantized as part of the convolution / FC layers, but the activations are quantized in separate layers, which replace the ReLU layers in the original model (remember - even though we replaced the ReLU modules with our own quantization modules, the name of the modules isn't changed). So, in all, we need to reference the first layer with parameters `conv1`, the first activation layer `relu1`, the last activation layer `final_relu` and the last layer with parameters `fc`. +- Specifying `null` means "do not quantize". +- Note that for quantizers, we reference names of modules, not names of parameters as we do for pruners and regularizers. +- We can also reference **groups of layers** in the `bits_overrides` mapping. This is done using regular expressions. Suppose we have a sub-module in our model named `block1`, which contains multiple convolution layers which we would like to quantize to, say, 2-bits. The convolution layers are named `conv1`, `conv2` and so on. In that case we would define the following: + +``` +bits_overrides: + block1.conv*: + wts: 2 + acts: null +``` diff --git a/docs-src/docs/usage.md b/docs-src/docs/usage.md index 507fc6f..b659472 100755 --- a/docs-src/docs/usage.md +++ b/docs-src/docs/usage.md @@ -107,14 +107,20 @@ For more details on the example schedules, you can refer to the coverage of the - Filter-wise pruning sensitivity-analysis: - ResNet20 (CIFAR10) - ResNet56 (CIFAR10) +<br><br> * **examples/sensitivity-pruning**: - AlexNet sensitivity pruning with Iterative Pruning - AlexNet sensitivity pruning with One-Shot Pruning - +<br><br> * **examples/ssl**: - ResNet20 baseline training (CIFAR10 dataset) - Structured Sparsity Learning (SSL) with layer removal on ResNet20 - SSL with channels removal on ResNet20 +<br><br> +* **examples/quantization**: + - AlexNet w. Batch-Norm (base FP32 + DoReFa) + - Pre-activation ResNet20 on CIFAR10 (base FP32 + DoReFa) + - Pre-activation ResNet18 on ImageNEt (base FP32 + DoReFa) ## Experiment reproducibility @@ -135,8 +141,8 @@ The ```sense``` command-line argument can be set to either ```element``` or ```f There is also a [Jupyter notebook](http://localhost:8888/notebooks/sensitivity_analysis.ipynb) with example invocations, outputs and explanations. -## Quantization -Currently Distiller support 8-bit quantization only (quantization of lower precision data types will follow shortly) which does not require training, so any model (whether pruned or not) can be quantized.<br> +## "Direct" Quantization Without Training +Distiller supports 8-bit quantization of trained modules without re-training (using [Symmetric Linear Quantization](algo_quantization.md#symmetric-linear-quantization)). So, any model (whether pruned or not) can be quantized. Use the ```--quantize``` command-line flag, together with ```--evaluate``` to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet: ``` $ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate diff --git a/docs/algo_quantization/index.html b/docs/algo_quantization/index.html index b14f5a1..238d053 100644 --- a/docs/algo_quantization/index.html +++ b/docs/algo_quantization/index.html @@ -104,6 +104,10 @@ <ul> + <li><a class="toctree-l4" href="#dorefa">DoReFa</a></li> + + <li><a class="toctree-l4" href="#wrpn">WRPN</a></li> + <li><a class="toctree-l4" href="#symmetric-linear-quantization">Symmetric Linear Quantization</a></li> </ul> @@ -166,6 +170,48 @@ <div class="section"> <h1 id="quantization-algorithms">Quantization Algorithms</h1> +<p>The following quantization methods are currently implemented in Distiller:</p> +<h2 id="dorefa">DoReFa</h2> +<p>(As proposed in <a href="https://arxiv.org/abs/1606.06160">DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients</a>) </p> +<p>In this method, we first define the quantization function <script type="math/tex">quantize_k</script>, which takes a real value <script type="math/tex">a_f \in [0, 1]</script> and outputs a discrete-valued <script type="math/tex">a_q \in \left\{ \frac{0}{2^k-1}, \frac{1}{2^k-1}, ... , \frac{2^k-1}{2^k-1} \right\}</script>, where <script type="math/tex">k</script> is the number of bits used for quantization.</p> +<p> +<script type="math/tex; mode=display">a_q = quantize_k(a_f) = \frac{1}{2^k-1} round \left( \left(2^k - 1 \right) a_f \right)</script> +</p> +<p>Activations are clipped to the <script type="math/tex">[0, 1]</script> range and then quantized as follows:</p> +<p> +<script type="math/tex; mode=display">x_q = quantize_k(x_f)</script> +</p> +<p>For weights, we define the following function <script type="math/tex">f</script>, which takes an unbounded real valued input and outputs a real value in <script type="math/tex">[0, 1]</script>:</p> +<p> +<script type="math/tex; mode=display">f(w) = \frac{tanh(w)}{2 max(|tanh(w)|)} + \frac{1}{2} </script> +</p> +<p>Now we can use <script type="math/tex">quantize_k</script> to get quantized weight values, as follows:</p> +<p> +<script type="math/tex; mode=display">w_q = 2 quantize_k \left( f(w_f) \right) - 1</script> +</p> +<p>This method requires training the model with quantization, as discussed <a href="../quantization/index.html#training-with-quantization">here</a>. Use the <code>DorefaQuantizer</code> class to transform an existing model to a model suitable for training with quantization using DoReFa.</p> +<h3 id="notes">Notes:</h3> +<ul> +<li>Gradients quantization as proposed in the paper is not supported yet.</li> +<li>The paper defines special handling for binary weights which isn't supported in Distiller yet.</li> +</ul> +<h2 id="wrpn">WRPN</h2> +<p>(As proposed in <a href="https://arxiv.org/abs/1709.01134">WRPN: Wide Reduced-Precision Networks</a>) </p> +<p>In this method, activations are clipped to <script type="math/tex">[0, 1]</script> and quantized as follows (<script type="math/tex">k</script> is the number of bits used for quantization):</p> +<p> +<script type="math/tex; mode=display">x_q = \frac{1}{2^k-1} round \left( \left(2^k - 1 \right) x_f \right)</script> +</p> +<p>Weights are clipped to <script type="math/tex">[-1, 1]</script> and quantized as follows:</p> +<p> +<script type="math/tex; mode=display">w_q = \frac{1}{2^{k-1}-1} round \left( \left(2^{k-1} - 1 \right)w_f \right)</script> +</p> +<p>Note that <script type="math/tex">k-1</script> bits are used to quantize weights, leaving one bit for sign.</p> +<p>This method requires training the model with quantization, as discussed <a href="../quantization/#training-with-quantization">here</a>. Use the <code>WRPNQuantizer</code> class to transform an existing model to a model suitable for training with quantization using WRPN.</p> +<h3 id="notes_1">Notes:</h3> +<ul> +<li>The paper proposed widening of layers as a means to reduce accuracy loss. This isn't implemented as part of <code>WRPNQuantizer</code> at the moment. To experiment with this, modify your model implementation to have wider layers.</li> +<li>The paper defines special handling for binary weights which isn't supported in Distiller yet.</li> +</ul> <h2 id="symmetric-linear-quantization">Symmetric Linear Quantization</h2> <p>In this method, a float value is quantized by multiplying with a numeric constant (the <strong>scale factor</strong>), hence it is <strong>Linear</strong>. We use a signed integer to represent the quantized range, with no quantization bias (or "offset") used. As a result, the floating-point range considered for quantization is <strong>symmetric</strong> with respect to zero.<br /> In the current implementation the scale factor is chosen so that the entire range of the floating-point tensor is quantized (we do not attempt to remove outliers).<br /> @@ -174,14 +220,15 @@ Let us denote the original floating-point tensor by <script type="math/tex">x_f< <script type="math/tex; mode=display">x_q = round(q_x x_f)</script> (The <script type="math/tex">round</script> operation is round-to-nearest-integer) </p> <p>Let's see how a <strong>convolution</strong> or <strong>fully-connected (FC)</strong> layer is quantized using this method: (we denote input, output, weights and bias with <script type="math/tex">x, y, w</script> and <script type="math/tex">b</script> respectively) -<script type="math/tex; mode=display">y_f = \sum{x_f w_f} + b_f = \sum{\frac{x_q}{q_x} \frac{w_q}{q_w}} + \frac{b_q}{q_b} = \frac{1}{q_x q_w} \sum{(x_q w_q + \frac{q_b}{q_x q_w}b_q)}</script> -<script type="math/tex; mode=display">y_q = round(q_y y_f) = round(\frac{q_y}{q_x q_w} \sum{(x_q w_q + \frac{q_b}{q_x q_w}b_q)})</script> +<script type="math/tex; mode=display">y_f = \sum{x_f w_f} + b_f = \sum{\frac{x_q}{q_x} \frac{w_q}{q_w}} + \frac{b_q}{q_b} = \frac{1}{q_x q_w} \sum{ \left( x_q w_q + \frac{q_b}{q_x q_w}b_q \right) }</script> +<script type="math/tex; mode=display">y_q = round(q_y y_f) = round\left(\frac{q_y}{q_x q_w} \sum{ \left( x_q w_q + \frac{q_b}{q_x q_w}b_q \right) } \right) </script> Note how the bias has to be re-scaled to match the scale of the summation.</p> <h3 id="implementation">Implementation</h3> <p>We've implemented <strong>convolution</strong> and <strong>FC</strong> using this method. </p> <ul> -<li>They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. </li> +<li>They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. The wrapper is implemented in the <code>RangeLinearQuantParamLayerWrapper</code> class. </li> <li>All other layers are unaffected and are executed using their original FP32 implementation. </li> +<li>To automatically transform an existing model to a quantized model using this method, use the <code>SymmetricLinearQuantizer</code> class.</li> <li>For weights and bias the scale factor is determined once at quantization setup ("offline"), and for activations it is determined dynamically at runtime ("online"). </li> <li><strong>Important note:</strong> Currently, this method is implemented as <strong>inference only</strong>, with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with <script type="math/tex">n < 8</script> is likely to lead to severe accuracy degradation for any non-trivial workload.</li> </ul> diff --git a/docs/design/index.html b/docs/design/index.html index aeff42b..bf89613 100644 --- a/docs/design/index.html +++ b/docs/design/index.html @@ -208,22 +208,33 @@ train(): <h2 id="quantization">Quantization</h2> <p>A quantized model is obtained by replacing existing operations with quantized versions. The quantized versions can be either complete replacements, or wrappers. A wrapper will use the existing modules internally and add quantization and de-quantization operations before/after as necessary.</p> <p>In Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided.</p> -<p>We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. The high-level flow is as follows:</p> +<p>We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. This mechanism is exposed by the <code>Quantizer</code> class. <code>Quantizer</code> should be sub-classed for each quantization method.</p> +<h3 id="model-transformation">Model Transformation</h3> +<p>The high-level flow is as follows:</p> <ul> -<li>Define a <strong>mapping</strong> between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module.</li> +<li>Define a <strong>mapping</strong> between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. The mapping is defined in the <code>replacement_factory</code> attribute of the <code>Quantizer</code> class.</li> <li>Iterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it.</li> -<li>Replace the existing module with the module returned by the function.</li> +<li>Replace the existing module with the module returned by the function. It is important to note that the <strong>name</strong> of the module <strong>does not</strong> change, as that could break the <code>forward</code> function of the parent module.</li> </ul> -<p>Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different "strategies" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different <strong>mapping</strong> will likely be defined.</p> -<p>This mechanism is exposed by the <code>Quantizer</code> class:</p> +<p>Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different "strategies" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different <strong>mapping</strong> will likely be defined.<br /> +Each sub-class of <code>Quantizer</code> should populate the <code>replacement_factory</code> dictionary attribute with the appropriate mapping.</p> +<h3 id="flexible-bit-widths">Flexible Bit-Widths</h3> <ul> -<li><code>Quantizer</code> should be sub-classed for each quantization method.</li> <li>Each instance of <code>Quantizer</code> is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the <code>bits_activations</code> and <code>bits_weights</code> parameters in <code>Quantizer</code>'s constructor. Sub-classes may define bit-widths for other tensor types as needed.</li> <li>We also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks ("container" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern.</li> <li>So, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the <code>bits_overrides</code> parameter in the constructor.</li> </ul> +<h3 id="weights-quantization">Weights Quantization</h3> +<p>The <code>Quantizer</code> class also provides an API to quantize the weights of all layers at once. To use it, the <code>param_quantization_fn</code> attribute needs to point to a function that accepts a tensor and the number of bits. During model transformation, the <code>Quantizer</code> class will build a list of all model parameters that need to be quantized along with their bit-width. Then, the <code>quantize_params</code> function can be called, which will iterate over all parameters and quantize them using <code>params_quantization_fn</code>.</p> +<h3 id="training-with-quantization">Training with Quantization</h3> +<p>The <code>Quantizer</code> class supports training with quantization in the loop, as described <a href="../quantization/index.html#training-with-quantization">here</a>. This is enabled by setting <code>train_with_fp_copy=True</code> in the <code>Quantizer</code> constructor. At model transformation, in each module that has parameters that should be quantized, a new <code>torch.nn.Parameter</code> is added, which will maintain the required full precision copy of the parameters. Note that this is done in-place - a new module <strong>is not</strong> created. We preferred not to sub-class the existing PyTorch modules for this purpose. In order to this in-place, and also guarantee proper back-propagation through the weights quantization function, we employ the following "hack":</p> +<ol> +<li>The existing <code>torch.nn.Parameter</code>, e.g. <code>weights</code>, is replaced by a <code>torch.nn.Parameter</code> named <code>float_weight</code>.</li> +<li>To maintain the existing functionality of the module, we then register a <code>buffer</code> in the module with the original name - <code>weights</code>.</li> +<li>During training, <code>float_weight</code> will be passed to <code>param_quantization_fn</code> and the result will be stored in <code>weight</code>.</li> +</ol> <p>The base <code>Quantizer</code> class is implemented in <code>distiller/quantization/quantizer.py</code>.<br /> -For a simple sub-class implementing symmetric linear quantization, see <code>SymmetricLinearQuantizer</code> in <code>distiller/quantization/range_linear.py</code>.</p> +For a simple sub-class implementing symmetric linear quantization, see <code>SymmetricLinearQuantizer</code> in <code>distiller/quantization/range_linear.py</code>. For examples of lower-precision methods using training with quantization see <code>DorefaQuantizer</code> and <code>WRPNQuantizer</code> in <code>distiller/quantization/clipped_linear.py</code></p> </div> </div> diff --git a/docs/imgs/baidu_rnn_pruning.png b/docs/imgs/baidu_rnn_pruning.png new file mode 100644 index 0000000000000000000000000000000000000000..ab4a3960a54354b7335967c4b39709a7f57cdea5 GIT binary patch literal 266165 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 XraaHru`HB;fqvwqUP*oyHxB-PVa%ME literal 0 HcmV?d00001 diff --git a/docs/imgs/training_quant_flow.png b/docs/imgs/training_quant_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..5c91c1d44075b40aea10926d28320465be02c6b3 GIT binary patch literal 101597 zcmdRWcRZEv|39Kc8t;sd(NH0KZxNN9Jr5E(jzc!bR;VbI?5wgPPWB!pWN!z@D&yc7 z8OI*K>(={SKI8ivfByQT$8n$gzOL(jU9a(cJzuZuJk?OUMMc3tK}1AEb?5d?O(G)F z3L+ws7V@Lu$^uu`XCfksLb$xV#vOTiRt-mcE4ZyC5z+0Z5s}BV!wqQtM)&t;0%>Js zm8Ml+UOX*}qN)_Rd;E@{#yu5s3gMeaZ#}%8@x)L3o%|WHTd6O|PS<@&>i?wv^2QDN zW0d+D11$PKS{4R|^F?rzKDenWBiM)pjzo4dp6zr>ts~L>p8|pA(hIB6{i5P~?6Q6w ztRzG#`nIoXxGrBNvgA$Q=RWI3ESPN{quQ{wKDwXv&8g&~Fp&m%)6?^3B#umWPtTfD zK8_(`EzK}-(@8Un4NLlX?Iz{TQp?zI>r(63v(^Uu<7dxI`7cWlkyFzuN1q_F6sMC4 zi4Uz$?zmet=H%}6CVfRbUrYb|8@Hqi)=L(3f{8Z<t}XF6yxyl3xXTb;rxdwt%OfE7 zbK)uK%*VO?716!o`zawf$LV(=uP?4r$rm=QmZoO^jN+H!yXOAF<1PI@z1o>=#Wp^p zi8CS%=Ofdro$XN?HRrD`Rm60O#<V;Uqs<`?ug5*B_=1aO+lf?uOFMI=wb@e1Vk+h4 z&2|S`9*zeu6yV?YM!h6cT$4pr44qzg7!6tkP4jp!MQiT2ydgJ*hkdj!bWq^yVh}Y} z=lKxN!cI7Izf5_YvP(W?Z^)VDgUK5j?%}wnup)a;`4n7u(=ug@#n|x*S)#4vN4L$$ z=KR<`9j#*J4KEjWDkBb~39!AuBgPiK5LCs=9p7jj$CG4apwCYf?Gu*oyN>k~SUjP5 z#Vg;EjpWlgDT{C4<G7f!lW8iO9TP@vQ5jbZh&noJXeslpkkK<d*I9`TlAct#s;)}Y z6AKhb8;y}0cRt&d<$XewYesMOi25b*V>23kO5p$!4N_M>siYI<NrP`tiJnvouzGmZ z*-v?lp@ewBFIbi&s79Ih=#`qwq&M83P;|2D+@|abR=L3Wgjh@-ra?q~v`+502LIRK zuN{UD&T5m=$Xj+?$e`V#w+R$a;?!VqW?}GCOcLq1dd{Ey)5VX(j5U<zN9T@i*Pi*Q zDM}AJj;q=HDO^IG^Em9Y>ceARR8>cm$D)3UlAPv$7y96m75R}R*??D~mye&hh<_!Q zLi*w6>?`3E#?rvsFYiuVIvSj8K7CFg^in<D*{9|fy7&4litaV>3PoR0p_`($A`%GN ze3p8zH#bfH*!8oFk5ub(zR;Q}f70n!oKu)%nmg@E5?sqZe!{_3)YSMoH%;-;Vwz$W zj31(b@cpR6xVt2b#{QYxmt*4w8!BGJJ}i6Z_9XYN_>k}W%U*eK<|FyYV^NaCm$$B6 zIM4R>($Hnet15p@KH0i?>>lqc`IakoSD7yqok5=seiDA!<MoBcr_?u;*pQbaUeDg4 zyAyWXzVUwE$$^CPN>i_#8dE3EPBc#tFW-7bQup}Bji>2P*s<4o-?%n;HyLq6*vPu1 z*54KQfXyiEq3pTZbBbS(-ibc##4W2wDy1snEvhkkc{dHb4MYYk^ThJl^3w04n_o1Y znLIHeIic@}pKO{moZOnMpM)<*E`MI8UpATyYchSsqFcjx?wULML+WLklbpsH=Ta^R zn#3M^u8O@WAy<BzQS&Q10|!5i7EK6s80Q+t3wHKvT$;}`4YRd#oOSQK3%$m8O(3E> zqL?#LyDDo3o=`7Y>@nnFG}YT)F1A?N<VB-LlcSWZ^r(p`LOs)2ho@JtH$Jm9Gpv`_ z=88?SO;*pz3=?g}c(mxKgS4m5_nq(+mW<ljE3@Xah@Mkf>ltB)2R0iI$OYHn#vSK+ zwfmfVReFcAJ=C0ThNMk?tm_`kc7fr^Or9<%s;5VFl}}p?&JI=$-kX;ntQ-s%4-$VR z?jcSk9_DhV?8NZp;o-9QG7FR;${&Rw%&sy|pC!<5v2S@2$_b;4=NN7>+6q4qJ}0cr zcb{SETpztO|2u}#bJ>EKf@R210jqQA^ot@@<|J|b(J9ey;*3QCRgtP5Y1^vXv}Sbu zJYzf=#vS&Gd`<$*{8<8wyn4c?c-sZ+g?$S(?9GS1#8Z~j`4oQ2y<IGNZ>dA`b5}cm zdtU4E^N6Q3*vz5XBB9<vEb5U<2m!B<7E%&&@_L!IeE#u*0o!i)N?l)@?gJxxiF@hR zQD%DPn0Af(k9mvuxv>`W!}B8jiMjjJX84yg54*mr-x6pLY<T~oHiU}KiH^lUayn)F ztE2eDWrsA0tD^hU*Bv@t%}ce*Bwc!4CQEcnrQHNvm0cvJ)|!UDm`smM?~T-cwurw~ ze)Y%9xWV)QK6Q*{MrVrf)u=&YpuEkqrJ>&Xxq3NIA7<1o-CjoPQKMBKf5Xn)PT!`> zrq)jFZu3s!(P&cgBZDO0WvgpU{KEoPA8p)d{mdFoU%|QI@WlLE(@Rr1hvW;%lgaI0 zuGjVjxdeBAi3(<+N__G#te<&_x9ghb`2l)1Mj93!MuPO9K$)oFU-`UNCM|{fh59gC z<@3_q9620zUQaQvrIdqyAb(K)SmYKmE<?>kSlTpqMa7$Nm%lCC(IyeTApZTq7i(SK ztk*&b-&8){K5yaqX+6)>(O9fp?2_?SJHB;~*IJqmT@UlLmUAXvQAfRb{pN1MF?8s< zc&`Y-Y<9a~tYEg_!|L>E&<Qz3IYmxW|HS%5!{pL?glE$JAChEQ4Q4($wm0!5SAS9> zeH!`9ke{aWbNVgY%X?~)FDKvXBoNGXdNQ@LCiPbI*6+vNw{P@G7>{4+W@uqpi)||$ zM2O@t>EntPI#3V1e{8i;l`$@hoS592=(D|yRKac_5)@z#Bju`{af8c3%T6oDs#i91 za%9tF^*gEu99BLr@{O)kEe_wSv>c5@2fqE1r9i8|rjS^iR}9<zyd2!cl2*iq#1Gq* z@7A0gI=T0vT*Ab)kGh!-M}2C6VyL$uuB!audbw2dx-q+fw&Oz{INBYZBA8TQnK)9# zv@IQ#`evBjjmJJi1KqE=<RfFf-+CnH*z75r^Vh{UW^Rpyt)JXHZ<8sQaa}A_;;qZZ zz^jZ)!!mq6nc13I9GP31t?0;}$Gy(IgS~ysIx=OICv(nXo}UkqaUCzgEk&a8x8$js zs1&Z&9AA1$Cv$bjYdvMZu}v#fi;zxG*Awhwpo~jOn@h``dSi7**;d&!%M@W9XJItX zGgYmf*eR{$qdPOV=9J>JiA!t4y=AedD+qJF>~_MHd(q4N!qk`foQ|B4kUcsc)8#7X zWNh~Kj%9kYb&jYpyt1ie(5rRLP%BJTeH<-ZExb0kCTvn%KH^xrr)V_#qsmFd#LjhS zxx!^ecxA0n;)dJSg5pRehGmqew4qeQOJ;Wuf6U<26_zRKFVY-d*VjuXo^FLVjfVOn zUiK@sope9BDoN$L_3)+C#<E-IVq)-e;@!juNel`mVJqZi_0@BtK7@@Y2u1-@dqKN% zVgFVg=X<^MedpbL>+4pw(}h0?J#pFgI-|PPMyokalJ|ESZ`OaE*#2@Vlf_1wU)t68 z+1{#`W3TlNu8XJMbg*j6*IO`xPl(OzxPicXq5y7D_Tzpcy+j%o#7V=lxIni2mE};` ze1W|a{`+6^1qh-2BpUM+veeJ^N{P<f9g}70y{sLav_`H+WMrg_kx_VaA1TBbG8Fpa z3Y(UeeW%zN`x7-$dmlbDPJQ^mqw^s56w!mk==kn*g@toOIe0GH`6H+?Bfc@y36_@m zV;pv$J8J-%C4+10JL{{eh+Ehrxy|p}-?QX)M?M4qmxxHxT^xKwS~{Dvx+87voW$Lw zE*{(=4n9Mdc`mXZ+~SOox~Q+J!76X>Xvr$XEy&G#QJR94l~vO5zLmJ<O~t<-2Y*Rj zeBkW-P@IRy&CQM5O@Q0p(VB-(OiYZ2m!F59p9|c<<>X=KZ0^ow=XB}UApeYW)6&Vp z5&qB_Zg0m5jcb0--o;t!;zekp-~WEC)6yOOXC^zRzh4WyAP@8n4<9!#&wqQ&8E*AI zJO+L9>#>9P`Zb*-G?=&s+}+aF;3gbtY3Br%CN07zEO{`^e|+<2p@*K-|MMgtKOg_$ zM-P2<=uv1X;_8lYOCTjk7Seo@JpXa+@B1ZrAVD1x+^=0ZxC*vKnnIH2_ZCZ2EHGO; z5)sJ~-MM)~+nsoB_;`g$_vZf6Re@KJpNNs)qjh>58}L$tRH#S8f+}Jyonfyat*>3f z=Hu4gf@?xqu{hS-D#sbv170?s)_VD*W!<+b%ln0kURx<{XvlLxs@A#^hRdm3H}sq@ z9PzAHVnLvX)40P!9}|&~v-<tpf3gwe1=+71cu$a?mL($o_x}Qjh<TVv|NSbs(?9bs z)-fHO;_%P^F(R1Y^v@sk|7En(863nUFdY{O`V;?UC19$A|5(8P_fyGwlK&EH291AN znRuKqGS+)<6G!kd_1!IOjpn<wy}gFD&&T?BO|`@b+mBSdt=?S0S%)>}d2g?M$K;rl z&lRz(R5;<<`cjpnP}OXa`tL^eUMq9Mo3H1qRGO|Y3}>sx2^TsxpSyZUs3Dg-uB`Cv zyM#Djxq9JX&o!=)<Xg8F-3h-EIC_i4`#y`$Mlw5Qv0GiH^=NU`&a$%B!_3#=0S}aU zDxHPNi-sJV2b4IosePn8*G_C^X64vyxy<%_cpa=Xdgjm8>fZ+&8luwh^gyw=*nciH zuwXqGE9rd38^T0(M|}5pPfx^(yJXUAkJ^{H;3KJMH|N;NUJ7D4;>{-oJ~<m#pJWoh zE@;6SU&j{iennq$yE&{qUIHT+avh_>-+FCjoT4K&zq4v{D(+ps5T)(rWYj5tv{0XZ zEoyy%$p?{Bnl@AX;~6Jy@5zWm3Y>8htSiDDGc5pQqESZ@epS6lWW@c_&Ik(6)onji z;*f?pxsqCh#0JHvR-y=b5qdB&iSauEiPZfDt^=0xFSBliF<*EPfsR)a%`qFGGxa({ zVxH)|7Q=peI)C7edJKQv6}7kLUU2DuVqJW>S~gLJ&tdezXBQ_ROTGtvFK*(<nve=6 zIb=B;3VwcisYC2rPl17G$M{)ESMIK1*JiWOL8H^1?~yIhd>%)POv+sg3o$T>7PaL8 zr6xTiq)>O3mmy=wYNel5_)Krx@v~PR4?L9SRLh?j@xU>~NqcXtN4)1E`yxE};1bqr zr4^aqDoiOuRxcR-{E)rNrUIMHd?TSC12)f}g03UW<C0?NC-7Q)JBrU4XlR4fgHsg- zwpVAucQ>zJZtc4$l;~&mh<z+$v_ID(UxsTo@k-_3K(W0k)+Q_ai+voj=(xaC7i#X( zAAh33O+s4HG^y5c3cPhv6KR3|&L{I)+l`;!*M^+h2jc9jN;}Af1eE=$TQ3hfcdOQ_ zqc6WURF_5HtXdmHd`};6qfoI)(|=na9SwUlWLG}_(RY7O*sO-A`^V<xLxOCA1X((C ze9IpaWJ%3iF{il!>%_ua%pPA8yp|h39o4IN>DBOpDciK#CvD({kzJ|f1|K4e->%H+ zQRQlv^7nKD6i@X|-i(i@CXoulZ@yxstq5yZJ^&2SzHIdHT!zYEE<~e~3G_-7q^mTa zw->8rb`sowJVl|eaToR9E1ECD4ysAaQ<Jd9HuiqdO6NEyBp)s1=^DM6N`%u=m$Gb^ z*{^7g72>3PugB^(U`fX)>HctIhBNwK=FtT6DBC!3{hFtszT3oYn8v4FawQb*;H+*q z=Y=tGqpHp>9*HH2s@3+$A?pA3>e77YEfy*nZ?Bqg=_{XVPfGOfZ7;I;7{33Po&P{a z?jB(ny#{SO$LVMZw;ZXTHAh^#RYd~zXm?$Tfc-tDHwHFaJYR}S_>Oq0!)qMWag#WE zGZi;E;<-pAP_w#oZAR!;<+6Lfd2k?3q5ahHKYrR@6KEDkAP4dy&;*@}ygobb<zPGK z>ly6@x#Z9(^b$vooh&$VO0ol7<-zx58%2ahn!k}71NxA=y-?n6SH0`%xwF)eFF;cG zZTHNr^X3iAo*xMd!{yXbX{x{X-JgLL1e{ut#AHb2Hc1nFw&3ME%gytjkFgYxQPMuP z0RwuFYn*rPxY76iR+v}1<9YuI5>v0Gz+qP`@`9f@YIRxzjl>oef${sFUQKu)u~1?$ z;>7;Po5?2e0TpI=uW+#4&&XC46v#^2q}GRi(nwPk0vGH$og6&)@`Ahy-s#op2i(Nj zD=xh{dIPN@qqYLpZ6{i1ITNhkIw+F+%`}G{-d<WAKR?X7CI@E78!3>~22te$&FJ;& zQ*BR>LQZ!iyRLTLT4}mRGmLXQ{|x4_(`>qTFA9eG0H5b!YrRtO^9v=i#*cWi-*W4Z zQEL!`#d3^Y=~RG}Mw?`@YC9+X;g{pzn^9#!eVXDcEdujnk4_2GQu9QJ&rki;@nx-e z$Wb}kJfm>@&1zjcXHLnNK0`#dar(m(hxW4qjJn*V0ok=S+An|-<#IRwfmM3~vYDs4 zBHpP@%yr_`tssS&EVqf!k3(crt#Q^OLl5Q2E7an}d&OO5sjXOMb#4WGn)F$pX89)~ zX-Gr90SD_i3$0awwEhJXW8Wldmw=Ifh))Su%L8F(xXg8a@FE6xk(~MxulJU-#A3zD z90+vBO<jlXhpT=;nR;)nvQIhB{y`i)B}Bw%24A9c(j??Pk$y0GiK%Fdx$?!T{3`G5 zK?26qp3$zv9C?9v@Y!GP<IhFrGTy()yZc^o;716L9k8f)CdY3VXoQZ6hk&>JHEhQ+ z3DRiqwecB9BuPS~z_bOo8`XX8<y*DpX{m|T!Q8)-1(;+zTq?18PfGo=H$T%_w>>Ap zT&nr-jx+pa7NjRH{sxM@I;<Lcde#jrz7-};twQEOEx?RzfWf)Zgnrx!=CvCVWfZVd z(GSi9{;p`^wQ{6ydUHwe`iQ6fMpA&)HD<RV2UkL`o)N$fO(hM^RKGVXsgN}Kd#~ZL zF&(({;DSHUDIwBwYFm0~FVW9AM~4V5vSdd@`pq8wBs3k(q}3?^Dl$lX?7SHOhEXO! zbrs^}Q+G(pM1Y@BAwSRImt`IIN5A}Jxj_&u)fNqcRN-k2q~&xb&ab#~zy7thF&>7c zHL|_Sc8Rl<ccEfM4G4XE4%|{8vpb`{28>d0Mvjv9`nLoYd+Sqqoe%tdcDDkp4cZG5 zkW%A^C8Y@_`9Qu6#1EjT%3IOSpcC|eDXtV(@3vB3V->pIQR%sE8wk8qKY#P}@L~Iz z=lN~o&B7z@<3Anz!K~$}Jf?k^?tCw>zd_Qo^q71#xj#Ub6?hFA#HZ)bE4=c9t;h0N zC~ka-hh<-)q3yuzuTCnF#R*=@L11zM)j94yH?Iu}BvdPgF(c6x%SumkG)r3-ibs9E z5A+GNWj&AZWSJ5BM^Q8&ESvf|^}tuqkQLBIz}oRcrTHfA-vhJz!<)(qNQ^;9N{RPg z8z=(KSz8x}_*9H4B81`%Faqj_)>s2PbSWt`Fz^kiVP#Wm$+=IphJ?b3d$(Co(-*Mb z>%+*7q#GAH-XyI2tUVRH3_Kba?#m)-crjRJCwU%V57$~Mksb-}g`rZ{nbfGDz-c{G zZx<tr=R&qW$3C0SUyVqeiFX^x-CZA*DRB96{Ax<w8i<(#?CEd+3NX*gE;7^~@&WKB z7dUF(ZNvlB4`DKUqF#LY>WR{6E557mSq6ZGnk<SJ54##YQ1)JO-rrrf#`=!=AKQ8O zP3WvjNGZB}p)5_0KVpA1U8b;j1eFD=v>EE;Oh?rdKH>{a{`yC5z#t6#TdFU=K7ebP zDrNvnd}!V|<vn~UOj2|0Qu)?wmb_{2C~yY7-azdMTOd43ST_q0zbI?@u}EkVz>8Tn zt4qum*bad0H^LO#kJ`ozhWUbV42Dzggy#_o9U7S2?&AyWN2_24Q-xp3?1sxMo5zcO z%&UxXdjbfU9hEKfaI8k0Ad{1YG{J$m-<}YDJb+94sx&Uz;zeU$YXvH%c)^eONFE{6 zL%zMlYqcf(5WIXyY~^mb#}xw^i*{U1iNpApm;5*4^H^f7Ts>lCe0?hE)t#nVa$jA# zh02BCK8Ss2%k}ELEkrkiUP487i_F9v@XbZQ7X`ipermK$W`F0QN=PSXC3t<;<;JVQ z^K!nxx6)bZd#|*LBxhQ=%uxC-A;MzJ;<GE)1|yGGOxUU+0zT|3#jxrXy%^jhpnZ`H z<*%)Lgx&~hsooJNX%oY}{WM&JG}@lz@rCQbJW}JGyY3`Y4fM(_TMs2}8lDrdxcS>s zu3eX{$@+9g2)w2Lv$Gnkx7qh*%}P(o5uYbZk(65cdbSGAQ@Q%O^{tpdIr@2t7l3sG zvajmP2z^GuWij+x1A!x+gjt%w%~pFK3lL{Qo}c5ph#dhi#?l@{cvqRxpaA76#U22( z5bHxu>g16#E;qgJ+`U80S=r`36=OYxs9)>1IMto?tUF!(6lIQQ9l*Nxk9Yu#nhOlT zt*BSm$Rn4ENnG%Jw*y(j8^M!gYj61T$L5xsd5RPFcW`Mdqrj=gdepTiI`~c<A@}{W zVKy)TuUchDh=7w3qPSi<@!DL!J54p~$#*yvx4MHYr^%?2%a7&s1XPncCBkpBg`KQI zlF8xg8IW_)jTW{bUO@R!pf_14%y*YyYfwc+_EHl5{G;f6LATn#a8Q7C`CMMe?l{Z- zr@}tNX5bk4%EtmI^KkI-_hHf$+sMI!<CC$4lXu3u#I`;d-@zt8QKZ`tmLQ02u@2bG zwQ1d@U$?F@Y-lX`vucK`KX<EDMHVD&4p8=++!}HG$Frz(%o@i9cqd9drm)!d$JeLk z>oL{|$DtH0mP%7<e`m$KD4gO4YnYX~hbCi!HV(wRroDosauT@&kdJwfw!|TFJ=F~b zN37#p6Qs&vEc^&pkHWy^z1?jifSU6gqD)*3y7ewd!Efx;U#?X9z(dUeuaCC!K<3ub zx(>TwVzzWR8zC7ZEQdnR{)tBBz#&p?YdnLDBE_#=ybOc{j(7VgRo;Z;_XfrwfbzE* zYYqbA<jSA+?APVR0l=BBF0<PM!GRa-eyM0d4tSsL`LCLODyH_KzFUUx(nZN98@h~5 zby}{!U^%G{Acn5KdEigWuT;YQHT9wNXJ2skPohQAa5!w3HGC8QbaOVX0qDAA`Ak|| z-VL4zL~EW!m{cG2PUH2w#DsgXRH>}*U^K`%0<FzQm6IC+3+-Mp&LMVxFhxOL&3e{U zk>jlrNyuf%t{gw_v+><^p%fS7_k>os-HYkdCIin6Wt62lF<177)D*H2jImSe>D8_( z5*UTe?(U*5#?C#v)6}wiFVe^kE`?g{uyUVN7fAGq47c)`q`V0a>V0*KnZ6A%9hQ^L z+68dc`AoQC#4$r>S@bE8)x{I69t!oqoFe9de>0zpGIqREf-&{kw0vMFFaddzPoFA} z{Z%+JF!uRTE8Pf2rO;j1*op9g4cmE(h<ddfk${@I^EaG<U>pERJW;H-fT?HRPI6lu zajhXf*3aZNWDfK_a~JpxuI<j5Ld8?=aAeK~jSyJ{gyKjTV`Eb2&6X}s!p9WH*LehO zmexTCsJt`o3-I5UfK{6bfB}kABMqCRH^z<_!BZn_-#-`5dvsDfBjs~WsS|E$zS;_9 z0+Q+PoNo+E_JE~Ox(J1+=9f}$XaYsfm-~c2CbQu`<8nJ*Z{|*W5sYVdDa_Zl40jkE z82kA}DZhmDU+2oh?}2oK@~5QkV@!Q3;dk9zk8<D&K;C9~#1Mk{CIHnWmmA6`Biz~H zX_2%s7{ud5ujM<UX);R;W`h`fAoI_z6G;$;6L+3YdZ(bIF1>kwtzt6DbfismJQRiZ zv!sl3cyCl}H_*3J*f{6k5@Z#_PCkvk&t0|gBaP=SN6C!on;np`=cP|8hbvX@&fC|L z><<J`43~gRrZzwO)L+vEf730H;8{;oehSk2_*wW@Xoq-)tei5A(A#LwO}zW0_)TxI zyQUheDMDp$1k0PdlWsivl4j)r=i*A$(KTRe$)k|i-+fOM#iO#{Cb1Z8B{U53d*ORu z$vx+C8|Iog(I?RBG}~;o?wwnsy9;jSxtlb4#+}YyfC0#d;`qli!oGVuC5)<rYpjV3 zouMLRgcs6V54O7#_oxS<M7WmVyT3geEL6J6c4v4Iq81!?U!?~G`|gahv_3LDCB0!L z9Gy|O3o=-*ZA|r^C7@AG=GXWvg_!mui-&dl5MDC|(ic|<s;OD%s=?Kdhht>M)t8$x zR0n(M&q2H4yT7>KYq=L(&7B{qWpYJBqwi8HX}Fweuj#&J-+a@W*x8Ln=Jn;o-8t)l zW%o-fWmq|v-Sh1N`Hy~R&GMuDtlAqtaz=7BS7_=-8Bj|ZP2tivLEJV?FH7JTXwAdj z@6%qX9gti}t+(}<!ao}rAN=;QG=eJx?bO28@EB#C=<V9(i1z$;A^0(>v}F*4#bUG1 z0pccF1OduDjHT6^UWEO(mlwY8IBtg<Jd}}ao&{9SVbD?vuy(|zh!u2AqZQyZe98C= zN(79sI6AsexjvG|wBWNnZ;euD)dHLx5;)N%6RcGn^2^67GD(=t0w3KR=g(wxkM+bs z;xTMoXa1bG^~JOBzNseCM_-atqhR7jDGI9u%iC<NbK)TNQ4y#NI?2Rf<?c}j7T;%A zNzffFETMYNrV7hZz_`qdS_W9VF4fT)?XcbI#oi0yk}CwZA=u*6oh$l*snT&Xs(Od* zd>@9*zH~BjE-Q><8z-|*4`U&$Fnh1w#X=dC+|I%#xG45fYs#hR0wzC;&`{tLmjH)Z zUJovpWBDf%`7cvHcz;db!}U4rfJzih_oEfi^Sed-x}_!hbU`QPOf#3I6|-ga<qVgP zl0-D?TBZy=_(v2kX!3=l`pUaFeNn2K#237YyQ*i;6=%&G<Xa86je1*el_lq7?@dRP zvTLP1&NL*4`OB-%Hh_#Yg6bp$RW4|xI__T5{Y+0bwL1Ata8tjKHmYx|DWZq25|zP+ z7dMo@uC~QL4)T8bt&bQ9LTuWga(E89Xthw0tosc$b#u$P`~)e_AVkI~hHBe_b30Tb zLodBuc#&wfbsT_J(vlB573j#cvUSq*_zpYFiL=+L_tV4C>E|J*dHTU?KN3<#+fO&h zAMSiV<x7s2gWuQ&V|}_aFTCDJ!JnER--Y-}S(a{Dx>oKwZxd%%2G4mH_yVq|BblXy z2=w@*9AVv_V6ym@Ucl<H>}!@#>o=3JrIUm=bOO3$$*XMNyzb<GEdrq4t4@JQkCFLd zcR!8b_ImZc$zm;$f{=EAl6}Qe5R*&K-S3x3XDz0LRGKSt3<5YiFGCRuax?(e9RI0g zAvCO79{~QQKCO`?OX-6r2zl3OQ0DA!VX9A>?r=V|X{AMf`a(gldc@@Q^RxM@triAD z*B?)>8YW76=lLf`=o&UcT-~$cu24}n-^o0oqbbtU13dzn);jGU6HK7ASES_1Ka*;B zKm^2MLZ=0kD&HZY=(zUqVV{9@AP>C_)8$Hz^cVq@OQ^P~Y<>YhCC=K~dnPM5rf$BL z0k*Z3+`eaM9q;lb)_jIDm|(=&E>+3@f#(Lt^Yda|S5#xEi-gi5)lf$X*JopT@;{)F zvj)8aS=Ld9vr|5jkKc7d|8jv4D+i56()i=EYP?*AIX&fW_7Z^nP|c5iX26)GWZ-yG z8DR;(u?1iOTg!CUps`^M4DSh7MFSkoi9=b4F(LvVQDuKmU3ef>%vC(p1>p*-oooQt zg<a?RQ6bo<JZucw=;$b5KN{-8SXj6tHc=@i4s|paHguX0-H?C(dm9MH0nb|H+4KZj zl_KQ{M&TAUDS|em6v|oDZ8Acy$aHsB4`O?aEHKSBt94?@3Z$#39|iF4xjH)26aHK# zJ#^Wai+d=SpTOsz@a{CU2WUAAg8XcYakS%lGTZ=a&e@iNR9muTfq~adwh`S<_K&H8 z5U&NGuFHs?Vj$21K|@(nYOvGC=E1H~p~F59w^E3&cE}@vr=#M2J2D;OAQwV8t#f1d z2id07Sn4Ud2UeJg#_-xuZZb*bc;`wGuA1xs`TkSkwh0>0sjl_(*8R+$bDj4Dnw6x~ z1`q7xfIxe|MBMk&hRH1lf`4z~{rWPy0`MSX(9~~-gA`O4(RaOkDi&c2vh*T|oB@P8 z+_3hUwg(BylJBJJB*SNptdI9nPq@wubPA+c-)Vo7z$ImY>MIC}PLPs%grYrcpn?j1 z^f1-VabrmFn#c+wy8vg700jSg@2#11^8$*uC(euVdVSEq>n=4}OiGhNh+!8brc|HP zp^ul3baIA(oFZ`;xNL~au$Bq^1XVo#rXOwfC2}s)rQZd^|4NYjV`%{Um|vXW4?&SS z$_F==jxoE}*p<y(@dR+lw(YIh_xoJ7)!k|m1AsGSvYJ|*8_3^K{4g*}QidL{f1Ym{ zWzrYBf`1LlF6QnqC}8k9DP!)=_UFC_46>c;0ks-<>QcehCD~)Yr_F?>Ei8`oha7L} znGOsEz|?l-_?+@N0Qwu-`a638@&EpG$2q|VFOijmzCOS}cR2^>HY=H}%?$`UPTYpT zf}E^2-pQjYw1&yG|MS|Y@BUBxNM$+QtAo7am+ETp1N6@JKGhr&=@uFFPTBt6cI_hI zNk0Lvb^lm4;T`0mc#qg_&ljJ<3!fosUe;a>A~Ali_&g5;DB+ed6i9Sy4UMHUxJ}CX zftvo+H`TReyd`(}FkKu;%{tcmdeE2>IM$4N#FbMSL{DHIfVRIn|6F8**L$-w9A=Gm zZ015jH3rl1?ln+_ny8zwy#5og-GOA25D;eMyLYpH4P)4g<l;y3NCEz-%{(ZP<n8~4 zya!tHZTE0J!pOc-hleQbJEE1xJJ%k<OsXQof;&o^5j7lF?IXXdf)Wo5K+2z<fP|=3 z;m&TPxk^^jXJju0Am^Xj#KqOaaP?nn6Qwn{L|<mBW0e~}LedgpPeV-oSHB~kr-P!+ zeP4=?9|4ioa?~lws!0f;OxeeIS`2ubIs3r^IHk!A^feCNQjqcnCR)vK<+t!t_KqJo z`oI61ya>{D;|0=PNI`8>%=UIR*8m)fvpVyfSxS7uaBc^Wu5M%REJR>VZ_Eyt7uQvT z!MIweyMIilEFQ47u`xpCUq~5ce7x2G*SI(U_*M&$dhb^`78C*&GAQiSgTCRZID2NR z(QLr&^np@j25sCwo({6|V!*yGSIMlNg!WR*zcKu3Frm8OXg?H@1MbB>eZzD5N)l9K zOTs_}L=>AQTFJ(ncNe5^WJVw{s0~eFmO|+VpJd_~bOzMb8gPNpRxN-qvtDbwn)tY; z50Iwk9V=gp!n;yFRRX+LVWDHDEP$hKF$8&dErYRPFd{-nx6$(?*`al5KLhJhD%Dzr za?=b4Vlw9uKp>z5BA`SiPSoKYyz-N~|4vW_C`i%<n4;L)eYc(^!LZ%-PuU{B*=_Sp z#!I-Jq|8O6g<FMBZqE$HnnWz7#~=-VdV?D6_XxGhKKlJCP`sO~stWi}qr0;Wq{P4g zD^kJR!cDSam8b!bBiMo3q?N1H5Wq8*fNH;2#Lakkjd5U&Hs$X_k3nm^;SVrTj8)KP z%av^P)I`{f7H`WDMZ-iT;&df7iV}Fdz^Oj=44U=_-9=VqGZ<jwO3WPIf1IzZ*(<;y za`7`=g{m;*+OdAHC9RI;BW6tm)EHm_Etgs{jRkT9FDawXa+pQhuSLE<q{YDET11Yh z5OYQ#>h<LXngqLTKcq(TR|d^|=9;8%ouN@X41dWd=vc=hMuYzP<r5j$l4Re2eD~u_ zgxtT}R`7yo|7nTKP$|dnp!i2`WuKCQVib9#)j<i_M!m+`g{IukXZ|?fz2B~unAA`a zgs^5&Cz?aoetSe((09-)*I|4V$n8+&=D<xSS%TpULk0A1K!0Ws6T{#i{o`6r|0!5= z$bq31hOUT1McBV%_U}&`AHkm7OU(%WedSkBhyK(!17V#X!ku^ib6O(*dqDa$oC;FE zzM~)qSsyX$vp>@UavpeBF49)Z|5!6v>Hq!v0>|v0n!B~gcj*stmvI6N9pR8T&Gw&f z<R|+IEc@BxcMSjSJ4>i09J+mz=U|~6vVM9DoPU>-4#Y|1AA1^vpR>g=HxAV5U*%PJ z33wpa1))m{zivLfA2yJfRfnvO9*DW)FOrI`{=b@xkNmmE{|i_c1>@aAmwtbl6acnS zr=#^<)_-gf*pNU-*23?O{(2(?2=?Ap(LO|{CryB%mDE}efucWBH#}5m{r7eIzorDG zOff#Xf7dJM#s_zx9sJN*craF`p`TDi=GGd&=x=rKr+_+QZis~B{1;(?#(wZ+{}YD) z_C_?9fg}U$XiW|zdCeZE?e)cN`Nco0wz&o5IX{F@guvCmZUcGGW1zLMC9Nm^`YpiU zFP6as7G3Csre}v9lYI(l&(|8kus@^xKPbqb<s5u^1_HUxW$NBvm#<x};d~zW_}U?# z^sm<VZ!-PAHwb@*(_<0!3?+>x4oY$d@0N5C(vYvncj5mo4M;e36kr>5pP~NScQhA( ztS{P~jsIgne^z!)7l=7mvq%2dBz{B)cN(I1=l;mm|Nr2928&xPODKMAQ7_w1P^-a$ zg2b1k+1Xh+Y3sJPFHPNsU5Wr2h+{ED&7{sJJvy1mO{Dnf(0<TEIyfFDk2#QQlinDh z2Mfl-WTdT+0lI1e)c{d87_2oEH-4{Ni4%1Dm?rM8B&I5RG8z8bgrrQ;srE#BkhuCk zXB5f#>_C|Ati7TVZDvyD4FAL&cvw6gULcw3^@=PwNU${IN#+L&^99-^^T(d3i_csR zFd>V`_~Q%#DN4axo8=(|Kd40}1(DKT*Ea)z!)L?*W>~JAUk*yShVmRIX#OnHzmE=7 zMDe3XPzU2^B$I$rd?7$Uoc4=C<soKzFlLHBFLe4^43R*ElA?0$!72+`lfb~u`1#_| z91&wHx88BHL+|fTO9O@uadhH?MB;CA_M1pE0u<F-7BY+CTHXJQ%Ap9-1{$ZV>1zk( zP)d=KUs2|^$lSLu3;GgDU1NL>_>Er%rqN5%@-uT5+dOtKfT0{~{AB8Y32C{ZTms^d z4Zbu2gO-|z{xVJ3_oRZ&S)ghL0T|x$th<idioeZKHffV=P{cR9;K{*;%g!I)xQ+%) zNYsEyq1!e+-*4NNjX4hF+hRvP3`H^}E?&<y+c<v9XQ~O318J&pR)d(i%bML}6Qb5_ z=Z$Q0>taXFarK<l_gbn`MZC|>YvL$cZsIgbSBsyG$Um%HpvJ@5XT}J2CF7pI$I2Ac zlmiFlnIe~&E;g?lpP(+YDsRv3xfIdf-d+Pxa8~iinXqh%=-PsN<Ou(;crI0~u`4&Z zROp0E$ECY;Eu|8=msfY3t8;O5nWh<%l|E&O35k*E<I4E-$(hX=pX3#q+dV51PE#tN zRjCa0yVXLCN=Bd#Ub_-k)Bx)CzePz};eHg_KL$WvjLoDcp7hU#k|uEgipMg#{S=b@ zZVu`j%5d4wuXXRGY-bNwuWrHjV`t-vq88FI>gcFQu%v_K6!;h>B%lqRf`X<&bd2c3 zF<E>^vb<rS_ivN&X8>qMXZ#dV?JXkzSvsgI1{5|-ia<k2T!2aM%Pzm$47?wL_=E+I z*6$|{1fRX4LY`l_21@eXwhD*w4!3MgGut;1K>azWI}m1JQftwzi87-oPzr--wFtEc zn!P!y?HJ$vx`6>(t%<R3%*7j~GOJr)dD52<X_$`&`L>|4TQSn#B@%@Ht$mi)HGDfG z`4_I49Jrzf6@GnlUHA~@IZd-m7@m_4>##6Ay}qKWqufP9_{nC<LYDPASfzvp9BLcx z&9rU-yV_Q%;!!d0@&oY|TNmkB>E$tGRWVN(mxdcPuH2i=VzRHrhC1<RG245_Z!j#m z=1#(ROqq-6?LBu()CYB!jq_;>j}AkPd@oiGSsF25H-3mgZYNV)7JnY@zXkYzj!=!y zkGvY2C2NvUKG#QJJ<DDguC<c&I&|Wc1IsuPO~=yg(ps=v;G@;-WRlO<(1qVFk+iq< z?M9@}ixgGL;nFdPIiJC*FzkwDq(MEzzEp`0_7{El6Q?xdK}^qFsp97VTUe8(5_3=a zdhX3Ove|B;fRY`3M8^!Lmr~RC{JrfT-s?n9+Ey$|2Y=?>!{cn;i-px$yeJN-RJ3U5 z?%%3gv$%^txPVj->HGIeyeyc-{UoG>95m5_@YgQ$gF?9J9T(ooEq0<GrN{h#7(aJ^ zd0FofYzjx6nOO8{?bf8vbvwjeERVBPVe`iR%J~w9w+-v8g`v$mZ#VRFwr2RMF-<@Q z>8=qBHm2=m2_A>F=dTB+jvTlm7Yda);Z|J(%ZQ^#be6tJWh7ZJ?<|cyYTD8FQmbG} zT*M|c5NKT_?3#<E^x{g3#w`MK7%_xg{=NN=QEZGNjkt5$n?<<IHh9ZY3D@YF@%(jA zvJm!Io~ReR19d3;@<D)z2cD8<)Hn$AbQE$W2~`Xhn-=WneD^1vTyiaaQt$n&I4;ZA zA#Talsc^K%^@nsFRuze955tBQS5_3Rl&Dt?=a@(UqGz75mhcb0_2>UfzhM8Ww&IZ_ z&I5BUC6hdzG-QpNh|AT^kX)y!k};g#k((SXUQNuFBXm2)r&=WZ;PZ@O>8`Tp<Vlm% zwi#0&OiU{p?O*dcF;Z6#tL`9F410MbuTVy$&(mfmM&iA^KXfiy4>Ci2B7aBA!mBkW z(1Yc;P!OPPG-{3zL;KH8ZKk2gY`?t;-k~Te-D60xBEFB)Ri+B4KdzzS2a<>9O@nu6 z@oq&)t2?&2Thi{*h#H=zoW)dNWNl^K0z5?5G%j6_^?^YaGYMxdK4YIwcs9I_pfyT7 z1SxuX!0fZt4WXxjH@$W(iD#Vs=a}iY?&I*&7e>~R?JhY*Qtq!{9r(J^#P?-BNEw-V zbwlRj_bc7r_E@Y|e2^wes+S<VTj4%hECsX&O^5S&F^DNzzp-7FZOqOUhP~@iwut29 zxsr+r!LF|CGC0JraQ<^&_rZO`{Y!Y`f6*t_u{tM6K0SVZBvcN57nt&**xRFi@B@v& zeZ|fYw5J-D3r(BGeUOu-ntZz<4LEE<R;#;2WdhK&9DLMPv}w6+gQ<<_A!hHI3;>an zZtBx#fU0)bk~sKX8sT>Kmm_`+ESEUJc)o6T3E3VZCNuviF>AbP-oxv<6c47VZAE&5 zgU7k0T_@*FR;97`ibdVq#I?`u1bm%GS$sm=0&dpcFg<zq-qxswFL=7rX9#9k|0f`T z=m^r2O3$_@karCvmDC?A<@k!FjMo_ROT>FvU{_Wo?dLYh%8E5|O&eCyVC~qYiro24 zj|7pmoxr2|V}Ac}m83TH5130j3NU1EjjGiXklmG&F!SEFZlV6G)5AwCrwo>6{9y>6 zzS}C4wxM4dc6A}EsCy}OSG~D=rF(aEr$7>kHl9u2z0dL+-z2$$w4`^T(s}}nc7%jN z<r)pe?TL3CVs%%lU*Kj46<qC%jJ)hUr|dB+Qx8V59L~sy?Gh<W>BzANPoo4+gQ_j@ zbiPI`p+anMz3ACYa9FKVJl?xwb0iW6i$weIVM6il<x6};{}>(6c_V;Uk)ytfz)k9K zpFT$NV?OO97P~B|=UMlr&czXl6OY6j&hW{!J4G~L;k)$<U?QA&b#z{dTF$(2gQE$j z)D+GmXW3mMd$ix%zInwMN2f)LX)KJ#>*pXG4mSmACm~UO2jSCy_KZeN&7-3UIEMHr z8Y3A!##G6^{=JAYANGdWta;6_^xS#etOa{mgy+7JnCsvl^rJ5bx@Ndy8Lgo(M|0uj zVnpt01V0*AN^$~r>j+_9fs5yHZ~t1Q`iPy@Hhz4$;=_C@&QoS(GPGKiyoDB@xVVQ~ znH2qv7!E54fS}awOK%Vo(o+P<ux2l;Q!n%y(Zv{z1)K*=WgG5U+SclF-A;nreqoKl zMq;$^hm#|+0a(K;d#|NZptXa#z*jI~+7I5osN2FP0k<SHK3^hf$~fZyb<h62*EU)p zPe!a%3D^J>b%vOXT=Mo<Y0v_8vq>vKj-YIkuy%D=9lbcdY)q(BtB6NeB(K?5ZCXi8 zyp*>EwEG&`cb8L}P_$Br=~*t2nE`Qcz1FFBU3|&4YFTc+0r?fXIk<x0vGEv8bRNa3 zhvgrNg5?k-9rkPofCH%S4h<ib5T=Mlt40>PNpcJ}Md)7BRI+baS=}+ltdzlx2G#ND zK!y_>?Y(X?kwuB<N^rCQ3sL2u7lT4467+dsL0e?^tidf7t-(a-Axfc0v6p@7SmpLc zodpXWlhHLvWOeR*D#81DLi%o_ixfJpC>4bAL0FE{L1W<GU>OS{r_J`B0161j(LX4F ze5PZ(3@&?tN;Cy$BO@)twa(ujXE=&ol0>$Lc>)<>s%BvT1qyp@JVcCERWgAdiz3kH z6`aWteg|8GL;@-<gYM@t!aV_vWD3Ir=OqT4@~CoR)JlL|8V<v9OzoxX9yxmAc3jJX zCvak{BW=1ni$PHy34QD13F(t?&qKZGJqaL3{yS8h*1s+5f8>;-yZL#Qj$G$ae8ffd z?Qw6d9PNyXT<_&I7~q!y@LB&d1GX)#?#6kv6R5IcDS0Z)z|n|;c~JFzUa5VTuxr>9 zVQ91CBV{5m(pEV7GGbPQjcaxz&QZ1P4<nKRwNUoD$k0;(wbf9sc|`l1DmsNY81;Or zpIu>l#Lc9wSV|q8E-pUBKJRNNV_KTHSZdn79)SkMr|-CiA4L_XmiT%(oxSZj+r|;w zML4*p50y-HE(Y47byvow-SfRm$VsJ;uBybW6>scHfmC&n<Np*Bj!{TrUXIVpkusY_ z^O^?$J|DTZ=(~@V-d*iJy&<+xGHwfM2>D<i+SAnHZQ^Y6o<dc}fi<Wb(i0c&_E9Tc z?R&{A%Cm{5;-?&xl5hc>v9^-9Kcov9N>RfepvE-^QlElci-ti^7NCWR82fBaA_2Ol zLNn!*{CGwnxej&SRxZ^u9vm{Ew|;BR;=TH681w}RqgEe4c|tbG3yVPg0ctUQRoMm_ zcxYjkZw29+YyJ7{(g+sc9f$r=(1Bo!MHW--R)L}Bd-Y5UUoc4o)!~I;25O*<)Op@3 zXSmEIAM|^$6?`AZ#G1`w5$H-QsDN?}>WmEde&ZMub$#r-#u3J{wBngwXWP#KWNX#? z+tm;e-49CYR#4OK2XD5B_BfGtACPz-!$7qSkW8rJUwd>JS^|E*3Y@-a)%F2(CoE{m zXDk>5c?7b2zNlGzdT$ss^Q2khKnj0CV7y=<hITJ(`}NxBwuZ{WI8PckRJ#1ftH?vn ze8^f6V$1}uCHeVlRvBCJRBgPAcO8VUfyCEF<Z|U;x*irPCzeCC89p*0>YvM?ns+Kt zHh9hV=OdQKWBOk4KzA|J8+SF$*iX7cy{BtX$7tS07>OuqQUjy?^3DxGw!*Bj=m1Wo zM@OkBy!QZk{iSLTs=z?C-<UyW(T8TD(zgA)o}er5OVR#aB4ru2Y;0kxF!nK$(169b z&{W+0q<Ev~YJ&U4p2l??UG;{-1LfVfk{*ua-=IS+giKD^^_`XW;3Dp_>5Ezqc~o-~ zo4UMDF~eJPL03CFz8V~l=|6t;?MtMZfAcXGFWz$W*f3~Jeu-4SAxCy3Vz3Zl4XVSD zG#06TQLkw?_VK3s3`M)`q4WYO{t9GgK`+T(`zdR5j8sRBqBv~SevJCrAz7*<A)h~w z`VR4MLhNJ2#FM2ya!cZ+euCY%KEDv{Po<Zk_;^h})j-x^xd=pyg82ricD)?4*w<E9 z+4YOsrMDlu<Wqay?K;8MdRnWgH!?tid2ZQBTMwKLvW<~&vlCU%|H=T$QU#iA_nw=| zqyom@ve-$dPi`Z2GA#w4=rI*D^*IM<q*P0lCQ;kA7-;d{2F-!dOnQ>iqq@xYxUvOZ zBV>fs$FZoy_g+02cL(^98Io!ar6iuQfqJ14gL|MkH19Jv{q9DCOi{SH^uS3_yXXj7 zh+kL0^nkn%*5ha&eEu-{i2klqzMcRoda_jH?qjm@&x;u)oLj$aZQ;@R>Ff`e-m~mp ztKe`0=cj@VWMI>nrJ*p-g$60$EAb^Hmz&l>>!p!ZjHO(TSxDl_^!u>EMW6NZhtEjl zDU4mFJ3hyKo1(Z5x9a2Z-E8L7QW8k>QVh33&FCm+H>Msm?R<|=sucf_qDSGPatF=B zu}P?H^IhN72aN?^@IJ6LAdEoaH=I<=lA@&f+NJ`Zp)TBqUV${a<o?NR@e;wiP{)#l zyjuQ;7gB5ew!E$A)MrbsqI_H9mQ6xFiEQa)o4bW_I+znVqBA<GWbY)WX^&N`Dy0u< zoxaO0A9Uh4x@dOCSQlz_$Wz4=I-xrIfOlnCCdO2%Znu}OdY@TEyOc$_eaYMLcRoZ+ zdJkZdItJT=1~ZP+$EbfGS?s*7kE|`9xum#Z<sJygku`xz?sP&zfnpCR{>5|Izn~(^ zd{ZFZU$wo!Xyv}i$24l2-})vnWpB&S$fsom^tlg^(HWbeBGmJ<s8gPX_mQroIG*}6 z9UUMo9?87ERq7bODAU@uY!(&Zx>Pu>#{w82w-vLf!5+lx;c~ZjVYFX@rsSTj`58v& z=#sEs>Z~-v4pei^O$th$#t2vk=?S=~cw@@$CG13~Jy*X{wx8f=;PFz!h5BX>Xerf} z8T}~MyOhfjR=n$V_+2R=Qt9RCNsvOxl2N+<RJuWd<Xoq=-{xzt%t>T9_GX7h4E=tr zE{M@i-`+KRaLLg=KiU|#;gNus<a&utdTMnQPVB-Z&2p8@{>K)q2y|Em1&(^}Kqm&t zx!FIxr*1b~ar$A5Ok*GAs}7n)AO%|GR#NI_2^1MuvqvZI<Yx$CuS?6EyaHF{N!{?- z)UV|6$-z8rF5K%^WJFTa*6T@7NW#rMvi+}!uz3^Jn4-01RnR;(Yf;73fY1sq?DZN& zpH+LY_jQs&iGw!{@on3859j;E1tMm)L2FKQyij`g_@0dnQy7a@&KvZeuhQn9qaA)k zrtpb_bE%nzHAl|E{gOJ8y8YyLwqgPl12wDgGw#MyyUmz{0IAsIRMzKhoNp?2OJI_; z5s0Z*$0`IpGm>2^eKW`BzaqDbFj_e-Z9Udd8@g5{nl>~0l*~>?h$?!o4!v(lxmW%Q zuhUxaBJ8u%V%EB{z|U2-+iYY7+B`lccTMek5b>}a%(Zc#2go2LkG%~-PZce8f8O4g zQTpVVzYtmP{r5a3vsnpH&rw1ogIj;Ya7lg!bcW$?wABjXz^U@)eo(8QBKsjLTVX<8 zk4NPsHG{)&U*MzO>n6gtCnie=n{}qp=^in-nN9JW0X;)}qjeNK?KL>4(E0wBzV$3< zo3=(7ws}_v;lwy6#m*(3wQuO{9@jH*(TRSQCJr4&3|A9p&tWFHW%$?>|AKu+=d%#T zI3LC|+8Iq~vOrNq;KV@=5rZoW@;!4G?O=1mBO8;NBJ_22HXX*N?RQt8TJRA!Y*ZQN zX(WDiq_0X7rLqm3yCSz41`c5D+oiDkGOS7T$XJ3a=qs?cuByWUkh5PZw_8mW(Ti?` zPE7qu_+_~Ot)E#}-WCnOuNA4}wXu9BucK-dNhsJY%c^-op>C9K@?FZx^bg5;M+&7Q zU<%q@_$LlsbktJhv@Dn+D;Lm*g)kfjtp!Crn#zGT;^=6<sCt^P)`oCcGyZFX6e|r2 zXF+z1;XZJ>dA))N4oqkX=pVB(z0h-S{nmMhn`>{48AoI$m1cJDwBNy_6E-PQNQ@{1 z*}(}hrvXB_@Tk{{S&G>^6&IOR@u{y*&&rz&%TzK9YIMo1Z+3xstwF@Rr$4>-LSo^Q z%>HJ3@+@d>KNDbwwXgQB(#mh>UZQ63UArlKD3s}rZPQpIBK;2fPI@_$YGlu!*BGmL zbR_|?nmO)~vjtAaoSfVe0R8y9XK!O|#y_Md<bg`QR=HTX)qRhy(pdJim4a(qJfLaQ z*0<t?V?-E>jI`%%#BKKe$??uun8R|e`+_CRw87gLMvLRn>I&shF9XTDu++Naq(dnT zD*-yn^Xs<wldY^hq}pBD!1+(w7x=KMqzu2iLsj;k0K~F{fn*<1uHhZA{ca@_9izkC zp;e=d+#Iy!sQw<r_$IIioYDA6rcxbr(ng}F3&S$**n8Kn2c68{Y9j%Tx~P1XR*$^{ z<)Zwfx;dt~<Lj=Ce-f_KW<hlAknV$Xyv(9cjvQsMJAd;V_{j;q$w$Xd6+uUKGAZs) z<DUXB7!QwZ0|>EP<LpwY;pt&ahNjsBz&|3bq9_33RnfPml(+KUr9(%7NrMVbmkpN9 z<uzAao0!?C(Aa&_kcomn+s<@JmxNPsR=&va8-|Ma;KZk|@ab_ENj*l;CxKRt6>K~e zST_jz)>l6*VtNPlL6cM_bdU^cBnlqTHmunL@w4d2Nl{kPNB7@Z7$THm(20k&G6&Oq zx+dF{@vw%ED31Nlr+i+<d($>_qdWikEr9ld@DH<`m}BIiaFZDSD&1)uLqCqE%PRvd zLUSPA2zYmD-N*;0SpxYsKS~v5TfdK<zz`&*8X6Lrt^WryLY{>A+D~Kouwu%)*UXaX zl~Ju4Gb`;f=yj!JD^qyAZcd8q3)spEW&|n?Z2=3vLl&<1;ynFY@72X9S|w8e3ceI- zyF>l&;(OMOY*8&fmYwZOLwNTC_yCs%2Wd{HERAmszI#pL6ZpECWSRgd-0`>p;~Q7W zmIW;qpo1>e`@4(Dw&2{gD>#;NAHP`-PT(;MOC`NGzBB&QqKXAqS|k*%Ou4pgXq)+d zKo>yOI|87QvlVn}NzHAu3<n#3cp0&kj{9nAu7d5@M10Iu6rEeIb7BfD_Wl@Hp9p(& zh}<8f0Tsi+%JonPA${W<`+OAew;eyhS*g#U>m=$YDlV}f9PD5ecYYAPJJBGyF05<p zpimA%jQqpqX2I~={?wJ?#f?|uHol|KjqFJ-piOiDIyJ<F3F=!B-=51yg3`kA29T#R z!lG7`V((1c38_zK=hoXFPbth?jZGzychF?<l3dyxscQOxksfy%N0MzwQql8&1+C=w z@V!}4ESXV=E74U6850-)2r&}LHEN(<^JO<Ai|QON>xd9pvSdaINj82G@p98;_pz6* zGy(xC1?GLxn04bR!~8js>dogY9MRi_ar}D$bjc)t9Hq|jg2tU@i|>mSdc7|XeriF3 zkz|WM0mh`=wcoRSJ;wO`dY)+i8B9n!=EQ~8+g*HQ0o3O;$7aDfGRpMnkVhiJ&RT1+ z;?p=hryof83SIgP8obtCH-QQ!oWgjM4~;gygZ?~Y%vF&?sE~wy#DH|H=NQYQwoXLU zJhr%fAc59Wue9y%>D!I%ge8O&ccpFyD)v<>YaE8X$0uj4Yw2-_qOaf{)c32fOLMck zg|jtwWof&x(zo-2xd2ion<c6poS1G|?&^1XZi=^?DO4h3^N!Ei@G{}GGu1^!Xjybr z-u1iAjX8D{`i+5ys;yVFhy<yw)f0Ms<S|+vu@zNS(jQ`+4)<ocr@pd=(k;+!BS#$c z=5h|2^(hR{lFYVG+LtVvq~J!MPwws*|1Z}50<7vSdK*OrQ9%Sj6a+=UK#`ObNySD& z5$O`?5|GZNgbIR1_f}fE8$m#6sYR!Nu;^~im|)=d{m=dGIrlyf&)&FLYyIXNbIy_P zc<12l6Y|r!dW8+QnYHR<0<!4BhOzg8_R}mow)^561V#=TeHmZo-~aUsS7!f)zEaxz zHUHX0NT;^XYDRF(o=r$HJxBQS+iKsc-h_iUt_%`y)@mLV%*j8EVyd%zn5B=_Da+Wj z_hc7-np2FU6Yr2wI%bleLaHOv9=gAiO(_;bQsiqUHJwR!>TfMQMg`UJ?Ix+ANwCRT z^f<v+l%-;$gyh-ij}FLNn~4nN_}NTU3<$E#8r8|NcYD=&RP|rV$uy@G@6eB3Xuw4| zpl)f2v`CtF>Gg$0hXOOHyqUWsllq2je`QR{(*2SoJ0GNsM;oQ=$T``e%+6#e7eeSj z=kDQP-Re&vlq2_Fu=Q)sJKss9z9W&7u9}b!m_(W`7uAY6XSokj#$SjcPdJ^*y&}8A z*M9nkOawEA(>;-V>sG@qNt)iD06LQoSH_9V<FM?(-O|a-P-I+ntt6i3W0hKjQs1C! zBB}t;R{1sHB8Q{5&{>73NlYSYaKs{CNKI52-soXeSMk1O5oeRr4!TZ-9es(OO}p@p zioqXV5`EEdY3Fe1Vumv_>Tbh8w86737>O0{ShQvJiC({z6ts}!zoK7S5oQb}#qnq? zdwSAr667w%<{K6u1&s6g&+*bw>&XJu_OSG#9eF1D`c9BmpwjyVFyT-Zk?#F0lRpj$ zhO^E>5Nl~)U035*VF6j1hwXK;eApCa?4oUGG!}vq_}~0`Huz~d3j?{3jl3{E92bO> z7sDDSu5^11=OhN4@W8EP4ue$Nsdi=~rNWKINdm}G0F!aH7qb`YIO4ayU_G;DRYVdg zOorptep*9fQ{`v=(0T79YLj7u|Bo-%neJGydk`E&p4^(B?CIXmPnDD2mnDTqinTzJ zTrtXleU_I-si$KqvvD@4-7x|-nVpEBR2_trd>Kyq731k4s!6fqRQl`%g$o1kL+SkV z@?zI#dGovGY(3fwvu=3(acG@?bH9YY+#?wCcJJZ+BsO>PN%gsU=ASs6scT#i)7TB& z({+v0)_I|@AoItv@1N5jTkdABYsA?U2}*UaM~TFx#f(R<GY#1~dX27RE{X{CtPa{J z_SDVh-ye`#E!$aHK%V5EG%D0BBg#8m-6kxAwgx|}pR}DKUy`?d^{}!ZGPCUuawjc> z<ZKehm*fk18wO03rk7C>PEP=3+WW`T6CjUhdt#Bl+pB6e<IRaWE5}Y>6T5EdV>y*O zvZM%5GJOE~v$8CZ;n_zbSjVHx&YbC($a~x7Q_4EC#ri!j9=VRK0&!h)#k~{EiyJ;> zW9ffg|72Zo{S~?SY7yY6Qngr(-9wFTw)nFBo!u{R`fBs}UVf`7*O;*UBxj0z7fX{M zk*HsV)6YXydnhHij`C$HI~blD$?c9BUCuO%Oz-q|EvXK>GEa=k5$yMiQU<&0>}@U; zUKx+4os7?vRf~mocmY-C-h+P(j5GOEKLg5K#oZ6rtndQT8bL_mu3y1>#~uFq5I66x zH}OITuf&XB8IQzDEf%oWH9}&W>OA{3J5#k|cI)XPFc3YPhy`LFzyAudlU@}#w$nlN zAzgVKF~2}>)@#b03g`n;Ky&3>hM>9~F~AGa0nlo(;;P+ymS>dlh=^>~?NRbwC282E zz5D4N;w#d3a^9{CRFq)w(VmeNf)u&9d3n*)fi!!!X;UjtZ#@AC)vcn4V^WaWCbTC9 z>}=Yi#~a$1J-)R{=j-F;lE|hic?9=ZzkgrRp^AM*4%J+Cso88u?YC5A(JeA`FRX0U z8u@s=lgLf%1g3eQ$oT*24a{=I;&p;Mz|uR*?dqs`08pZ?SegNPOlD&kVZK-9K=`vv z*`XZltnxhZnWT6@tkkewh;;{UCBp|7{R5(d=@jdZ4)NJ+ugn6YqR>%;jyiFiK~coV z+4pN}+>5EwBSrIT{-Y}y1tRAgGo#ZHc3|4lR;9-qr`yr7fQt>yoNY#XDJ1&GaCDBJ z>+Q{i;fnj%r1AB;0hvN07T1Mv|MnW*batky!$Zz`B!0*xi&SV2u8WciQ+@2>ihoG2 zn1S@lmyQ#!pL>@X+1(J7zia3qQa8I*i9HrnVWcateqm$sS!jx@Kp864V%O_4&o<w^ zr+Nq8W^Pi|f#pinQTe|Uk-R$4NgPy5lo2g{MnIEjVpmKr?CbGCdOf|fV;-s)u}~gq z5JuXA*oQAeh%Rf`HF0uYko`VDO7xwA@`UKzhxJx3O;qGd2HPpbykCCT;#~!8+2%kF z5Hj*lUtce5N#&==yNtPl=MZ5U9b%aZ8T<CbN2kKC2*xvp8l}Y$knB1AQjcpw3<}S@ z8S8WQ<!VmlzQJ8xHOJmX7hb}8A8GVbQv#62u&om8sXb=%=Lb*+U<Gx)@E?)^P!&d; zoBd1c0(-5u;^6y{&Mg;h0n%>>i0>9ace_5_y>bJCPvWuSO(24Oc7*9+1Ts-8u9b~A z1kQOPQlP4+stXnM{TTqwX<@$~y1<?Q5S`VL`G%P*tFDQ1F{q^Js5oI@85@e93)pA2 zrfZdd<1hU?keYtg_1FzEDH+ThaN6ylBYhl5EK<uTm8t=sbJWq6_70w_+dZ1cH*ryT zFVh8uL=pfEWRz6z7~3J96y|l7mAxtK3KV5r7sR_%ZP)L4tBo_u3xGp8)%b}mp)C@7 zl*i-E&hDP`0987ofnpk{C$**Nbi8MhLEX;0&`V7wDlLj>dV)cXy@113LWDD@V5DpN zES-$taIuVYrrqL13!L34p6iq`!+n3!>}0yIL4WgdKsB2XgBtG$$cw-?A`9005_|t| z?FKBk_F?t!E81T^G9jagX{VeDFbjNhbqCgT7p8>*@W{3c%G5B@zmM7eEt~-M$!+J` z|07B<;Vd8#=f`q5kzN(`K{!^QE@`*Fa4qQ+`1JXOmhU@F^6zJ0l;MwNu{)Vt{tO@- z!I5Rh5<U$4&YkQqwD>tt_8z>~cXV5wd(aotsCqb;Gwpcmdr^=Pk+k0b04Nm=pNEfU zgbK<1t?T}s^*Icb*$#y_Y_+9{8tsQE8FgD-|7*RZ9bwd!lcDve{&!*R!Z3n=rjLIj z`hUXDz7K=1p2<5qM~J2wegz>}ub3R~`a6u6OW-5RT8UGW{V`O3rY*grJo$IHzZPi} zVM)7KwM4f>kZ=ZotO;l8EdCw<vKV$)s=|GCJ7n}LDFuaWK!C-Un9z6q_16DB;olFk zr0z=MX8R4&-~NXBPau&%pLgZI7xvF8f_+s)6@G&ryu`om_;xM~P3-@{C#88%s~k_( zTg;zf6W&MEIs1z+PyVJ2;EBIR5nc#?TsblJ2avX7=Kp>$+@1hd!hT|p&=%%?Yw9sZ zC|YsYq!#)gR>A`28#m$0N&ov<JD!?}Fcb^xI&)i(t2qZNQS<zk%#Me1Uj~U#OkLao zEd4v^HCRZW9-)XEJ3jDd!V&;wZzd3w+&<s*l#n5ie`d5}5Q<Xp)wniutsSrZUKGqB zL~@09UgCe+n(3&x+>$n2x%F6CMi{lMr5H8opUI0NKyqBG(v6B8d+N_7F$0)OWn{?~ zcJ<F(wuORuiQ2zXvb?-@G;00X0Y3n5?j!E1xjkE!r{G+&;?qR`nK9U4d{~GxqLKe& z&%*yfagB@DGya;c^gMoau-QwYwW-oJ(@ed_a>PrrfRY4_h0%Ds_qGB|b0`mhFMozc zFZ~e18!&%;^tL@o;4d`tD1oZOyey)q^Ps^#CqHEfWO;0HY(BqbjOHFbf;t7Bh$(LG zqsthmIaZ^p<kM4h7a!AqPJDX%{vW}?+ims$|51KuI$|iI2h=j~exc?<-i!UfywZNq zaq8J#ob)!>_LnZGVFuXN(ELXpw8|KoL-owBph50NH@Sf&)#t=~!NWTz!3psXu$8%O zEt~#jbtu$jg30@Fd=#Mpl#DWDYdJ}GZVAy5XcCvbq@=i|mY@Nppuyk37Yk;c(6YIB zT?e2>zhyMY1Ou7LXP?`@HSwneW;HVpE#>xfiRS(V`Ab`%M1QVQrSq1Q6ct6&@+~2| zKc)pZaye})EuPk$;uu8Ym>K%TUA2FYs?FdL95zYqXqyLnp)M*W9r1e0u;WlmQ^RRI zKOp>Fd`ler$?92>fTYrHsn4A`JnP9{z&(Iu(N-*2^nJ7S@zePGucNxRFeHa<i;(N1 zUG4v7-2rm=ZAK!(2=2>g(tQO{Sz-mE#4}BLgjd0hQn3^e?#?mS!8JsR7xWwwXSr+Q z1R2G2fPF@FCn1{+=;lX{#{QA%U(m8>_{lwpiR>Mt#Qq|0;gzq#Yg1w}i9OL_j)5e` z4p7^S+9iAD?4EjGRof9mGDB#5PlKLjrZwAzG3psvIhE!)TvM#fnS(xsI}TLxR}cba zfEUHqGArKe1+;x8WO~`xpw-u8r2uN}3}1PG{Br8N#)b6}K#KFq|455IEZSfg|HRFw zuDHQ;9fFqRdc%Y#d;M0(>IlSjoMR24pDjw^QI7Uoz3TyVa?WfauNI(Z_b^vA$Nzs= zEbTznK%q!GBo07&60RVC9BVNr<(pZSzta|GN=}2swi~^i_X(jZ_2<<Dd>$)*P6ar@ zNrDpL)iEv^`g)x-rZ5C4559QexKgtE<!*)%i*JBk;9G+-r%=b^Qj$`W|5I-rCti*H zJq{cccS(w%qSWDkL6b#IJsws%6I?R)wp+qVx0az`pbf=PoaUQCs`@*e1?~JAB`zGt zYIVx=d^>kE9Y%_xD&Ql4q~{oAwrTf87yE0czS*H3Vh)2k^D&G5iHJ_6`|xdfOujrP zUw}-qTTjg04<#j2BgyIK>`*VeNSN!#HpP!a6!nH2VM2VCWAd|Ml=D*WRL93UvXYE4 znjiFKAv^=Mxt`FDYzo;qDtN@8+1a1_&?B_)6<HixlQj@X$qo|Wh~G?E*Cj9@QuL+v zA*0-psJ>{qL$?ynhRdB)L#?8XV*+~^d1Qc=;P%J=UpXvQR8%bQ(+XIoLqRz}d!G?( z=Dvzg2`o|yCc3<>P;))(7#O(-<VQghS!eeYL)#@Zj2i;*B*+MA)<D3&!%YREIPlth z1+mEb#fgflk>?`>3F_{RS$x@#kS@^Fnt<4h7<T;^pbU{)+|#>UF5q{&2dM3TEIi*N zvjBjO4#2CYa@g)M19pp)&(HR`hZR1(wevY=z=CId<i(=b;5i0@2vy&=Sj|=EPkCeU zV_7ZeE$mbW<kE>A^WX6q-tUYW{(+F<`&47aKEV-9e5eOK8!y`2=!@oQzxh{P624ai z^Bn7{w-piKV}M_#9S{TR$O>6&eOJ>#2!H?28E|epLhUA~3w`DHlxh)59Ig*kv)yjD z-hHRe`>m>Z6SKEFt);xR>fGAv9h>W%D_HS+F%5{_K>7?m(AQ=GTByZ1fBJgk$+_Es zDO}J-AOOsnMnD^o3MClXZ@SdinFydc{ut2otd2qVZ5F_V1O-k>dvwwPca$YWX^NBG z1>&Z9?SH$CVh~FbkNqt5C3w(lDb(nY3HYGS6ZTV=(J_q41gcy2U1fkxdIZ!#U#-qp zkbh;KLVzRyJW=AufQ=)a2mTTRuv_jSKt!53;3Y65<hPS+mIn3aT~KV=T5fq!wfpy- zafksxt*=p9z-q$K{e*1{Dn_IWQxRc+8S;`Elze@*=w*Pmto~DBzYR3{yX^8WT)Vkr zdDZX2^0LMqA4WDn_B01zgalw`)aZ0Uw|gV7mFNSpFn1EmgYOP(6%jvuDvH(y*%2RI zV9Un62E!7tn)Q1R9F_J`iIV!ev`6S+u=vJ@RFIHvpP8D-n`{Sc5Lw};Xail=Na#Xp z1oVr#=H=;ov5m%Tc&vs_RjgSq)NYCblDE{>@`3%=Fd?I*(qezbj`jS?3;`rN3F-?L zo!@^hJ6w*6$3q)X6sX6e1E|q7ft>G={QE-N8?|36Rn)ulZ4if^OEIz#2~hRWScp)y zI8CTDVdcH?$7Bv7!T$Dk6|bs~wWesOB%&e}L6#&mN(lgvE&<dZtC<7aQ_&0fkfqK- zXgW5a9GlXrkl<}Q{b{i|S}N?JWb_UP@f9?E#ZB*X?gRLa5z$Yd6iqMwa;WzS;6Pic zK&x{mlu=tK@joP-!$9q_)a%mdxnn%~?-BS8F><vrxF5fFS2H~AuT)vt>oW)0za7~& zYGS=`w9~@Yew;-_3<87iWyV~oROwrrY51NR@ZJ{1QxJ-`)t(<4rEW>Pvtz}>8NdbN z`6xz>PQ@O43kwTNpla;^3;>1p*G@Rb$WY3C{(9bk5Rn{Q&@6Z1iCtNoG!bXZd89=W ze!vz%Dcug9*LCX$e4h^VB4=diHAWq<y-xLau_`5?g=*09#!r-EtgprgUMhV;OQvE@ z(7R7nuC3^g$3Sm>lV!J!4(j}WqcfP42}kZ9D$8Z&dvE1LG3`2`HjD(sM~a)%b}B%6 zKhag?ef-;gA}u~&kA0fTlke9uzZ?>81#@o<O;pz`4t)CZp<a%~X|<!L9Y`OKB{rq$ zNFfTJz$eYXF#D*^J1cEp+qv7}K!nk!(5)98Qj(S+cjBPXT>XEwk$*9lqT_@BwApTr z#n4drL&rHBw$q*~CQhqCOwyv~CBvcQFkh&c12v{2Ru5n3hd_lb6Htuq2T3}iRsBrv z?LqE%on_$AJwV$6Ij@kNnUTN#P|QiZf(ahYa?dGOfda`J=T${<SGoXAWC;!Q9SGZj zDxA}2{lbTU_@HD(4Y|jN2arH6CZBN;PzO_nIO^f%^2$7?xj(@8a~Vhx5;vlJdHwz^ zMF>W^@e-&FDphL@=DF}0_E?3hfeMjj-@y#DRnkcx@e-}e3^n~<bAdZ~$3&CtMsS{> zc>NKX!4a-hP(fe8m9;v?tt;)X;$yki=T1jD2<A(v*0pCox96bKl2`{Ak8waF#aQLG z4CW%js{hu3Xeu`$rJRP>da5^>^nGOmB31HF{NUOU=CrY#-io{%w7(7ES;;_oP{Z4* zzPkgEsAI*u4_0rayD1jV0ZF-glFq_N<JsU%z{Pz9F5wZ|W)paLeGAO>osi=ncFWX? zjEDgB(Mc$c8UQ%!;Ifp{ii{nEE~CxyzO+Ie|0i}!`m|zOl_95}xDz%%-n^t~16PT5 zC8012bi@QqB@Vk;O+}G57@&SbMSFVDb}&Fep=}0OL|By;Ko7Rek9Y7XMJ){Uz%G2i z2P_DN4o07VT(j-caHySeL29*us|A2ut9&br$~ppyRTlEI3oyI)wZv|ksu=0CkjCc$ z95ZeB(NlHe<`;GRz>b@0!Ik!XriB)WV=`4UjDAx4z4*5$i4EeC>Y_7<$_rX4kMbES zAHB!;TIQ};V>O%9>~LKY-+&&_ogiuv_Do;~>qI0OV;i6YjT8qe-(~qM?+ZojLcID- zG1BQ9E4Ys3;V?Qc01+}AM^qZ)Ki)|#$Q-Li3{1bsEkl9aQrtgqWRQvCQyOAFpY)@h zFS|3Zc8mCj-Mx+?;I@>|lxwI?aeJ#B$E3Fx3+kI96RPh9$iR#P6IwcgDWx;y=}T;Q zu5zg*3_Mc)s|sJC6x~JkEf&Qi4B@@t1sKGC{J6^t|6V9Cc@y=d11R;Ic5QG#7xucc zFhFSx!*32CfTCDewP)<ul}TW3+dsZG#8;F8K~&jw&!caQCKK}}Qb9`y<b|1teLkbc zt`G2&4Db@q5>(Ay`mgX~%tvP*RUJVfBAVsVM7DZFwrr#^+Pw^0(C<P-k&4NOpbUWs z1rVir{zaDXB+V73i%}m<&m~8{57?vQr{<WmzBVkv7qSWT9J2E`M>ID&vZWm<!dVDi z^f$<NA$RMpI)qXON&|U~6w64Y3?AFO+^smW@*s}FPXvs#qoVxoY8^?Y-ocUQr@WE@ z#=MlMrD~o&=&Qsw#;iUEI8mLd8KZN~KW-Ulm4R-vteoIIEZ70D{TSWmk~>&fMW8$P z2xuYpXaqBV*m6GOrjJ33@7Y)46>~B<Z!?7ofTmi5mAwaR$Q4F3R1wFth-gOjX^v_B z%?-&v!Ax$F*naQmy|Wc^a#F|x(D#b>T%2m;8CJzfrnCiL6q1YygWwp{fTK9=@_AOq zqyWj=ipgE?{$F!i&L8;-{3Y6p8T5{tZ&jn4u={<uHSeV5!<2}D+yr-LJ#OenUAD+< zv*3gBEi<tds7vRAGVD)?+2ZW?EC%4#(G^<=z-8}*6?{O%mI;4}EgM=nJqq28_LzhJ z$-g?+C}jlRL7zXq{L1YQZ?%oeF0<_UIyYaw6rFU&_T@8aN0yp-*|O^XrM@ZfIE)Yy zR_%I|98Jal15!)EN<?aTk7sqmvmy-_r~UW<!JiZoP=XYyF<HF{>b<%pX)}uYcm&~B zC48!TVYZqIuPVXAX7z*I!r}UcK*igNy$&@z*aMf@$C-O0!&`bbH>}3pur%u#yyJ*K z4k*<R8o9}BaL<0z;ny3ID-?aNEl&$NtuNng<7fN+lLg>bMFeW!x2eCjZ*HX*$c7b6 z_R5Kk^T@R!plrD#Y)+Te4Io=|i{cS81}AzyaYqH_%TTVdLFNb7%_Bb><3rr(9IXv3 zT@C(5=kEhx0XXv*o}eyNT~bW<W>~?jvtQiB%|*g{A76yi6W+VV{Sfb1O8CP`rgCGJ z7cX8+hxuQX;4WXgBSZ1dKkE92lw;y!X9CZ)9{KY0CH>2D=LloyZ`L`5eYOe^2<}R= zo9rr3Dl8r5Fpmle7!J<Ufha1UOZW9^rCeb@P+w_V0SZ1B0_#-%I94TE76Wb!Rc21f zpgv(fpwx$5kLzBEz@wyLIq1jLpf2A^`s%2Y2mpkFn!Euw)^qG*^jkzY35}%9&{?6B z2=trA;JrRU&gU&xl`3E~Y;)u;0IYS-vdXy&%9{WaZymno@#;(jVWIxFX~VRSa{ypl zT+H!Zi7I^VO!()A`<1gVH}9*k+aB<uXxX7`Ae_y|K>Nb_WVfho883H)24o1rsC3_O zTTLh<;P<L>Yh8((98k`u1uC+fLWqsj3>V(w=Ld}RB1qm#slQJ+E!7KlxHhVRl=~+N zecZK=C|-AE@u+?vtsXA!$JQ2{X~=o(4N<sO=97^I!zSSI9B6%UNFyu<rDLA*^!0$& z^wJ5EAhd27yedlY_lN#8Jx1=Pm<Bl+9(fD{{`$(iIY7zP?7hjpv>wXW|9Mj2Z0fWB z_zj=*Rr6B!LEpl@x{i?&U&=&8;#^f3X1~w_og!~|?ugjTJmLf6lN2%kg+eMDx(Dik zaoouaetG;^fZFXku1;VQ+KUV2l2pBx`bypNPI+A{=^#`}d3deWlhKuYCO~X}B%&Kz zxWKbmA+quP29SrAZLAcnG$(aJurbhj>#d!LQ9Czti}Tr%3kTXiL|6jxs4Xj#i)B-q z*<ht%z-^K#mNY}EMWDoNp8izzV#lgH7riMeP9sLMe`{4<kzWK(<1UEr#!x4O36;m7 z(^$7032B6+p`j3^by=WLiY3+hm#=FmSNVyuerb9D^}%HA#pib2Z`!j|&esX89}{GP zeXVC2EMNYxFL5DqWEuf4V%*B;3!{Qe7m#9wG@EHs4};%09KQze_X!6>d4$QzbGcA> zV(>zow^*ss+|Tc%yElds3l<dJX}L$2z?8KWFBJ^N9;VZv;_aqnQ~v3=R7#f%aYxj> zz$nW<y9|E0Pll(5=vbs>&}xPsCLr6-@bPnPGo)NPfkpQ2%PMZW5VegNzjZU7cx%|@ z=HL+ch2%ox$~OZZ1p;xRlrWzkj_WwJJk*<l7@V2fItaxC&Obq}OQ@NV`O)t>Iya98 zsu+?wM`0l%p5V!6K^Kp70n4I#G@G1*@8<?`RShbZC!nk2SAk-Bpd{q@H=Po3f*``( zFNkU9gMpfF;w5w9*XwYv&b(@CbCkrfq%MT^<2STt7%MrFC-x|_pOe7a(yGIVZ<A&A zP6d7)C--GP*p7dGVh-UOXzk71jDMRM7jTjuAATh0o$<_FE)ia<_q;6Kc)b0Fgzi24 zyS`Y|<Ud^MB^&?1ptkXK?aXEFbh7@B{9`I9KfJZx61ueFHCS34sG708dh<E`tB@0> z>F$H(5VItTRFDZ?xoV!S`A&j&`uf<5)s4lX$vv_z??z8`2hSgQw$|Ev+f4T@Vjtt` zyVOcXOe?@u2%O-m1D=B+V@Gc}M2Nk%23KR5mMI0}DyBq|z}|T_%)TGWus=(EW_o4@ ztJbx5>z*$mUwwqUBj!jOefPgw<GJXbL%J)MJob;h4?K+~cruw0kAQ&1K$H5oWe}Me z{nSxj!`8q6=F@xe<UWlb=40jlc_R8uh}A@A8@gKN)-96$x7-QIN3=`WIN23aKVGJG zxz;yRF8zTewlMiIgTpnla>>^@#}yxf8Z}RRL?;3_IZV3G8>WB1-o}~YE6*F@iqG;5 z5sI%%2F=lRXtI2NPqAYS$T0Q<Ey3sO{FL;zS3p)`*JV83*O}e622h6kx}u;HGHA6N zKkDTZJB@C4*lm>j!Ru1xvDnSFI>({H)viffJB`Vr%|a6iNWOGI9_4<N?-57p#?jKf z56%d1Ph0caT(5X_Y&c9IRD~$-{BmNf(e{(jf2H{ePEW-J+eP@IBOt0ksQ!ia^Jn0x z##ym{Aw5(zP#>%@;;(FsuPXv9t`-VPiolsMzjrjHZyw;K4Dst3&=p}Dq%r-rw3Ek= zT?-(a8xK)~hvkiOPy_k)BsX&o)zR0TtUFz&4Y#4Jr&V%Qr7@q~T8gb52cvK$drgvb z<s6eYTDPWicw?7Q6W9c1--#)qt4C+vg{^&w$hrSq=o3xZ+jdq%EsfWqDyP5yENP+I zJC-u(Dv=~c%76NMx4eFt)>r56>!3_4)LsmJ>Kul4HDS9!-_*Xci8maGD!dC^4+p!2 zE-N)Fu+P?ga+#R@JJ0@eQ9O{x`CV^Qx5SY^VGX5$^_i6Efr`~c2%st)ChdC6)mGcF z$|=05`XREca|a_11yQO$J8(=7(Mzu`*Evn(Jut>l1(7Cu{6I}bpWHg3{F86#N8OOL zXK3`<&dq5<bhB4hwL3Quy?CDm&$1{F0-gNcXM>s-Ezb%fWtvqupO9bPz?><gFE5Et znAe(c2;!+8$BqDugP~np;(LB#KCu$WkNyCaRFsX9c&v))U$NN`3FRRIPg?6<j3eK7 z?QGAuKPMj<B^mrf*3BcY<g%`Tnxm(~fQkOH4ySVwKiP*_Zsn71*Kwz{=?Q3AFjUVL zQWLrzPl^wf4_gHS)mFhgh~B%9TD}wXx{HbYvBsPe@Jl9<s_RGYoL?Em>*Dx+lQ%Ty z(1Nqx*rjy)DEAG~3&8KvLuR>*uFhJYaA}Qecw6C{CsJdfWtfBVbaL*Q&0uO9m1PBd zSr9|`L{yNmS?j^HSLAT3P2Zjv&;Y4ePJ>M1xRZa?8BFRc+3R9)Z_L&ZM9<?Lc$pU8 z1Ie3#iK0!%tS2M))b>6bMzM(iv=O4C@&mC+Hs!vL;3NtkY|b=N;!`hnX5@PefbI>O z97r^FI&H2(U;VQW8z9a)Q2(YIHs8w$C9Wsz|7+_-3C!TR%=?aBLsrn4@HB<GdkOF@ zHlyZ?39wi-`eU!{zzv$iC$YpH<2U<=YC~pcUM4W%x9+xsPQ<Qf2Zev``LA`D)BSoc z&@B#;3XE|$p~%<wwAv1@LX_b4by57Jw-K^sTc>xGfXor4oHwlDrk>*hYXPXYxB~=M zu(uTgwo#z4R3a)qAnCJ8m|YG!0Ep*tJlQ9ppES#Qy5BGfn9mWzI=dBcrmk)=fphQK zIj^hX$I*G%r==o>MltHVtLiwpbMlXA@R}^qol=^^H_TadIyBsAJK^S-AFZ#vAA=TR zRdC!x;m>a#g<2}tFpN|hN-ek3u!;t(e2_!Uf-P=KB0><{X~O@{>gh7UmdrS8qaueM zrXRfP`UFrsZDvE7EgLQ|ss>V60}=xDCv-t-x{f4t!ktJ%Zy-GFt9P+u69qs@ZVV2? zhBXj#7BEur=3H@iHh{O7quUBl{t#$s(@O~pf_H3DIClH-i1N=5O2*J`iFAMfNDl{4 zoV*Az&FZr=rhSKQ;)HoaQ8YM)QP+Z-q<nb&@$?z#5?Bv3pL!mA(e&ZM5;(2cY<%&< z<aeN}*lR;n+yu~BYNx_Z{wvOVgmB=Qtgeisqlme5D*0jAe#mp2cBlLfzEFX8$}GBw z<jvLL+K_@?1b}A~g!JMhPZ@_7TUKB(SUcK41-Qz=95S{wClF0?kf2Q}B+@^RR$tbI ztuP;SFx-L<NYj%X_@4Zf#scRfz28$bvp+x5ZAj;jt$t`ho}6eGxiy4I`RnY4&ge1@ z)pKr)_t-8Ubym#KA9PhkU~SD?r!zmxv%Tnvmt#+Q<#PQV5PquwSyEi!NUBy<XJ?K% zEsgncNPLEhDG~Qk3X30tjPFF9T%vM7S`uMqeXy8+24wl|jw!eHjdo<2)N<b5sfoxi z`V8PKXLK@U$ZYMh;9XBc04vX3e;>T-tWHSWjVDu4(tNFRj{~1v0q^J)4pK|<M{Or= zp!*v%JW40)BcAbn@rt5of0RR-_{vf?ad!>xfkJlBgX|-Z6m+avl(RYPYT5i5TREKo zNVc5oCsA5UX_>Jyj~j*zeed3bCxV+j5lMJHJx7qjPWud+@&eM7tt7HmXf4A}5V5G{ zw?<HF2TJH(3TUAy;h><@2-}a5;SnG(Zsq6FpuNJ{sLfTw%iVPmLMFKy71<7?V*mVv ze+T*Nb6+}gc<VVay!b5BVn4O;Ic62uUiiw!sAwt5QMzBJtRf=!A8hD8c|wBA<sKA0 zC7SS0z0&g0^&D(C$Hkfk@%@UHKVxUfjn=Y5lK-A0GE65tqq62Y)30ThK8*2T%l#T+ zT24KI?$F7D+=a*a`0BsAVrzTU+z^%dQd4n{XWPeb;>S~BdqL^<?}2$PT15_OeXtc* zx&3jT>&2GWn%<Vu<fV*y?KoSa&FFoj#sM@eTiZ`Mmf&NbY^>Gw@k2W#9K(mi+d(Vm zv@Ipja5SoC#NuE6E3|X)t|PAE0l!|Q=L0W&Q2WE-e>BLsvv8IxZz*B79}uI5-!K(7 z(h*;~GiJF@4sVM4sT~`;J$xStc%YAiQ`4m#--TI0dvd+gVE+Er(uIFPV}Dp2r@CV$ zMG5w!Fb@;{UgFoQ4TLvKnP0tb_;>7ruo&kL>Zn}X{wh*<Q#`40YVMX*{Jla);7xHa zJ3d~2xn)G|??z!rsmi@$JHKlb<4mAB|Jbkj#@1LdsbsI+<P<n?C;wT<*SEn)+`n4+ z`^dYJ!@D$s-;4h<_S+Khu6q;@*0(=vAqHZwFpqD(yHgDN&%y*<d+2$jw#ROZ#%?>| zqj-L&M(IFfA772{-j?(GH_qJom4r%uJJ*>EgTzp|`^K%`Gd=(_JR&A;vvY!1!=E5w z(JD3n+A}&x?mB$RT}O8A8F|<Z0QtLHx_zwTUcm$7#=T+-cFG|Gi9xX-ZPahuA!s9l zv5$SVxV&S6c;q+H5}u^Iwk`JOqSNSsf?PiTs;GNl;o}eAmyO>3DwRVZQI&2>3&kBG z4aZ0B9ER_j#INlqiMC(uYSe>mzhK+bY&rqk4?0ZZZfuX0^(x4nl|a>R=LE?x&taj- z$wGdQN)wGe<;Q)=9nTXb2=s$@)l|u3{5r1}K%&jlHFDUUB0c{S-gLx5py}xLp3!Hd zCrQ#TwA0Vqc~)7`S@oTWS~<D3u=W3e7@GfEvM~KeSYHo;qvLVq_fqK6zyo=HC1tj@ z?Uvtcj=n4BX55MG2j-rI2j)5v5d2YrNRM7YrjUW}O3k*QV;qsNHtb?fY>Vlau=XNh z4G70kZ42v&C<yDwV~Qq%e}}ch?{g;Pra+^jxG8&T#~y{)7A-UdUR?ICX&;4mQ4=li z+%YHXQ(^b%D{SQEZm%;5Iyod=cPzG#?)C)2<Ip-cXGy)H+7d*}X*BeYc@dfa44n&x zKDs;+Ke_#cn%gk+nwK&@J9W`>(GT!l&ALy{|JDU0XrUPnhWz_3aU{{muejXp@8Y=u z-^F7k-psH=44Ct0V1ho~7kQMn&*}_1t1}ZX6t^SaZEYYOhR$l;Y9hd3(H!49!_m3D zOIG&RPTO8Z(NnNG&4jw=w|4_Q{w>%JK3A`q{v$2Gw;K3uzRmsbmqhQ2V6J&k@)Ia0 zC}mkDC}zwQ!l~RWjN7;KQyG_G>=~wX&BWWggOef~7(!LR<52--Y~|I3apYTc&W$uW zFeBRxwSU}z0EGLb7kiyKvn2ig4WCySlUp`96AQ^>7JofOS`Y(HR4cSs)%8W^K<>Wj z6%EgM)}VitG8~>4F!Mm7k8$MNtH_QI8Nx*9aBsXP08j*7qP%-dOgqCh*jemoXR%8) zGj8oH=^F%q4IIwM2d2_@!3B=UlLt~1^C;%a{~Xh+;mc@MmjmLiZ_oJ>Lw$l0-(rG^ z1GA0^R3=4;^2{3UKK&)e?OpWV3oT5=1D@@5YQjUXZ~@PzGy}~s<jX@@hWrLj`G0xP zzh){tlL%5_r6Is}V(?@Js8f8B4M@(v{8zQjARA(H5qJLA-nyd>9<Xt5F~<1Y+cSlJ z1_>Fyc90S5gxj4IN(&xf|9Ud$7@MJ)nN7Y@{3Vhz1aMRFIDi8_8X6pgD26C6mHY7j z@<0lB;Bo-&<*x_cR9~4JF@{?cjLTjgF$U1PF*xn<pH<_;ckY{$(zIyjdaZtZfVQfr z3VG{d^#zOOp4%g1yQw_m-bZbF@V|}T$@<gyiVdx&?ayypl0UEi`9)ffpd~SVZ>-SY z$4E=!Gs`7D0lp|R<j<}`FYi{m$(K!K6k_8|pET-RU&6x@&Lo^@U!wR46<o348DpV( zj*asfO80P!{iS!{nBpe|=0%Ra{=KrI3<SRHY7>l7p<{6E#}CCU<8hS9%6&4@zh__Y zsXM)2&n%^K+aF(M@iHe?x@5YnoHE!r6CF8hK&)rFe9@`1=%Q2b2|w>T57sbW5muo> zM|=1ea6ptT56orT+p8Md%$QFdKNTLrXA+9aANjPOBgEWu8N}SOGq5evB150dx3}O5 zLwJ_@AO9xK*V$0qXQ-t)ErB~dC)9S72@Axi*k~!b$%^-ym}@MrZ&pejAAD@Oku4k+ zOT9T@dvSIES2lht?@7vFLeEeI)&nP==a@3mVzT{ud{OJn_V4qNDn+lKaOVKe|G+_l z%<M7`syu*1*j%1~qf*c!$6&FY_<>#DM1!>bxL2IWpB1qo$_MRWT=|{})e;gR`=o$( zSNSW!*`ar#he-!YE<MECx6Hy;P32aa%VOy0@15N2>g|EcG8>8>T=XH>RN$W-r|~W8 zugS8W^(as^$C`|D7PT(O^Unt5Ig~Tay-Pe&?rLK`U*VF?QsV%3!*ntR8TMzk>&GX@ zl>8cnG!;R5aS@ww+9jsn24xop)ldtd+=~uM_rzT`jVp&(2@YIb;|PB5cQO80*r~(P zhwll?6#y3looeHZi(|@iX{t*puY2Fcu#gI@%%&Wxx2qV#nx`h4$dI_O$0<)0_Rv{? zE0h6yvDdlZ{(KBG@{XIwAL#rt>EVt<;cYyo{a5*P>*-C>hz~_L)4%c@ER(v_Fj{(1 zm{jDz>Q|S|e%za~{zIwJ*A)~D>{8~-1`|%qHjWan9(Ob65iC?yT+bOzS&C|*^2>4z z3Tr7$uG463r&^t!Zy5EiGWQ~3AG0Zdh|OzQ?YF-%`T{wgPqLcjepwvIAGMA>q&@}p z8^Qe<ukNUmuZD9*h#kt57C#$Xm~AgJD-+gC-eNRPIzU)aTiI_eU27kIYL2PShRyGR znsQ<6a%>&hJtEuRTmYklxJ+JmQx{Dgt!e&qI)%;TEANK|{lw$h*?OARnsh8&ER=#u zFP03E*#fIhD>N$6e*I-5MGKH~raF<n@_T(OZab@taY%0ktZhDw^j}@SxzIfjUSQI( zc{`fS&8$;GxyE5QlA>m~Zo0fAm{6E~@O>7isfvc8a&2v?pi8N+d*8?0($oiPW9~L) z&E(}W-IZS~&V(p+Cwp-O!|;X2%#V`d4wRO)(D`a%?}j>UkS^K1{$-gkw)9|#g*vt7 z@BY%xqyEKk&CEKR=h2u72Ib!5<b$WzsEE&feQ4@ZdZ~m%?_!m~(|t2!<p)cBPxwwB zxw;wIe8bY<#{H%+#XuDiRwsL*86{<TUMLJug*~$$a@P>|#tjQT`BAE{kxW{0ad!RI zTv%kEd*3;w1@6KVM3gr!emZsFom*OdPP@3^Ad3*o0Q2(=@p$jC7O$8Xk-_DPa3QCI zX1}-hL8MpR^F9gxb~Zx}6+dWzOyUr*MHfPK_%!2H-2*3>JLEC0iR>E-2YhhL1C!20 z`_dR%{Bd!fzpXzpoZh%W$=HxTr}r9#KaYVgU*{`r@dSPf-^1r0%WN8Wh-yxVIPGhl z>z};xdwc1J!1l^;bZ-{<y}dN?kB&?L$nn9uDi;F!l*eqCyTQiGX3H8O8m%+#rW&mc znj+N{ZmeOf?xk6ghC^ou4-S+hH&d0nYKTkCmU3#eR=VzZ*GkXh7w0_p=WMPCeYF-! z|FLbv^h1i<GrBL&ZwEKXoH-Jq`-2i8y>epL(?h|_rmbg(me~&{pVs=ITBSMCm%&nN zPa)|acE5Xuvj42l!6Xxn*;uXv(JG}Y+T*WgW&8$H((UJ!goe)gWZCYYepl&^%}QQw zqIPRc)Nn{!C|{1Pnvqv5T!HiWu2M<Jb?Me%DNgAqhRTWR&wAj{ddv%a+W5V{X({BB z)iLNY@yi5v=+%W?-<D`7E1UXjmv}!UpwX})4pO^mSCVhq(NLT4Y1vhoJ&}tgej}-+ znA5lX^pN&2g9veuiNzNi^GKz_RugFNvjf1-fNsdIutc;5d6z@Rv6oKc*NE>b%>+>7 z^nx%z&&M5VhwH*74+=B#U(DjzfNam&=Y`?p!S2EdU%YODn?|!lc|%a(cH8$zalgG9 zwSbCo*s_CAKA$x2j`Mk-&o@aC-hMSamuRY^5nVts;zD$?I+|P~`x=dGxrd@!joc>l zz{YH-GO)B$hY_gU{&i#&-C#$sma51d!Mvn*<}iSitTC97wgG6wGlP_0-TrJcV;_CK zvwJ&h_<w4XdDmAFsH1GvF%ETSTu+hHLaXkFSEmohKZo=n8D@q|wDqAPPefgFDR*sS z!#5dE1APYxR=O;ngu?W>?85Zfs1{(TG+k{N6^FwmE?~0#=ep4W73%#A1NN7aRPa5h z*ey~0gCZcJ?&@HPD{&VjqTe=dLZWc}OQgi3MER7H)5mS^sB(UHHo0M6SbGV#G&lsH z=IRlyk#DvCd5&KxqU2+U?TVHZqQLkfcfD!`+k7pYg@8kH6)sW9z4eZ9c>ofJR)~y| z$}nR6b=?I~ZT{DK_X0TdAiZZ4ZmJb1zoe^{VbsAJU!bL^6j8?`_KLl6SK37ajg%I7 z>kUAA>A0Fj*(^Yg_EO1linEe;#wY_d2}|~p9{<S;_+gY6bTR}WZz7b8UuYc$r77J- zutZy0hR^0P`ywpT-4ryYtT1br%l;vEiw+(!5m1o!!6KiSnLceKQ99CueYDdwz0l*Y zrkLBT>1e<CiDW3cnaa<5R!JylEqgs@hN&=@kb~*lAz4OdK#!;tF?_BL;G*3(eMi}h zzV}LuEGahlUBIpJYd5v=Ib1ZLtQCQSJ9|WqR?S0=#e4p_-;mRx%VjS_*O6j(oXD_M z+(+PV1a($yCn^~OpUWiTt#sn3|29abK7Wuq9A)zAzPp?>dPc%Km1dq($#>>N#L*k( z{4QEY`>*wC1sVXgndJjJ5((Z0;CdYOMwsBwk<{EIaAg@?srx~zQ`bEoqdS#7Sl#vO zFNT0S!W}5eh7n`oc)kb!L9IQ_>%)>S4en^d$pz2HLQ!~jVD95AN771IPq}Xjr$`|k zrHNy3=ob;SU=WI;gKyoMy@itE1)BuVHQ%%7Hm4l8F=#b~n8MeRqx|w$A6^?hA@v6D zTX!1$ujqbB0RR@i%gyEVgqvJOtZVX`RSns`dKg#7PvmY>tP=5_j;CVMo=uPC+sxYY zSDyS)HT;vkguOiT&Xe{F;0f?O`bvg{{#g4mA8^E_cOw;o35sEBV#njo0)H-c4D*`U zXSOxMVm_zNp_bUBUiV7c3o4<fZ1*b-$}Y4%)b`edd$DhiQQDK)UwC}AktBi7#RYgU zUxwj1z?EOe-T9a3*J$|79xc3P^#A^b9lu$kSa`#HIYl(4!B#vk;Z=G~$&zcf@_Hr^ zzA*m?tO>ZWZqmMPQfn8H8|c1k;1YKe^}EL$l6~r_Y++*0o3l*RlA2wjC<YGCey`^< zI>$X#)knr{`o1z^+C&i%wpQwAd_GviOP~RlLwZqpX~aDn02!)$;J-7*$vC7QTn*Rr zD%~7#BDwdH3^R(((tNi-Mm{Og)XB{{r;Pzb%Hs`b<WF$h&?o4yC@0pN`Y!*FNG*a+ z)Zo6nCOKhpeS1G4EuG|n*Yz)hfFBh5x>RRj4w?j}+y{Fg7u*RY|FsJc36gjoxU**^ zj7_0WST(!JLboUr*AVgK+2sDQ+`uM6`~?9$M;7T9@t%9Gm~N!cMYZURbBC>zJXUsU z&+*|AnUGQrwfA-BCLS1QXmE(?ElOWAy)+E|bFvgmzes$=TDFL(?2k0Tj|$m}t8|M} z!;z<oIj=Hy9Mx%^hGq|2Jc$O`?{0L0*2$V{8j81<c5_<ZrXGlJkd-3+OuO&E41XiO zSg)3%>5^wykM#fv`^~HVORbvTJTZImPEtgBei&Epj2V1G!ZC7{AnqwBRaw)ZrmwbV zoL^pI?}L&_-TG?J=0b`8>pdmM8U@jH#a&Q+>h+^{vpLM>xr>gCkeHuTaH`ml!S^OY zsZ9W2p;o`)f^<JHgfQC+yS#)dURDRt(saQkX!jZvY79#c-#o)HJaA?rTTLXS?TLnL z%dFJVq0D3LtQo<akpH3({URhzA^%#0MagjEBaZxrP`12i|EbwE9is~(QY}y4z8sfI zSsu79Uj)|Sn7(dVe!qF%<WR-Pr6gs1U4{!b<<|Xhox25KuxI!74^W=^@;NF-?-;|Q z%d5{*UbwJcNSHGxz}$Kl{Qm0CuOAs{o<xm!KcM9`QQ)OEShE^!`i2NgjR7vSI53W2 z8y#5^Caz|1;?qxq3#0h9Fp(9Xh`|3<E}*@;5Fq7*buXT~siiq#Hd)LVRL6~h(sf=@ zIr2Vr7Oo}Dn}mx%osmF{@LR*(^s)L(F?zks21kHZU-Dd@gl35e54E-b1bUr!j~cgR zybbj^Q}y7Ht4g}T_qT&SO@bMbo&;t@@^>DqJ2K#h*w+}}vB~3|S8QG5@OqpwA3d0b z^AGb4<Naa&ipc~UrAiz`S5D5BxskqRNjuv()97ZOcwulH$P_hZ!8<N%Q8RQ*WWWj% z$V*ln)c{1^1lWVccaKbKSop6xKix~-eibT{8Q9jBvm^Q31Z4E2Uv<Blau^fS(r5t3 z?Nc!vDTyG#dlsKZ3a8!qxhD_^J!!fK%5O_rk-m&jj11>Qi971W%Ly^&_+#47UgH2u zx!A58LCdDSQh&T(oi~>MRX&z~;kpGK-l@PR$8~~D-3GcZ7<f>g*vIt@VbMj%q|JKJ z-Ms8;4Fv{=&5j(xFj9OyBl?^<(;mfjk}rv8hi-c($&KYS8#r3me9UDDTb8IXnfIr| z>P*8vxMjq`SUbuilHgdS<0u1WXQ*OcA%7W;m4xYoq~)d~ZUecjHEVFtY(l6c;Ucv? zs>Nkj&pc)Gt#b96-W7Nm(Bi}EOB%2ZW_dG91oz94;!(Ib^bxCl<=v0Ln%4;pXUv7d zWy(phIy9T8S){HaRpyQgy=ZBLTOyQ0M5`bX8n3mC8?}&h4)}mNTDqPzN+{%!RDV6$ zdPVFx6)U?+PURVAG6SfKFIHTmQu#shVFP$wXJ~8>Jckl5uao-0et@Pv1{cCi^4W?{ zhj_*v0{wTpp6+UV8sSb^&h9Fnr>bbH81#}=&2S?f7abX`!p>R{J6|yvWLtndmULWX zBwxlx`pj*1uU*G_JK^X~0E&8{y}M8H1>vRoFFnvglfQ6KQQ7d*DY*iI`mczUd+joN zE9THRJNL%-l`BC9FQ2VI{j4=g$-u|(jMNO-MdUusTdJ~BVa_uqKNuR!txVNDVs%A= z3ZsA0`8pYmsMAVg*xK0Z3<qdPn}7?~XReT|#+fxsIk$<r1n_k}eul2u%M`1gL6&C% zYNLMTs=l{NiwkwU^vI@*_k5rUrZVHytUYPfaIH=&ZR2N5O=nDk?W4MP_!Lq0Kg$cb zI|_ImFhP7yFO>3{6^+*u$Gct&hjeOuSji3TdN8hk$>}@iBD7jQI?&H<g-bUWFSPi{ zm}uvhNfH;l-uKX|t;;04Ok6Jam7V3|o{PGVpUuT`QD)nPg^qOFn?%@|Ohg-(PT;aP z0_^uWIG*CO{@|8YVp3F8uQFe(WW4;+XF@!0!D6?qg_%>nL#mzWsC(jS?s(UpvnGSN zmgl?AIhj8;u8-X>*f;6jrAKU<Qp~{ij*-lxDtgcxCnX>iFTz^Tx-zh)x2`uj56;4{ z-h6aq#eCT?q;Lv+SL#U1Jo$gTJmvg(797^^h#AuHTaXVlS!I;^jsl{8z{ocB{+o+A zD-5VUTr@`>ln0knhi9$d4(9j$<On!IO9ZHlOL1U6g-+xM0e5r#6Sug_1p7}GQ&u`{ z%!YLVi1|j51E*^%;|dg{&CiBBdCMoQD1EK+KJ)@BqZWXTVzN=VmUJXBXNZRV=Z`|f z<2xbHv+T9HkX1Bpbu2E>t65jf$$ZveqHh@6x#G}$wyN`o6;<}WP`e%#`^pyMn>}pC z3Drdx*qvTykn@Ji-LR@wT|f5PMpwD~<}|ap!|{?V>0XPf4~<>T2PMs!A0&pFuULP_ zUtAF&wm&A>?i9Y-&*qRiFA<bcFSOnsm&-fR_I-V@makKQj%8*fj79aQw$qZ{2LjbL z;wI}|m#;G<%44qI3t3K-{UmyZ$*FK<U_o9L+^{9(b(3t|!|Jmmj;9A-42%gT*jI}% zIYlhKHBeNYO`x6eI0dk_JCe#)T^1ya=Tq8VwBd7GLkF7(a+&(iKbQzS>FnHiM->`| zL`)GocOLW$7VM>GWKSk4Hw6m6rNIPHfuE=@rQwT0%nC&+MV~}{RHFhYx{AnZTiqI| zfXK$QcR{j8KoPo7+!*|i2{7Nj$?>Eoj#w)9tD4v4EDG*MX~ls6^~E!x<e^7$d{1#` zRNmO=AMeOC>mXIA8!uXSGmfrHm{inB&wpGcw^p}4trkC)`eY*6lCf^|@~A(R$dpaV zW~jY|<ie9-jbo2W>$C~v<hnO~sVq~>jC;m;pHyhMXcgpUEZUGgT_5j`ok&;|{^m=x z+e(Q46!Tc>Qic-F!kFc)Jps}2i?i=$0@QbjjD&j*-a1cLp`aSi%w}Sgvhc?HaqNt_ zL!NeLOR|yWdh5a2(>~q<=S;Lpk_Xc=V>aVMrH*F&SkGEL>2w6oH&)}N^S5~D;;13c zBhwFgTtd{XeKzmnhs!U^y<Ajm^&jF3QV1RsJSE6XSYU1WTqjzRQP3vSy4<=2h2giw zL{I%_cr2T6vNw6qnHP1BcLIWCSjU#*;Wu%T4}Q8!=>}NIkE5Qu7K82TxQf$?xjwVd z*Adq3ue+nW?_=#$x~|n?r={3p!n1vOL5?#vi?i=CpF}(8$t=Db5FRdcYJF{(*X^HE z%&Jt_5H?w0RA(sI{=nps@43Jro=F)#iy?hXbD~n>A?t)g+68)ToqSwX$BR}6CA#j~ zEtorrXxe41*UMhv{z1UEZe`1>c2soAO~7ofe4;Lz#7gIQVJxoWgP8xdzUR(F#?N^_ ziyy7^IUy@E7puZ7w{Ds{$R%Q^iC*I4NECsr43(l9_=Pqp*epwby37j)hHra!$c)XG z8ho+f8Om?PDHT<Fcf5O`)>-~=wqg)BZ9m;#eQ(ZlJ(4xEwWMR{3&EbMhUCvK616~% zl!MUEsvpGj9$^P48nT6FKZWo4npVp7CG87WSy~yF8>@UMf2dICWymIChE9QtJezV~ z;^gZy&UoT2qg<!ZeOe}Un6~5hgKoT{@u`Uxb)e`~=nd#?YemScv=Xjorb?j<IWvbY zYV_bu^oH=7jd$>-=cNvY&!>`HCgWk&3?j}d)yC!3;y#5)tWLT#S22XG88V%Ep=+FS z;1D0{hYT%o^6$qxoZMA~LpSTkT8$f<6*Xma*s7z-Fdw+^Q<Elyib*P4SK2j~+!AZr zZ9^(N-_~m4IqNn0yOC=V^0k!B%XpU^xfiV>AZPc9ZH+_uW|xN2CqXPjFwWMs#bCLF zcPru3yxFYyoPl_Nl9Qy=H*|<E>W*Sa##=A9dANVV09)kbv<N8LMh!Q0NY@IJ))?}B z(BNVi&s1i%${$?${99t?6=~&M6=@Y*H-pnRlqOD$RAyX*-PxWSHY!0(u>`F=YgI2* zY!I`9h*If7)6t|y#QOZ?H%}I)edd}0JGZLicKKi(*>1W}CXkx{?DU~U`SQo>T>+8L zu)^FmU6-_NpY3H)$-G@k%+NTYl%yJWaiOe@I!HA>J*i~SGtWM%>)M&g+GTDfxu6W} zjN35##_(yK3a+rWk&}(9)OpGam_XL|M9C#HG2hoq&bbnwCfiS5l6-`(d+8N_%saEC zTkesAaY2@^wQEa!MH0iTJ<<dt=&(0bgEMMMggIyFv`jT<%UlvzA2^LcuIg4CHgWve zw1NN&8;ilbo2hHl4gO%CtYq)%wHvhAA9MG=NGnuWPm!YaJsT^Wmud1vXFNGO`BU?; z@+0@?1|JWtzPq$}&?vBHV<AhmcMA2E8T3qT6hIwq&DgHBeeC<GP3^N5UeaAA_;{hL zp%*MIe*_G)iS72(A!j&R7sXu|xJ&-pHF`1i`KI*8DB^xmjADC)eyboAroHs!anVv4 z``U{ActhjqPZqM)P|fNNXR4wB(t5+B_6?|L<)9WN0E6Wx%BNq|X=9pxTV3nUerNsM z>}Mr;;)V81zdT&*qWuv6tY7X66Nj-CEzioLx6?J_lw${$yE~i3kF*v{_YCMLWb)V( z=%){)nKU(z1eiQXW6r#EFT$RHZ13UGm*0+I^|Wfd8~N+}eBX<Brlmr@Lua}AAg=NV z8>5M`J4AVs!-8sx_cl0cD+9wGgu$u*#4MNXpKnV0pk?i1$gI8It>w~-%m&+ufn+w< zkRH8h2)qj6{)gs|<$!hlSu3=tEFnGGcTND$rQXo781u~o?q=9DM;D^60()*Rbk!bW zUwY_%10CmnRD(t^1q=_NGV~2iyqA$Q758N^1t4--&kK`cXFP)+GA@K4$wft1x+Wd5 zh_bi41q<z;6T(2ooClE6CR#vv>XrF)-^8D#Vl@|8>F}UVh&xm0<~6RA*BA6@xCPhQ zVqnxYJ9j?ff$}<|!==1eTnlMYb*dSf{ii6jb0XGrFLv0c)UD8V7I%lFmT^2cNfgU# zaU_Zisn{4^Nx&&a)Si*!A|Ml-($K^wBn~QnRTd;wQTq76Q||a@+{8)_rW?M(QU*!$ z&Gzlb+y)jPjWldBGMl~tiNWXsjf=)kiVmiZAxS5vz*^_QS;l!0ojE?V2elUv<v!^9 zzR7xLSHdO)SslcM2-0s$L3Jl)5}N8JQ1@xi&luOBm?{rZS(M?7GxnoVdO^^ta`4%} zMaxdj2iFx<PPlIv;NuZQ9nH|mT=pwki|lE0zq|rnkBy8?asTBI-tiY?XC51EPkEI$ zH#e?~l{B(nSSI$%QO0NI9OHRdTAk<-f8e`_u&Gzj`uFn@)OvZw8Mfa}4Hx7kJsYMi zpKJ@cdxiDXJ=>yo0s_5pp3lC^WCuzwd{1BLUt@I$ZBfO=FQ@Yzs2G=uXRqyP7}gul zC=8UcD}CI#kzIJP;6&{On%a*I!1AZuQ|M5zaG<<&@M?GiA^p<B<JJ|lR@Onqgu3n| z$A-{l9eET|f+-Dw@e8OuMqa2{IYr`rDJsw=m!Hs}5}53QyKfw+Ke(v)*cHVkXbFn5 zyc%rlryfuk2zY1Uh;LG(7#VS`rl3XbEc00Z@gUXZ&Yyik1uCpFEK5&vj)@GG8ZO+$ zth1e5H6$a<=gec>;QK(%C})dr|I@s;n*B$dFSe4e`Nq-9v`ZQn<q9-HIf9v;Iz?s_ zl#jA~oP1CVm-MhO3Xh2$t(CpufA+v|rHN6-#+$nSlH|zfWsQLU?XM0Qj@y65zT1S9 zgDvX_G(CRnD1Y?qsA0nGR#_>j%N7ehI`4ISbSU!@1xqV*xHoK~P!~=E(Wj8mYy9xr zTSE1lZ&mKMXPHcrNc^YIauz?5{_z*`8`(gsm<O2KRuOY_Unpv07dMR!Oq@-!D(p*i z>`mC~VAvJslQ(rtDMy%^!7m5f9Xfe}X0fnCUmEKvk?7s2HW{dY>xE+$n^9M$SZ<Dv zS{Rm|R!Mc8cdV5@(MtQpKq56mYpb8|)O1miQK}j#zoDpH#i5EEV&Cjrja1pussRIq z=>~LGy<cC^yvN=G>N1w%>F*{_cMBYJC`sYEeEE1?PP5j0g-t^uN~~7Qw^>v}epRVP zD!ykXfKJUDG>YlEsZFI~Xfj)TW5X0{SAT!*#Vq?Fz6?hL_vKsIYCmnGjD;_QLG6Xv z!g*fHH7ZW_1&aJ(P#7*1#>z+u4O%;)URGn^c8>L#h^4a-4TrMF1au-l+sfvoRGh$p zN9&XgX-hi+wXWQR?yekC=@^fb(%cwIa_f}UFOW(YTpH*CLXDTkPcjapdnJ4HJ^)jW zV}V7(gK`f_Rx^N%=i*vZJ{;qGbo0B4Ql?>m6K22!xI_}+*3fI%2>db%_2FxlvU)zt z@`b?ry_UPuZ@^^q0xtc&<e4G~eIXhLXg~OwHH!l&59IzwT~$#+0X31XIV5zS@F^Tj znUDA86sO>S$cOt-X1p5FrLyQ*kO-n)`O(uoWBbfd<<h6|A$G-XdN#o}gN{%G!u*Hh zY*m{X>-%!4dY0-Pf@4i=u2<p0ybA{oiu2KZSTL&*qd%<Z(ihcYY!MK4UyVUeBlP3r zqf}}iUZ-<N9rePUU+5g=6p6L}|NakgW#;AmsGSG<y074c(dqw-vG<OK>wVw-5jA=w zj5<V=MDM+Xga|?qL?6A^7$gj$MHglC7NqID8+Ar>iB9xhqD2`Dzdi5I=Y78C{QfxW ztToF@*2rY`-p_uX{oMC;y)L+LU!<bg9Yt*!AT33K_DN8GwVdq$Na3MTEan?hyxgSm zC)Q&KI~xEf3f<%1+bfwoV+t?LZ%?a4^E%8~#mmhB{d0`;DmIqpTlp(63akWJ-F|P# zpGgVyE>l_p`wyqTq%wHBZQ&JBd=Akbz?xYi5M4P4;QN2gUOfEVawHyy0|md3T*9vh zwwXSFvHW}*jvUvU(E+L>3cmqQ;}((M?nOkx>#`;iCiiySYhdwSp<jKS+^?Cp@ph-7 zjXvZEZK7hkM__6y3~j#N59OOnh@rk1fei1Iutzjue0KK=D%rpcIrS|v&TVZw)3w>z zZ^4>n4<@ZzPya-L|16#^003*-Jwx6NlV<VKx!%F%=In^lT)ugS>{^i-zTy|nCDna( zhT<=S_3->xXCvCsYGJ&kBUftP$--q*rzz5ilM}$K?uBCViuq^XYUY3VG};x47{ffQ zySCl8cplbMS3Y(1FtxnNnll9`#+WNmSRSVWyE%={vhU5&j_w*3E3p!%!@|RV0o&tp zu1Ah{BhW1xg#g-PD3IMyAOnEF`n^Vl&5N*CfIsDV-ROM=Gyjrw(k@y9Qh5bM$imdo zc}exqk>eQT29S4@3Q?_79(O}vV=%zH;#&~*EPZgg9XYf{r?Ti|ewkrKcQ-UHOp@#a z0$^ph*8hecGw6jSJ4DI?|D)Myl|6kK;(9xN!&&Jbf#7@`PJG)zy<YjONI|U+uz7r| z{8=^{Yu@|5$uAuNUB$}oQ}I%pmP(Dw*RD@7d$-#L@?xc%)!RhoS|!eOC3d=c%2ZW? zdhR^&irAZxV9#@0o3X{$sdUPW1h>58lGqUmIoTbU;)<^*^-{6gtr2k9eu3$va$|S4 zUC$^LzEkQg5`J{)Jkn7c2eo7R_*&R+1Kr#J)G(!?3CTQhie(%Y-N%1w{!Z14zC$3< z(VALL-jyf1xwYx;m3xupcHZgc&jMmh`4Ly13bUGwhQi^T<ox{mK(&{yo{Jy+MK`53 z#og$-=1p-wP_XOy{0r&N|Hs@2GiKw$kp)+H@kN8L*)3ql*o-ke{udF8Z@c%OId`Q3 z_~m?B+p8nV;>6hr(1a#mSM`8MY&ac*x$F)=-SE~eeuc&(4qe!RGz5Kml~k1M8S{X+ z2<}oM<*4Ntwww{x4tVVr0d7_i=j6$FIc(e%a79u;3{v?`Gfd1|4cY^y0dyN?SF~UK z_#d-pK3@;cu@B<XG$h!z&6DpV^zW#u43yn6;Q&Y!Yu+Y$OZ@!&l3oGUvhcl;BTc_k ztjjLm?xS5*29q&@l0mc=12}`A>ZxT$@`et3`zh0E9y=X7VpPykWE?$T@dF5*!|}R+ zw^ploYMxK?+Q^@(H^<ZY)Ug6(^)^Ub5ENkvNnKl;A?~XwUU}59wcHa;uG!H>LUbUd zgp0FuPJA2+>Hnwq{RI*__>m|A9L^^<Sl?7~Jw-X2pce?DTaVqT^g1#D4mj?N#3~-J z9!vJe$`)4FfUC*YseE7iEfZ%(mut23yw34&!>&B?-qaCpCmCR~{-1nqCh^%x!$+Y@ zO1}h}cZGe%UaI;*Te?d4pqL6x^o5Iq37y?!Jf<RcskX#lC#&dH(=f#p088-i7{uCc zTe8_XZ_;>^DtMSpIpV7yHM(qBt0#rnW!Pof0S_9o$DTj%wOyZGBGvi78M2QUN)gUj z+6N;5yNCWb1MHg(<2`|c3m|O*13qwr9W$O`^VihNt-R5IjtDJ=K3fPx7*|;j{;t7l zs&*_&y*4X2pu=)!=NwAd+U?DUx{fDl@iwU?=o>)L)iOaV^En%!XJE}Dkh-iTfFN-p zim!()-*~O_hz5(*j{Qg!3#DIoX0_TlBIRmtZ3Kiqx&-F+bDq)04et3^-%_iz(~<#q z;0v=*-giLx2ew{2+P8pbTB(PhR*L*g2RPoW#iXt$0L;P`Ho{E8_rRi@zVj`{(FfEx z{DyA_`umZel$Cf0p5}e3+b@#lFFn>OE!u~Er2d_c@86KFuWH<`J`<KF0(KewMi__* zsP1or{4!shyJ5Kd3^klBYZdFeck>Lc)RVO+f|U(p&aq}#7h^1WW7@IA<(vt=F!NNU zbDcMfN3Ja16A*>)yPd2abqR+?dmo-~y8&7oXdyijP(e3@OGZoNzS-e{fjG(S{7U`h z17AgMqi;Hhz;Cc^Q6lCy+S`S6Ms)VdD`~8@Bxza1WA|}$Tyi{^hW$$&nZ!=!?-k6A zj5+nJrI)CZGUUrKQeI(e-77x*20NZH`~Dj;umS@8ja5(J7SyY0kG8SJHhupoM<<HF z4-avNQS+&7e>v>>adCV9*zB4FPbhBsPFpQRNgJwk5#9d-Jdq~>Wobm9ht4(NgMI^; zLRxPCC%4NX8#YJr^5Wrfj{t0Rc!JH|QtBle)`WB1U(wsI^T3%{w8s?4>5B{A0BlNd z<^$0p`4m%4R?UMj?R%&)zmz{ytzmZfm-n1)n563@*4^GC=xujB1}G{|JOD3KYph(% z5toafKj1?{|BihjwRYE>V%F;lb8yxjoqDo+mBs~JX2FIZ-XmjC%#WrEkI!N&1DNn^ zeSd+y1}v#j!Gh9n2Jm!l04)oqgihXA5(RdIq&t$$susy5jsGONMh;Ypo-;0-hu3?3 z5dVbvZ2Y$Nyv6QMAk?<5QTY-IWrP~H?pTRG4z^_nMoQ(!NKVa%_+RFXvq&g-ciBnL z%fGFysEhgpcwi12O$B1KqPol;ifqPw>|FZ`r&Az{IJrkdu|wR|Gxkzr{(u3}kS4v{ zqOZkd-rJbcL)jIUT$&=Qp(kR7`n(3%!IP%=kTWrw;<L^o<)*1=-)`S;MDgk>U*bZ{ z0k+;8wlg@4?P+zhB)`qFSy4T=;>{Mn2C|%vPh&>@bgPIgxcRpu%f?(*-kt~(l1(4^ zACw#q9PjpX(EM|MkDnXfeG?AsSW?eLCa^~K?TX)n@9y;6gBLEJH-F`lQn@p#(=Tq+ z9d4kby3&A+naUpzGX@H`7!*(S>j5}hYa3w2Yb7rRUo8?{cVU1yzf-@_pHjdhd_dZb zAj}qz7vJpb@9MjQM}GkY@Lp9vKkUaOfKbO!awxqAnk~Y{5d{BOC8fO9ryQUaA7gu| z7YW*FtNcfnd@C|7O9Fwdvs78(=K6gLg(zZUDqdFS9%SmbU&p+!ny^CHt1?(k60Tx{ z`U;SFRQ-MU3UuuJ)4&T`*nJ1YBDM;~Ai|(~Gp`dTd7t<`Vd}KTZ_2OK2nE?QANri$ zTrb@8!`Xwh_b_J*XC7E&0k}Pk9weGR5`v(Yx1LT<K%9-R9jvuimZZ{~GYQbxYAc}< z6~@vQV3&I(?gAR+6BTkHryBa|3QEDLwdvD*p@~!MR>Hv?isP#l#kC%`4=vBUXQg81 zz-`SnB+mnGIyXKnWC8PL<{!YoUwc!!E&=Q^lOiPivxMM+kjHZ`)J68vCFQ=!u29Oi zpfxRHI@}l$=48<HSJ;k(Rd~{2c#0if>;eZ&)$f#gU}g6L03+ptfd{i8>3OP_y+^7S zfGC0Ky=&Qz{Tbi{FZ)CSw4hXkcoN|Rtau-AsUI{y7h+ioKsJ1UiX1BX&AY_})BylK zXU5U5^fJ(rF2Zk8Lw*X24HTzVo4>Gr&4u_W!*1W!>4Q(ah@D2?<I6#m$CMd<YK!v7 zC%fekQF)5A-PHgxt$skwxo|#nQgQ=V(6Gyj90~HU?EM(2FTXyzYTIbLSt6@0nl=TI zu%35t?+Fr365O47MJ$8NSqII2s@0NdK#buk!$`N@m0cV99hU|)9-+4M%NYEdBPR6! zFcS^4?Zfc-)<F`B=e;rguXCQCVZ|&y01@o+(0EE;Kl5PVNCLIMkimZSB8}%nl7~s* zNaDvfW2R&gxj&Z>Y*k`AKZ3>cia(vldv@D_%wFTr52+=Owmxg!4-jb1^hqmoSH^2> zJ7idQyr5suziM3!C!=4!ciZ>N;q}w?pgWWs+^l0sOze@)z#902y|WOWEJeXKY0!3b z&n=C?g`DuEq^OLqp!*bu(&AHT^y}+h6gcFWh$4$)MxI}%;`_A^l7!T&UwGB;e<gC@ zQ3unP9NZyiR#+x`f#zO8hKloa`g?$InQv)Klv`F4;^G-SJpIVBAu#S&+xAzzry$|& z3iv6!V;N9q>pnaD-g`W|a4lYpH>moFB+Fhl5Ikx2t`s0)$N-OC3*0eSJ@k#Z^Q0o- zc#E$e5-sBtwUax_)W5N-dWS6w<8u75lZX>f1p38VHRX9NT}rtd`sXhFYDnTGazO$! z<gNEy8XVQgRGmc31B7>(H(W=Uz<G>&dg|R~rK`JEDx#bW_$0XR`o303!v8|7s${qS z__#~7vr;k0pH{Ug1!&BIz=i;pgIjH02)TF*OT9X47M)$4#@5yd%;52_eUFx@k_Bbl z;+iV^E!B0Y^3vN$H4WsKyVMB#*lL#RaoDD?cHfA0-Z%aUokS560_*pHWUBpPG-W>d z%*IB*=MMGUZ(O^KXsTZKMbIs_n*3H`mJ*n=<q=zqRmHHXn>=bL4uDA>y{0nD0le4K zB;-6OVf!>4x&USFu<CaqZv14%S!n3Zd9UI#N243KD-$)h;LC0u&1OPB?&0TnNUtT4 z-tODpon#PGq1}-eH6)`A%*1pnDWq_sg&EpYDY6JZ65|`763K&>HOQnd_o^7kC85!` zNh6`*T>CyQ)K&!>iNJOWNaF>y<0@!TULPv1cB_X^H)1j6z{b0z0d`I6GVmc`0`{vn zVsr<L*;F-C=HoXQ@XL28t{1Wx7|A&~NRK?;Y+(yNXB<vu1jgnSJ<TuiC7Xpub)GRk zWc#LYndfn%zQ{0miD57u*oAYCOs0!;kO^ERX)Eq4BpCg{O66YjQ%M@%m*D0mwg=U8 z1R`9-&F;ii+FYV1N@m=Z?a}^Z&lw5=+9}0D^kOtte5HhNUU(8OSSpVZ-|e))Q(L>s zg%``#uKEgagj^-E+Mc5i*Y?S9h2s!x@bBGmkHv^YX6zL#MacMst1}-nfMNEgqCNRr zkvP`aZhLk3SXelxhvYTX!(MYnF_-QJctn2(9uA~4aesV^FAUgN5tWpmpF&J}emji3 z;pDrJ_%N#0NG#ZxtZx5Y7Mz`uVD@$KZt&d@qsw>sn9#kI>CUjv5ofp^D%@0`UW6(V zYZ{(*QA;<6qtzTBCOT>H&uE}R=|Rl0FvRGlSTK!|;T6l#k{gC}$1<{+#0eBLyHDhC z1>XlMDzHSMu>s<K<FvK?hQez@7JP5y+_DlFB8ONS>*yegaM%}iRho*Rz1PV#^TX}d zKK&);OWDB%w6x~3zf}lgARk9O9m77Uln`bcD}~IhNus1f!s|ZeX+yE8+xk;aGwJ&~ z$#56g<7Jmqx56>i73dnE=`<5~)WM+X+=q%7XGGDxHH$ieBEHJ}U?W>wL_d|ejcWa- zf;!XUZdgoLcDhSMH1P7kC(g=0<NzBiaNQzwb5D9GYDZ<Nr=H}!#7t;=#$jrDo}$x7 zyOM_s0%3Kf^T?pXR>9!gG!dtlbQ`07!ofNuZRc_u#LQMDK<e_Klf#{O-Vn8NqeLrK zt;cbeLvRTZA;=2h&k-sF0FdA{R>MTy^L<_J=a8Q<ph$6oI0&P2bY^XdA~1V)xu@y_ zkf>oQ3G|X)Unjy(-8!dVFiIMk`NJw0*>|g?(`vgV<wGEZJAb1oiM+@jxD&5eyrhyo z62jRA95WzOy{T=1@7m1P>sD+(^zWHQylW`@*db6oE1POhIsSg7r}sEqkpz`UJGSbg zKTUX`7VwmNK-ltK9Q6|+!RlC!b4mN}1p(NcFSC$~^Jn+@-z-VpdMclw63?<%eelvQ zB)CFDEMl*%LL-V&>GCUT*!zGnfv41DZIri?a^}JH91qOSj*H__*($zsUE3<%qb>rf zxC7(xR<fE7k5d*=g_vXd+gI_2stsgW3v`?{Ag+U@u+PaPpKq5`<v9c0jiOv$D^EO4 zC=9$s+R1wDs&N@56wddK;<E4QxiMEP$41P<5z8teqW6qQ&8gM<*^~~V70#~-_m!93 zHM-Y4p_=f4OgN)o`al6i=9rbmz`hg(gkVLSiNQoe@Cb$!s(fGij0v#^>fO(!wl%yt z^e~xR_V2dy@JNFSZP_#N$wji`2{4_>ijudtwi}AhI0!y<ikDxcdelkMoJ{=CLv1(B zLKxLdH)!wWE>Y?k9UZXaREde8=@gGM^5SeSU5A+loQzMei-?Or=spsUkCtFXW&tds zJ6@VU?ReBk4zBJB4@DK{Gx6x}))PYb@EQdCmq_J#telWm#9a(Kw_S`|V{sY#b=UgT zgBIA6UCv=o;(`xQ^CUIh*7UUxP<es27p#S`N?IVd{YycuZ=Lt}4y0FNM40+ZLC+pY zF=~Gde{&ZXACIqac1pP-m}raFu6tVbK1BYGR3g)@Z&TAj_u~ZqGFc@N;}0OIcIK5c zZ|TSLkph96pw(rnb=?L(;_mnS#op%!OV=UqDKm_yec3DoA*m-KCgJvpe(IzF@anXR z{^f7|_-0EBnMJ96cF53pc6nhmqb1w}px2y0$qhN}GAxRkV2wL#^xcOVo|IDGJJMZ{ z4W<5ng}<t@hEMbX;+V+l%@#6zkpH1;t<Q@@bCRvF+b>2xznEcVr+a?U-z@LH5N<{O zQ&QEQ@ml=IRkiE=8yMZFV9)30`9oz8Kp4cEy<mIsL_VwM_$+>qi^f;zv5JvS0O(5P zctYbTtD#UZowp@>??t?Jf7w%pNs<*$(~y?+&ZAvzo6a&ob-XaW&NbGh8Z6~(fB4Sz zWR~;6=lpo>vOwD`6>0udHw@*hB1}@4gkEOePDs_NW9m+Do>Zuj?accN>b%OBg_!{v zE`Nniei&t#l5%KNjH#d7OE6kfci@8V47Kcq_JBFb$XmS>-Rz}dDGb}_30Hr`l1~DT zZDe|{rtg!t)N>wl*|RFvIqT@Pv?_~<WDegM<*)fM1HWT(6q8ZWKLd*A>KCIZsTayS z6kpJn6N25&1*@0)AV6#3>y|z5qTHxO!Cq3Adu1F_gyPSY(YN;lVDahpw^2`Rn?>m| z*JH|o1#3oYKzbRc)A=Fc0*I+1PVNVD?&wjK_b#tf4IMjJXZIq!y5kmP+uAOA>f^%h zO1FcioE>~RW<jJnwI=(*97tRigDX{-@H)TKoy|Y`0ciJ{cqKxV;ph49e;n%<^JhJ* z2CpbxMje`YEfMASr1WjL(e71^e2}lsVd4#hps7VRYnL^eLxIvzR)DNgCR%gDjl>v? zq2XlU&AmFJ5@dVkS2l58eD{&$+U@-I=min^MK4U*YX%s<suA~j5WURT*Yy51f#)Dm z7n-tEDA1H*pWm(%JgJHqh5yXYcV*aHRbw!wipQc{Tl7<eHfL&`pjAO{@O73>K9HKG z*#b&If575Wum!PYe`clg%h|_+1$OtKnb}Dqtdkx8ZLA069XF*ar+u2YN*dCdBqMlz z(LSKs#<Q@;>Se#O5olc&IzhOcUZF^g^iC`3IDKGc=G?@(C=_gHXa^L>U&z!utzc_j zq?14U^qx04;34;xl&K%nf#K_E8tb>BBljI?eDiIh^M<mfi>tkksVinhUi0TCn#$zH ze*?j2Tqfr{V{h%akbxF%%}TPWeY`(ZeEbUkXB#@Bk7UpDUAfT1@OAdOKO=+)fRZ}- zHK)>@uUBY!|Bkiv6$@preP=EpJ9GNm%tU>U=isfVAYL>)^;_4>BDLh9I(QGq`Od-P z9?z$lB-YT-^e0RLzFzJ7=IfNa_yz+S$BQeS!6~(*E4BH!#?h(f(s*Ilo0V6=97F?8 zjw>PIe(IA|+r?5Q3|Vd@uIKf0Caq5@1_!th^u&mPphrfO&d}hClIcCCGN-yHa<cEp zR!8|4(@Qw*@C4+KD#)>LJzH{516_r&2{?zv@W<Nwn(lo>@^Ky^0e`(*A?jTGZyJ9p z2h-uP7fbLmhO5=fp68R6Gl%nOfmA^d3H2YO=!BZ8b>nQ{{F8JI!!5%7x++rm9t<5B z=6;i@+30N;fIfU6pvv8?L~N7M3H?2ydJdT+ULlD%q!nM72^sFT7h>A$3UfLbwe<Eh z`&tlF8!T*pZDmIh982<WlqK|D{|r`Nc5%pR<L==HrpM6L^>?n%)|R$?wSSt6bg@+f z(@d(JLWRgX!)2zZZ5&)p>Jnx8ss{@T(%n1Ao+paP6c>g;Jvv*8Kz3m#Tw&7#U7@Ch z8w^D7PcA@3Ag1y7Y_K|RWjeKAD{sWD?W%TF>#6PxoL_i)$R|=NNzI+*T6{c;sq5mk z8Z4T$WyIDJ<Fh%^bX!cL;#PN=($_zhlpR^E?R#0ZD`cM%JTohzMU97^r2)5YOA9wh z^oZ&x2;vjc!7h@pE8flUCRDe`{crFZ#ghI)k4eO|WA$Y_KjpeMq(=ork!iD3CECv( zsEIcv2Qhv#JMA^dRBUx#0U?BUaK9JG89YEadJkO?hXvYASi!B+W`PDO-zLUgJU8|6 z=2xEU59GhP+$Ga)uaJoJM|{+izk4pD+#X{^2!7nOceKr3e4qe3^F2NAqxIt~{&6^a zjqSqU46ZR08t4WB*PqP-aj)n03zs<y`BJUh#!QI)&^@2|&U{W_A(H&v$H+XyH{`Eg z-RAB(SzRL;=b>(|8udd6Ucq{0>rBOOQ`uDF0+^u~0ZCS6Lt&M^+f-elf1$CQeVr8o zA2rn{E^$bme#1TN7J{j()`+rkNTw`Tg<UviUIYH49b=Y0qjyx$dwrubRF0r@s?O~? zpv2xxF&Sf;g}ftJlVDE+wQ>1Lod3v*hAeINr`q=Ie$=E^6MT)NKis?9=F!O<NW@iD z5#&T2x@W7#8%U?&DTEuh{zOa)xnCy~F+EH=8-E}s8h9sTiW?=_Khx<(x1hW9#8Q&* zfw?3Fuj;I00Ga)+a;{yLUAEmkjIrxYm;p6+SRUybJ?x7zDvEbkW5!M3ES!WH+2S9; zdMQYEO*<J4j0=_vpoUn}(9ZKiS|L%3EZveUnW&>i41_Ou3#m~^??(!uUN5qB%+3<w z7F&tTs-C;uOfYaR*c>$6p~xvZ(cfkKD46cnUqELP7`v8yD*PoI%~Tx>QjKL+mvo`$ zQYWCA`B6lJ)wcf>A&{cV6XY3)ryc%GuS`)jrb!ii=hVWP?#}M>jvl6dF(s6GQ0lF? zqI_Pfm3?}MNI!KaC8C093Bb)-7icVI#`fZat`6&;21xE2Yu^B3%XCw9*E%cz@JE<< zI|^hANHfhq({w3hi0q|-Zu9s=-~ADj_qvP;Gnc7C5j~?;j4>H*9!o!6LcwIVgS$9> zXt}<#cgTexhrDnaqGX#A8aR1*0O0bqb;D;!1SFn1r&$Z(+KV=81H-mtco1{G8AErL zRGX~3$k$U?_vPpqHd?vrWlZBpLey^{ej@qz2;Q%IVZ;x2o7Pd@o;k_1UNzYtelU8~ zNGsvWoiX9EFc`uA+)BSmEK@a-MAo#d>r&F-f|^v@ZTd}pC63tIUG>$5%4}e5vT6?F zcTrUkeO1<h=U%*A>+-@KPw6?klsnXo(C`<iiCB^rLyAyN#`jEKpi&7`{d38QM{AP( zWe)NPU1FBkCqaVI$L5%A1NbhYV>7x@r>@it8HD`lpUmYvPBkp6#M~%Ga<^cv!ggy; zh&b1ZhBQX2flI?S57cq_egO>INcXSbPcAfadKuT@$gMvUiXiY<Q0JSq|A>g1YKP1@ zjG6m29(UH4I*$@A#ixM-F1sk~ZkJF@^oNHeww}$)7)PvijBEmwyYcqT2J$CqMT?LX zt2-#MJ?SN)`tg+h4Fc;Br2Bf;QNb&ux9`IhLhFgzZ~>A2)YXXZ32Iy2_Y%1bUiWMO z-GZk{aqm!`B@dRYt{EJ;?&S+L+Z`6f?eP-IpXL*SuP2lugv`AB@geHr9DW!P_2}21 zQ-{MsUYW6yy+uER@X1o(N>zU%tIP3Qrx!3(F19eTAZ2fnSMq{Fd+dcnRN-@Za*yRE zBK-FpB1Ln=a-^n?$l%Yp&HLKard~a7I?<JQuPZ9mbrxXt*6lssRbhxUpO#^uJxlPp z`%zrcGYx5ulxpb;gq7<+n$YV(&KiyikB@qAk0|=0FV3>QqU4W?>!}pBq`RjdGcPTa zXd2$tk?=duemXnBG$YlBPuoH?kniBOA{_0+uMk;qLZ`6)j495;XmjK{F*7t7RAUVL zsWe#f04mG#d0Yi1pKQ1mbTDl4^@o+m$>wp+(8=zDLyKi5IB_zy|0^0*&Yj)Mpap!g zqhm~0TKGOwj8dkR2Gw;==t|Z)i`}%Ca&C&y6^k&76<+d!trs!92DgUE!&!YwE5#K@ z`C-vv@nOkf>ERX=VccZK+pm8lnKVIo_vihEagCAvRgSAvl5MF}(8J#$o>2~w5&OhP z<DZyrtr3gAvZ!t|DWht9$_Chb5zw+w9b|z=$H(=G)nQdp5x6Y(z<K&_LNmf8)`4xM z;#>Cus|l$2?P_GtcMH2ZqC+o6nO1PuLZp)8jysnkLLWzxv~|Aq4D)-a8y>8sBSRg2 z*m0Za!j=+NcG2m(EA8G}%M=U*#=Ik!u4y(Dh{y2;c)*U0gta3n=nhpz+}MJt!%^D6 zyZ3P}f!0>m_=rCM4zFeuWj(O*DKWw8E{K<xb}9%$@W_8~|4P1cp1B;to;pFZHt5R- z2F)q|`cNn<z<E9KE#&oSA;S2mHo41|ZkVA{()Q3E0kmp(f^{$fGfz^`2jpE>r|$FR z<_ZGt!hA7Uowyn3sVpL*a^yjqR*dd|%DwkgNNHj{tUP>o$O%GU*6)i?PC_`?0Ce$& z1RT~Sa3L4~RN8f4^L9i4MXarrMvj`Qe8p>(FsOh_baoGx=1M*wAvh7`qiS7(dcckt zwT~JB+YX|GKEpy4G@e=HF^W(eC@D8o#(7u^F~t(>i|nd+#JdAT!)C+=HVg;B#o6!# zr^E2B9augzmN^6pXBn0F!?;4^Oqt)&jsK8F92)-+Rc$HjKnii9+45{8VP)-%qu3RS z?fgtK4ph_5D0nmn{xH9Hg?k_=2E}yoDr$7%s&^UIkC~2Ky7x`5Oe1KWWm$M^X6@Da z;&Ede(ZtQZpVN6&5_+ro4OsB})masud1>^@oiB!%adxcAATBv^)~^rw?)1}cKaTs@ zT{>13OFMe-eA~WE(zZFF@DqjIDb4xI73JBXt}5q{$Wx-YDu>gzAd>^-;0bz4OYYsO zw~Z8N=enNdU;ZpJHIJnxc~quSpqfRg@i^ko0GB9lMDUByFH2;BXrqsp&!?bO8&YQS zi2|_<n$?N!CU8kFL5qS9+H$D~O+trff2}4JL_%%=Fr(;*?dm=$u1AA&*EO>1$Ufkc z_`pJ~)KR`rkh0SqO_60KRdaOv?bNcW2jjMeX%Ab0kfbXj!Vr$E0F%&@8tXK>XuBA@ zSUY}}#X9TR?UNbx)bcl^3Z{SLO{?w;;N=ui((!s9)A9FbYDE@tv<EzsZg4z5bA|LX zewp1TmG3+~z{KX^b<lwW(YAr#XdtSR;Sj+AH}=!^b8YL5#t{#>ICqVZQYPCIEkI-< z!2SFuXZ>}k_v;1T!K*^q?rE~xqJmKmpiyg`8U-!?boeg|fRRR>5~JM(_k|bSY$)6~ zxU-5DQXnntL({Bu!2=3{xE*dR3`|$9$NAK!Y-GCPyYXRwX+L_&-dp>u9)Z~-G%{|f zPvh-KCIkz}QZ8Kzihl(fR}(Yvy}z0F$V%)N{gxXol)7qS9u7a@MN8U8qdjs<vezSc zJ=Zw2_+*fa_DqMt7l7LLBKA(_Akm}7efwe&T+qx$)v55~bAX@Lq2R-5Qd@J)!30cE z0~^gB5Nez}gNOc~wtDuL64;b^XD*AJje)_%s5p>yKvr;q5*e(HWtG@_CsL-ovBn;> z812(U(%c}-X=n+dJ501v%txC>+xv<IO6X7as+P9yzBWq{-!w7RVWZ~G!MSw@UvR@l zZ!li==$V@rE~7`!ZPjRm=UWnaoe|;HTaT`(`chQ}|Ax7YrpLzjhZ}s(1rUp6^>UrO zG#NO~-(26<36_VUM>lK+BdF?#(#FM8%;30(9$gU@Kl>SR88hYcQX*~XZ#~X@tSW;C zk$`%PFcmD=lT!^xbG-2{S&EZd2i@Q*r^S~(|COP1Nz+#M;KN1?hlnSi`eJ3OZ8ND` z&MKVGylA>=>FwT}ABxfoBeC0{(gjQUah6L`9OE5$Q=$3WY}U0wh2?2-4h|S1i6r6_ ztT-O2uQ5S)y$RhTUP51Hi8;}Z`=TB&7;O>@oHHWR+dFctuUG2tKxAkL>w<|8Uv`C~ z_3;@>{0A1#18O|TGc2y^*zh;b=u!K8Nl<6o4zbr&sC~Ps$par*Cc4+H-RZH)giDZ{ zO3F|qe{)dSsqUzAl~bs9_?i`;`NHC+0>1wQ1^#ml_bNR(lQxH^hBI-Wi))7gRLH4e zz!K(ue9^H-Ry2EEjUlrIQz=E?agJhpPcs;jO7i*H%1RE$(VVIiH~`{B&G||R`nfhN z9EsH~Q*H|qDPKe?(xetEz!&^?%*(Dkno^2wz_HRbV4?Nc_K!kDXM(gU`uA@^zizY> zQZ@S=NyG=SyHscB#8xMQu)$Ym{U3x_5p1%@=oy3Wb>qt*!AJ=P<ty0XJP3e?=KA+a z2xaR<EI&#OS_Ks~N;uh=!JM`~rLG&<d`o#vStAN^wn)BPN-RaqErtvKB0ORv*jdt# z?W+;+6}7plj}5C*$iyug#sj2WyZR?08E-Ug!J~1&cL7UC){sz5EK%L%B$@NKOux2j zl>yfe<lL`NzO{HB^BeKj<1$C;^J4>WgN0tmF<iEB^Ydht60Z{qs|{9v@tgB9-|0}H zb=&4_pwRF7Z!+M>P=*@0WTK903eA6HWk!=WFB}SmiY$eZJjhVTX^(qLd_W(PW?Bg( zt8nlfC@FUS`JooK=9Ii~#&uWkP$pE6lswM&EAoy)8A^ueakPUUs~#KwU1<-^zT?rD zQ)&d4#|`y>hn%{WBiD)W>&Nn(G@bFh#bEL;+N2WSa{N7(FiX-V@$vQ-w`R57Q_FKq z93Yt0N~b(IV`5Z=nXg8_#+<u=A(Vb-J_1d=VWlcfBYCy%bwh=t13vrIn4?t|OnP|( z^q9p*z8a?#KyOsre@K$gI=L%Sp#fLt{g?fppbte`?d&Tv8bO>~%8YL`%Ufl|^twQT zoE`fTD=wV3&P^3TL#~0Rv*3+MKkqvUOa-E6rR$<C+B~XVAw-;_o~8``-(TVDQ(LH! zJo*i?P*n`Z5D@B+eSP$JR{iW78?N#5Zq$n+DS27?5y6Tj<)}4YK!>6pVw(1-bns*% zCxztK6Ww{!MP%FGV8+_<@20ccv1+w{Qz;4lp;w46D~Q%985{KI1<O68$f_k>2>k=} z%Sd=fE`<5mqS=|*NK|)wX=eCu?>vaH;M2hJU-HPvzdWFu%uW81An8OWkBN^ZGd4f; zSgmfb+~ErRDfVHw=cB0C!G~EphsxY|X1~z{($p|&x~fGcy8xH6>+<il^4F?@LD`@I zcEM3^ENR);{oKB$f1EP-Im<21-vrKVmNzjZIIu55^qv57htuYjNeT`2%t%zM<C}fX zf5~71oDxqOi)kX24?@<%M+ERxi*6bjQV?xQF%uqdwUF^6Ub$tf_%&(1y$Y8uMSp-A z)%FkzkiSZNSi`vbC`oaB^arn#(Rf{;tmNQcOAjGE+u8T{!#?LqqgQ0XhIw~LnU<TD zuRPxB4kv}O(oT*wCH0{I&ESm#I;kvOVCW)B0n&-@b|7bdElJMDTjPJ*J7q3#Cq$^y z3ymgW<!<-K75_CwwoYn({(iEpW%E;XmH6Z1$-FT~F70nt?P)wb)Ke`%<U;PwaXo*Q zo#XBsWa2+SaSsNRN(CD@2!7M2=8nO6PXf<@+#)r8K+F#^gopsRd|QjwikU|ubkL_2 zDLpY_r?<Y3LT-YXhXlVzwUWS>EL3|;8WmVUV-|+F%zf^>j5erj6ZO23>?7lxb_(U@ z<}YU1JB-3!f4=+)-kA3y+MQ}%WBg3};LZmEkjH03#V)C#D=f;POh7)qAGPHH=<g-v z_yLsE3*fIOUU4D{{NRoFo#^3}BagQx=2;3FD1Mq#=O_;iR|_uTRMH(T%8mToayfac zzCggt_|6~m506T#AN&O{E3GjF<L=L5$;S}JyTN$<a}~#7zXyy!#VOlnRqt^x?RJF? zzJ^<UoB28QmItWrorMUoodylg^YXx_2HqdmV~w?k_>W+zfKs;b&i#=id@4P`%b4%7 zgu3*GLTQ%l1exC)(E8$K1TCSj>mtQ<Y8}hif(pUJdsA#=#+<}ieS5yNzMQ_|zAC=@ zzP5tbk01t(`zkACXN}i8fEV;lFKye>QvL5l8?=w>fUSPsF1`{jA)uZkzzg+Qr-|!F zq1Eao$r7vkMZ-5Q&-S$r#Y{}V^t`UI10>WF;sDzzVO;g~Z@^?zD`yY@9KXUAE!{d_ zjofOrXJenCEO_48L}wt_BXE1z+i<ox|HeHJc&dPa(+_eh#T3}oO`ozUw!^qGwchN{ z|0V_bf~!|VIti_e477Em`$L(U@#Fzc{2y$y^7)@Wjk07Ri)RtQ<5?V_Buo$l2<n`} zUqemV_`;s%N#cpw)wDJI;i)GE7F49YP~1?)yIF#0)0T?;uqCZfeosDS9OX_dAXvFI zo4G?H1vG1BtMH}K7%7Hr6uNzJnrrZAdkYn{e8}E!(e-;M<8o$P&zyr%7qN((oMRU# znejUe4IpY@F`aEBb<IfbQJ-6CcH14csgaK^>cIn*?%$-hM^XmJ^X`T$bPk?CjJGc` zZ&!}(@pxml1Ah^Ro)NL5Rhhl@emyG5{~0qrQes<T+gxU;e2fi5I!&C?P%Nt>uIUCQ z%3jxKVhW++j#Zwx-za*TDxOAUsE|;0^#7nZgFg`;R9#@zLIjVT&Eq{R@tJokI$vl2 zNvKWl)=~_jzU!s~DT19Ub?2^qWtL%ep#Uv<J;!U`j}SW`sOk=5>@9S;2m5{iO6QxF z{EKTj8C%AaVbw3q1krH2;d@`1@HnSBDZ2*8J1d3+=S)seC#>!508t5mbw#+`?t;(j zDU^tiNz~4ptYP6$z+;Pe81OSXmhvA8l&<|Xz|fL3Kzr6aoUG-M%Q@S}g8M()K<B$f z39N46Q*~D!KdNiH2K;E~Y*C(80Y`HPexDQ}nQ^x(pi+_5l{J>Nl68{xl6@x|((RxD z($O`<XV3!pamZ?2HEQlC907i^!sGkR>lscheMbOux%HGzU1a2<3BaTM2Iwl$-wm** zpw4t)IwB-nVq(M0Q>(Fl&Po*1u<^C{nCyV}K*L`9mtkkh%d%I+wR4B`rTku`bmi{# zG3l;fj*8P1xmk(3CW-_BiNf0qFr1`IpFf7QtMTU#8Wv!9>wg9<^ciJ)1UPItOg`r^ zcW$cvb=A=7uow9&x)oMA>EsBQ5q9d)J#}1v0_Ac<aFO9cQx-jDTUfCQVpd#cEdUU8 z{GE{iwE=0Dm%jm&&^Gl;&C|xaR_#=G0V^ljFa?7N_C)Ni4v8TDvEdoSsZCY5+>TZ( zrAZjQFhX=~oA*##G<%WRdRi1mG8?!yZE;G#u6zS4`d5H$g5Qm>^{HKZ&^Y+#y~%V2 zM=GcVRu5WVV0U?hl!iwNdielyt7fbO?6Pti;4k_BPLT68>ci9H*j9MoD~e!diTyv~ z`;$Gb7pMLUUz>BXmfC967fL2#;|GY@SB>C+Hy?k7le@y5pRFG7G3_LEs(GwxHs_>> zAf_&Un8&C)X_=(f_WS?*e|{r+R##*C?Lf2~N1WgBdgD$xV%`mU3<x%wip!e%z*r#V zKVA$htA5YJGDopYnnZLGB)BVQt3l=Y8wf%91H=t^fdQhsczWb8Hb;>eNEeMe%*W29 zTg1KL23u3#ZK=7_aJB~lnngKS`%vc!;1yNd2vNOl$0a)NxJ&3mo%Z7u1@0eaq%r-N zJEb|$t#w|Z$`S(EDt5_@wf28fBiD;2FJC#`-jAE{8mC<<Z#k*Fye<;3zC2C&ebGb@ z_TSF&wTX+DS<8F;Cn5XN`WFwIHuh<cQoO~P(FdRObW{sNi$oO_U1~hN0`PCTzoPA< zhK*b%)t$;O%$b4{xEPRCORty|Jhif=$F+2-y4aK8>my^+Ksf<J5e|B)TAlf?9p0_% zz2=9h$EScN2-=-)W#Aq&EP{^QGsK$W{s(25kc#u3s-{s=FfDEopPUWa`8cT4WArJV z6h1eW20sfR9)4p9`Qen{KLA!Lsos@CTmW|ro2uuBnB|mtB@cuzkmDy0oL9*(Zf_Ge zN<&RtX21Cvf0}s|+rB|qvQxKEllkuS#IMcaOjhid%g4whCqKXowPJ~z+Jo*M{@K-_ zt!Qybi)suz9@lC!8Nzp2r_;$@D;kmvEZZ?`xmeKdqU2}O0(c(BvFM^A#xs*PQ`D8x zc6G}b{l>62b9DTy+aaJn4$51`3V4W=l;K5K)<5jbkrN?_H49Dx(b5Vpl$B!+X8^tC z%7mG5u4!0O*;Q75s=%2{RXnrIgxpatJ4GPCznBgek+(y+h~fb8joN@8_Qp8_%Q9SJ z&oiGts+>r9lE;ci{LFB8IM|&a_%>bzHm?xtKZ#3cr(nXX0P@8zLehJfp;H|WT>0+> z>9Qi3-(U-r3c6=wx>{0k+PC7Pu(D2Unt;Hf66-@Y>keNhe)hVSoJ?7PW9q%RPaHgR z=Rd#`Cg9>q<@^LzvM(fLiTL<fdKqPAVMR|5(8gTutb!}VurtX3qU5ZcH!SP5PAgne zM@B5_l>Nq2{znhO_=dKtcBtJvAg}uY4oX}$V6=RpB~5ueQ(G$M0mJ?#>HqaN1vuSw z{CY|`gK$EA|COYABS?aL!XYoCC<0w+7c#S=XUw=b2O9R-5{7L};$e@naiFhr0iCr1 zXSX#$zwyf9;$lb0@6FKyOgESOdoApk`yY%Ks{k%O7dBo(q4yk!utNur0Rho1;iJh9 zbzAb)V@xxwwkSj*?E{zCW2S*t5+-lvsMkCR2aF5g%+8d0011~bAHP3TJBGQAC9QVF zLb1y=+Veh6aB!<k<L~<IrR&R1XG-gy=hJ)NSGl_6uLrdpo!V*&uh7dS{Kr2S!;e$= zo@SWNUKKj6s;l?q3Jh%v=e9s3&8Kw=r)vkbnpFPJUw&m|L!(#`OiM}h2eA4au87sZ zu*nc8-$A771Pyf4YKz@U4BiY`@Cw?kW5}UBsYG1>K!Xb#0CY6{TE;>5Au<GOHl19y zlAWq|TcCBR=jZ<?V27k-!uk`4`l}%xvA&?^k6>jSTO-wT-dbhFuHcMTDMCwUpBT9c zY{n^AIh^cpdwf88BFRcT&W1RNOACs1j42ojUjR9WqS{X-I1e8C+Go5uzvE8Nj8?;s z``wISygVXuMc*cAPCOs;Wa^C8wnBA&9;G>Jox1WsKbH}xQ|MVQuenC<J;eSgzWmEE zKw?>30UQKpM5RET0dD^115%QR@gAEZL<+#%KwWH0kZG}20Cx7+N}N-qD;u8=afPHY zZ1gMw3y9GA1K_bM$%IN)t4{Q>fr}!|#QZm1E`hu!%JKK^+3!@Ye8SGQHrTL}s{ME) zE<8UHR^JZ&yF?T#X)QJM&)BXkNgklGq`a;YWy$Q3aj9ar9_k(ME&3P4ihBa6;RE#t z#XW!UPwyJOmjt3wB&?8R3JH%JY>3_~5@t8f0eqc(vE`8{<z6u$*g;_`d1>0D`)=-& zJcBduxnP-7Paj#K>c^h^`Klor(ho^+@ktwWNb`1CGTkQs(rKL!AEoEQ5r(*G-;PnH zRj{<&2{3Sb8C~m~eVMv&D!uUtd^7Kl4{{1y5ewyunH*uMx)pmL8fsla8$Vfb(&s6~ z$wLI7<HR}!RHMyLm6G=FK|Mz2Rjqb_c<{gSjFfpE02@b~<+<l>)(0f>j1QF6KY2tb z62AN-uL^5Yo<378r2(GcSktBfqu|vc;I<JnrqvX*Ex|6&l(yBrO9h_sI3I2q<EzC{ zQkz{7BR~~PUKUx|>Cb9VyTrq@K=2%S&3#@g2iwg|9CF-yM0I^ixd(|H>Mh87P@y!3 zuKEzKIv<sap2wGm^xQ`siNm9`wq`=I(RH&})qO|IchUNzkGdJun?E5Z#ntMlafmwV zW?TN&@4v5en@DsO24s_lyq$B=v&p!ZR4-q5acZm4*c-|Nd?mWfoC$|AC-20`&hrMz z-^>1%>j1yY0n53?zUjI*u!h2@7w5h$DGkMfdW}s1@T`D%w)nc&+MmF-I_}aMe5$N8 z+Ej-<uct^SfX4TiXhr<j6T6r$Db+-)EaVj75}i7S6zG?`Ak<2!9MIdr=HPm5Gs_^N zp=_B+txaLVP(~snFDBwf(26kszy@e|rjH02EFM1LD+m@Vid6KbHsm?38oKc|G{wAh z0x+>rtnFm%8QPz5d&oc#!rPorlw@N3#}`40!e2#}m~JW5OjJY$4+pPj*ls?$asBgd zJ&iEdfARfG@*(33>!szjGVkJAlgm1EeKsn5vTvXgx>L*GpH~0oa_=H#XnJP)?hO!9 zdjJj|`^c&Np*#uT5Vww<q%>XETo)CkHU$)wDU=2}Y!$hh>u#&ApaDEkRPl&k*q!su zg7}t)gq%F1dcwJfGk}R;hl_&LK{^RW+}0W5p$lZ<Fsq-A+!awEqnXTCCQ=CgvHFN6 z723T~)5R%z_&R_pS7fx&e)Ps}UlwPTyR79#oU7=SVVEh&g9Js^Pl_ZY6+aAFamD3l z7vEU;%iDnoodYT6&}35^Udu5;gm#QX35r3zk8#zWDFrFwhKANO&%8418QgkT-ej(& zIXo~l@TWxd*RepF-}pVV@yl1<4#l6Fnj$H{^3L-w%5<RC-^>fA_yQyPmf@I>SCNvH z_20kuT`{uCEU%(oq*NKd*bTphOGPXmys4l`G;3=}gvYvgCm{@seyS~h1nsbYajpGP zL3}q`&yx>PHZ4=`jM(i?bXmS2dQrn{q65FKyz4@g=DaYOZFPU|x7BiLd}{+ow25ad zin5^gey5IRUWsI7puEjX4SDyi$BKa~x({osFh3@Aj=#rz(fal6@0UsUl<RX}Qr--$ zA_YWv@n2NGxA2RTugNWS3+3u7dKbT(8lDHr?(X{$<$3CEZG2gJgxL$(`OCpdD&h%E z_P=@oOD-uc7E#deTTb0||M~mHeeaHEg}lOQMriA*q#g-$rWWm=Cw+0ezsEUs=o(dG z8N$F)B8~YkeW;${26tauYCV3ejf=;ckdAMSt5(<5uR2us9yld9!Om=Xq_-aRxXuO^ zO4(08x@?v=itD@P7husUjp(~Bi-#9fA^O!NE?35h4uNBXwTz)aE8|~_ia4BcHGDLG zP^O#?J-T_p(+E$!?xjo{g*tChX5H`EqRhCDk!fEwf^8<J;-P&$qRZEaw0_6h3b@~+ zqeF?@J7mSdW3?c*=pbdr#aG1n=f%oH(yJ8yhv5#+Hr+I1YDt^#)=JOi&eXydW({4g zYYO{*a#GuNeRaK~Hz_fGadpz;eM+4Wc7Gc404zy`gG<#*h-Y}v7p@;3i~V%ql~9Cl zefXRO{n3=_ke2G|5N3T%AQX7vdwBR)&0jd$<@$&N5!&N<{WqZ0?fZ#ZD<p6^x)gTZ zDe&<$m09|SJ8i4`zn>I|U$K}HSsE@Kf<qki&+EYxMV9Q31On-cDC5OQy7Fj}M@4vb z3i-ERM~ap|=jl71@z^$a80j3?a&abR)~~ZAuu%NwJ<E83u#vdT3(O<T+Sz!UFS^zw z<@%^#9PvdE`wkE#k9`MKj6kZ(HwrBNdulfEJwsescd^&(pI5IL-VszNpdgk1?uQyo z<j;=;w><8<AlB=>XJD~fwKY4eu!p)fHAj1bv$^)IS8HnW<TQxVU#IFOfs%a2fE-05 zWwfup%Q^6q_i-v0T2$kz?!~Nt2WF|p`Qy<?;a4g==3T2r!k*^s!T&j4#Ss#V4xUXu zvde$JQZz{~qlwM?+z-D9a6d-+Kl!q*_9XE8FZ=1r?F?tk^44)`QVDD-*9h-$hDZOh z7sGl+!1Ui!ho6l@+wy+Cvx4%!*S;z(sHLo}UZ&+r#vZ>Qyog<=H1pYPx%Y`c!n1~O z2L|IAX=g+>XEuP=b3shJbh+nnDK;<Q!d$nI%Wqn?Cp`lz&7I*r3z?()_kvNq!ISLz z|9#&WCaJ{L1lQ?t9YaHVTIn}JinKW0<)paV@%M6hk-irf4EyC;<|jS<`vL;<-m(D! zv1h3Z1_6ghm;KQ`%v$E=E0{H|Pg;L&HG)^$g8q9gg7awF-y4h=gHHcFQ?xV*^&&5F zWYYm-8nc&nJ^yXuJ15b1>D+J!9&9i5=OQ8sUl!D`JSy1w)g$$Cu^bWp&2zlqXZdih zf?3OUEC&W{RTO=%>_m@VGdJ|x@uYdDSoz+hAVNOy+V{}Nm3M0x%wt;OUizia{^Ef~ zHsbnDnV$<HTx}kSRPj>i4ZsEFw|~a}W3C{A^1OP%e}_#lFP9(?X*JW}!CqTaqwV40 zp~283m?u2*UU^`^HMEsAAC~gT!27x9iIczR@5t_xWMp~umm0_V=W4~?r#q3}E;|N@ z=i@0cutCOB*;rkAzF38lFEvI2DT(?!yOT6KGZW>ol<z$Bm<$OcKZY;DMhr3<7lEp( zL_aV%|9+`yMI42FYh|7;m4An_B_0}$7WG=!kak}T^2<_xxv3P~YY$fY;vgE&=e?v< zxL5yc3N~J3qm~suy*1{xQ-fhxF!*NU6mX^U*D1r^X4<<7Gx~F;sfJ00*NDaV%U(RZ zP6FbXIe`+;HB|`o`!=yabIUL0<ppAn$W!5ejc9Qy;KGU52s`8d=dJ=y4{OAm{vmjH zIN|p8_H&Y0YdXP1z8b^{moYf-;=0T{aOZ3`Y1cb&QsC7^5n_L?@z>u#CjDGz9(K8Z zMz$g+b}Vq#vusoR_Y$xs2nGZEt=KrZQ^W72rR1|)MYnZo+w(4T_>xM^1HWk11|0r9 zsh9h)9dEFphvG6;P!o`8-rm_!yJ++OUw3~dv4xhGc&)fI0d~$NV|A~n<og6qoj<aC z0>V?wlfVbSxsEJbGcA510D?U&Dk|zei|QC^!@5K9s%a$edLD@?cB{I0nmh3nKr@tY z>r5L2Twm#+a+r4a(J>MVV8}NY4w%CJ#DxAaXa(S`J_BkoRS$yy9pWYTfq_)w=n5jm z9@dt6-dh72xtf}c95d70wiGhoLFk@Se$>%aL=#bu|MZs5%a@OVovsAYbSfO4At8CO zcPt=yPIosk_H5^D=NN@*KHWH*R6Uv{y}xa+HM}n{42*sGX<q~k7~}pePJyt%fCq>f z$4jw++y(O-^IV01szVqC762@wlh;>9V5u~-c_g>z>F#tWupE7SBKx1SuT8Rgpa9Q5 zV<Z}XK1J}K6`&5^?42DL<E186Iycgu^sA=SR$otJNGeUrMsiTWjx1X^U-m$}|9#Nz z-<b-?t+n;_jHl(Dol4cWG|JWrqHp6VV<NA&3Q4K%ze`%Mu4>aM9oAtUpPf9q$XGD{ zrnhsvb7p>4+tRkKRVbgR!eX4<Ha9V$vbVRl9@7NiIWk3>-4$DN@0UIPXN{|h1SY<! zZ?zB}>^CkX38u)&Ydx58eQU2q-fH|#QqwWaaSER^hF<a5Ha7n(`{m;>v>#M&@yhdS zeU{e)qIc2BzlEyY6E-{b7lYdKV%S)t9SH~s^z`*r*j3|1n;W0>S@Qim%Ua9e^7`7m zqYT1ervrBYE9dC=1!eH3Fs$G4>yq~BYg3~X>JU<gd8t=#rvJXw(>KZMNWdsAq5>D5 zX`LK^w(@@ZH~Aw$88TL)<Y1;N6!Rsnkly=$*FWF@m<WIcSNitI%LmxQv1SaOk<<Ju zs8Dx4mLcuv5|4R+Df}M%<|ONRMnE5N-*6X282hM}(X7m7V{Nl9brrmBTms1}oa&P} zARh+y$ufP)#Vo>YEB)j@3+#V?DoSJTQ|TJK?SCdUT#kx&fuxv)PM^&+@^@&QLXgVQ zp^69>Wr5RrOwmIcLe#U+MfS%Qzu|;N4K;Ner^`_qB}~tbZR7KgUobx=zzv)`eCDo7 z|KElEpU?b;ohZjd!u~rYr7C(k5e4jC@_hYPEAn3L<zos{{|WmhM<_=uy%_^_d{BXE zURi!R%WE^`XoK;mE;6Ol2~~I(>)uJ#%R%pI>F@meL<3xNRuSMKheu?Fq!v5N1jlf= zFIesWR4|)a8V}r5l*%nmlyA3FBIoWvo3Nyb{_TCgR_(Mi2n1Y0C7zB|1m#L&x+Ls= zCg6rqdl3I;>HqJ~-~u%qQZv;g`94DI2lKMB#*4wOhEhZ!di1%&ubysXb8dJMT$Tnt zcAgN+M0=>hrrZ0-$-7a0^gg3wAOF@mX_0+utRVT{ziStEjqhTl8YjYjqy}q6Hl;FH zqKcR1dz3ViO}k5gH37w(`?e?!c0T=U%U6Dwl;VH;=Q#L3V}arQv-GJp7(2H=v%<?Z zHLY<#L0XCgVrMs>y(%p#4FL$U@p>NIME}P>OvFwwh3;%Z|BNH9;LmXA+oP1XZ+%~j z?M+WUr<@axRiWVf@d8xQG>Ol$Ts^0fOgCDR6rpRz55^(<cWL?0CB;0!Q5Za>G5q?^ zWXVc3Ra@SZHT$=lN9Nl%j=!IK2(F&ZYW{z0eFaoh-S@VHN{E0+w;)KjG($*ANQsDm zh#-h`*B~MwIdmi4-OV5!(w!sC(A@*y9bfDBU*B4@SXX53J@=d)&wlpa=h#AUKlv5U zW8e!+jL6`!&dF>g>hiv^qSfUp3u8|d^S>3j&~!mJg8t~%-*J}u-*9j;(zI=P@$>Bh zn=&bH!&4rP9uAS$<<zlotH>L$BlhBXvhztSwFA?=LQK%9+`z&dPUbiP%$+?M*nRn& zmRl4c7x5Pq?7vXdf5<nP1HHH<kK-_e82L2RC&>Z*t1f2+4fO+>QkE9Nc*CWa^%O!U z<yh~{b{1|H#dP7Jpi-g0bprGX_X<bp>Kcd+=1=wo?VDf6f$GAH6{%!uoMu$<CH~db z!!Tg<NB1a7kuXL483u2a!+?6;hUvGV_fwMt_lEPo8QtV{Y$vIGGe$zjeFKuxhVK0( z8@+OrZwOTkZ5z<o>;k&(N(p|gn@M|o5NgNzw^NVEo_(VHtZMK8@9!*$)35_(r%f6- z8v@WRJVjL3yX6CPJ@4Tqkrg8*iT%q}4x3-@)w(DX>T=rC6RxbDrCH;k%Hs=+j3@_a zZKccV6=uv{=oqfBF?Xh5X9cG^mob~pbe6`zftUVQX$O&tMMn7f=lc-hovv8wW%0$I zw3QzQ`bmA49G_&o6A*g~pJqS@HSscLai9NW|0#a1DPqivYt+t>AW^U+;R<#Xo^$_Q zd)v}yj9+L3sa>8{NbHz!yAZiZG-epzh2JT*e$tX)A3S>($cwEj@I=I{wpo>n7t#-p zv+c$>m{fC}5ZOMx%&W^z3)iY<jSiQx%dWu*&?O>p`p@wHx7-T^O?Qh<14B@MF0*`c zd{v*@ipTTe;8`W!V%{XNrd3;ALEAexlp6QtTn#kN2?VUFgTB7dl!ff0oVemvIul+& z%v3lb{4OZF|7#;D07LALhB5ea&flUwotsd)O+M|+mGa3Ss~FDTX`U!wX}>#79$g5N z!akG6s&Lg=!-d5JA1rd`pr~s7eR(-F;7$r&GU9}PBs7&^qQ9<j_xZru2Ry8QmH;pQ zM$#DSf65mE2lj$3kG8lt+Bm$-JBqcyTE|5-Ko8U143o9LzWn}ps-{X%5%+(@zBJ&* zSN*QSW1k9O)F=-I#s=m43udKp*(N2X9R<T(1!peY-PS}XFy69wYCYx~*hvCIz}Meh zc@eD!ydK9SLW`#<lm2K9e<HGv;$!y!S26Zj^bTOaIyF%Dzl^6wo1MMhc`4MiYB{-` z7$@Um-UAles-|_|yrc=?LnmS{u>P<dEm}BJJnq)688K8p8EH2kE0D)-CWLwiX+eH| zI$e+wu~B#92GY-Ad7iA3!{-6b|32lizP2>!cE@qc*$_S)t?~sw;58lwyC-EG8Qh1u zATuFh?eX15eOXVlf-+g&1py#wVa@M<XAuLKaI7ah&42`Y(h$6;tMR<*!q&~>-wF^6 z?Vl$gT~#EN7*EiVW(=gf|CXW{2mQ^xkPbKfS5@&uta+Ji6+v9XT_~A6%2dh+{W<CC zCFI-;jQ@Dh|G}hqFHpBctUWv#x3AqyZ=2^?`kTHpwWiW-7k<9d3-s?s#zf$S2BD8x zioPaljB2Ryt*v`QKmyAB4oLUaFiUnZ4Tpnd>%XG+_C6A1XxOHd0*g2){u)ttdkuPZ z%CL2k*l#qgr>gfvD^XoKIzco{Apm>x(J7z~tf+M-RRd`~X7D}D3cKo>VSmh%yR5xg zxL<{%#4a1H=kcpie@{Fx{he~C0_9?K@i>uyqr>3#EFpY2GI7uS4R~R~bETwBTir)p zuTUiBCLo9d1fKX({=Kmd<GOZtL{HY)Ulx}OtrvDlDN$bD`%?K;gZ5v4MdO9>+E?oq zA5ktK)ghwj;PZZ^!`56O!(vvm-ldy`W=<zv@*O|i3OC_5i_4)Ho$-oB^JdFBu3fHE zp}4gkKUPe6U0%q05Mnp{YnNn007FYDG4Tisspa<`S{)@YyX+m!+U<>~@_GOmg3Mpu zDRndCF8Tt#KoD+jw2HeFk7zSQm>q1ym?&g`K~%TkDfJ(u{fV{S;-PHrb|<$>Y66p2 z8X#`wdYh2&hoj%-d;1rzycp%>_Pb|#l)P?MdxMXtjQ+>wqoGjT7{+~;@)MDKK&^0% zTRXEqa(E^QW_5V@8PiWZxgQ;H$l-dMQx!$tUp*?m3JIkpRgJGINT48H@vo0~62|Kd z@uXc^9^`LY8H&LhC@v;l4ll2sqb;wl43Kt24+9XTgog%jmo$bLtgoI+UB6OOf`aoy zR{BVkqWej_E`$wV;u8MVs9UH`>0IP5Ngo3Prr<)QOw=tu44OrHy!bp^??~5K?~Va` zVoGu%A8bG|zSGe_#K8b0Yo5z|+2p#?FWT^_P$<hkxQHyqSth0Z?*ia)BK7HoS2G3h zwKS>Zl8i*6qWrX*J-MbQo|V~=B(I)}dz`l0F@Nt5AcKe_?@hCN>i_b5vc<9^f3vIO zZmRRD#t;%*fT@%rUof%o|K5B60?<IC5UUh2;5|>#*H76ju}=px+w#`4GuV!`#R%H( zB<BI&KFiX4jSAGkqF|#bC;Rj->oh@l#2Os5ASa03Z{Buo-xX><0Nzu>ry~|^j_ozo zpNWpc2MkyoA4V=3Ad;l$b1pkHpvr2mC}@dq?Hi4nx_FcGr4+lPnn=5IYbnEYNlw6* zXWk1*OjK!9Q-SQJI#N=<q3$8vWiL8O(v~=I9v?p)M0@j4O5pbskj@_q3G=);Qvd-4 zULvZ#B!IX!*R;iTe${p|s%PmqwM=G6vy8>`gLEwAO%U*f8<=+X_Jg@WIOSH(I6w~m zii$0P8_emxAGSw-?_ZTlzQ*{$7KG>^iUULyRqn^PRmTBgKHs#Lk3aXX)!K{!v4rg% zDt&(i3{NC9sHv&pT}+=}IndKh(>`@^FsG~lw*6O03a_f7vamSuUicp*Jqmy%meD6E z0BJ-sfQ}T_?aPgJPI3sPwv5)^*{dB;+9xb48g~-%S0BYI?}bPgFrG>iK^k94)g4#4 zkjUV&WnMtVf^2MT>N%bMcsJleO$9*GIq$H7fQ3e37#N(CPO7(kxHSipd8fpjW!6`a z%ELJCR(OM7P!Y{j3?IP2`d~8-(fV?qw~pfglw7>IpDPA`V*J;O-tasH1cfjOUk#~2 z;v}A<@h3xHB--r0KT7B)ymgBhc#`P7iP{6sAXbjlp@mOW!?gdtYw`|K&K!LP00<TG z4LwdrIJ=q?7eZ`gMV`7&gZCDdyox#<rR_{ZQ<dy3j{*7L)lE;hakoH4Q0);AZgism z0bhHO!tfOjLC;JTs;`)%GL%S564*40J(tou>bsUt&<!;EoE@=(Ka;I`7-=(ptobAJ z4M=FNXCTD@Xo}*)UFBX{AXw#VD7N6Yw->g2cCi}32av8Kx1<{+XqtWsY(uYMRDvbc z_(1F+heEH}(yJgnpr1_sq4X&ads8p&@Smwam%9PsJ;tXg1w42<$kRe^;$?+32jU>( zy$fO%O_k*`fa9xtht}OdGG9PXQSb!F(6263EC-(!?F7HHL;5Wd`}-W=pcJl_y=p@Z zIgDRK4)EshQBO@d^MDgMyu^z!%PSoRc+4F3rU!F#TpVo`4R1#*4fgpE0Wg&w3H&_M zBwimgwU~}K5=~VvK6|pK#Fkk8S{sM$g`U)~GKm7<S6j&q=^oMkht`pxFdh?d9gnNT zKHT>FcyGcnJCe$|#)qh(KKw49eQUYR_uV(OE)Imct&m%Ugs%}GhDS(`OrePyfBM5k zd&UJGG&?d07xAYokTjHy*cH^*wEGrIc*%V?&~%W5_ReoKP2-BhxUN%VQJ=(rV1Af& zo)Aph7<GBS<8QtlvF8PV&pea%B?Ey=!N&|pubfWm>El&UZqlag@<E!7(&Pg~yN(+? zvo};GJ6y2}$@qqbWtb_2{#RPiW06GcOf7&aO22$myy0=RJI%$`x2&GjFKmvk%Y!tq z&Dy$L60`thrP;zPceEP{DB5~l*Ep9WNKw&v<}7%aW%(VjSsFtB%>FIZiJh-F1$W3L zXs|I7df!bfE#0#RHq7c$_U!?HkTYOgPJb-0(x4Cka`;I(nFa)5UqahhK3Ew;D-Y@4 zdszy0oH#vc<Y6wJAUq7d@tbqLf$l;NNF&uA4WKME>KGak#KQ?pboKmkK?@ssPW<C- zZem*U_&&9Yrm`ahz@G@BG9J)P?N8b!ds8jjVpHpDoAt3LcqnVy_=f-{{P%jI$^e3R zD__FkF2-9P6v2tJxsJ+#(fR?tgLH$4_#U0cpG+K007iL*<4|1H$sUP-NI<?%&L1VA z!9xb)p^A8@fAO)lv^Z5zf`G#f!u`dt-?TI`Btl1Z>SM$xz#tc=d5wN3zS1709OtNP z)RgZfh`eEl9{SzKm4j?ha8NgJ7R)|rn#p#c0@>s2M-9w=Q%HOA-$y(QX%FRJ%K=>D zfCuoMia|rSTfKB{Hx3$GwlunL_g(K*!dbD;i=LVMM-edYj;~e@TPDq{tA<ofeRW;8 zy84#l&p^%7iS7GOJkE_Iskn10o@wD>Jn~$hRXW@qdhg<5FIr*$8EU+jS<?~QvWoUz z=sOand8R2Or<DbWS$8N*xfZj%7iG}INzXfFtFm=MVFlqrgk`)x|5V<efmJzj`N}^K zX<(t3dNrBp91lx9%{6V)arNWB|HMAcmuMKRN)hr)-EVj{;+woT%>s!WP>G%?Q1a~= zE|t7G`-pnp6v%Z+s<ey-Xg#Yk29m7!`H`bW#x6;f;!5H)EEsln4ntw%Cj$W2BBAr1 z+;HmEs~A}%5M4Q-<4g06Y*qCAFX;1ZBrvhqN`5ysGAs#BuSZ%4Z)aygySW^??-L@X zn@#^4ddkKF(-Z7~o$Q9!c@Nb$ej2_<DBSy&c`S|R)0@*Dl5zZb{_II&{@n^z4q8!m zxG|W(nlhl**43HzPUDonHf3ulEumf6*2&pkvPLtV+hi8HF8Aln5zYN4zNJNin39ix zt4pTF=q&WSNSaVkDJV=EJKjC0*<4_Fem6aDwNsFb?ld9hl`t0g=L~qJiHrAXxxLlK z5p5HOzMM)0Z9BOw-#Bk0&Z6?3N|F2PpVp9i@3P_rFd3d=_d;e-`7hT9b0-Ow@kzz1 z%vP2Rj8iruFqhp~F(&~H1@z?H>tn*f(S4}KTUrkA)&~<zmIaWQ8>+6;N_H{ltAB*@ zAF>XGv3PBn?7Z!hqX<g?md#pfPTKcrViw<Mm-%1OYdQzY8H(X(d&7!#M}_518m(Ih zf*Q(|h_%0W+<s`zH}cyOmPP~PEv?!z5JY0df-TC!lAWSt$*=c&g|ou?SILyno?45I z<D1>MkB(G8CWhjM#?bX+zTt8L->errBfnBJNMHOOX;S$pQf>m~;jSlJg)clN^r4#= zu>)$WgtrNDiZJL=CTT0(wFs_to)O7iyuSZO<6MyF%%$S?do)y132~yLU~(QBx^;hr z|1fv@ZO=&Z;{iwT1w*34%<H&*OUDH8!n5w)wx<e1Y4*<m9Q#vDF{nH*f5f5({G3*C zEiGa;S6dFz!=bxV#RxpaZl*fs?cS5yrfWY5!`Js-6qk>Y98X1|(I<s2OY>Sjf2eD7 z{D_(5o8k7i5B4wq<GF93%0iG~hv@MmQgrT5NCFe7G5|)2TR*9AvH$8k#ChJwnCUeB zn>Y|>MYUNO54tXkvpL<W2Wx4B^l)&Kn)W$S=y(FPeQs7bzfIYIFd&TUl>AGmo=pT3 z4Nz}=3H_&#qWp}^u|7Fh=OLSGj|3&d-KaLX#~3L8y&>JM!x3%m>LA<UN+p`X{P9id zJ?VFe&n$=<`@{?$aRf_iQ<m{G;r@OC0EUnpFRm5dP1H%b*9XB;hXY}hhYLS>wa1=0 z;ob0dTngEa;O3&e5+>UJIJqVUBpA8k%JBKBUlkxE<m}DjL(Wqlv(lTN9?(Z7pV8(t z!*z=R{SQ5GC=S?Y(I$!e7;mvr1e46#ZiywC0eJzK3uor!<p^fO&i7D&tS))6<}Z)= z3-s?{Y=UNFAVm}M0nbO&T2d-wx}IX$!rzE3ZYYRt<lPhYH?)!b<50!vfnZpgTLJ^) zEskeY<z1xF6m4C#-I|%cH@q#8aRwlNF5YO+GFrf!zkZlr3TZ*3_JbF0J~cC;+u;me zE{s)|=I;|_f6m+dpZ+0T70o9=2_A&d0MO01X%^QqQ}&Gb_=Uyh7qvK$FE!J=uCDh@ z=aMj5ieHZHT=DgAuos|O#QHF$#IeQT`kEN3Y9q2BikCyH+{wS4pZLEh1KsoFv_Lz_ zZ+|R*IG9`#$vX(}3ZRmrA_oANf!L--se<yg<-|i0&~`PnBysoo5AdzKN54EF-ZP}# zGHGdM#gmI@;`cZZDwwQ??C;yGT@K3(@VSYNf968F*Bfm2>+c6R(5Hlj<Q-hQEEWmc z@2*F4C*S|=mT9Vy5PGK4+lVFv&vU$LGpk~UcOdfeaej)Im6(>~KnTXqKcz9pq_D8a z`gBRb%-pFmEtLA^*UfLBB9Ooy(NFU5uYm$k7%eIk`~h3ECO4Qp{;_}Ik1FBk5yaFf zVXAljD7p|*(S<5*t)rs4(-apJhF;aYy&beD3lg&f&e=AReEv(7I~7s)kLMv*<5=(C zZ}Hyh^gQ9ox|4Ob8knNa5b-WkHJk6xEsHQ-7daLc(-L5$<Ngc>TAsfDF8E3<j~3uv z0a^gm=UK&^slt-N@Za!dKQ-}~tv9r>GZh7Zdd7CRs0EX3=JL4?0aTQYcP&HZw<7*K ziD9Jyz|nElHb}EXvLpJ`DGh9OY&+FAN@Ms~R|#LCasQjVUDsq9T{Av_FMfU`7>cd5 zaS-$H0=w$T$$7%wF{E^!1#$rtunCzM3E;O4KXd*zSg3$l-%KGikQ&1S7|GuHTtsNJ z+1d?gu4q)em@|p{PPqCTX}aHXhx#<RqM_yTQMr{i8$dAyn!dA8zT5jJ!{b#Y-j445 zpX&vXI#Ob~2YjR|$^x1kuDlQ_8KZ}rak?XOOt>ab9K$;RG|^A_bTvUF(8hLo>E6#m z55SHB1rQsRyaUY{6^Hvi4NqoE1pmqMc+#P~F_iqhoPQ~*Nf{uhB3qk}es8keertg` zHLaFHZ#<622whh+%U_woS3f&VQj+H9nu$Lr$Tl;{l#Lo6cmsA#qcWk!>D)?+lN?s2 zAY#KZ_#<PaGJuScj=j#daKH-zeTSaZ9hFzG@4K--e5MxjG+K$e*Yay_Gs`$3*3Tpv zAc=?K$u$*TUv+g<_JPfCXXmfmgQ=b?p1?$cJYM_nVXNc1;Qu!2G$CO0-Kh3MGlCHe z^i#Z9NwKs%I%YqATIu>uP5EeLa_Nk=o2tVAru<Jo#c9IC<yFOc6SYmn%pM;s2D^14 za+PoZ8*o;}TrxrEcZc@Zz(Y!q=+Q9#E+MXvCsY)gxUFA5%5%_KVk4$Sn8;%!usrX^ z4#5`r_2&b`sC)o<R6<x`2M{wqeA630KGFLn9&$Xu5-OD4lCT#S|EY=)SV@>Ns4$^$ z{-8#g3iKk4=C2X^V|4&5PlLqrKWMPf&*Pgis_G}Q9uUEt_0-N(_4=!ucoJ~Wp9<h! zYjPtp>gwXz>y92m{XZ883X3{xEu08<Z;-M%`5a)nc)-`!Q+q6R?pfGzYq_P5F9_d* zUWcg$mH$~GgzQJy&i_dg{rOMe;v4NpsSU5;sA76Aj6?fX#aprdx&N|gzl=u{KI2D9 zJy{AttUqDqfByW>&ovc*CC&rECHXO0X@0=wBfo2lb7?#v`Mo&*yt{bQL*Qm>SpSaW z-)m1~)Gf}(82Fz<{qu-F7fqjt&;Nu1|K~zH8HsV8^<o<Sl8S#H{PVi_hqu^oQ}FL& zk=J;SkTzVywwdJD`u=(5?+aF^6x@F;>c7|M{(zH09Zlf;Cvo;aqoAS2_@95@K!1Q_ zm%MMTtSnS5aMD!&dWt76L&$J1d(eh&uBSK+CV=LBCL@!gi5-G|<0v5ZQ28;Wqjx8- zbwRivyRQA_A7gud4@k5env;*PHlYW%qiQi;D<ID6E=+qf5#<IK61kJJPkeQRveN>_ z>&r|hg?%4^_<e8PUsYcQe5r^9o|32m29k+go{zq$cGPtO2{j?I1%)qEU#T^s8z2fl zU(CKf6sAu7%HDFJO9asumFUi_F22BAbb8Du`m;y_fI*&bk@PZmc?c0YcL<WS6)pY1 zC|aH#=Z|e;GBWUnOfWmdCxY;q0hpa*e+jRjQqoMX6wc!-HPf3UxEURk{GcrdHcgRh zI_osLobGV=J|-{u9U|coYeU!l^P%b&=Ln#egf@wFzrx;b@T%P*7c?MafAKOqqanWV ztGcw-SDrY3tX&=PFHwsDV-Oi@5LrSSqSKh(tbOW4(JA60yP+&#O1KVw<D^dLP?%g_ z(W4w3y|oyP!x9S4GOS!u_h5j)-a`Wy3$}Fal5;#dtT%V(w}bG1?**W?06>wS?j*z+ z@YIpc=00Rz;?3yKE$5zIUsUyKh$VkirqYp->cOHrI48=##I(CtgspgW+NhiyHnx)| z-uj86BTqSeq-ys^&o)~l-)=g*cgxolHt%rWT@k*PFW>SY%-HP4IewMfCqySJku3bt z6eHq9RmzaO!0}>Mt4P!{Q<;qHp`*jC6xfkIbeM`TVoztM&ZouvaOLhh3YAgB=bIc` zZ2!MuN}^M}s0UJO+EP3WI4RvJ4@(Z{g+ouWPB>!D77-6Sp6)<SR#lEFiW>Rqr_I_{ z+<^)SuEU(CjOn%Ify2Jwh}Yp~=c-TGJ)p-KvQTVBA24wr-AZH;wRC#G@J{_~eVFpA z+#|u47dyf-?&{7UgKv4)akxlU6e;}4P|P1SiB}AF5HwczF)sIF%`Zs|`Fi7@OFZ;; zi{D89xUq084cio%cd}fSug3(okv@MTm?)4lQtH}m2<JXpGz(o&M7%OZb<@9+b$Kv! zvFY~?%6eB1Y>a|9I-?w!8k0_H*mu(Ro3!-<FCBu07vzuAJ`>%`cWpkb;~Cib%y&K; zy5WeQ78^Xx%=6)L?4qwG35zRO7TA&PmvYk7A#F(A6#1Ajisx-2=u_PNH@&jPkomG~ zn+9(>-E@B^^bkf~G6tthY#DrP1rhuqX*&5Lux@f#F~&QkO=q1PK@P=qfixISxLHAf zoIS1nTcGb8|7fsOmz1L+Li1IKEOnx~JTAb^KhWd69LeZ-uURUSO6?6JcDc@0Os9r7 z&?U+sl#3vnt3#Gg{r7v_>t075*3IP47<>UcE?p!ZFUNSr2d5;^5VTu1j4Sx>=U*@h zckIQO`~LwK_fTuJ-!Ohh_spj$Hnv3rwO5CWi3H&4aeNQgt}v`pXdLop3a!*fnKY;b z4LT_iKXs_H#|LT)8+0>I5y%R(57114c%}M?#i(U@mZIo6tg<5@Wjzr2PK&eu{k_7; zr2&XjcS0)oeo@ldqEYA++_7TK(Y@LO@#^R*(#pDIflrs!6rx?JKYVdyCdm9SF|!1r zcd5GW`10CmsB-eyOsqm_Ywzi_@pKVf%^l{wowZ5cQK9tPVIq0PZ!GaT)RnjWKi2nd zc6dxb;bFKtpZK7D;vs>sHs?JSUAW@WX(=_E)+|u}Nd!;AldtxP<vpe!Kd!_2kXQ)| zdR$57fwjpoFWo{)(1W8jACGev(P?f32Q8=#Kq#dBJf1@1gTe16;-5F28nq8)FX}GL zGN(j1kXGvRY`oZFduII^dBYg<3*DPQk!aC*FM@%XseY%_n&QN%8OT%oGy>Yn01VQe zLwOCh!Vm!r9S##qGM7|9OW;rkigdRu11WQx<q9G5Ea?}Z;CA+s*~$7ruPoxhSz4`O z<SJy9l>s7WE#&Mkm|_$5@RDuWFF-TN=@?sOp4qMJTMD(b<#OXO9dyj;MD^i$qJ%?w z%~NNg;7Ks%uvMhPY`Oce`Q?yHPT=^?hj??3%;_Za#p+7_-+1e99h4`{!04znGBd>p zVGDTC#2ug}qQf=xGGDD_i+a9|1FjJ#k}wc%!4P}dYE%2dm?(@sg*C8d==5RQ=Mqlp zqktudKxDh6<V^X3<8VMZ;;Yy(2~_S(&LvXyknzoRmu7~KC8O=#QYldBdB!2B#fPnq zoHbb)-!(ho&~6iVh3?1;?QOF|;S;g#WkfuyqbaVrBTu`WR2!M)Ter}|2WcZJ(-Z0V zZ5HP-=K?A6ENWt5dPesVeu4VM!0AmNYLe39zx|;y1OTJ!{T0Yq(CkjtUF4+G_;%mE zFY|IS3BM~{zWGUQI8!8dN$M*>w4Trf{xXh8vO={MO@(TK$c1Qu$T;PUOm%qror_Aw z(Dr_NEz`}Ak@to#luslVpLAytA4lV|rrr}9-mqVxc<T#ZIvzC%O85j`npGKs9Z}(# zUOen;pziL$8r%s+bzHWr^(+snrkY}6Z3v&bQ1;#H+0e&4uH$q?eG9EgI)!y5Ll*T` zz5Y;)A9tf<>`?Ipu+Z7-w%Ur-l1{%l8;p19<<FHvn0@ZYdea=Vv+0fCGbvM*l)#!Z zu3qfTz3oV}3n0?IVVmXd)+Sc=z!<*D=^nu-3DqG^Je5zZ=YB#yuD)TC>IPS;H-e-O z)-s0a*>~h8K_FWENeH^006Bpq>&s_Mk3#_I*Hv5|J36V;I7)lFlNP$%w&u7^Ld&n) z>J<6|xh#~1Z)b)Yf6N|kPvBLEH6F%k9hp*%E|2f1c$A+fj*aVs)OYSwdMt(ffT>JX z{nphR=or{~Yv?pqycl*_r(M<jRohu5QUQTXwZ&;_sOBCbuDzdo5}(A?Up@?%whX2V z&@GK&7_t|IkNbrK1-3>eS8vlJ$evR--W{cXo2Sb-O<lxV5U-_QRqrq1U4Au-wpaSj zPUKuQ`>eb_JA!1IT7h(yIFH)do$uR)$x<@vp|DxLpR(}%IOgqK)ee-%q1)wml)?i= zUM^~tB9zV5>NJgO5rk+5XdWQb>A$5xyA1B)0Oaa)1G2+9rdCX#zP0W3{qz`PU$`=+ z);hXg2E7(kZm}x8s?$hCd~r=nlzEH$1C-cuRCV2A{q?BUa8CK~=Sk-7wzixkdM=|c zzKQ3eh(d&y!hVi}Wm)*6WZ0T)Ju3~OZJTFm%z@-W31poy`;NDU()hBW9&#%x6-Jub ze2rlf{W#z_wAN&L3an%{K6q?auRmqlYMG!=^9(9?6;rBfdYSO#*I4Lp%iWV-k~<4d z(+9dJSY?WwCURf_RqG@LjeuY$GUT%dpI0B1ZM?n^MTlM8-ouvrBo@pf^p^nriD1QP zFnB8*)C?NSzy<20q3s+Vy8)5hU4wqX-B0pQl)fku;qbf<0uDw9mG=>dTxq_}aFzxJ zmt{`?cnGmzyZ24nf{A-&cOx4Hv+P+}JJVJw?_2f;81{q)%Yd-(cZ$Go&($NqMJIv$ zs?k?H?pjFIM@!RM^qhls+29_bC-qwhPZxD<a`haWxlzQjBiN1k%;U|W#>M892r_Ef z<0^!=b3=8~TgsuU))JJT#XUcbEnMoxJEsg4on!`@0W;uedW$>Plsjy^@Fng0ae}w6 zOA2jqW7EFquQIQXJMB12oT2GcY&<r2(1vskH^x>K@H0O=-yWrX>8afOjJ;_0S;*>v z)-(IMTPA|cl%pwRq@zs5Ac#H2Dvj_VUDb7M5XD@U0Ow6a=ZtVF=-UMbVtdW%WJ-(% zDOl{;$E$ldk(&aIr@;qH!QOv66vUAUel&6%&08oS6ib_C{B>f}OXILUY(DO9W0-X; zEks^3PH8%q>mx;br7Lvc(0%-@q5bwRkGr;tzMT8tRp;W5tScro^YtlsdKssczGthe zc{~ap-QwVRG+ybByc^Tf+EEhgmaP1=B@9;r{vnETYMfpUvF2F4b8a>>C}wOg@wfg8 zRpEwkJ?d03C(8xK8ugx_NIVf#&b|_c?U1JQa+WWHl-2Zb&p&GYhbhUjoh@l?cN_R? z=KgiC<f`~PJ%R&=*Me6A3A$0uGa~K8diwJ3x+C7UOUrZEa|)%u?I=33-uGFM_Ri#6 ze^ocTc{h)KlV1q+(i^;FSAVrF+chVPvTf7Odsuh4>1ZtScrop`>Cs}z(T-9r1a`jj z`6U{VB=`?Z<9$GeUk(?|wfPTz<Sz+$3`}FIv7^5eBlP}K_G5`vQr_<LGXuAmWm{)- z<FxJ#+w{8fHfBDp&klYAP3ZpPm;nld`HzJsDUI~%UkTwCc5sAMz>+{F<2hTh!j2zO zfOCS?BqZ<?ow|9MS;&`AhpAH3ggu8}!-pVKQ#xw}<IkVj4jYgOo|BM)tQ7)psZ>(u z%rd)Hf@D%qup9)|8fH9BiuRvR@;J&bvn~i^x2W63$p27~zZWWwDy6)o=DgIwQK4hx z<UPFHcyKCr)S6>gn7=bO=NN_c&ssbM(1NG=OOmJtbh`&>+-{QL6L;8n>z*Yk#3Jm0 zXdw2czdB%b=wDqb*9&e3a2%boOrDLlIZFvQB^=haNNHrh-}AMT9^XkXf$}AG@1E0V z_UF`@XeKGtrN6$2OzNJqzJ%j8it|mw9%qXk?iCG1j$g%lu}Pf|=CLGYCBgQj)mQ5; zQO~zN@y{9)vv)uFG-7!Y5u)$T9Nqw#kt`E8@la=Kji`tz0=!RHd)nq%eaIcSV{qd8 zfGO7Tbzg*J8vjXRI4<nhvLTC~fOnc4=q~1B!I;37sr=SQ=QEG3NX7t9IAZo2e<iAt zodC}|xe!)?Qb6T8yjT0XtZf8_l;$Jb#+A$YWsh`gG3k@iVEXzcIxX~(u$+Qp)Oa8H zm%Z`X2rxpTPT3x`zJ0f0QjJKcf-=!T`5HVjItu5rc8s1_u+z(e!MDSfE>ug8T_Z8F z8AlPy(_Nq@`W{h}MdD4|H5~M^KT&rovPe#Y6$2fps=+gpkYx;Gwl86P?h^Z>tM)Vd zvm98yCTEn>nY{!Zy?2IU*+`E5L*G1`<MX4s$i1PM^B3Bea0E8~`>JlBKWnn+Il3km zwRO${NnaOS=N?fJrKEfNIwR&`T5X*9;YQMoWN&W}uifdR^Qo$xjG20otZRY1_)G=A z<Fws#;aB%^JnF$C!WW1N%s%_v3(9tm)kZGF4COEZysDvLr=0Qp!oD^LHq~F=_&baP z2pa}~9C=;Ek>B$GwKkcKVHylV4N`}z6q%_oC!U57^=1tvfg(yB#YXdnOiEZ<Pz;{Z zSR^FQ9bcHGSTjEqo7q_^2GASWU83&pJA?4MRT{%N5ffI>a4|(M`xH~n^8?|U@aws< zytui!)7-8Xh&ki;mX>MFGjC)=i)ahho$OW0#Q;ZhA8#ANI>fFwoO`(HX!EY$F_nTh zQ31qnlt1K$Ydzw|j5w2Ga$Qw#U=AXx<EFq{0%tkoDQaD~j@NenW%x|dZFmZrvpIm= zlpQL!-;iH~f_x4EZfGT_Hp+@JSJo(B#G$%x>j~g`49C9#o<hWQ6(2g%8*X7-*LZap z_M~NI$w2aetidAC$NS-(HEGtm$XJ7|$N4_eQusmI<;5n>55I2<10jgnq~DnALC)bS zzk`{F4S{r?W$Lo2URu>{_m|YrK;tryQb?hp^?p_OM83h`rpm(;6Z2#v#wpxOd*oM6 z26ist1|HXyP-w&7<WR^Yl1D6?#;v%G0{Q69`aA~a{zQp-IYd6;V8YKhk|}!0D$^ey zl3rb+_x^dZX#!{OMntYkP)%E$H#QCr{H$4#p3f8gB^Wr{{Ct#S2-sAYNwh;$n@Pm` zm8n>ydj*V%wi>1|UR?HF1I$dYY?8xiuAyHSL?m+Rak<hGU1M%zy0FA!vQlFU4}=rj zsBHx(M++2Na<F+Apfv2Qb5ChEwAC|N5B!+t&3|*J7kup&XT42$S)F=Nr)2h&Ky=pw zmf|xjy!8P7l^XV8=ssceP!{MUDI&V)dUJUoDrjSEvdtr9-Q03`ZnlE=?HY#AR{jBe z$T=xpLdwVch)I+An8Ou}!sc<MI@M^8hEtTCPLP?Pq~*SZt?@!*Vd}@B@K%qW-jN)$ zK4_J~LNDuPdYy1!fg;MW&~xEiK4-HRVw2!3xO7?phxYc=tp`Di=Oj=a4jfxUx+%@| z6r)<KnRMlXrFhx;Vxg%cO<@h8BkPUVyl_#kJsqnj`@tVPym0jY7$I#5@$3D5EJFi& z4D{HK{Imx|ICefOWmAbC_r5nh>D1_n<rW+l5+r~Nyi+h%A+LXw^uES!Uoc!G=&lNN zVSoC#Q0$#JtqnTQd4l?Fi&5HTL9ndC%MLQx?uvd>ZTDhW7T2@rlu890S@OR4ji})? zk88q;ipQ?sSfV%6BcD=bK|GG@?7l5i?={1w_lexED>t$;&Wec{zGk*dX=v3&&b_J% z)YGnvX*?{@k2^h|+N#H>;AAa$m9KY|PVCSt3sqchk%`-YBDQ4@Pg_nxZSfkymj=Gw znkq3TXlQocu9e-NL@2vx@FNxqIR<kdsyGSZZo;H=9z)x)omkd%K$qBrME7H>uc{&S zl4xu4_RyA7@4e|7r9&9jDlGiQoDk=qmWSlq07NOdE${`^^EKW8=umpU<2$Qv7nq03 zE`vwDoH&6V(y(iAq3eDt?9@;&$aXm1ndCy64EiuF+luOCM0%eGpnR$Hkb6rUunGwQ zdUKEaN7@7<I>EH!<l{x$0lH^r-Wso75&6Fcwn07;ozm4`^lrE~CZBtwwOs92A8*E< z=+RZd>#}LB7gxcOlwqIul^-GJ@Xl}Ug|dSa4uyurd0(y(WZ3Y!eq3iWta`6QCB@Ur zH*T|Ty;4?_F2JyMA~Krz%5|`kZ3AwkXBF<6?XjJft=avlY3^9Ki;?;S%s&JGX_^u4 z)*VN()l6bSV+tdK%czJ)Ny8=Gqzwso$X1?`Ee`27nn@M4bMO~+w2o1xIYE>{HX%l4 zhr8^JJ6kG;8W?}7Hsxed=RHcY3~^K$@i1sSrLRR9m!AuUfB5QOBOD_MX*#_8lDsr5 zlBsqn!|_gRNwF`%-{+EhYtS^j_3WUhorzJ=wi``2tYb7KcDBa}&Q}EZ!Q=EU`?qI( zpL9JYcb-2emUQwT78`sQET+cOSNBN_JY1DiogVmA@6h$U$8wvKDSd|c>p8jmZf#M_ z2GFS{QN~dn$NtrolG1jjOD}0-Z8O;te1(;p=RBSsj<&wc^+Y?rcJ*6D{ec-1V#fnK z#&Wa`DoSl`e$(CCyWByFot@SYdF67Qs8=6xFuF4%`!EAdQUB%nrd0VthBQSHHdIe- z5nngya%PLyyw9i{F&lK)vg6h*@}4O)FB+s|%YGRWPTO`8n#NlVW7=_ShS}0WdA`Ox zWFa6I1h2&`yp6Jc+CjsJ=8<=AuM{?jFWRs|2nWut1)Gjmh)tS6E1#t9?@vd4eyHoV z3Pi!b>2IKYMjv%zKC;o=EAD2DxLA_#TMsqUTxAOBsjC>HwePa@9^Xy53wgl=`F;sq ziEI8DuvjV^5wkD|PlN4S4foW*L`C`D@(8Gg5Ec70x*X+`tXBeR#Df|(Phxrz2GEF5 zoIc}s7lu=Xx~--R!`qjHE6RelcimT5997{TCF*ZP%0_>`xF1CB5f&{&<*dQK5+iTd zLhK>F7#!csMzt<`=6n+fICA0wk4Ln~p@;r%dIMq7Y}15G#HuJDV-p7t>j$g#g#&`X zVUtBwYVwme!XGm7`x56Dro>x%G;PQ#!>~;+yRR<@dtG26X|~Pj>ZW672lbuqICZ_E z^bYZj+uhlSIo%hEOJe(2ov4u6@edw~!xa!eMJ~rWn4stYlj5}c`dc3cEi#Ztj-5zC z2f6^E$kbwV@5pfg+d`{xq(mi*#E;{55(B7R0CECN{9JdwyP$G=gknbXK&%<|H%}OZ zZ#|m`3*`YFxW@~|=gF+B7YZGd7zN+gWf;N<e~M|CHFP@L1%C0F0k3Vr5u5XfcRd09 zoH8nbV`fRlXhJLOJl%>->M&cs2YWbCiMU~f<P)#;zQ#6tjWRKQ<sJL|oZ++GlPbkj zch?QNb5$+b+vZ?1psh($>NYO#Gs8ucu!Dw?ii%1BJ#(7KIPvvf>MdD&J{>-veQYe# z=Jer~b-FG?LGAQ-x2Zb>1?N5xij9XLJFB9>W%R=t$Q|XvJT1M1i%u5$X^~s^$+teK zZOhmc56^VJ{E@A1xXCH2^cbSwbu8?gYC{yY-LT{&g&)V+b?l!FS=WqBZ+tSPuPOB> z+l8J4WN$vf+KV}RFgl++qn5Q*TqX6=ejOI;wP9y-522<`np2~p@O;meInV;rN>VXl z<lB<N&?J16n&<0i4EGG`$c|o|+{X9wXGX8Q5#~^{=Rc%#1(`WL>NaY$?|Gd55Zjhf ze)_bQk*YC?h~pH8a-u^xYe8UGB{d@y<0{7KDz~g}mF&Can?s?}`zH4U6+|u?(8;#t z4tn9(SW>G#@PgMFyY)avGMhrWb=+hrY(!$Q?1{@vq;DX7d(jff=i9xW3w3wsGHNs! zdS;XK4ozb2r-MTmE>%k7oUVqP_9%MydPaOVNOOU`6bAu7<MkS9`pE4MsrL3JvYkPi zr={})4PG2|_oUQ^l1&nPM&er6CxxTbbaUFdVY>IYvc9Brsoi%s{`Se9oM|t=W72kh zO&z-35^`=rC0}s$3~Xk@fayl?x<V%-O(pCo36V*Lf>7X-UB~havw&NUN3Ae$e529+ zXfsQIO_h9`+N$p)EZOkv*;z@)*QR&oIO#Y=MN3so76a+37lASg&Mz|~EU6#EMo3)H z(x(cBHe~1Af4m<-AA*h)dHdP5sCiINdZYL6r0_1HOpilOiVo5GO@(WhV;kSBC+B?P z2TtnskszAdsSy30&%J@_iR^j&sSb}(xeda3jP1gTz&kUfJkz0FwPC8zI`Oxk*r2g^ z*2%)Oyl3<;4=xV7GPZ5-G~;;FRo#OFbzpKg3!e}6_1#}nzz0@3BK9WxGDWPm`r@}Q z;PS0Rev!Bq=5{B<y0lo6-fTU@&2z=$^k8O08FtmuQ02?!B+r38s%0x!8jf4T-!QNx zOE^aNrB}%}+h9kTOvugdJ9tU6Q+?xDUmtpssstHl;V*b~yeFm>BoUqB!22=QINLmE z3x6iI#K+l6twWdB?>t22NRZpYosRIc=|P0>%1guq=0^l#;7SkV`G<O>SwpunaYuIR z8{wd6-wC;H%~5Q1QrcJw-tWbhTLFa*irvdIov>suDJ(}663Ip%nP&lvz02rURIj#@ z^MfGR*@ERN^r{?$|26h2!zhJ0m5S)T&dZ8J>mq9Nd4AT$vzKeh=Y|ZO(<F5{4Qaiu z*l9~ik5)hIc}#(hw+aqMgl1{(Gg|7D&jy>5E9q^erR4>erI`+bwsAIO>l_+oPcHkl z8pJ501U#{qiD}&t0t<R!FW-~(JTDO>PuRbw)0UJyTpkCKWL9^)l=G=O=8wd$b>B({ zsO!VV{WjhlFRnq1j-pxss8@NUx?{utgnise$o54rc{3`W73NxN4C6E7FxH{OSJn}+ zZ)5Rb#5*Ef*0o+e-&^f;KA9{yU8$rC2zs=)3Pq>Jpq)yl`@Lhj?s?3ym~g4gju~Q= z_N`S0obyKO{3!l1wQZC->nhkhVXi>`iL>?o#TKNKy86a4^_+6UDhcYy?5Om~<yzk1 z41q_c0UfjHmj64s=GNt<l_6<ckVUO;y`Qy{G$FNyzWD-`>!}zSr&G3k-D&9Uwb97_ zxLp(d7MWdkuAW)<@o0FycJwp%t;gq==8o!wP=s|isjUej@2O($Y7IM*-Pj9PPHTAe zbtK1&ct&imW;&;u-fd5jyLD4mFLv<k>_T<_BveaWTy(JJs1YW(C<UvzZFZ^92)o&T z^>I#|6Z?0no(2n9$>sTp1`jCl*+vbiin;HON=n*$MsGUtDP(=&^~u>2-6rlXfd&T0 zv05hyRvGKQH>6pP#Mzf{I)?IGog>mVHCcXfEQg5d-gJ9SCU|QR*2qq~>=WB+Oxwkv zu@IOgRLA6__Y@UMx6wNC_fEJJHz$_VjR$=ApATdn741g4Np3gSj1TXIYU-6Gx(@oT zrGOAc^2PH<(eOI`hVG{#uU`vNik0`*5kZdAzAe+OwK5HxES_sJT>ZEbJ)Bwe;J(Ui zxt(qD0#o<GFW$5#Q!A&YOR&Xk@jNmCoFPxAe|C1$jl`YnqV+i!v%mTULe<4E#>%KG z?%av`EC6$^qExN8TX(uC2=ZmciXijMTd@<SwVgu-CE{@Vs0W_MC*!o@?7i+JMn+(> z3?sF<ft(@3rZLNrG}gu<b{UwQp0xU52n($(hw}}~o#gYxok97m@9B^^pg!0x3mhv3 z_MQDo_3&>q#wP`2A$En4fz}v)2xuu0S7k6zKb=QjmFd|G4S$fAe9QMpc2+;$GV;5c z@a(eHa9U_<m+WxuS#NzH;z3Z-aQ5L!My{4dH8`}7QP8z@?3tLXcK7D$`OVp*s5-0A z`mf=~@3daMG)@<Jf0|*5@b7~j>ObP=@BiGTrD{#8Yl|3Pqf4so#U!A-JZrjbxzPVE zXMj~iP_-0$^U!oB%kp}SI-(;$ZQ(mz;LAc5&{@rODkg!7J$DVPH0?tZ&D_KG$owT; zy{hXSI^MI9SmSrGiB_AZU5DP&SN$WZo1s$s%LQ2r-M8)>hvgPz7@;*3m!f!yKx=T9 zx*Kqtw{i5{l^BE-FT+$a<ne%<9o+4F@2Y~7MOj$UIdADPC)<v~;;KNTU$8!~!$A2D z4iL|3U)QG{Y!%V$4A&FI+6n0Uvo|lR)&<Kp_9i>7<y_YtVj3Sk&YNW>r~r)=-rfA# zz6hp-CN78`|E>eQfdM#u2dA6RAOnLaJkD^u%F*wmub477V5i7*<)9Nz_y)z-#2Ba8 zjN)+2FMf_iM*Eh{Zzb9HE=vy7iGAfh%2}^Fh6x*py5+GeZIAD~KiX8VKX*Dld3GfJ zB*VYX=5hu13SfbJbBeP+V_{*z&->kcag(o6M?b*6*XefmE~v9}ygi%NMlHOWh=%Xy zSu7pYSE{+XVgumw9${nzS)b#zGfqWSMa)g6ErO{VbTW`M%h@A-v5>~#<1wv+G(RI= zmzgKs{XHk=z0bsGu0f3_H#SW8!Y_yl7p?mEKTJGIli9G{CoO|Vd+5rVH<p&edIe6f zglx~HS7u7o^eBdFvk?#4j?TomUw*oXTn9&UZ>w=p4!`-~aoP`BmQH<lhLe2r(9_H! zJ*SMFujMO!^jI{Q(Y?5!V$y_!yZph3$_%e;GuS!*<VxSIW%EM>F`pZp92zkm<r4%O z@*V9WSGs+NeO1<P600CtradG~@x$2CIx$lphkBw|=tW-+X5*g<DWE?aD0NPWG%$RQ zH{kb~#O$JB(w98jn%T(s&C1gD9qAU$Ze@bS@tf@Oo9r&6#p{lX4Y9#}PV}K${IPF5 zOlz1ktOOm~c@z+Z%1T*kywhOY6z6;a4xEmMhS0VC`^c?Uhk;#c;oo_V_Hs`7PO7cc zreQk4f+8vG_Kq^7?lUU4?vlzd-u-HD9@-S$MpLA6b{@KkC+x5g@x{MqA=d4UAX8of zanX_?#qF5=USi*B_tfNKV1qfwuy7wJ-%HdH4pS^F|9TOJg!Ir3YHa^ge7WA&%SWG< z#6klL-3=bs&66=i&xtM`+Y&_4>Yu<oK)P;wZ5o<wkZguE5#@xr<M@F4bI|Syxt#d& zfaz;R&B!W+@b=c$%P?7sJlOPy1=w;`aQCO^cV14_fgCd~`~~_|5x1;iz-9?=RH8H0 zneZz?k;glex=(j@10J-Fe(;DV4xP^CETaE@6}zhc4N())-=8-x>y;%d+R^vu%U*`P z7SoYR*50()3CWQx&{OwcL6vwhvIgSC7N!~Z=O&}729oE)j9@Fh342TSL)^13QgP1h zp)EXj-@&53r%^&Lij|+Jrph{6%cp}HHcxDVy{(Nu@0&NjQo=u*#mo>RT7g90OJMq% z2k{oYwi|V6ULq!^SG`ZH4I7!F&gd-1aoO);gbTyYg0&CNkE@_c?~>ddW@?$ouU2BV z5RbGk79YPNdw4pWboC_ZVrF#>*y=4AIIBB|nT2I>jJ@nax7vBIy$JJC4gIWB;KO!7 z8W;G?M={4wAWJ3~XaCFICUzkvxqfeq8QaLzwb<LK(}KssV+-VeJl-0z-1d;j$K6yu z8R#6>RoGw%f3*0b6E)fqey#)@e#-D_lSi3Rf>|()=j?lmBY!~}@mFxj`#IP6<L$x} z+GRq!?h#vf7z?Ovl{Qj%QW~@o7QF@VVzjm|s?#ke>cV9-0y9)K7fq)Gqpceclw5LR zc*c8DWT`H1?g+eiy4)f=n01YS_UfD=qy4GVc7^xvMdUhm`{J?Lp~1>aEqz8|_8)O+ zt`|jNX;D!!wqJ*2ua3xhojNi48JNW9HczTxvqn_Yq5Q{P&dSZH{KxTF<Oh->x^&!< zYY!Gvr32)|qV>UoUCrZ%@L|I-DCk^OBe<6Nhw^3JEO<%If}`x&x?I-|{dglC?RxaB zu)JNry4du1Uf_%@`C4wSSy<Q7$~*T<{n{x@=2%+&=EjPONMM&=i`t#Wi?z&ni&S8P z^+@3KS<2y0R}0{^*Jx}2G1zc41#plD?0o!GE4t5H&e&4Ykb$nrR07Ls{bTr33!qjY zG0>wQ)U`;x<AW9Cu{zkM<ra2pUq?!-@i1F(C%5rfw7<}vC26(8#7yZV&Ux;YnC&(y z&sVXlfg)2Ls2pvQql&K3&amC(QVu<b#_3{_g=2e}rxf7HR`&AUoF+~isu~$Sh+MR; zUJV}(dfh%A+9xI&(%E=bcY5<qsKXvt!H4H&wmgXWxt*a#QQ-y`|5bj_g%IqW^JR<` zru#x!l{!19`4L34yXV2nIC9gan7zY6^3wsAXuohl-;VQbs*ZDY=X}R29P4fUJ<$G- z*_4v21Cg<D&0!u0;v3n9N+ve@1&NYaQ2(gyb#K`INK)zEG^Hhl&hDQk17N={AnoOX z-O`v(`=dZB7PRIZWq56{BaL<U-5X0|$rS}6tV4y%zI5Qo=u>JJn|aIA%cz0%nR%~^ z)4@cg^5f+!_=O{gwmUGqENuIF(p<z@J4Hf9;k;m{zR!|TM{f8mpDtE|kSJQfeo=lT zH$!FjOi@R1inI(Q4nXel?7dyEiY%JSz*xh+$n0rGozokk=oVX(t?sM_r%5hrd=;^_ z9KWYYt}$cvml2rcda6d7dk>UM-W+4!w!ZQvA&5!Qhk&jGx>m!UvU3STjr$Tv4g75E z&Q)L+swxy)?CV8ecnqSvF{)%(165c$5gj9{^uk#b<~p+RQRWMpK`YTBm9VaR>&y(? zL7R>n(U{F<JcaqJZivlypfuN=hG?;i$^Id>su{^NnHos!%XTNFP)UH+w@4R;+9zt) zm-sKV?Ml@bmqikPiyD4U#Ukdh!BKCr<>+zkuCfSI7rA14?5tnWPN%A-by0Zs1)828 zs4RSey0?!yC~285e0-|@{S$E!y*K0?fsx3CK-S$O;cF)b>**>Bxe0bssKdB<7U89j z9CX-Pt-0vDGuotcAQYg(s_OS_TQ*qM(yq^Yi!TaOQoe3q!wW83WN-};&f72gA!qBN zL}Fw8%OzKNs_o~il7<b&5#7#-QtXFRj@zzhQ6{V1q_^MhY3v|qf?#h%fA3!OQQQVu z`n=>s%ZKq+3?)(S%Mv7(q<ScperbTECn>oN_j*calbM-4!w?cLiFU^3xZp5qxoR2v zMqoI|6@0o}+*ZhC2;sMEVqwE>s8Dv05~*0LO7QLB3%Jj%6be}cUncRp5YSw(flGfJ z<LbF>teNmHQ#&@3#(C>4d!+_p=gi+MU9CSI&Jqq+;t&_XoG79gX$-kD9C1uMXThMa zw5-~pU1l6>8x_T_yB?slTdG2l@oh6Fcgyj@+f@C^hC?X{A9_f+1!8^}+M2@)R?bpm zXv%C1<^^{>FbHc;FH6t%Uky%2?5&3x@7>+lRRA_+8&Co76U1>Ept^6F>8I(|Ie0V5 z9WrBX?=&K6t0o>A4wVa1C);w=M#*R@?<$11tmx|_Q1$C5J=@klw?i$+^ac;o;#!=2 z^N#DDF&ZZ6j3i66Jo+Hwx=dQ6x9&&MFJNm|Cw70h@SB?)xbfn-`l#7cQrPX?yF7Kl zdi67gYWgRQb*sMmSUQ{jLSxWQLqr-hQc-p5de38SVDSYE*(yLiFQ1CYaI4xc<n?)y z9Y{{|ep6-Uj@*CQYv5-HJ2E4r`x5mC*;_UspLspVhB?m3)cjrlbO&7aylI@<V}R4o z($X>mia2K9BV!~e<p3XOX}o+KLTv<JN<_srZ3~koQ_71Hk=d~T_tssFb6kEjP5{Ba z<G$31TVsS>-)TUMkr7<CN}UWk6MIb5C-(RJaCvL65s|Yx=nHaY=^}5vI^38xodgOY zUQEI(yd0?llbo0n?fWvyjlykr_ovCnLN*_ebDDgKeGzL{e<3kD$#b@AVwj{{FIm}M z3gU%_cZCXdKo?H<2PgaY;!j`XAVM{c?Mtt&x?vL&*|(lVs(=u@U8?}644vG|IKs<u zmm%(LWx%mrkaF+nB7Va%E@~a|V#~H<>YJiw#uh!7uzDkl(#NyXX}JedTnXQ5tN?1r zfulB9)P^YWmcX&#vK&?gALXXUe&GSrj%-b)vRcv;vG-CBOw%&pPp{0UE9H-~3uCE^ zF7_ZEiYGI+xQGkrweYOlK`%q%E-|D1U?ao$I&Rz3nDp?85dHXgsRWFuj)Mul4TRQS zn$7rNHD+G`<`XFESC5mPgZji5J0DznU6*RTaBWT?9{LM=MXi+AdMh1tTI}xMN9LuH zPK9)j204atfhc>bJHTv#eTgzl%QmLk4V?4oSeW1kI5xNL2o!)@ebUZD#Ym1z$;sgy z;&R?mR%ZO_&3WFGJ?%7K)Yd(s|Hs=~hei1{|Koy!C?E>bEv0mKDN2V(ONn%M$BGDu zbazR2cP!oAUCYw2H0;7I-}N0nKA+$9{QJAEo4sx}&zYGs^O`v`XFda&pZhP?jLgy5 zO2DD%GYP$v0E8dltnhSlwTzq1un$Zq*GEb$fz?7wwzb6dLf@e2umUkDJTtmkp_dYJ zAr{IxgR@y#bEsMra*;Qnc~_tf&A}C(S?x81S0N2e3yW>i*$8dRt8{Eta*HBqhLv5+ z%*MclRT+a1?s~)9XtZluUcK&*vftqTjs-jYszY_M!k>Ed046TZfX?_X_K=T@ew)Fw z?s+0r-$8rg%c)bEV9xOmu7?b^>t~flk%8C6$--&kde)+aDkHtht{pMvCKYm}@3g5Q zWY=RCe3O9HOE!8Lru3GJ6`_4|WME=xLcScD<h3UcTN)PQihld3eyg#}9aGPt1waYG zSf3x5A|{;lySfwqI`o8lK9%Fldn9|G$I>-kIE^cf(w%$vO%-*ks`fH*bZ<umFz?Z{ zZ=*tW<48W%l!mEkURn4zSV*lSqrgJr=Uvy25}wA*>T($ZUf4|Fy^SARwM{`Yayh!D z4Bn8N$P%VFA0S+JCae47s(hS+g2H*zDm<(woO0BJKUg`)E@&3-z@${z<c0T-QS>SH zX|`aY-gKwjy0se9*(W$T!j;zH0LrZsC4#2xnlrasp+FobzQD$_nsZ8bKV)%_S(O(B z8-+~5c5{bwb7Y7EK;TvG$mYp`@0i;qiC6~<DDfO~-aA*Zr|J<yiVbHtF<+!8+?_96 znYOWM_@`RE?lgUq>T4G_sH;18`z%@Uu+hRG&WT%S3U1iK>LTMXPj~s6Vjr+Zxj!mA z%cIUMpx6TgRQ1BbPc$K{ZZbdMw{u3tH!l(|33b2rTB16ZxW;vL{0`~<K5Ue2AEPh* zOi<<-Xu50?JCT3z?Qoj-Vsvoh!j-T|rNnC&wSMaEw8?otX_qFKfQfW|;{aRe_Z`g< zw&=pkTJ>ljS8pEY6Xv&jpPFPCl(K}cDo6{$$sV)VVnx5>v=4M+h@YC5zokzd5yGBH zJl4>6k0YGlBKF=__opyT5!}Z$&Fw6R2{QU_3QQD}r5H527_CQ8z@UVANtM|M*t3>B zNa#V?t%J0;QaJNSnn-f%RSP7MT<=35r7+?r1}G-+bHvO9yUZA2SnfT2vD5w8%4)Ak zDS_}ywRNj2nn&^MLVBIJ1!Y_KuSWD+fj&|bh+tcvw6uDVj$!g#%uerI<XaEm%E}fH z0oyk}T&Rf>DU9Z7HZqM**;V`aQ5MtIeOzvqa!E+2$t`}@Le#A_t~V0hC*|l~x*Gn% zqlKB7jaYr#P*YAs|23U6F7L+A3n4rMZ<&vWQVU8c6ku9hwZby5xtA-$&qdP`(byFC zC`aYzXRcWqSAF*JYb_ZTYvK<Di45W=b8Q;b$-DP8H>LAt13S12mJF>z3d#V*e1baK zIb_hf7oUq=_bn}FD)a>UG2b6lAdWNPddo0ys|x5p$(E?UYWsX`KNBUeJa9Vg;KJLB zlWCGyoineO#oOvhe9&69yyeBpU^ljAu<|o9UjDQZ27Z<#a(gN1>=$6?;bOwM%}Uni zJpYAyOT+U70@8<c&tGt$9L4uDo#-f{0LSGCo4IwO`VGY!*DmORImIm{p@K~d=6Fho zsnl+vb}UT3HrCOZoL!NEgJNX1+1fb61hTVCPP{qW*;y9OiGxo(vy-mdy8km?x0D2c zJ}mO`84Zo>`n@7bnd-Qr4-E4ar<Q`TwNF5V@PmWeS~&d#?1KoS!s>V{mB&&wBe;^m zyP#U1K+wTaqUrlmVRp&O^*Y2m$J4l;G5~ykt0WY`O)>lYswt1s{Y%=%>wCa;XV+>* zcY}pEhqfj`F2t@sQ%xEp9sdwSFJBZ7a`{f<T|&er;-okfK(=#Wb{1+H?*><J5*s!( zqWi2-d?Uq_c~NaW#;+|&y3Z3XD?{mA9Bv5Q3?|xN7B1Az$(|Mr7VFp*AvM0`HTTSy z`^Ng<cioSXu<uS)W(Xf9`WNxbXJay7pzl)d^6LN<v-<u1KVXL4gGIa3JZD8mO-)V3 zI=Gzz%j`1R@87?*E*Ykmvy`inv0aHWo{-)n^I=*rz+=<*8)OR6-`{^%PmwrhMot6j zDkT#%?0M%kGD1%OabV>b<`AVzlIq19&cA&^xozhO6rCm?^x<vWInGWTv0!CjRB3gN z51Mi92_ZiJ)!Vx{N4fL%!(zAQ5;B+hL?!JRS;K=eTmOY6OTw_TE1KP4TzbX50_PaZ z3r{GI{EJXb$RkO<*@8Nlyn8X9i90gYNpt~168Y@SO@w-FW#vS3>PZi&ZT7~-XY41@ zNep^I^qufTDS#B<Zdq4Pp!YbKuP{u+_lMko*%>Uh+HjGcO;H4KqSOJp5E{0WbA2AU zbUUv1^Hs6t5vA$rMzcs-|00c$7iiwiCq<b@gnY6T#cK8kd(**5a(sCWs^nhmUaWXo z)5llu0)^2@1ZDz{Ue}C?%?KG=6f;goNnBO*T<6RvIMPlc!b;6ZZgbXtA8kRE|KJVR zV#Y^|CUL4kjD#SXyT%ec={rT@RQ~+u!nFXmcd=5%4ZBYdSDS(Zut<qN60K>PR<z0R zdKuwQ+W;1IrVc*!4>UTfcVv2A&A2yJ(<*oG7<LSB5rczGKN>iPpJKMKDq?{o4jGQ2 zIv!stoBNAHaTYaP>C=O0Sd&C+)N*7@KS<qu(5^YyDVX3=C2SrMy|Jpw+OHgBm8<`0 za6lV>`KnGgCS6wM^9^{x#V0IEy^}U|OKle-wU8I$gzsri2OOHJ3BxV(scZchw;Wcx zs<s>C2CKG;jT*o7{Gk&L^pYtuh<bZgc)kcJ?8h*evsWl8EZmvVw#^~6srUWyqu8;; zqx?nelD-EFq9>!_bA85rC6UgRV(bPxvqdm@8T2XaQr?kV&Zr0g!R5U^+p!yDWM#b4 z<;y*pM(dd35`p2I+t@bF`Uq-}R?|g74)gcj7G`*7?f&Cg)@e9ly6(qTY3Qg+DmnSo zVcI(QLP!YZMu8s?1b=4O(xrW++nLr^p*M)5L8=#i%)c#r6LBXx<53th_3QNaL5)RE z+5ORA%iq{!h#^8?RN6??QWIIgEGLeL;sXqy8NJEjYu`2an#pyK?=HU()UgM>mbgli z2_;o%+H)Bz19(&kbjr}v#e(SFcW0RaQIuMnonX2OX71zdezYt169>h?xszyxX1>gE zO}>_R4NNDHv7WK07mEWU&{uhR-%>B*!cuQSE=e$T6vA1Hj2O4jQisRTjIfMO4aR_( z+Y&#qzK<3N;sSZ@O%+s|jlcL<V}VcCJO_4QzYQ7hP=pqQd<LRAoLzN|)7mG>3JR6f z`t6EEu}cEW&xpkGREXndi*WWoBORi%NVyZC_8uC<`+JKPs1t2I1sdoL_Mo0|HULy^ zq0%_m9nbJhu&$m&c0g0Jbw%r?Zuo+mD8t}$YIvx`)ybP?!QF=oN63A%*-td-YbT@o zN-2sxz#AW2k~>;Omym*@I9<aDQ{B`w8wIK;P_^_$x^bwf?Qt;wOquQmIDygD)G3wu z!@P?^!pn#ARgU<uL(cZn;cmM7Db+`=7qy{^y4g{B{vA>L>!l)y3O$1QF7*~jn%5?u zo(b`OZ>U)RlA&ZBVJAfs|Ez5u#}LfmmX}^|;BetT=NUZxgiPJQU+eKV*OC<90v~Kb z+_}Uefk)kmV#mg)xhRU|KFRuR0*U~Xc$wk;ywOa)SpmFK!t`6r>FH+6C$uY_4@b(h zFR+}Cv;1b4&qaKM3u0JX_9Q>H+&((%>5ALxbeiQ8ldW2D#m6S&4q5Rq6lgJNF+Z3n zvdKWXP4eK1uc(tZGv1KqQga@T=q0&BGzlq$`Q2Q(34kN}LG<a*lEmoDfhq#Z+o(KA z)<6x_1<#{KrgMIcj#vd{vBxJ>^ZvJuhVOFZle%r`M?Yvyiq%&v`~39&m~D^CiYWKV zj<g|>lU}uV@vJA8wtc8!F`o%5_fX$n=6!V}h3p{UcB!44-ExIARF<dCPRWYwd0#y# zfWCG_5cTDzqJ^n<1S=1pkXZB-<PnIpfj;b@5#|cJc17?}rFp@uDDL8tyefKt;SHd4 zS`xv}Au>$*$=8t`>3}=>vmKXd4u**v*1P;&S3OjaJ)!%28C=mN#{)F)dwgQm5hR?} zK+X}riYj3BmX1;tl9GD8*>NNN#Cw~MKVr4?ed3d)Od83+uXC=DaNuW(yqL}%u|Zn} zW@g4G!F+^AB2*!)O?zC`9>n1nx8Jjn-pB1suUj#2!EU+SN1#NT*rRAO=ghd6vO`tk zuJ&7u)Pn7iF`w@w#nC&lW!KEcw%=#bA`j_82DBXZJ8F@6+#`V@!?mkg_z|C6C3mx4 z;Nb>2X5+bEIP2%IB<t}+lRTR5+FtIHN^RZHqc^A&cR7hozjSfnIhdCTMj!x5Q_&3a ziIRjv@NW$+^tP?Aa#pq_qP1W?0SN=7a^eWK(_ZyiW|9y-y;iC(Ns=<wbeKJ|yIJOW z8eP7q>t=7{wnC*h@7;SDn2`G;YZBrn)8CyRtXn81thfJj;#|vdJ$tqlB(2=PuHGzT zEBgU%Q&DPnE=&Gqz4p#*k+M*Y-J92Pah33>itU<;<#tdBt31@UIODDnYJsCi%+|ww zx_GZ!0BjE2$t^0o!=bpFx!_0OACr=$HZOB~U*cDvCys%l_w}89nE3+-aV~_Sm*7#A zDW}y3rv_PuVWy2Q3rS4$-B=bcfLk99V2IhW@t2i{QQ}g-kP-oIvp$TZF3|DTMUlJ* zG;__r8^DV|CKEQVseQh^j9*duX*yI7+TC!!8!&{IDd3tG0~Zx-ZcU1T8_`FpEQUp^ z?-pzs9QKOct94Z^>S?mzH^%XV0zQis>y385vv8jZ|EgASL-w?*jQJujKNNU)l|9&j zz!T&4eZ;~pU?BLYKXbrPF~j!GjT)IckG10aR8&4h#Dx>SI1AaT>j5`KzxoNKgg^F1 z%y^o0<r}`(8ALgq_1WWvoz_uibi7%9y(X_G`w;7LB0erita^vqnGswkRLJy-w9oNH zFK+C%-YuI>xUj-!dMmDx<W<v~)c*X_rx)W4+IsCMrwOez-a*!!K9Qx~jNpk~E*la> z+d5r-;0~DrL6(%$_nru+(wK&=D><1QWXWRmNJ08!I+;)kf;CQH#@;>6IE?&fceaAi zO^!*s3%p&|C0)<sLg5x&oZPj(_t?#4Zyu7jcyuj9*`@a>BS37g7evXn(Mx)_`P8)+ zJk}LG`qQ%XP7vG_{AuAs?<qAjx6U5GNX{<pSCGxT=?W{Dgp9Q8bUp*k%M*__rzi@} zzakwhwOxYZjF#d;p7o4*J1m>p@L^iU$*yFo_cv9$#S=9}O}sXlO}ri)x+e2k)xD_T zH-s~!BDL*<!yDE#xPhT}LCA$wk?Pk}S&-{P%tN*oa@Ua0|4Gz&kS6}*Zv4|7%QH7W z11gN{`@V9v?i|G=!4P4#1HpOBao6ej%sR?FL(VXY#PUAtBYBT=d+NvyBMb~Vh}_u9 zf(3<n%>4tY5E3bew#u!bIABgr&|c9hPq;`Jg{N@r=^M3#s`KD9lNBv0yzVzw$3`W= zeWj(W7B)7Ub$<A#+0!ED9|M@D+kZ4Q3KrxPL^?P)4r>WUDLM0lFNb}2XP9i;_m-z- zYabg%nh?V0!>z(T*VaZ#+b`t3rQfW^sfU90Omi0SLVSvJ!Gb>C+;u9eeH)&w;TtpI z`&rKH7geoe5Dzh*M^^+s(fh0v(F+S7&6mDK4`q3FG^UP1EiA2r$g-F(53Q|LHCp_8 zGdoRgnYK?xE#+iPFKEVrO-C(vt1F3Z^J=QlyYtqZXs63>2S$MpP^k@`q54sM#o`R( zFRe%5*V#Xpx()|ymxcN5hcKPp745t%<zfu0#D0wNGNS9=BW;38hzy&Ihd$S~hVv-0 zt)UNFnLb<QO^ZJGOmDgbteR>&-I6L;R#+-JnPhZYJ>U4#!s~kTaNG;YmkN>r*+FMI z{DFch(LkKQ!wt7Z7P1laGj#YAY_Y0VMSqS%7x4Y1pUzIs;TIeH*sNQXRrI2PYFHQ# zS>%F*XSIB+b^|_q{hlCb?AC!rKYw(Z*0gfU^#U><cV5f~%?+;+jz-i&7SFZxRds%{ z@xRm%P7ANqEaH2m*z#0hVS2yenR&V;-==1YWQMM5iBQVqsC^zEQ2NV*zb`VBo1iFu z<h>-nuboc@-UG@@yqCr7-_vzBb8&go?VxygkM%VN(NPV|k~mBwCr(b;?R|x>?Fa&J zG)nREwa(%i%kMbn4g3vA=qX322ofV6eAd0t3|(iiu00)`-KH0K?X77}p!*7aU9V?t z2XgL$+R|KpB0$2981sB7U_v6*a*|6a)pE8#^!>U$dtTkS!SfA%wY_EI6MeXfd7_ZL zM1PA;-QMujw7OmE9sCTlCstNue=sewz$`8%ZUBoXD$|JmVHVt+ixAx%4mZ5Wv^v*{ zvsp5j)-sOOcMss4;brT6cO7TuIPj+BU_~7E2=1FP1egADda@nA?3!gs|5)@$)D9PK zlu!7qlai>TdIbi;>eV`nu}s?Lvw##KuC?E1GBxQCYfO&`0}ml_Mfu_S*Xwk99`Aqx z$M^1u#mT&VtxAlN6@(Ri?@`2G7ZwvLw;OiR(I>-G|F-2juak@-62<QuQO>7!Kkw;_ zuD@j$uy2(#_!yaRd1EEY%KFlt{JZSiw{KeL&0b@-(huhcGBrKI_2O6E+E`K(c8x$W zZ-0QnWjIZ(gYqf#qF+z?T)PUV7NLC7K(NIxJDDZH9`;p;%GkdJk`*)WKpzESRnTZX z0I?!F7<X=8P1n({Bn0UVfYn;fC8@Jy{^tFsF5HZE%PtpkQqibK&k4J0gRp*Znlp<M zSo?fpe;fx%AZI?8FvP_&%#{0P*gbunt)e!xWT5J(7^<xJ@jbmB6??rvmd5)R<;D$6 zrhT%UW@tSn*_WEHuk(9(s7Mkqv?qtdYkEIg`_RMjzB=+4WqgKdRYUJ@5;3K@f?is} z4VNQ5<9W+JCn2BZuya{WO5a6<;&0avR&Dda(!>6dPiZOu#@Je{n74w0W2*SEnENe& z!m-oouB><Fna~w2KCWC9zG^MFyLPRfQ+d5z8_StkE#mp&o1nQq=FWw<1fT`tyYFC* zrH>pA{-Zr7*ls+}Yn&J7Tcs)mz)5Z?V89oU2yABL5H>Sf;ei-mT)9&E;A)gE>;=JD zP8QQXx8hGJa@vixjYE^uFz<z>NtG?kb!zII^_3Z)omqn0j^eX3kG_PYJ0;1BT9+2r zA6p2VrO0(~Sc7Kvx)SAVy;n_*4{3mro<309i3un9(y_W9dYQJ#exU@m&)+RZKv<F> zeZIO2wL)mNK+8$TWRoE+<}yT4veBg%P~j?(2N)lCbd#C3U#;7-Z?Jkskj^yQy55Pn z&F+gJin@9ELTvl11p852U(eHY{dGK^lj8?eqQKX_|Dm7MBP9K@$mMEIBflt^rN~I5 ze522#A|t|G>f)@VD<@=>lOv*Fw>~$aGpe;~beghqzDl$E>B09%!6;~<GsSE5@|#z3 z^+%PgQ)-qZv1hf9qb6HkcR6tfDX&i8UNAU?Z4FMB&w8>8lmc!=1*!o}_iImoT5g7w z`N$_FhXvdtwZQ4?amE>3M3xt5*^d`>x}7^pEK@_*59<cvwr9SbU~u#B_LW+X_Af{Q zXts5|N}6{8-h!tD?<37p9k){H#GoT$0pPmk@)6=@DzPNU5@u<XP^(K7g`kh{kZ19F zxz)mT{q12MLO0EAlhysUUH_Z;@It`yVtVxOs3<k%-O}ibZ3=3+T>F@1@8{}CRle<% zuHxWy{2mex0!08oDxK}}fWvRT58$H=2tgIZr9%1Z^1Y>Ee|}SV>PJ>X>uVr+FYp9* z-~CYBU4F;O!H@XknpEfavy=A^piT}uqJqnqaI?8QnmW9oFM^mioF3#|0{We1cpWpM z)$QHXE8bL{dyh^nec1tT(KqXB(M3D@OntaR_~ZGcubi)&F&HMOi)~>vrlmrlC-gmz z8Dv>QttSmv-+D@SlGhbeb|UrfHkn{Ob*y~3V-h>L5XAl}9dXm~)~LU!9u>Y?mPExq z#Z8Iu`657xM9SbNx(}iS@I!A;`?dW`etJazk#=1R8@G$Wbf!SF0K_ug-P7#gM=h!Q z<>AWDfVx$Sd|OZ-w%D+>sF5a7>&*lE6W$lLtc{sOu0h+f8&Fi29zhbtZt{b1)-zqr zvSB5<)jaIc?f6}5pVmE`mfhdR<kat;h8tK)Ol45`#agI9!W3QZfXw=rcQ4e=B%z;v zhF9{g*V$2x8YPDR9Jlid4q3S8g=Ql5y+2qzRWOCQZ5n?bHHdQ@#$x4DcAgQHKQdlE zxwx={=}F*=czu#`6_O66c=t8Nf5>%LneoK_d3JlbbB{m~*x45TZ7L*vBScvVv97_2 z&(v~xv_xBVEGe>VQG+<~G~S-U&YY@ix#QJpfC;)TuPiXv0oJ`M54$gpV7{wM)MfP> z*dNqHc!z9#kB$@*9Ts*^XZcnb-MI7(lp`s*czgUp%oZ!pSmS3~4)Kmc?eFdeDY3wv zJ7})U$)fb}I#51`>oprF%yfmdq>&EKrV|#p*`d+8;=in+10Ypt=jSZl%97_^+833T z9@&lHU>6(d?n#ESipUz3H!z6#jLB$;;zXhGw^WCkUm*K-@1=X`YXXy3R}tY)hy(u7 z*Iynu#Q!3%&FTj(Tnvm)9cT|%=|8UYW@DZeeWS#tDRC8~MRVkQFikf&J4N-RHO|%6 z@VphrvbZI496VOmb`?!zogBQY?WwD!-xj+Ek6jWK8$U=#v>0!z$lnP_zA|v0X}UWq z;xyl5)-_klMb8eGj0Wf17@QmKeG@L&c1cVI^vG(t_v<%S_?@Vz>%A)To*a&2KC~XL z)UM-)DHBRIiC^rToMzsgiD*?Hyh*Gx@*mQz7bd$JPYI6GdkKLpmep4^Fgl~n#{!^f zW|bsEHsfc&6=d#F|M`5d(+!x%05;y}7kPtrC4IgU6cD);oCqn4f^MvEJTahiCzjsg zjJTO~OHNPpv=ITy+n$}N-8DCd=5zmJbvIw3lpYUEhUG0ZNVh3raZra)ph6f%#`qG9 zEqVFOLq=#Kt!7&~q{k}TEr?Q48_Ulk39A_5>8Qm*BpMs3y7jMzNNOKPl1#0i!j>{` zrBl#V_?h;>*foe(BoT(n5?ve_+<<;r)169tZVRVSE~@rVXtPUh++^uePmUhT1~KbY z7S8e~iP$E_<c}9uRV{;yM4I`AD6w_2nShevsTtsCsn6Uv9cKh(WB8wPSV=%;x7oWg zS_JtOBg;bH)#O3vV;+trEDEAKCpj22ulFh2yp5c}xsZ133%DhSl?>DU^7bc!0f4@_ z)$*?7pJhh{cx30Vfw&am8RbAtc-h!rKSDa(o4o|T5<P|kE<jBA_fVPA-Yfb&TMc~X z%gwgBEy3Rh*>il6@~o{NV?&4N1y7kkiv9hEtAQZXcho%N6h`4b5hUNm-*@Vz)r{_j z@LT&~(o9nA;wU#91$;BatzH4;*LRU7MkuK00@j(!8ar<~qNdq3p`|YNykU$q+C-## zIF=vBP7GusH-2tpa~L@cg&R48`a@sgtK@^DbganmyC-XG`kWkST9?JPJbQc&0-)5S zFtp*i^0R1?$YeqZ&LbVlwL#5A$3d^rMa`z|w_^{#b6sxvHHS7uUf&M5EG4dNZT~=w z`TfVviT%O}lyG^Lv+rLN6p`9FpiN=xqJusmL7#?fsEUKn$>5qb<jmx0UMu;gb*m)9 zbY!Kd(Fei-%nk$Z*UK{$@v{$h(N5d7kVp30+iSk^3zx(4!q!&49xosL&R^YilUoOk z*l@!3BAgK%l4|g>S9TdM-%ZDsVgkXZKrfRXUbH8ue)vcrSyxw6&kpOjkXoyoA7E^u z(B>MyD61L9$7r?s*5+zJDm5;@Zq|7%Eo(<OUa#tW?o2ihHx&JrY;`?u2T|X2kypJk zo2%wMIu5OaCLZa7kXl)C|9e0u?5nuf(ma1<V~L2K$>-zxirmP!JFu4zk`y<!9%z}K ztve8&ExvyiLxi~K(~Nc|N{>XrEi{zmh}ZL7PM8`kxjK>cZ&%8N=|x`>y#4eduv}s1 zw(Di(8&oY_l;;Bn%w_SQGi{y133`&&8?&vk@BlxjzH&|soLq#So(+K1)J(vPEIPtn z!XE+<3yX@PAslD%zqzsr&A#TC&Db`XSC^($Ob}*zrF7omge+rr3p24>|73OXBV6)Z zZm^jV5ij)1_8!&?^c&H~Ohb|4eF_)$OK)1PZ%<$T1dSxnYWm-DuU(@(^AkBb&^m<Z zuW|-sHZkMcS$2p}LBr8N=DewmapRh)<kCvsu9pT$n(zo2^)1%;&fG$Xp;v(K~g z{y+uk+pZU!?PK$AUyM{$aMoA$2PnM%X^$aAs74)9xs^<I7Abbb*$;^odwDOhK(vpt zWV9owc_n|tIV=DVTpSXO&wX!Na*^cicBrX5x}PDV*|`04g*w<%KIfjV?7N8!lo(H{ zuatL^SND^Nha3Dhx0!1P^?Yo-apAU!G>{L{Br0)7iv;phekW$;$0bh)pWse}X5}MX z?h<SrhH&13{Y?csuhMr!NU<5*v=dd@$>HV~Z#!Q*v5hXojrE?(P9nt3UI0|L&G;3d z8E8+V3%&1?yDBG++p%?*kiX9TCfX@+=X7W+{F~u6&%TqtkJ27cCdDNxeW2&PPa~ty z1gV{tnT0o$2jLSqHL&|U4eb1O-yk`aiglwn1u89zAJ+5kN7E<n;f}4|vkk!{6N57l zbQt3k9?xb~eSUHI?O+C=d6)+3k<U+pM-<y3$js><F07$<Md1z$y5R<dSJ&|N0}-HP z<LSNq9FKGU`SV-6(}Tu`ol)`nH>?GPr82Kbofi^<!n59sKgC!yL9UecqXIJ>X0o{1 zYt?l#ono^YC<rWd>fF~|PilE6Bnpf{;m@|~8TK-gL5{Aw`|TvNm5;D(?djyQE4|ne zkPHC)u-nJ~8>TH$iTi2ToYT}089Z=8i0(XLN?5b&!0%|6(P&NUGm@FbxE5~58UW*L zcx}aBE!OCo%H-m3pBf~i^fEa0+vbq%!hp@^?Jn0LSp{5MgW%a#6%7aPSp)NYA*!pp zy-U6CTj>=aSev$bvakChTu<Kb8-e;B_g>VwvC-Q5-@H6JSozU=CdlQ>?<xw!9c|iq zU&Ubp3LmvisUW)XjCZf+c=($|X}{K_l3<d>mMDtQcOpE`Z}*$teRh7!4mic5wI#YA z>xNhX_Vr@P`f@N9D;bMB@x!lBTRy2i%?-dlPP7&c{Q3-K#w8j;o1yF*92~wKzK=KX zq^S2n!5vIn$YGlA$gjV`VQS~8hOt@=moU`l%&^E}O4HoN%Fca&iHAHhBTN4*AiQr0 zZM(1R==SRr#RC4o>re8-Mm*nJBv^f>wX2i8feYfrKc=+Q!25j5?`L|H9Tp{<JbNeP z1_#h=BM$Zs#w5<=va72*x|(2&s)UYeYKGpVUr7y)Av8s=_`LU%+sRz1&?J&Vd33b- zi*fAx0^jnJ5*?>jO&z0ba6ODK%`hIn)oZ=FkFuW7;jH5&3{=`a6B0rAiU3PiOKf+3 zJJFlG$o1^d1Srs@cvikkY+}orV)DiWI^+tqf41q0huv3>HPYtql-^#_WoK`IUc&aG zZTK7y>W%y0vV@B{8JcMpTwV*^a;s22A$T$Y0xN_-=l53mSR`#qX<6SJKIQkhRuP+E z2?|{?Q`K8vd)qtCqJPU~ZfhO)6W3Pt)SJL5J1mcGyEu++P(#ksvx;n?4ha(kjrYzc zbAEon)*8QjSB}iYtQj#W!Q&j9dXLr}G5h?R8+MZyOHvtspD8D|x6?2!w1eETW`*Dt zQ;Ab$v2a&$^QMP@=d{{H$>A&4faZ)Rs(4d;W>=9lOj6$a1g>Ildd+~6u;J50$mzpk zWvj6Up?M<ah_rbv-ZQx7i~|9RGR8w#!%n^%=EL2SQ~DmSJxUO9xyY_}d;@8;qozJ> z@9B?!UFS~^kkV%PzzH{58r7TnDdHhe!z2|YrR{DG{=8t8fGAl2O|%&mUTKEe8R(cS zrPG*>=GGsvm#VFtsWFm~saz^*odW)z*OaJlgl@)y4Hh5{y8Kqv{eImoD1$mPu;*i1 zhKL?!dgpWO3!w%?<{TOJH%-r7zI$O7)nDxgsGkVzfBzyK64LRaU`$Q(bySgns3N<M z>>#5tGReu?BVw^ftIR&zIj%^4PJf+Bh~x271CAG(Y5}TjOfNGy?ED)mi+(zU1WXn0 zlk8{*UAB#38YZn7jxgN7xXE+^u2caK8ocx(L_~;?fA_Wq`(>wnVm*XC?pDNi{6M$x zW@ICxvjd^`IwUS+Nlq^<e*g4_Y~B0m7PgSE9%|0dCw!4$Umd`zKT9ns^OVwAhBQ@2 z$M_8^V+-5*jTo?zZ9XCJHzA3Bg-VEA9w)y=^^?07jm8hT3A#s*?c3RPUmYd+i`krl z$<T*S(4la!*s~bt)<MI{$*FC6=03AS*(Wzas$=NU+Y2U8kdK4A2JJ4Bz}=S%rKnUT zLcbx7)n4T|*!HBf+)ONJ<m{LX{q}aiVd<jKHd_q1yc)IntcU48ijEGc=#DN~cm`=u z#~o#s*p5xAW!u}*i9w?^_WdSvk8kzB3UN6PIpJ^nl1rY}nwyuMR`7Q1Bh^IS%?3TW zi@>VOwcW|>iIcwQ3Hc}`D+(w4^J(PK-Umu!$N6^`q_Sb3%s{<f5ySEJF(rs`pV#v` zj>>TUqo{P-lU8&l!_A3<#OK#>=&KXDa})P{p<b)+dbPj!QT$eKVMsbLNeRVSfC+uy zqz*Ybr$_vJlYq@m{S{FV%H{JSrui%5{8WUFsG3i(1dDq7a2c*WMmt?HCnuOsAhXQm z>0;042@me^YRt2FEJYQs6tG<=2C(>Wg)iu(6*PKK8&P^hfwHaRLMFwV2CpajVgH=m zmACeN^0YB%exuP-(QXMvaxFwFh9+G<F<oC-uji@sWT+4*m1)#=QlAne01%^tg;D=Y zQKWw1N0+90h-{;QFKZf4VkG;RtJLjB+0(YSZ5w2d=bV0?F_>b=zP;W&et@6KP8ZLo zb;;D&!ns0eMHz`5X~+J;U<RKgx|lV+Jw!K%1TXj1^HEJe?q&Cc;oeW*{C9#)@7e_7 z$$OPMo-SFE_4df*o;!j1ByIH}S*&4A+1rx^8)=rKWmdhqrF-F&tPXI2v_U{tKIuR7 zG?M#*US<`<A@&GM0#&6~L)uZQE~cP;(5Ii5ayT@=lV=r6VT<Oz2}p+Z*}9SWO8!u` z-TRRPt*0irOzAOJW3q+lgeOL}#2Aaum1<wm_bz;Hl?!~$lFHRGEY<q0@pS>Jxy>x! zeMTfbReIwc$<WBHklcSO)!EYH8%lW=N!`s~>7W?56*?gQ_#tufVw1oT`Z{7b&T}Iu zl5~`95Auk+&J}zMH}Y0U|97c~e?w;rL&fbwK^@!*i^SFr8>law2wAv3{DOwMs`FxV zd#Ap(q0yfuT-)A%nl+BbBw~WNnP8?*+$Z-mVKZ62nxXY;XN?9p$F_`*<l7-f&cro* z8km_QH=_4GTGGPiEnBis90(au3Sd2i@DE&yTA1y|RPi5mtnjNXIUYh|59<fj;G`cL zFMLQy!x+$i$0i(-#cd#?{fDhtF0@Z^H7m*`!;r1lEVb!SSG}G3Rd*f^=G|Vt(JUM) zHWnq>B|t{*b*MVF$}X)o>Ety3hND3o4J?erKMo7xgk%-d?+5-=t=A_VhmL;@b;w zv>q$JF>Td*tq3?5D-C#PH)7mtAG5QZNg`DrSlJLBR_AQLgxvv8W^wgI7`&xg(jXM} zS>hTD4D3A%hIyj)E;`%^tjtync+rZZ{<<P?9@KaI4c>))tDKA#1Je{H<`!OMG0HZ- zW|;fvAJkNmgo>f<g->h9yKODAqL@ucaNL@9vY+dDypG&E;it^xNSIHpMuwljE&(qw zIQ&p?b@(IO2Opb+nW6poSQIh5|GW?LL-RAt#QT2gRJQErw(42;uRo)yvI>RKgj9XX z#%|~D;2+r%wXoTba}f~^1F^bEUN34x?vCw2lvv{rzg_6BEmkp-9<`*$)7<<+`Q&qf zG@L6H*1OQ3Hvi6r<(FF?M|2k5#!mZQQ}bn+zKF^tcQsl7t=Ma)9t!I+sEr=Rea)wV z*R*~rpJ*SKs3hS;Q}SQiym<c2fB-}OerC8=iw-wlM}%o>K$f*QkxV9}vhz!9zP`lk z<gwBfN(LoRYRLD}IJ^@KZNUZ5K!)yhTO#BuT4i4A@CnO@k%j~QFsqmchMyyPpY<s6 zUX35YW}1mz0p5?&_1)4MOveX>kD}7--L5+t9#+BJcwrAKF&C>Q)ACr8MS68zre7Vy zSEE$!ZfEwEz3VjYL_ep1VUA?5iQle=8)}1yry*OkIK{L2%Z>t%HMj67K4<jkTyb}< zl{VM)@9Cev;-{C_2Zj8oe1x6dD5FTV(qYgzv%c{aMul@B*zkJ3{7EX2`Dd!p5bV-> zttr8SbsiJYmqx}Z_wuR&zFuauMo45Iz1MrcvY<UXM?IV>g4zmQ;}4tK+3NwXh0*Y} zT3O{pP?q4W!?qO7`?Kt?;t5Zn_~iH3t4zN9(lDu>>d4+WqjJIzb;){IMUx0%He@)E z?Yf#-k=_dkO%E~oZzYcSg;4>pq@*o=-^!@Z4bTApO7N#>CnvOM-06nA-oW*ya>Wlr zN&@YB-H!rZ@^eYk-PpW&&>6XfboJh3bI}Zic?q2Pc}3uF)j8~W#_Oar{kZk5uZI}D zPT1mT*rM^Eg4MZR@TXBW8ThuMaEZBmaU{b=@OSK-gC=h`J^Ol!pw<>U3l14F{72|6 zcY+5;4P$&qM;t$Kh|Z*7$OUubL%HMFoR=qc7e*_Z#svHwA(KS)MNK_!yju+Y)>9cu z8^QFT@mx4RpNW-3c=7D&XqgqL4|pG^NXbIi?JsEB3FW$EYM%Mgz<cC@+|g3JqV0<j zQ)w)tJ4t;7U?!KsHhlb;k~La%eoHA2kVn!)v8=;pTW=ND3@V&2J@SHW@DJE5<&a9P zCj^D=>p}g_6}@?d8w>PoG({v<+%J~O-C7^;AL*sp^Qi)GD!nO8lYz6|&zqDFd`S8n zZwr-#qi8P>Y{iO=TWJ3hzwMZg-L2|iy@*Cz616kz9+uAd=qKK%(VH5~$uGmL3ZrYo zY)t1IT&(5uFF^83zP4L7XSzZg+GZ)QvCz1uLq2b1eeq`@2S0mK+eL+Roxe0;yh&n9 zF{VC9twC$O%WoL;UzcFtXn}OHGWLNcqfWB~zGD<RzSB*Kr;J^vHE$A{nyWFn;b=G+ z5O6m?Kz$gNHCMmi%U^l2*&`NEyiCgLH7q5G-DF=k9Ny%`?SgW@ce#Mlb?qo^ew;(_ zYx=4prEqVPQeV=V&p<CF3)w@Tf7Xb28eU(xh@ksQzpB_BMl&*V;)C7?+N;uewzIsD zsH8&NR~YoOHaRgLy;I7}oIJoC$Lmh>d6?~ij*b~rPi9+ue8Xd1;}|s9^VtbT)I~q8 zEs~gr4{+}$F5GX4tSf`@aXa^^FB5ny`%i9$#*e<;Kbx^9gHH1j-J1`~vg&pB=ITvd zHY0P*vsvm+zoUUet*^+_K`wmb4F3lE=`-&5FidKo!@djA;)=MMz#P5STgv2|%Ix>K z;Vkim4mI|MInh=3E>w(}FezCr-A_>Mef6xa$(6zgakz3HomY5OwN_Hto^-rk=f^x; zLIX`;3<1r;Xb#Ur!?Hxf!^HI*i^7_+$XpBRk;Y)TKKS-?1kqxFV5Wx7EeaWs<1^Yu z|H($hK?`dYv)J=ddmHnEX{L~WHzS@&Ai==1Nj0mNkIuuzJx$|px0D`k5{4he;V#Px zG&aAL)OaqZW*%u%#2oPg{w><Q1eM;d?(8uhw(|*8rVRS<$3x?Y)eaL`KCNSwoSV6> zx>UX`eS@+S4&M_P9-a3~Lr)&<c#5^vlJvMs8-d(_Qcy|i*DAf^0gvWxCjBS*;Z;KO zJiW>rdiV0K`GcjpkcU#bfE4SrYIf8?Sr$7MR-k&J`2-1)Ufs{dzEXgmR1q%a6(k!u zMbf!)JYNMtR8DSr$&aymMR=x0?Ma$(;e${A5&IBs<aTLjHHD$4Oh)>H#tRk|WOu(< zF<YC6P&V@D``9HD3oA6s{NiHlk{2rHeT=zPIWKr_W8;6wlWNcnZiPnTV_F)`BMX^T z`wX$UoatB8YukGwVGs8gmcLa=u?Xw1r=(F}q4>iJnAxIUfd-b`I_rhxdUdILbv^7} z%TCk>3j_I&IDZcIW39tgbFWks+^@+ff7}G2m!*)sQT^MYqEh-5U}PXy;Q6g?kl><{ z28qdCniG=$0YCwGD6FPLiY@K6fA0kUe;=_D?qTcQmy|~N$2|UR@c(%13_`x4vw&}o z;5SbF?;BqfJfu6)hVkm(P5j>==bxKT{LheY;J-j$eDfEY_~Xm}`BC;ysNMJD#D9%J z3(xJMB%C(3;jc(h^FQ+T_p12!aYqaZm0_b{bTS#M4;0VOn_gl@{Tp`sbB0D#Z7iY0 z_c#*&g@gZRgrAI_tvxP_oYuEu`B&p1zoxC=#e2I##?K<ZDdMMq6!vy{S@+-1Aa4X- zuOUXyLWWazq#0lTjgsOY)aP)pHKoe_4jTM9nh5bDT;$I!9co+fe#Owa2->XU{Wu9h zYzODm=R;h~o8k6U4>zhrX&`W&ZTFh6Cf{bU^|VFSxSt)Z;Yu^{!mS$`n~CzYv%Q0A zbvurCZ!1UUb(V{+^bH8EDEEZ~maW{=bVyWwi$lPD-_}vp013-^^#5kqzhp$xwoe>6 zGpsKO^8br5l}IV$se}cW(EahLKbg`ep0W0=5zGC5euX$HO#pJEC^Vt;v&8SQ{T~s5 zy+ID6_5Ejx|1nVCKh({Ck@Pp$#r2T`ohFnWlK5XU`TT1ppBsN*|F4<sVE&S-H$m?I zXK=s&mBd26K~i3$BJ)o<`19VI8oB)RUvl95Ax^)C_)E0DBi}IleV36p=6{GJvh%#z z@g64K7WMz2Hxb8!A5!vi^Y8y5)qB*M-UX!MJ&1h+@81dqaL5%h$)OK{b6P@Aj{}e= z5j9H?43n`S8!#_?G2Tl4;$6e?LGwKo(tq1b-kXa5V;G<Q2rD2b<@fp%s5Z;tuJOLZ z##>u+$2|4^eYVtjA%h292clCifQU)a*$JSgsCyfF8H*<gm}b@EqX+7Hz>-@6dKq(X z`+`EvX#qqGA`2f>FddAVH>`|lJNT1WwCwfBxsvFl#Yq0*8FGUJGD8^?m?oN1Dbj=! zuH&a6>yQ4_{VMt<rJ|^^S$YMqEWEq3L;R(Bi4~UGRM$V^H|#KfDswvEnD=d<)|Ect zBAdNDfSCAC@uc!qd5e@Sl?O@FzXYePfc}$9;Karo=-9<sbYVJoE%UA*a>ISLM&KfT zgqW#Jn8Bc{-;{pW39!-qabACs9?x<h3QLbLmE(2mWjpw51+VE|zEd}`(tn9rUI<c0 z=3((Ly+Cr!H$G6@UfEZt;zbSh_EqEK;)a?*;#YC0qBA_@IVCC-K3m^Y#&QJX(}lDc z2Y%$#w8+ggYcece@yTgR)yWg7&~LMl#2YQSS;(~<6j{e=FsH7KIKU<yYbtN-f`^2x zV{|+&X<xB2#*}!d&t!S1t81A@7Hjg4q{bVo7T<Oc(#!fvie67q3ph0EZYhw`5f;8i zJM7!s<GyQDxcF#WH5I}bO;;s3NbLB*w#-iv;8m;sgz^HtETHEJ)OHzF5K?U+pu7Lg z(rPzGtVplv2~X4hE*=y3wi{%u`fg*1-IDKIbZLwgN5oNjOQ}q>;Dnj9!5bVYb0vSc zR11_zTbNjLQ;j1W3<<(_=-0xV{;oz#ga_~_Rs8s|i9E1H>LXc^eU==!*&pQW<uq99 zt>97m(N{kCJ*zQYQ0suC20Qb_39NpmMruESD@V3><Sn_-yHY)`%vB1Ht?~@)cWC~V zZt68U<wngj!&k@OB8dLvcSP5n^drB&q?!tXaccvop3gA#j*WdjfMcUYXDAgrFiNpN zb9d55(au<|QIhhaX?pH#d@(&Tx3-j4)OD#&LiBvW{WJ*^jskH-*yJ_WHz_}9-#I&{ zF3`9i)lg&c?d!?L!z8J%Ii_MzI4ksqk0nlSG-<O^3+i`a{q-=RR~z?&C81T{#`Ee! z!4IM&`C6z_^Lr+J1eD&~=1h_}7%&V~0sGCel@E@s)|P3to~9>v?z32gES?5SHaK(} zL3j2E`#pG^Uh7Gym?k{*wV%#$7$hYOCdMdP7K)vO?>~`sy?T@=(!g2L&ZOPoy*^I3 ztTZ!XyHxY;$o*72Dy{zd#II>nn^IJ&_P|p9^Tkpa=<BGF?(T)3cF&-R$iu^ZS8Hdm z!P>X+r>xq#IDFL&@eijc<U+{V;S-*tQOMSRl)IFO9u<dbfd*s-!*DQo!`O$c;Rp2H zA2J_t_2AmkYy}6|A`@vvoKaI#m%moUADp##*2$U1^F40a-fK8|@0rs6;Qn*<N61ug zNWDc^%+6k#L?ddUoQ9`vQ9zdVl=uaXt=3QUP(~i{?@RWpE-bdm3?lvd!i`dbsw?=7 zf>zC?_r7{Mfu2Fz?+Y3CJm7g?F1)f8sFLn;+oa1X0=pROy%bEIv%F9U!pyyiRcDu6 zPVJyF1c&iB_r;?c&hjjbl=*yWSSt4jn8XIp*c4V3XNq}$@aM8o(}1n|&=;JbTZ`&z zV3OM&MU29C&`b|He&i&Vis-JmbX&Cx=(BHnL&bPyq}s+FbbNAp6Dz2q5u>0YqSAoq z8}6dfURJ5WE2<(G&Uf)ZtdfpKkd~z!CIQ6jJXh+rGKP{=!J29@ushxq-pr1QMw97k zRg1=Y#11Sy{3w<{m&FAt5N*_0%I@cB)61b%*RbLbKm;z2%<-7Y=6J#VwlSXc0hYTb za~gjDR|Ujxf2o##FN{aWfbZ0g{|YBj@jY4-wkJ~fdBj5~A1%Z4j#H^_rM>=3=OIMP zQ#@4r(4ueG9-YNX;+v4GPw4G=^frU_tEp7W(|IBN2z8M)a>>d^h655OhJ~`5Ob{XM zT&2S2&96=&z?Sx$)EsSkv6~UDWdeasXbuTqIrv!sja4#NAU9EQZdlp-POZ9TP_Si9 z*c11+p(aRYG}l<})S%0JJXTlJ+uv_H*vWJ8XJXd$m>Qd=`^8+9lo9yniHvc15;jwV z==nvS)Bfiy5--WYUK`EL)3&D%J28iZ>RK!l<tes9*(Rqj&Y<bd`HP4J=Zg=1HaW>p z2i~p#KEOw`*jYn@ANt(X*K)}<B)S<Dc^0}Ls!G#}n3b$1h4n8yR9Dp-K%asaKWeJz zZfT0toh4N75$nlqhed`r+ZgDyWbY&PVDEH?c`O}brzk9=`2aSdT*XKHV+XJ@y<QZZ zpfr453GBGJtpUC_^ak6%{b8g95l12>wkK%6c+qE%O6TD+(^Qs7YEd9X+kegB1IB-` ziYOE~o$L9ydvIjG?L_?qTH%lN#FQqsfaQUyxb-AgbJ(6mA>6ry6<go>P_ro3j-9)G z4vkN)?lQ4S9^1@hE{Qlh>v0OT`o~muw@l#>UAr8*cc>D?SPp^CMTUZbTup0@&U6d$ zKDDogW{S5(+6{6(@Y?id(#Lz})~<%=e%GwXpnvWtKFSo_2u^b0G$cH|l(M0xnBPk) zOl5azw}WP<O{$kIKC(ZWsW2HWRU5V158p2<MZVPj{iCiHt%8TmoV_*9(qj?6qaeaP zqrnw=_kC-n#;V;?pjjh{Egrf?e5C%LmfT$lX=0lxku9l_p~C$KvOh341(zujM%LHt ztwe<Lw`tmU1=cu`rF;DABuv(#Cx@X&;vPDN{_jzWO?-t60v)v8cJ-oc7U(oytGY7{ zG;?4vjZO#%u^qTs<`rYt0=4w4B)ZzK=Ia9_Z9fI26RVd79wu9c62t6X0_bNc8|)M9 z|DGPQ6des%W?D&XATpsK=$BepL0)vSmEA&trE5^E#${4(eYqE_a<O*H3f=8&N~Jz1 z?Y(SZiBI?3o~UMHkX{t0{}WwqawGAcL!)N_*)KR}L~pm6bbn+{P5tM##jfxE94Zuk z<Jx!UbB3#NE!Eh9W2>K%A2<itIy7xm(<ZH@jMWC770a>NK~#ryl=K~)y0NrtldvxG z9NjEwmv&X8`uW7XY#Ob+!_uD?f2rc*|JW|!tNe79f00QWIj2N7ELB$`?h{nhdOkf- ziBZwy-P*@K2din3+s>GV<zs9z(-gWg@%<N4v+|r3d&fxl^4zMwyAUXJE-YyE3_k8B zbdiH@YRov|^dG%J<tzLm0=m5;{PnfkFDy=_@yO}we8&aY)%zsLb_QQrtScFBTGw^m zsbLEhh<gx;EoF3e1Y-3WjU?Cxu>?C#Wqe}^YdW{e%XHYU<LxUuAL6LKnm@!o4N1F? zUiThHO=<hn&ez4#z%ttv(4w__1zJ_ZaM@gCy*#4XytS0ZLw(lJBMzS|0j{G#&~D(r z5T%u+%b#5KOP?BMG(t)g&cSHG41$Il(P5ZG9UG;bn$~r?qf>jxllJv}o{k3YBX*Kx z6}fGSTAS~&>9o!3&ZdYduxjy+)A7}u+b$Zb@^=0ynGNs0Ff}_Ai4|b~V&VCVFZk@U zOEAq3x4V;to7#Y;H$JCpHX>yOa-aI#;5l4V-^XdLN|xCU8`BSku56;&fVK@ovwnx^ ztL{28yTp3wcm0@2Gc@61`h=yo0`qY_*|Jsj*R`!`r-3l_US1(FSyxHKG*fO~tlco0 z3RnZMwEv_I2))b$4>j<7P|LJUD7KBaz99jF09Deg+M)v1P`3_C)fHVvoJBOTyuhi^ z89q&3CMlw}H9H&CbE`5psM9Pw){~Rs{<Qbyrt(HD``$n++wH+S0nZgpt-L@u=#x+V zPF#<Gie$gsP140AEuR<cQM=0=WTlxirx8BQlT%K0dbw&9>*qnSIDclbbnR*7$0wQA zWOva2gCq10_)mrND{+g$MNo|%soHQ*xftl5goIm$SX=NX+yW_9x1)|PJNE`~+ZV49 zuqa~IqXzO`F!FD+L}MrlZ1IUd6FpLFXQ1p?oWxaML@GCo$+hRH5Z>d5L!Ghh9=P={ zyi*Mg${9+Fxu4m(+vz35)^QG=V}B{r6r|>M31wu9Q))F1^30+=oom0ElL@N3XpfC2 zz+5>B<df}?ygZk~KJ7KNG%g}(GEpdqX<!iOEGnK#=Tavz=Tm>`4bH7HhI-jb&%5V$ z6E_ty1%q=fmEv6s5L+L1t<CMlNE_67@xoj8(n?d0tYcv=1B@d3SlSvVGrbjAvYW&4 zqYet+9o(aPhB12Zu?qSg#uqA8j`Qd)4t(V>-Yw%d{8>7)9~X%116a#_xii=3F|F!8 z$mFf9Yk2)9DiTMP%@D6MGZOvom;blh=zy%6GOat`Nk>6i=+cr-U?v+$c-=J;aKsQt zGfqjXZPr%rmP%aFzl-Tk$1CpZXg|6Pkm@qrCtXR?RFBe;LWb7bsL-|S09Pe>o88Ny zl@=#%(CRdN7tPT@i`h#Bjr(${6sJFz+1>mD2;QPUF?VC4*-KGXq0eG$R_>Vq`Ghn2 zs#%`6Xp8pwQJXob1yLNW-jG!|d1ynOeCQkIkIMxWb3JoiejfOMd2<Wrh()QZ)K(oH zfoN+hlJ2t=J9WxE$W_Q66FoP738)m^#gVYGJREEFJsHvov@u_D?E+Fe{vgrKGLH)s z{V%VV7V%Jq;P18QF4d+!(uE&R(#VY6la}A!OI(P{#^NMdpxX0rlPPSI%iaEdLU*!Q z0X;nPcy}SRQaU+jJM?0@JwZh|j(w+V@HNE<tK9ad5V;)J##@4PnNl#<oslr}Xus3w zlwwROIVet+4S8HoDjs;ULB289k~GBpq}4a_%m^M?iXHM#O!Y7D)W?Rpdl#6lPnQ2@ z$mdTVT|De5GD<_XD_!_kREH+D?SfD#p6iNxU}Ca2#7PZ32foSilIYd9Ki7`ZqhqWx z;X}7Vg+DOzA91b**)Q58jy0wQg#SgO-_{11D~e1Os|FSD{*Tugf0?5Hzdj%G9Mzg! zx6;`*3)$uKs-XYZHbtxZEP?yMd?)c4q{uq*zH<rj8OQzq9&B6Ri}%8nNrN+g2jezL zeZ%j7p_R`1S<LAgG<7YeT9OwKcL(4vpX&ehb>;C;ZhgGlEw@ETC0j%kSw>{v%6^R{ z>tO5|GIkOpMv`nLWb90`gc<8JgRxWD%65&xG-}Ac6mpq__nGSL>ivA~JAch*p64^? zInP;s-{p7CN#I>bj88Mt&kA2EvY`)cpo8Xi{r?)RcKJK~Ibtihe{fjz-Pd*S;PAk? zipJT?*0;WlG@azJL@b9oMlV))JYF5ts9SzICw*JrVx;NB1*1+f60dDDMx643^rixI zwf*uxUMpiHI@U5Y$lCQol<xvjqSg~tt5H%u)9C=vTwDdeTBTWB{L!gNA1jelu+d#b zkB^I&{01Mhop}Z0x#2mN9G&|&rkkUWS9OBfo*}q&ur9NZkZ_O4(2eP}f`Z!4mw{ph zTV%eQw4S~Utw@Mo+<&n;1GGob^v-T^wfPR+_4*FuJFWLSgnqQHUU0+#jNZI>GWVQB z^{s%$dT)0$85Bv@b~8w<2=lE=DIM_a9lEzznXGd3X3z!bHjC`@9;z{K;sPi)*G;Gx z*!lNo-@PKqaLP`HBq=d|YmqvC2UmmK0Ca#nCRBW?QDWx2G}*@Ux6sXubAks2(?I9~ z%IsHk!I#OU)n_yCK$uCMZJl%VqSBC{^17LgsZhKdsxyG{s0*i@5XG%tO^Y#yoa~8< zlFjo3d%~Ae)KvnkScYo4c&WKTbE78;Ydb5f;9eh7y|yw7Dl4xP8H%I<cAYz*BIsV; zeUT|`jSs$yStv>4&NlI!dg><~G}gj=9XQIgditf(Xj8LwjoPiAdzWDTx!tmn6sEGH z#NJF(0XMW-?@(ewxi`XhTOcTGZuGIn?+!WDHZ>*oxA?tNGfiOCF2gqzuNyggxSFG< z);vDQhmV2qHo)Rkx6aLhCjK^k!HAN{?lU;F+H<gd;J6E*xyKer>-{oJ+tCb(yZO<G z1_LT_4jfP-hJ4@&@;WteQ0tiCnbl#j8HF&uFv4)hf`x^35_kUj`pw&9-bDUwWSaS` zqN!By_SQCqnqiCKc$8+`ylp_=3HM2x3F2eT2;Extk_=rtc616gV{~|OgG}f)bg%>I zCJ>_iSh31N4#6L#MMXps-vA2Q!i_W~EMHcT4PKddH*0r286b`tI}LSLky|fzDi<Gx z1L8#CI=aR;lrzoHaU;)_KD*SXX9k6sRw*x21o%UiR1j~Xo^`2~Zsqel(koou9DOEv zO*2crw+xYI)YrG_WvAqZH9(t-|5PM~W$*xRoH0hR+Bdgo(<;MfWx|}J4EUgu3xQdJ zZ!_R0Z@<hqVW&VMlQ2a`#sY0?+;>(7!p7WiX0YquVDZoX#|+&c3ZAT7;+A{Bm>K;e zTZ-e@tyOSiqLC!iX*q9Y_|;Z~$#gEusyJHR2;#85BeQ;b#=tW2&5a((G{8@UWGh>9 z^nMDo+D}lG!}xWf<t=DW<(CyMhL2CwXxKEF@2JV9wvOQSVD?2~rIkmH=_0B0mU8pa zt&>5sH?nTdDO!<Bug<3eicENL54&u&MahccQ0;R&Uy-jc;^47zZ3x<FDpe619GRt9 zV*1by<!^8d*jnv@9l5ySn@sQoL-2h)N;T$7#AnT8i`O>z+yh@pV&7`y<l~KvrUBmB zJEfWHphkcsz{76t#hF4<$%lNS$a?b<1Qet8IwBD$;>G!wb`PungjmQfSiZVQ6|50( z{uH7l6%3pYT&Hp^fHd(UwW)ZFjLkfcD%4(m%hKGv&`8eB^}juyUdrA|cfg&89A<F| zUz-_Lm}DoM_#1{A#sd_ewc%D1hTBJ?!I;(a9rB6jSPHgnW<IqIja>cet1NhA!CRlc zm;=(oG>smooalop81*k-e>1X-u#z0Ku(G34X$V+a?i2(@&DW7=knpn&ECCEqglWP3 zR_%~$J2tY(OG7A^N2<5AEG6~rV+o-<R`f;XUgnycx!4t{rp9f6-*zeI20%gKfA@PM zHe>^gE$_Mi`Zll(u^mf{e8`ZoBi;(#2`EKA@v%_J!xRAg;CShBa5M!Ty@qFmfyQX) zhxY@Pt+Y9-l6x{ZrU}P=8mhi0UZsEoVM)M&fD3Ysy=t*xBt+~|67Jb1uAcbZOCcJg z?i2L_j+eHxT2CpLq7>=KV>8Db$lQd&vPRvwj*~<Sdms;3&3a9vksGfx6-DjH@jJ=| zvYv+Ap}m$=Xi!`Mt5ZI-ZNi5Mt!Iio0+62<bg269nKbRmzoH=GoS>eYTSAsEsoNir z2&!;w`@(?w|Fn2Eu#!zS`*yU~IYu3M1@5d>RdSa!RcRhmJ4O`l<H>P6)ZV(nvwk)t z8)Si@?7Xj39bl>97e64ZJ;FD-L|}0h!xiYIIUnnHLXBQ%YBZ^|V`nK7jp?+ILB}_n z_6bC`VsQ1keBn(-_9Ih}YFbOEr`x^Xb!#U>M4B7R2DN7)FhtU8uwO0GuRyXVt1Enl z6!3u|!$W{guAw|tc$pinMNbX(!XH4KMgemjNDOId#Fzr<n)}2E%ML-;d=nsM7>C%K z!+>pRW--rfuh4<9hlI7la72tQMDgK)jr?~@{;$eoulIbA3EAAncA=`BwoK~QmHUX( zrxiSsYvr%D)#Ag#AFFJB78pgeR7~5HxuG)JDQ9R#XeIq7IxRpVq(2OsT>t5TA3PY7 zwl%yM1l6b`dh}m1JG&>0wXm_xhH-ylGuKG^(Wfe<6&`zpdu3q}RlQ}tHcCMcvN1E3 zt*ZI=E6cWc>^OZ~R5CFAHJq6gtdHP}3^O~TAiP$gA$G-A6T0a><dveJ#qZslaxo+S z{zXr}w}Jf~FDYS#d~K{7pNI3mxPqIxS)$jnBJ+-V*Ow<y8agWW;VyfkUMRXpPI-rt zY{`(N93qp~=2<@Rb&;P*m<;x;%V10ix5P=`WPh5DBfWuJbO3GriJ-|l*yI?3S8hNq z4>@yT{=oB-BFAWO9n>t({>G~pa#)r<%N=i1-NHBTGNP&>Ij7vm#UQ&LRlZmfvrBKU zKgb^tOqqOYoj*m->44?r($)bf?CjE!{ZNjTR2>D%V2so_GkvMP25elJ4R7*3oTD_} z?9M(%ww1C#u6Hyp^F9ZTb+PHqhMu!HrR`tbWLFa-*WIz}nv{ER`k`y5I@=$^6}FeG z`8L<`B4V7Z_h<yau`3h;>0S#d6Rt2u3nVrl@a^A1B*}xykBkdiJ>ftDXyQ<-?Nc8? zt?ar%_U23s^Kf-b>*g8((z`n2=sv7N6;$-TSpqgh@gIgo@Pa`SES9nE^kip{vITE< z>O7R27WbJ~+%6q8_|P(+I@>+eeD3Npv?5(t>WdR<h+mF3=^Kk&;IcOBK-Fu0iKlX1 zxBr}OQs}=@ec&;vmBLjvu{!9y!KB|nugZr)?#|8Es;fc8prjF55B)+4M{L8~=Szwv z%~o6rq!eBEmiEDSc|M-mmj-y=Cdvicwr#p1{>kkA2A6yVuRWn$(RoF?&>qYE!>I1} z*&o~^@IVJ9-1RDtz!F}5`hlWJw7QuWoFod8(3id^z&h?6ym=!UdWz}Xaa-b7s;cT> z9;WoEkJaL=xkr-BCn17fQCy_$bJjna-PVdUQ{wB1lS}@#5Zs$|bDB$FU{JiA;cGTG zdia<3lDn?pZLzSKGK`C<VV$rr{RU{fJ4Rm4s8sZ^$*C_FJ7d7ljD^6Qi;IJr+v^uE zr$mXW-SNuTjtUvGdU2Mkrw#l|8**|m%ry>bi_VV-edX@H2e;&rP7iZ`8<vcBv+QX` zzR%VY)cj@QzOtX|aKUJLQWdYvKY{&t#5!~#r|RegNcFaF?*#YLB2)1_19snGX7K*5 zEuH(Y6Qd$Oo&lg)B%;L1eUgleXJCmfKAEZF>wFj-ya#qkaRP3+pOlCx(=Y$^v)IIz zN&&#WZ!Z!XVf&?KKUMIv5v{;l3$o+20_K0a!HJQk;`G-k&qM!Kh$AB@{r^7&P)6n4 z5xKpDZ*L-jqZA|9ah??YZaeM0^!>Zz2-_xq)d{@tGu3q5KH&4Gwvkr3hU4A;0370Z ADF6Tf literal 0 HcmV?d00001 diff --git a/docs/imgs/use-flow.png b/docs/imgs/use-flow.png index 4b1ff29980eb5a0c5cec1e417d7df35bc1a1f466..de4a3bb64413cdaa89659d78379eaffbbc4ab066 100644 GIT binary patch literal 224802 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%0DRa_#b#nyI{k!>3%j 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	Ms%N3SSyqN}GfqXuuX|3<(1B*<$ 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 literal 75598 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	>G0KD#6(T^q2<M|f0K0NTq;hDb) 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 E0c$=fmH+?% diff --git a/docs/index.html b/docs/index.html index 1a40362..1f3be6c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -246,5 +246,5 @@ And of course, if we used a sparse or compressed representation, then we are red <!-- MkDocs version : 0.17.2 -Build Date UTC : 2018-06-14 11:48:24 +Build Date UTC : 2018-06-21 23:06:46 --> diff --git a/docs/quantization/index.html b/docs/quantization/index.html index b2b475d..4726339 100644 --- a/docs/quantization/index.html +++ b/docs/quantization/index.html @@ -97,6 +97,8 @@ <li><a class="toctree-l4" href="#aggressive-quantization-int4-and-lower">"Aggressive" Quantization: INT4 and Lower</a></li> + <li><a class="toctree-l4" href="#training-with-quantization">Training with Quantization</a></li> + <li><a class="toctree-l4" href="#references">References</a></li> </ul> @@ -214,24 +216,31 @@ Note that this scale factor is, in most cases, a floating-point number. Hence, e The result of multiplying two <script type="math/tex">n</script>-bit integers is, at most, a <script type="math/tex">2n</script>-bit number. In convolution layers, such multiplications are accumulated <script type="math/tex">c\cdot k^2</script> times, where <script type="math/tex">c</script> is the number of input channels and <script type="math/tex">k</script> is the kernel width (assuming a square kernel). Hence, to avoid overflowing, the accumulator should be <script type="math/tex">2n + M</script>-bits wide, where M is at least <script type="math/tex">log_2(c\cdot k^2)</script>. In many cases 32-bit accumulators are used, however for INT4 and lower it might be possible to use less than 32 -bits, depending on the expected use cases and layer widths.</p> <h2 id="conservative-quantization-int8">"Conservative" Quantization: INT8</h2> <p>In many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy (<a href="#gysel-et-al-2018">Gysel at al., 2018</a>).<br /> -As mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor (. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained "online" during inference, or "offline".</p> +As mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained "online" during inference, or "offline".</p> <ul> <li><strong>Offline</strong> means gathering activations statistics before deploying the model, either during training or by running a few "calibration" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation.</li> <li><strong>Online</strong> means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive.</li> </ul> -<p>It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible (<a href="#migacz-2017">Migacz, 2017</a>) </p> -<p>Another possible optimization point is <strong>scale-factor scope</strong>. The most common way is use a single scale-factor per-layer</p> +<p>It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible (<a href="#migacz-2017">Migacz, 2017</a>). </p> +<p>Another possible optimization point is <strong>scale-factor scope</strong>. The most common way is use a single scale-factor per-layer, but it is also possible to calculate a scale-factor per-channel. This can be beneficial if the weight distributions vary greatly between channels.</p> <h2 id="aggressive-quantization-int4-and-lower">"Aggressive" Quantization: INT4 and Lower</h2> <p>Naively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy:</p> <ul> -<li><strong>Training / Re-Training</strong>: For INT4 and lower, training is required in order to obtain reasonable accuracy. This means training with quantization of weights and activations "baked" into the training procedure. This is not straight forward, since quantization operations are usually not differentiable. This is usually worked-around by using "straight-through estimator" (<a href="#bengio-et-al-2013">Bengio, 2013</a>) to approximate the gradient of these operations.<br /> -<a href="#zhou-et-al-2016">Zhou S et al., 2016</a> have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods <em>require</em> a trained FP32 model, either as a starting point (<a href="#zhou-et-al-2017">Zhou A et al., 2017</a>), or as a teacher network in a student-teacher training setup (<a href="#mishra-and-marr-2018">Mishra and Marr, 2018</a>).</li> +<li><strong>Training / Re-Training</strong>: For INT4 and lower, training is required in order to obtain reasonable accuracy. The training loop is modified to take quantization into account. See details in the <a href="#training-with-quantization">next section</a>.<br /> +<a href="#zhou-et-al-2016">Zhou S et al., 2016</a> have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods <em>require</em> a trained FP32 model, either as a starting point (<a href="#zhou-et-al-2017">Zhou A et al., 2017</a>), or as a teacher network in a knowledge distillation training setup (<a href="#mishra-and-marr-2018">Mishra and Marr, 2018</a>).</li> <li><strong>Replacing the activation function</strong>: The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used (<a href="#zhou-et-al-2016">Zhou S et al., 2016</a>, <a href="#mishra-et-al-2018">Mishra et al., 2018</a>). Another method learns the clipping value per layer, with better results (<a href="#choi-et-al-2018">Choi et al., 2018</a>). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above).</li> <li><strong>Modifying network structure</strong>: <a href="#mishra-et-al-2018">Mishra et al., 2018</a> try to compensate for the loss of information due to quantization by using wider layers (more channels). <a href="#lin-et-al-2017">Lin et al., 2017</a> proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different "base", covering a larger dynamic range overall.</li> <li><strong>First and last layer</strong>: Many methods do not quantize the first and last layer of the model. It has been observed by <a href="#han-et-al-2015">Han et al., 2015</a> that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically (<a href="#zhou-et-al-2016">Zhou S et al., 2016</a>, <a href="#choi-et-al-2018">Choi et al., 2018</a>). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them (<a href="#rastegari-et-al-2016">Rastegari et al., 2016</a>). Most methods keep the first and last layers at FP32. However, <a href="#choi-et-al-2018">Choi et al., 2018</a> showed that "conservative" quantization of these layers, e.g. to INT8, does not reduce accuracy.</li> <li><strong>Iterative quantization</strong>: Most methods quantize the entire model at once. <a href="#zhou-et-al-2017">Zhou A et al., 2017</a> employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization.</li> <li><strong>Mixed Weights and Activations Precision</strong>: It has been observed that activations are more sensitive to quantization than weights (<a href="#zhou-et-al-2016">Zhou S et al., 2016</a>). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 (<a href="#li-et-al-2016">Li et al., 2016</a>, <a href="#zhu-et-al-2016">Zhu et al., 2016</a>).</li> </ul> +<h2 id="training-with-quantization">Training with Quantization</h2> +<p>As mentioned above, in order to minimize the loss of accuracy from "aggressive" quantization, many methods that target INT4 and lower involve training the model in a way that considers the quantization. This means training with quantization of weights and activations "baked" into the training procedure. The training graph usually looks like this:</p> +<p><img alt="Training with Quantization" src="../imgs/training_quant_flow.png" /></p> +<p>A full precision copy of the weights is maintained throughout the training process ("weights_fp" in the diagram). Its purpose is to accumulate the small changes from the gradients without loss of precision (Note that the quantization of the weights is an integral part of the training graph, meaning that we back-propagate through it as well). Once the model is trained, only the quantized weights are used for inference.<br /> +In the diagram we show "layer N" as the conv + batch-norm + activation combination, but the same applies to fully-connected layers, element-wise operations, etc. During training, the operations within "layer N" can still run in full precision, with the "quantize" operations in the boundaries ensuring discrete-valued weights and activations. This is sometimes called "simulated quantization". </p> +<h3 id="straight-through-estimator">Straight-Through Estimator</h3> +<p>An important question in this context is how to back-propagate through the quantization functions. These functions are discrete-valued, hence their derivative is 0 almost everywhere. So, using their gradients as-is would severly hinder the learning process. An approximation commonly used to overcome this issue is the "straight-through estimator" (STE) (<a href="#hinton-et-al-2012">Hinton et al., 2012</a>, <a href="#bengio-et-al-2013">Bengio, 2013</a>), which simply passes the gradient through these functions as-is. </p> <h2 id="references">References</h2> <p><div id="dally-2015"></div> <strong>William Dally</strong>. High-Performance Hardware for Machine Learning. <a href="https://media.nips.cc/Conferences/2015/tutorialslides/Dally-NIPS-Tutorial-2015.pdf">Tutorial, NIPS, 2015</a></p> @@ -247,9 +256,6 @@ As mentioned above, a scale factor is used to adapt the dynamic range of the ten <div id="migacz-2017"></div> <p><strong>Szymon Migacz</strong>. 8-bit Inference with TensorRT. <a href="http://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf">GTC San Jose, 2017</a></p> -<div id="bengio-et-al-2013"></div> - -<p><strong>Yoshua Bengio, Nicholas Leonard and Aaron Courville</strong>. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. <a href="https://arxiv.org/abs/1308.3432">arxiv:1308.3432, 2013</a></p> <div id="zhou-et-al-2016"></div> <p><strong>Shuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou</strong>. DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. <a href="https://arxiv.org/abs/1606.06160">arxiv:1606.06160</a></p> @@ -277,6 +283,12 @@ As mentioned above, a scale factor is used to adapt the dynamic range of the ten <div id="zhu-et-al-2016"></div> <p><strong>Chenzhuo Zhu, Song Han, Huizi Mao and William J. Dally</strong>. Trained Ternary Quantization. <a href="https://arxiv.org/abs/1612.01064">arxiv:1612.01064</a></p> +<div id="bengio-et-al-2013"></div> + +<p><strong>Yoshua Bengio, Nicholas Leonard and Aaron Courville</strong>. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. <a href="https://arxiv.org/abs/1308.3432">arxiv:1308.3432, 2013</a></p> +<div id="hinton-et-al-2012"></div> + +<p><strong>Geoffrey Hinton, Nitish Srivastava, Kevin Swersky, Tijmen Tieleman and Abdelrahman Mohamed</strong>. Neural Networks for Machine Learning. <a href="https://www.coursera.org/learn/neural-networks">Coursera, video lectures, 2012</a></p> </div> </div> diff --git a/docs/schedule/index.html b/docs/schedule/index.html index 8d0af64..2bf4ccc 100644 --- a/docs/schedule/index.html +++ b/docs/schedule/index.html @@ -80,6 +80,8 @@ <li><a class="toctree-l3" href="#mixing-it-up">Mixing it up</a></li> + <li><a class="toctree-l3" href="#quantization">Quantization</a></li> + </ul> @@ -168,17 +170,16 @@ <div class="section"> <h1 id="compression-scheduler">Compression scheduler</h1> -<p>In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of <code>CompressionScheduler</code>: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and (later) quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. </p> +<p>In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of <code>CompressionScheduler</code>: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. </p> <h2 id="high-level-overview">High level overview</h2> -<p>Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, LR-scheduler and Policies.</p> +<p>Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, Quantizers, LR-scheduler and Policies.</p> <ul> -<li>Pruners and Regularizers are very similar: they implement either a Pruning algorithm or a Regularization algorithm. </li> +<li>Pruners, Regularizers and Quantizers are very similar: They implement either a Pruning/Regularization/Quantization algorithm, respectively. </li> <li>An LR-scheduler specifies the LR-decay algorithm. </li> </ul> <p>These define the <strong>what</strong> part of the schedule. </p> -<p>The Policies define the <strong>when</strong> part of the schedule: at which epoch to start applying the Pruner/Regularizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/LR-decay it is managing. -<br> -The CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners and Regularizers from code.</p> +<p>The Policies define the <strong>when</strong> part of the schedule: at which epoch to start applying the Pruner/Regularizer/Quantizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/Quantizer/LR-decay it is managing.<br /> +The CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners, Regularizers and Quantizers from code.</p> <h2 id="syntax-through-example">Syntax through example</h2> <p>We'll use <code>alexnet.schedule_agp.yaml</code> to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet.</p> <pre><code>version: 1 @@ -218,9 +219,9 @@ policies: <pre><code>version: 1 </code></pre> -<p>In the <code>pruners</code> section, we define the instances of pruners we want the scheduler to instantiate and use.<br> -We define a single pruner instance, named <code>my_pruner</code> of algorithm <code>SensitivityPruner</code>. We will refer to this instance in the <code>Policies</code> section.<br> -Then we list the sensitivity multipliers, \(s\), of each of the weight tensors.<br> +<p>In the <code>pruners</code> section, we define the instances of pruners we want the scheduler to instantiate and use.<br /> +We define a single pruner instance, named <code>my_pruner</code>, of algorithm <code>SensitivityPruner</code>. We will refer to this instance in the <code>Policies</code> section.<br /> +Then we list the sensitivity multipliers, \(s\), of each of the weight tensors.<br /> You may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule.</p> <pre><code>pruners: my_pruner: @@ -236,14 +237,14 @@ You may list as many Pruners as you want in this section, as long as each has a 'classifier.6.weight': 0.6 </code></pre> -<p>Next, we want to specify the learning-rate decay scheduling in the <code>lr_schedulers</code> section. We assign a name to this instance: <code>pruning_lr</code>. As in the <code>pruners</code> section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. You can use any LR-scheduler class that <code>torch.optim.lr_scheduler</code> supports and pass their arguments. The keyword arguments (kwargs) are passed directly to the constructor of the subclasses of <a href="http://pytorch.org/docs/master/_modules/torch/optim/lr_scheduler.html">_LRScheduler</a>, so that as new LR-schedulers are added to <code>torch.optim.lr_scheduler</code>, they can be used without changing the application code.</p> +<p>Next, we want to specify the learning-rate decay scheduling in the <code>lr_schedulers</code> section. We assign a name to this instance: <code>pruning_lr</code>. As in the <code>pruners</code> section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. The LR-scheduler must be a subclass of PyTorch's <a href="http://pytorch.org/docs/master/_modules/torch/optim/lr_scheduler.html">_LRScheduler</a>. You can use any of the schedulers defined in <code>torch.optim.lr_scheduler</code> (see <a href="https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate">here</a>). In addition, we've implemented some additional schedulers in Distiller (see <a href="https://github.com/NervanaSystems/distiller/blob/master/distiller/learning_rate.py">here</a>). The keyword arguments (kwargs) are passed directly to the LR-scheduler's constructor, so that as new LR-schedulers are added to <code>torch.optim.lr_scheduler</code>, they can be used without changing the application code.</p> <pre><code>lr_schedulers: pruning_lr: class: ExponentialLR gamma: 0.9 </code></pre> -<p>Finally, we define the <code>policies</code> section which defines the actual scheduling. A <code>Policy</code> manages an instance of a <code>Pruner</code>, <code>Regularizer</code>, or <code>LRSchedule</code>, by naming the instance. In the example below, a <code>PruningPolicy</code> uses the pruner instance named <code>my_pruner</code>: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. </p> +<p>Finally, we define the <code>policies</code> section which defines the actual scheduling. A <code>Policy</code> manages an instance of a <code>Pruner</code>, <code>Regularizer</code>, <code>Quantizer</code>, or <code>LRScheduler</code>, by naming the instance. In the example below, a <code>PruningPolicy</code> uses the pruner instance named <code>my_pruner</code>: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. </p> <pre><code>policies: - pruner: instance_name : 'my_pruner' @@ -397,6 +398,43 @@ policies: ending_epoch: 200 frequency: 1 +</code></pre> + +<h2 id="quantization">Quantization</h2> +<p>Similarly to pruners and regularizers, specifying a quantizer in the scheduler YAML follows the constructor arguments of the <code>Quantizer</code> class (see details <a href="../design/index.html#quantization">here</a>). +Let's see an example:</p> +<pre><code>quantizers: + dorefa_quantizer: + class: DorefaQuantizer + bits_activations: 8 + bits_weights: 4 + bits_overrides: + conv1: + wts: null + acts: null + relu1: + wts: null + acts: null + final_relu: + wts: null + acts: null + fc: + wts: null + acts: null +</code></pre> + +<ul> +<li>The specific quantization method we're instantiating here is <code>DorefaQuantizer</code>.</li> +<li>Then we define the default bit-widths for activations and weights, in this case 8 and 4-bits, respectively. </li> +<li>Then, we define the <code>bits_overrides</code> mapping. In this case, we choose not to quantize the first and last layer of the model. In the case of <code>DorefaQuantizer</code>, the weights are quantized as part of the convolution / FC layers, but the activations are quantized in separate layers, which replace the ReLU layers in the original model (remember - even though we replaced the ReLU modules with our own quantization modules, the name of the modules isn't changed). So, in all, we need to reference the first layer with parameters <code>conv1</code>, the first activation layer <code>relu1</code>, the last activation layer <code>final_relu</code> and the last layer with parameters <code>fc</code>.</li> +<li>Specifying <code>null</code> means "do not quantize".</li> +<li>Note that for quantizers, we reference names of modules, not names of parameters as we do for pruners and regularizers.</li> +<li>We can also reference <strong>groups of layers</strong> in the <code>bits_overrides</code> mapping. This is done using regular expressions. Suppose we have a sub-module in our model named <code>block1</code>, which contains multiple convolution layers which we would like to quantize to, say, 2-bits. The convolution layers are named <code>conv1</code>, <code>conv2</code> and so on. In that case we would define the following:</li> +</ul> +<pre><code>bits_overrides: + block1.conv*: + wts: 2 + acts: null </code></pre> </div> diff --git a/docs/search/search_index.json b/docs/search/search_index.json index 6e6344c..2181117 100644 --- a/docs/search/search_index.json +++ b/docs/search/search_index.json @@ -1,509 +1,564 @@ { "docs": [ { - "location": "/index.html", - "text": "Distiller Documentation\n\n\nWhat is Distiller\n\n\nDistiller\n is an open-source Python package for neural network compression research.\n\n\nNetwork compression can reduce the footprint of a neural network, increase its inference speed and save energy. Distiller provides a \nPyTorch\n environment for prototyping and analyzing compression algorithms, such as sparsity-inducing methods and low precision arithmetic.\n\n\nDistiller contains:\n\n\n\n\nA framework for integrating pruning, regularization and quantization algorithms.\n\n\nA set of tools for analyzing and evaluating compression performance.\n\n\nExample implementations of state-of-the-art compression algorithms.\n\n\n\n\nMotivation\n\n\nA sparse tensor is any tensor that contains some zeros, but sparse tensors are usually only interesting if they contain a significant number of zeros. A sparse neural network performs computations using some sparse tensors (preferably many). These tensors can be parameters (weights and biases) or activations (feature maps).\n\n\nWhy do we care about sparsity?\n\nPresent day neural networks tend to be deep, with millions of weights and activations. Refer to GoogLeNet or ResNet50, for a couple of examples.\nThese large models are compute-intensive which means that even with dedicated acceleration hardware, the inference pass (network evaluation) will take time. You might think that latency is an issue only in certain cases, such as autonomous driving systems, but in fact, whenever we humans interact with our phones and computers, we are sensitive to the latency of the interaction. We don't like to wait for search results or for an application or web-page to load, and we are especially sensitive in realtime interactions such as speech recognition. So inference latency is often something we want to minimize.\n\n\nLarge models are also memory-intensive with millions of parameters. Moving around all of the data required to compute inference results consumes energy, which is a problem on a mobile device as well as in a server environment. Data center server-racks are limited by their power-envelope and their ToC (total cost of ownership) is correlated to their power consumption and thermal characteristics. In the mobile device environment, we are obviously always aware of the implications of power consumption on the device battery.\nInference performance in the data center is often measured using a KPI (key performance indicator) which folds latency and power considerations: inferences per second, per Watt (inferences/sec/watt).\n\n\nThe storage and transfer of large neural networks is also a challenge in mobile device environments, because of limitations on application sizes and long application download times.\n\n\nFor these reasons, we wish to compress the network as much as possible, to reduce the amount of bandwidth and compute required. Inducing sparseness, through regularization or pruning, in neural-network models, is one way to compress the network (quantization is another method).\nSparse neural networks hold the promise of speed, small size, and energy efficiency. \n\n\nSmaller\n\n\nSparse NN model representations can be compressed by taking advantage of the fact that the tensor elements are dominated by zeros. The compression format, if any, is very HW and SW specific, and the optimal format may be different per tensor (an obvious example: largely dense tensors should not be compressed). The compute hardware needs to support the compressions formats, for representation compression to be meaningful. Compression representation decisions might interact with algorithms such as the use of tiles for memory accesses. Data such as a parameter tensor is read/written from/to main system memory compressed, but the computation can be dense or sparse. In dense compute we use dense operators, so the compressed data eventually needs to be decompressed into its full, dense size. The best we can do is bring the compressed representation as close as possible to the compute engine.\n\nSparse compute, on the other hand, operates on the sparse representation which never requires decompression (we therefore distinguish between sparse representation and compressed representation). This is not a simple matter to implement in HW, and often means lower utilization of the vectorized compute engines. Therefore, there is a third class of representations, which take advantage of specific hardware characteristics. For example, for a vectorized compute engine we can remove an entire zero-weights vector and skip its computation (this uses structured pruning or regularization).\n\n\nFaster\n\n\nMany of the layers in modern neural-networks are bandwidth-bound, which means that the execution latency is dominated by the available bandwidth. In essence, the hardware spends more time bringing data close to the compute engines, than actually performing the computations. Fully-connected layers, RNNs and LSTMs are some examples of bandwidth-dominated operations.\n\nReducing the bandwidth required by these layers, will immediately speed them up.\n\nSome pruning algorithms prune entire kernels, filters and even layers from the network without adversely impacting the final accuracy. Depending on the hardware implementation, these methods can be leveraged to skip computations, thus reducing latency and power.\n\n\nMore energy efficient\n\n\nBecause we pay two orders-of-magnitude more energy to access off-chip memory (e.g. DDR) compared to on-chip memory (e.g. SRAM or cache), many hardware designs employ a multi-layered cache hierarchy. Fitting the parameters and activations of a network in these on-chip caches can make a big difference on the required bandwidth, the total inference latency, and off course reduce power consumption.\n\nAnd of course, if we used a sparse or compressed representation, then we are reducing the data throughput and therefore the energy consumption.", + "location": "/index.html", + "text": "Distiller Documentation\n\n\nWhat is Distiller\n\n\nDistiller\n is an open-source Python package for neural network compression research.\n\n\nNetwork compression can reduce the footprint of a neural network, increase its inference speed and save energy. Distiller provides a \nPyTorch\n environment for prototyping and analyzing compression algorithms, such as sparsity-inducing methods and low precision arithmetic.\n\n\nDistiller contains:\n\n\n\n\nA framework for integrating pruning, regularization and quantization algorithms.\n\n\nA set of tools for analyzing and evaluating compression performance.\n\n\nExample implementations of state-of-the-art compression algorithms.\n\n\n\n\nMotivation\n\n\nA sparse tensor is any tensor that contains some zeros, but sparse tensors are usually only interesting if they contain a significant number of zeros. A sparse neural network performs computations using some sparse tensors (preferably many). These tensors can be parameters (weights and biases) or activations (feature maps).\n\n\nWhy do we care about sparsity?\n\nPresent day neural networks tend to be deep, with millions of weights and activations. Refer to GoogLeNet or ResNet50, for a couple of examples.\nThese large models are compute-intensive which means that even with dedicated acceleration hardware, the inference pass (network evaluation) will take time. You might think that latency is an issue only in certain cases, such as autonomous driving systems, but in fact, whenever we humans interact with our phones and computers, we are sensitive to the latency of the interaction. We don't like to wait for search results or for an application or web-page to load, and we are especially sensitive in realtime interactions such as speech recognition. So inference latency is often something we want to minimize.\n\n\nLarge models are also memory-intensive with millions of parameters. Moving around all of the data required to compute inference results consumes energy, which is a problem on a mobile device as well as in a server environment. Data center server-racks are limited by their power-envelope and their ToC (total cost of ownership) is correlated to their power consumption and thermal characteristics. In the mobile device environment, we are obviously always aware of the implications of power consumption on the device battery.\nInference performance in the data center is often measured using a KPI (key performance indicator) which folds latency and power considerations: inferences per second, per Watt (inferences/sec/watt).\n\n\nThe storage and transfer of large neural networks is also a challenge in mobile device environments, because of limitations on application sizes and long application download times.\n\n\nFor these reasons, we wish to compress the network as much as possible, to reduce the amount of bandwidth and compute required. Inducing sparseness, through regularization or pruning, in neural-network models, is one way to compress the network (quantization is another method).\nSparse neural networks hold the promise of speed, small size, and energy efficiency. \n\n\nSmaller\n\n\nSparse NN model representations can be compressed by taking advantage of the fact that the tensor elements are dominated by zeros. The compression format, if any, is very HW and SW specific, and the optimal format may be different per tensor (an obvious example: largely dense tensors should not be compressed). The compute hardware needs to support the compressions formats, for representation compression to be meaningful. Compression representation decisions might interact with algorithms such as the use of tiles for memory accesses. Data such as a parameter tensor is read/written from/to main system memory compressed, but the computation can be dense or sparse. In dense compute we use dense operators, so the compressed data eventually needs to be decompressed into its full, dense size. The best we can do is bring the compressed representation as close as possible to the compute engine.\n\nSparse compute, on the other hand, operates on the sparse representation which never requires decompression (we therefore distinguish between sparse representation and compressed representation). This is not a simple matter to implement in HW, and often means lower utilization of the vectorized compute engines. Therefore, there is a third class of representations, which take advantage of specific hardware characteristics. For example, for a vectorized compute engine we can remove an entire zero-weights vector and skip its computation (this uses structured pruning or regularization).\n\n\nFaster\n\n\nMany of the layers in modern neural-networks are bandwidth-bound, which means that the execution latency is dominated by the available bandwidth. In essence, the hardware spends more time bringing data close to the compute engines, than actually performing the computations. Fully-connected layers, RNNs and LSTMs are some examples of bandwidth-dominated operations.\n\nReducing the bandwidth required by these layers, will immediately speed them up.\n\nSome pruning algorithms prune entire kernels, filters and even layers from the network without adversely impacting the final accuracy. Depending on the hardware implementation, these methods can be leveraged to skip computations, thus reducing latency and power.\n\n\nMore energy efficient\n\n\nBecause we pay two orders-of-magnitude more energy to access off-chip memory (e.g. DDR) compared to on-chip memory (e.g. SRAM or cache), many hardware designs employ a multi-layered cache hierarchy. Fitting the parameters and activations of a network in these on-chip caches can make a big difference on the required bandwidth, the total inference latency, and off course reduce power consumption.\n\nAnd of course, if we used a sparse or compressed representation, then we are reducing the data throughput and therefore the energy consumption.", "title": "Home" - }, + }, { - "location": "/index.html#distiller-documentation", - "text": "", + "location": "/index.html#distiller-documentation", + "text": "", "title": "Distiller Documentation" - }, + }, { - "location": "/index.html#what-is-distiller", - "text": "Distiller is an open-source Python package for neural network compression research. Network compression can reduce the footprint of a neural network, increase its inference speed and save energy. Distiller provides a PyTorch environment for prototyping and analyzing compression algorithms, such as sparsity-inducing methods and low precision arithmetic. Distiller contains: A framework for integrating pruning, regularization and quantization algorithms. A set of tools for analyzing and evaluating compression performance. Example implementations of state-of-the-art compression algorithms.", + "location": "/index.html#what-is-distiller", + "text": "Distiller is an open-source Python package for neural network compression research. Network compression can reduce the footprint of a neural network, increase its inference speed and save energy. Distiller provides a PyTorch environment for prototyping and analyzing compression algorithms, such as sparsity-inducing methods and low precision arithmetic. Distiller contains: A framework for integrating pruning, regularization and quantization algorithms. A set of tools for analyzing and evaluating compression performance. Example implementations of state-of-the-art compression algorithms.", "title": "What is Distiller" - }, + }, { - "location": "/index.html#motivation", - "text": "A sparse tensor is any tensor that contains some zeros, but sparse tensors are usually only interesting if they contain a significant number of zeros. A sparse neural network performs computations using some sparse tensors (preferably many). These tensors can be parameters (weights and biases) or activations (feature maps). Why do we care about sparsity? \nPresent day neural networks tend to be deep, with millions of weights and activations. Refer to GoogLeNet or ResNet50, for a couple of examples.\nThese large models are compute-intensive which means that even with dedicated acceleration hardware, the inference pass (network evaluation) will take time. You might think that latency is an issue only in certain cases, such as autonomous driving systems, but in fact, whenever we humans interact with our phones and computers, we are sensitive to the latency of the interaction. We don't like to wait for search results or for an application or web-page to load, and we are especially sensitive in realtime interactions such as speech recognition. So inference latency is often something we want to minimize. \nLarge models are also memory-intensive with millions of parameters. Moving around all of the data required to compute inference results consumes energy, which is a problem on a mobile device as well as in a server environment. Data center server-racks are limited by their power-envelope and their ToC (total cost of ownership) is correlated to their power consumption and thermal characteristics. In the mobile device environment, we are obviously always aware of the implications of power consumption on the device battery.\nInference performance in the data center is often measured using a KPI (key performance indicator) which folds latency and power considerations: inferences per second, per Watt (inferences/sec/watt). \nThe storage and transfer of large neural networks is also a challenge in mobile device environments, because of limitations on application sizes and long application download times. \nFor these reasons, we wish to compress the network as much as possible, to reduce the amount of bandwidth and compute required. Inducing sparseness, through regularization or pruning, in neural-network models, is one way to compress the network (quantization is another method).\nSparse neural networks hold the promise of speed, small size, and energy efficiency.", + "location": "/index.html#motivation", + "text": "A sparse tensor is any tensor that contains some zeros, but sparse tensors are usually only interesting if they contain a significant number of zeros. A sparse neural network performs computations using some sparse tensors (preferably many). These tensors can be parameters (weights and biases) or activations (feature maps). Why do we care about sparsity? \nPresent day neural networks tend to be deep, with millions of weights and activations. Refer to GoogLeNet or ResNet50, for a couple of examples.\nThese large models are compute-intensive which means that even with dedicated acceleration hardware, the inference pass (network evaluation) will take time. You might think that latency is an issue only in certain cases, such as autonomous driving systems, but in fact, whenever we humans interact with our phones and computers, we are sensitive to the latency of the interaction. We don't like to wait for search results or for an application or web-page to load, and we are especially sensitive in realtime interactions such as speech recognition. So inference latency is often something we want to minimize. \nLarge models are also memory-intensive with millions of parameters. Moving around all of the data required to compute inference results consumes energy, which is a problem on a mobile device as well as in a server environment. Data center server-racks are limited by their power-envelope and their ToC (total cost of ownership) is correlated to their power consumption and thermal characteristics. In the mobile device environment, we are obviously always aware of the implications of power consumption on the device battery.\nInference performance in the data center is often measured using a KPI (key performance indicator) which folds latency and power considerations: inferences per second, per Watt (inferences/sec/watt). \nThe storage and transfer of large neural networks is also a challenge in mobile device environments, because of limitations on application sizes and long application download times. \nFor these reasons, we wish to compress the network as much as possible, to reduce the amount of bandwidth and compute required. Inducing sparseness, through regularization or pruning, in neural-network models, is one way to compress the network (quantization is another method).\nSparse neural networks hold the promise of speed, small size, and energy efficiency.", "title": "Motivation" - }, + }, { - "location": "/index.html#smaller", - "text": "Sparse NN model representations can be compressed by taking advantage of the fact that the tensor elements are dominated by zeros. The compression format, if any, is very HW and SW specific, and the optimal format may be different per tensor (an obvious example: largely dense tensors should not be compressed). The compute hardware needs to support the compressions formats, for representation compression to be meaningful. Compression representation decisions might interact with algorithms such as the use of tiles for memory accesses. Data such as a parameter tensor is read/written from/to main system memory compressed, but the computation can be dense or sparse. In dense compute we use dense operators, so the compressed data eventually needs to be decompressed into its full, dense size. The best we can do is bring the compressed representation as close as possible to the compute engine. \nSparse compute, on the other hand, operates on the sparse representation which never requires decompression (we therefore distinguish between sparse representation and compressed representation). This is not a simple matter to implement in HW, and often means lower utilization of the vectorized compute engines. Therefore, there is a third class of representations, which take advantage of specific hardware characteristics. For example, for a vectorized compute engine we can remove an entire zero-weights vector and skip its computation (this uses structured pruning or regularization).", + "location": "/index.html#smaller", + "text": "Sparse NN model representations can be compressed by taking advantage of the fact that the tensor elements are dominated by zeros. The compression format, if any, is very HW and SW specific, and the optimal format may be different per tensor (an obvious example: largely dense tensors should not be compressed). The compute hardware needs to support the compressions formats, for representation compression to be meaningful. Compression representation decisions might interact with algorithms such as the use of tiles for memory accesses. Data such as a parameter tensor is read/written from/to main system memory compressed, but the computation can be dense or sparse. In dense compute we use dense operators, so the compressed data eventually needs to be decompressed into its full, dense size. The best we can do is bring the compressed representation as close as possible to the compute engine. \nSparse compute, on the other hand, operates on the sparse representation which never requires decompression (we therefore distinguish between sparse representation and compressed representation). This is not a simple matter to implement in HW, and often means lower utilization of the vectorized compute engines. Therefore, there is a third class of representations, which take advantage of specific hardware characteristics. For example, for a vectorized compute engine we can remove an entire zero-weights vector and skip its computation (this uses structured pruning or regularization).", "title": "Smaller" - }, + }, { - "location": "/index.html#faster", - "text": "Many of the layers in modern neural-networks are bandwidth-bound, which means that the execution latency is dominated by the available bandwidth. In essence, the hardware spends more time bringing data close to the compute engines, than actually performing the computations. Fully-connected layers, RNNs and LSTMs are some examples of bandwidth-dominated operations. \nReducing the bandwidth required by these layers, will immediately speed them up. \nSome pruning algorithms prune entire kernels, filters and even layers from the network without adversely impacting the final accuracy. Depending on the hardware implementation, these methods can be leveraged to skip computations, thus reducing latency and power.", + "location": "/index.html#faster", + "text": "Many of the layers in modern neural-networks are bandwidth-bound, which means that the execution latency is dominated by the available bandwidth. In essence, the hardware spends more time bringing data close to the compute engines, than actually performing the computations. Fully-connected layers, RNNs and LSTMs are some examples of bandwidth-dominated operations. \nReducing the bandwidth required by these layers, will immediately speed them up. \nSome pruning algorithms prune entire kernels, filters and even layers from the network without adversely impacting the final accuracy. Depending on the hardware implementation, these methods can be leveraged to skip computations, thus reducing latency and power.", "title": "Faster" - }, + }, { - "location": "/index.html#more-energy-efficient", - "text": "Because we pay two orders-of-magnitude more energy to access off-chip memory (e.g. DDR) compared to on-chip memory (e.g. SRAM or cache), many hardware designs employ a multi-layered cache hierarchy. Fitting the parameters and activations of a network in these on-chip caches can make a big difference on the required bandwidth, the total inference latency, and off course reduce power consumption. \nAnd of course, if we used a sparse or compressed representation, then we are reducing the data throughput and therefore the energy consumption.", + "location": "/index.html#more-energy-efficient", + "text": "Because we pay two orders-of-magnitude more energy to access off-chip memory (e.g. DDR) compared to on-chip memory (e.g. SRAM or cache), many hardware designs employ a multi-layered cache hierarchy. Fitting the parameters and activations of a network in these on-chip caches can make a big difference on the required bandwidth, the total inference latency, and off course reduce power consumption. \nAnd of course, if we used a sparse or compressed representation, then we are reducing the data throughput and therefore the energy consumption.", "title": "More energy efficient" - }, + }, { - "location": "/install/index.html", - "text": "Distiller Installation\n\n\nThese instructions will help get Distiller up and running on your local machine.\n\n\nYou may also want to refer to these resources:\n\n\n\n\nDataset installation\n instructions.\n\n\nJupyter installation\n instructions.\n\n\n\n\nNotes:\n- Distiller has only been tested on Ubuntu 16.04 LTS, and with Python 3.5.\n- If you are not using a GPU, you might need to make small adjustments to the code.\n\n\nClone Distiller\n\n\nClone the Distiller code repository from github:\n\n\n$ git clone https://github.com/NervanaSystems/distiller.git\n\n\n\n\nThe rest of the documentation that follows, assumes that you have cloned your repository to a directory called \ndistiller\n. \n\n\nCreate a Python virtual environment\n\n\nWe recommend using a \nPython virtual environment\n, but that of course, is up to you.\nThere's nothing special about using Distiller in a virtual environment, but we provide some instructions, for completeness.\n\nBefore creating the virtual environment, make sure you are located in directory \ndistiller\n. After creating the environment, you should see a directory called \ndistiller/env\n.\n\n\n\nUsing virtualenv\n\n\nIf you don't have virtualenv installed, you can find the installation instructions \nhere\n.\n\n\nTo create the environment, execute:\n\n\n$ python3 -m virtualenv env\n\n\n\n\nThis creates a subdirectory named \nenv\n where the python virtual environment is stored, and configures the current shell to use it as the default python environment.\n\n\nUsing venv\n\n\nIf you prefer to use \nvenv\n, then begin by installing it:\n\n\n$ sudo apt-get install python3-venv\n\n\n\n\nThen create the environment:\n\n\n$ python3 -m venv env\n\n\n\n\nAs with virtualenv, this creates a directory called \ndistiller/env\n.\n\n\nActivate the environment\n\n\nThe environment activation and deactivation commands for \nvenv\n and \nvirtualenv\n are the same.\n\n\n!NOTE: Make sure to activate the environment, before proceeding with the installation of the dependency packages:\n\n\n$ source env/bin/activate\n\n\n\n\nInstall dependencies\n\n\nFinally, install Distiller's dependency packages using \npip3\n:\n\n\n$ pip3 install -r requirements.txt\n\n\n\n\nPyTorch is included in the \nrequirements.txt\n file, and will currently download PyTorch version 3.1 for CUDA 8.0. This is the setup we've used for testing Distiller.", + "location": "/install/index.html", + "text": "Distiller Installation\n\n\nThese instructions will help get Distiller up and running on your local machine.\n\n\nYou may also want to refer to these resources:\n\n\n\n\nDataset installation\n instructions.\n\n\nJupyter installation\n instructions.\n\n\n\n\nNotes:\n- Distiller has only been tested on Ubuntu 16.04 LTS, and with Python 3.5.\n- If you are not using a GPU, you might need to make small adjustments to the code.\n\n\nClone Distiller\n\n\nClone the Distiller code repository from github:\n\n\n$ git clone https://github.com/NervanaSystems/distiller.git\n\n\n\n\nThe rest of the documentation that follows, assumes that you have cloned your repository to a directory called \ndistiller\n. \n\n\nCreate a Python virtual environment\n\n\nWe recommend using a \nPython virtual environment\n, but that of course, is up to you.\nThere's nothing special about using Distiller in a virtual environment, but we provide some instructions, for completeness.\n\nBefore creating the virtual environment, make sure you are located in directory \ndistiller\n. After creating the environment, you should see a directory called \ndistiller/env\n.\n\n\n\nUsing virtualenv\n\n\nIf you don't have virtualenv installed, you can find the installation instructions \nhere\n.\n\n\nTo create the environment, execute:\n\n\n$ python3 -m virtualenv env\n\n\n\n\nThis creates a subdirectory named \nenv\n where the python virtual environment is stored, and configures the current shell to use it as the default python environment.\n\n\nUsing venv\n\n\nIf you prefer to use \nvenv\n, then begin by installing it:\n\n\n$ sudo apt-get install python3-venv\n\n\n\n\nThen create the environment:\n\n\n$ python3 -m venv env\n\n\n\n\nAs with virtualenv, this creates a directory called \ndistiller/env\n.\n\n\nActivate the environment\n\n\nThe environment activation and deactivation commands for \nvenv\n and \nvirtualenv\n are the same.\n\n\n!NOTE: Make sure to activate the environment, before proceeding with the installation of the dependency packages:\n\n\n$ source env/bin/activate\n\n\n\n\nInstall dependencies\n\n\nFinally, install Distiller's dependency packages using \npip3\n:\n\n\n$ pip3 install -r requirements.txt\n\n\n\n\nPyTorch is included in the \nrequirements.txt\n file, and will currently download PyTorch version 3.1 for CUDA 8.0. This is the setup we've used for testing Distiller.", "title": "Installation" - }, + }, { - "location": "/install/index.html#distiller-installation", - "text": "These instructions will help get Distiller up and running on your local machine. You may also want to refer to these resources: Dataset installation instructions. Jupyter installation instructions. Notes:\n- Distiller has only been tested on Ubuntu 16.04 LTS, and with Python 3.5.\n- If you are not using a GPU, you might need to make small adjustments to the code.", + "location": "/install/index.html#distiller-installation", + "text": "These instructions will help get Distiller up and running on your local machine. You may also want to refer to these resources: Dataset installation instructions. Jupyter installation instructions. Notes:\n- Distiller has only been tested on Ubuntu 16.04 LTS, and with Python 3.5.\n- If you are not using a GPU, you might need to make small adjustments to the code.", "title": "Distiller Installation" - }, + }, { - "location": "/install/index.html#clone-distiller", - "text": "Clone the Distiller code repository from github: $ git clone https://github.com/NervanaSystems/distiller.git The rest of the documentation that follows, assumes that you have cloned your repository to a directory called distiller .", + "location": "/install/index.html#clone-distiller", + "text": "Clone the Distiller code repository from github: $ git clone https://github.com/NervanaSystems/distiller.git The rest of the documentation that follows, assumes that you have cloned your repository to a directory called distiller .", "title": "Clone Distiller" - }, + }, { - "location": "/install/index.html#create-a-python-virtual-environment", - "text": "We recommend using a Python virtual environment , but that of course, is up to you.\nThere's nothing special about using Distiller in a virtual environment, but we provide some instructions, for completeness. \nBefore creating the virtual environment, make sure you are located in directory distiller . After creating the environment, you should see a directory called distiller/env .", + "location": "/install/index.html#create-a-python-virtual-environment", + "text": "We recommend using a Python virtual environment , but that of course, is up to you.\nThere's nothing special about using Distiller in a virtual environment, but we provide some instructions, for completeness. \nBefore creating the virtual environment, make sure you are located in directory distiller . After creating the environment, you should see a directory called distiller/env .", "title": "Create a Python virtual environment" - }, + }, { - "location": "/install/index.html#using-virtualenv", - "text": "If you don't have virtualenv installed, you can find the installation instructions here . To create the environment, execute: $ python3 -m virtualenv env This creates a subdirectory named env where the python virtual environment is stored, and configures the current shell to use it as the default python environment.", + "location": "/install/index.html#using-virtualenv", + "text": "If you don't have virtualenv installed, you can find the installation instructions here . To create the environment, execute: $ python3 -m virtualenv env This creates a subdirectory named env where the python virtual environment is stored, and configures the current shell to use it as the default python environment.", "title": "Using virtualenv" - }, + }, { - "location": "/install/index.html#using-venv", - "text": "If you prefer to use venv , then begin by installing it: $ sudo apt-get install python3-venv Then create the environment: $ python3 -m venv env As with virtualenv, this creates a directory called distiller/env .", + "location": "/install/index.html#using-venv", + "text": "If you prefer to use venv , then begin by installing it: $ sudo apt-get install python3-venv Then create the environment: $ python3 -m venv env As with virtualenv, this creates a directory called distiller/env .", "title": "Using venv" - }, + }, { - "location": "/install/index.html#activate-the-environment", - "text": "The environment activation and deactivation commands for venv and virtualenv are the same. !NOTE: Make sure to activate the environment, before proceeding with the installation of the dependency packages: $ source env/bin/activate", + "location": "/install/index.html#activate-the-environment", + "text": "The environment activation and deactivation commands for venv and virtualenv are the same. !NOTE: Make sure to activate the environment, before proceeding with the installation of the dependency packages: $ source env/bin/activate", "title": "Activate the environment" - }, + }, { - "location": "/install/index.html#install-dependencies", - "text": "Finally, install Distiller's dependency packages using pip3 : $ pip3 install -r requirements.txt PyTorch is included in the requirements.txt file, and will currently download PyTorch version 3.1 for CUDA 8.0. This is the setup we've used for testing Distiller.", + "location": "/install/index.html#install-dependencies", + "text": "Finally, install Distiller's dependency packages using pip3 : $ pip3 install -r requirements.txt PyTorch is included in the requirements.txt file, and will currently download PyTorch version 3.1 for CUDA 8.0. This is the setup we've used for testing Distiller.", "title": "Install dependencies" - }, + }, { - "location": "/usage/index.html", - "text": "Using the sample application\n\n\nThe Distiller repository contains a sample application, \ndistiller/examples/classifier_compression/compress_classifier.py\n, and a set of scheduling files which demonstrate Distiller's features. Following is a brief discussion of how to use this application and the accompanying schedules.\n\n\nYou might also want to refer to the following resources:\n\n\n\n\nAn \nexplanation\n of the scheduler file format.\n\n\nAn in-depth \ndiscussion\n of how we used these schedule files to implement several state-of-the-art DNN compression research papers.\n\n\n\n\nThe sample application supports various features for compression of image classification DNNs, and gives an example of how to integrate distiller in your own application. The code is documented and should be considered the best source of documentation, but we provide some elaboration here.\n\n\nThis diagram shows how where \ncompress_classifier.py\n fits in the compression workflow, and how we integrate the Jupyter notebooks as part of our research work.\n\n\n\nCommand line arguments\n\n\nTo get help on the command line arguments, invoke:\n\n\n$ python3 compress_classifier.py --help\n\n\n\n\nFor example:\n\n\n$ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\nParameters:\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n | | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n |----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n | 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n | 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n | 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n | 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n | 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n | 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n | 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n | 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n | 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:04,646 - Epoch: [89][ 50/ 500] Loss 2.175988 Top1 51.289063 Top5 74.023438\n 2018-04-04 21:31:06,427 - Epoch: [89][ 100/ 500] Loss 2.171564 Top1 51.175781 Top5 74.308594\n 2018-04-04 21:31:11,432 - Epoch: [89][ 150/ 500] Loss 2.159347 Top1 51.546875 Top5 74.473958\n 2018-04-04 21:31:14,364 - Epoch: [89][ 200/ 500] Loss 2.156857 Top1 51.585938 Top5 74.568359\n 2018-04-04 21:31:18,381 - Epoch: [89][ 250/ 500] Loss 2.152790 Top1 51.707813 Top5 74.681250\n 2018-04-04 21:31:22,195 - Epoch: [89][ 300/ 500] Loss 2.149962 Top1 51.791667 Top5 74.755208\n 2018-04-04 21:31:25,508 - Epoch: [89][ 350/ 500] Loss 2.150936 Top1 51.827009 Top5 74.767857\n 2018-04-04 21:31:29,538 - Epoch: [89][ 400/ 500] Loss 2.150853 Top1 51.781250 Top5 74.763672\n 2018-04-04 21:31:32,842 - Epoch: [89][ 450/ 500] Loss 2.150156 Top1 51.828125 Top5 74.821181\n 2018-04-04 21:31:35,338 - Epoch: [89][ 500/ 500] Loss 2.150417 Top1 51.833594 Top5 74.817187\n 2018-04-04 21:31:35,357 - ==> Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:35,364 - Saving checkpoint\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:31:51,512 - Test: [ 50/ 195] Loss 1.487607 Top1 63.273438 Top5 85.695312\n 2018-04-04 21:31:55,015 - Test: [ 100/ 195] Loss 1.638043 Top1 60.636719 Top5 83.664062\n 2018-04-04 21:31:58,732 - Test: [ 150/ 195] Loss 1.833214 Top1 57.619792 Top5 80.447917\n 2018-04-04 21:32:01,274 - ==> Top1: 56.606 Top5: 79.446 Loss: 1.893\n\n\n\n\nLet's look at the command line again:\n\n\n$ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\n\n\n\nIn this example, we prune a TorchVision pre-trained AlexNet network, using the following configuration:\n\n\n\n\nLearning-rate of 0.005\n\n\nPrint progress every 50 mini-batches.\n\n\nUse 44 worker threads to load data (make sure to use something suitable for your machine).\n\n\nRun for 90 epochs. Torchvision's pre-trained models did not store the epoch metadata, so pruning starts at epoch 0. When you train and prune your own networks, the last training epoch is saved as a metadata with the model. Therefore, when you load such models, the first epoch is not 0, but it is the last training epoch.\n\n\nThe pruning schedule is provided in \nalexnet.schedule_sensitivity.yaml\n\n\nLog files are written to directory \nlogs\n.\n\n\n\n\nExamples\n\n\nDistiller comes with several example schedules which can be used together with \ncompress_classifier.py\n.\nThese example schedules (YAML) files, contain the command line that is used in order to invoke the schedule (so that you can easily recreate the results in your environment), together with the results of the pruning or regularization. The results usually contain a table showing the sparsity of each of the model parameters, together with the validation and test top1, top5 and loss scores.\n\n\nFor more details on the example schedules, you can refer to the coverage of the \nModel Zoo\n.\n\n\n\n\nexamples/agp-pruning\n:\n\n\nAutomated Gradual Pruning (AGP) on MobileNet and ResNet18 (ImageNet dataset)\n\n\n\n\n\n\n\nexamples/hybrid\n:\n\n\nAlexNet AGP with 2D (kernel) regularization (ImageNet dataset)\n\n\nAlexNet sensitivity pruning with 2D regularization\n\n\n\n\n\n\n\nexamples/network_slimming\n:\n\n\nResNet20 Network Slimming (this is work-in-progress)\n\n\n\n\n\n\n\nexamples/pruning_filters_for_efficient_convnets\n:\n\n\nResNet56 baseline training (CIFAR10 dataset)\n\n\nResNet56 filter removal using filter ranking\n\n\n\n\n\n\n\nexamples/sensitivity_analysis\n:\n\n\nElement-wise pruning sensitivity-analysis:\n\n\nAlexNet (ImageNet)\n\n\nMobileNet (ImageNet)\n\n\nResNet18 (ImageNet)\n\n\nResNet20 (CIFAR10)\n\n\nResNet34 (ImageNet)\n\n\nFilter-wise pruning sensitivity-analysis:\n\n\nResNet20 (CIFAR10)\n\n\nResNet56 (CIFAR10)\n\n\n\n\n\n\n\n\nexamples/sensitivity-pruning\n:\n\n\n\n\nAlexNet sensitivity pruning with Iterative Pruning\n\n\nAlexNet sensitivity pruning with One-Shot Pruning\n\n\n\n\n\n\n\n\nexamples/ssl\n:\n\n\n\n\nResNet20 baseline training (CIFAR10 dataset)\n\n\nStructured Sparsity Learning (SSL) with layer removal on ResNet20\n\n\nSSL with channels removal on ResNet20\n\n\n\n\n\n\n\n\nExperiment reproducibility\n\n\nExperiment reproducibility is sometimes important. Pete Warden recently expounded about this in his \nblog\n.\n\nPyTorch's support for deterministic execution requires us to use only one thread for loading data (other wise the multi-threaded execution of the data loaders can create random order and change the results), and to set the seed of the CPU and GPU PRNGs. Using the \n--deterministic\n command-line flag and setting \nj=1\n will produce reproducible results (for the same PyTorch version).\n\n\nPerforming pruning sensitivity analysis\n\n\nDistiller supports element-wise and filter-wise pruning sensitivity analysis. In both cases, L1-norm is used to rank which elements or filters to prune. For example, when running filter-pruning sensitivity analysis, the L1-norm of the filters of each layer's weights tensor are calculated, and the bottom x% are set to zero. \n\nThe analysis process is quite long, because currently we use the entire test dataset to assess the accuracy performance at each pruning level of each weights tensor. Using a small dataset for this would save much time and we plan on assessing if this will provide sufficient results.\n\nResults are output as a CSV file (\nsensitivity.csv\n) and PNG file (\nsensitivity.png\n). The implementation is in \ndistiller/sensitivity.py\n and it contains further details about process and the format of the CSV file.\n\n\nThe example below performs element-wise pruning sensitivity analysis on ResNet20 for CIFAR10:\n\n\n$ python3 compress_classifier.py -a resnet20_cifar ../../../data.cifar10/ -j=1 --resume=../cifar10/resnet20/checkpoint_trained_dense.pth.tar --sense=element\n\n\n\n\nThe \nsense\n command-line argument can be set to either \nelement\n or \nfilter\n, depending on the type of analysis you want done.\n\n\nThere is also a \nJupyter notebook\n with example invocations, outputs and explanations.\n\n\nQuantization\n\n\nCurrently Distiller support 8-bit quantization only (quantization of lower precision data types will follow shortly) which does not require training, so any model (whether pruned or not) can be quantized.\n\nUse the \n--quantize\n command-line flag, together with \n--evaluate\n to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet:\n\n\n$ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate\n\n\n\n\nGenerates:\n\n\nPreparing model for quantization\n--- test ---------------------\n50000 samples (256 per mini-batch)\nTest: [ 10/ 195] Loss 0.856354 Top1 79.257812 Top5 92.500000\nTest: [ 20/ 195] Loss 0.923131 Top1 76.953125 Top5 92.246094\nTest: [ 30/ 195] Loss 0.885186 Top1 77.955729 Top5 92.486979\nTest: [ 40/ 195] Loss 0.930263 Top1 76.181641 Top5 92.597656\nTest: [ 50/ 195] Loss 0.931062 Top1 75.726562 Top5 92.906250\nTest: [ 60/ 195] Loss 0.932019 Top1 75.651042 Top5 93.151042\nTest: [ 70/ 195] Loss 0.921287 Top1 76.060268 Top5 93.270089\nTest: [ 80/ 195] Loss 0.932539 Top1 75.986328 Top5 93.100586\nTest: [ 90/ 195] Loss 0.996000 Top1 74.700521 Top5 92.330729\nTest: [ 100/ 195] Loss 1.066699 Top1 73.289062 Top5 91.437500\nTest: [ 110/ 195] Loss 1.100970 Top1 72.574574 Top5 91.001420\nTest: [ 120/ 195] Loss 1.122376 Top1 72.268880 Top5 90.696615\nTest: [ 130/ 195] Loss 1.171726 Top1 71.198918 Top5 90.120192\nTest: [ 140/ 195] Loss 1.191500 Top1 70.797991 Top5 89.902344\nTest: [ 150/ 195] Loss 1.219954 Top1 70.210938 Top5 89.453125\nTest: [ 160/ 195] Loss 1.240942 Top1 69.855957 Top5 89.162598\nTest: [ 170/ 195] Loss 1.265741 Top1 69.342831 Top5 88.807445\nTest: [ 180/ 195] Loss 1.281185 Top1 69.051649 Top5 88.589410\nTest: [ 190/ 195] Loss 1.279682 Top1 69.019326 Top5 88.632812\n==> Top1: 69.130 Top5: 88.732 Loss: 1.276\n\n\n\n\nSummaries\n\n\nYou can use the sample compression application to generate model summary reports, such as the attributes and compute summary report (see screen capture below).\nYou can log sparsity statistics (written to console and CSV file), performance, optimizer and model information, and also create a PNG image of the DNN.\nCreating a PNG image is an experimental feature (it relies on features which are not available on PyTorch 3.1 and that we hope will be available in PyTorch's next release), so to use it you will need to compile the PyTorch master branch, and hope for the best ;-).\n\n\n$ python3 compress_classifier.py --resume=../ssl/checkpoints/checkpoint_trained_ch_regularized_dense.pth.tar -a=resnet20_cifar ../../../data.cifar10 --summary=compute\n\n\n\n\nGenerates:\n\n\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\n| | Name | Type | Attrs | IFM | IFM volume | OFM | OFM volume | Weights volume | MACs |\n|----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------|\n| 0 | module.conv1 | Conv2d | k=(3, 3) | (1, 3, 32, 32) | 3072 | (1, 16, 32, 32) | 16384 | 432 | 442368 |\n| 1 | module.layer1.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 2 | module.layer1.0.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 3 | module.layer1.1.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 4 | module.layer1.1.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 5 | module.layer1.2.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 6 | module.layer1.2.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 7 | module.layer2.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 4608 | 1179648 |\n| 8 | module.layer2.0.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 9 | module.layer2.0.downsample.0 | Conv2d | k=(1, 1) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 512 | 131072 |\n| 10 | module.layer2.1.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 11 | module.layer2.1.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 12 | module.layer2.2.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 13 | module.layer2.2.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 14 | module.layer3.0.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 18432 | 1179648 |\n| 15 | module.layer3.0.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 16 | module.layer3.0.downsample.0 | Conv2d | k=(1, 1) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 2048 | 131072 |\n| 17 | module.layer3.1.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 18 | module.layer3.1.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 19 | module.layer3.2.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 20 | module.layer3.2.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 21 | module.fc | Linear | | (1, 64) | 64 | (1, 10) | 10 | 640 | 640 |\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\nTotal MACs: 40,813,184\n\n\n\n\nUsing TensorBoard\n\n\nGoogle's \nTensorBoard\n is an excellent tool for visualizing the progress of DNN training. Distiller's logger supports writing performance indicators and parameter statistics in a file format that can be read by TensorBoard (Distiller uses TensorFlow's APIs in order to do this, which is why Distiller requires the installation of TensorFlow).\n\nTo view the graphs, invoke the TensorBoard server. For example:\n\n\n$ tensorboard --logdir=logs\n\n\n\n\nDistillers's setup (requirements.txt) installs TensorFlow for CPU. If you want a different installation, please follow the \nTensorFlow installation instructions\n.\n\n\nCollecting feature-maps statistics\n\n\nIn CNNs with ReLU layers, ReLU activations (feature-maps) also exhibit a nice level of sparsity (50-60% sparsity is typical). \n\nYou can collect activation statistics using the \n--act_stats\n command-line flag.\n\n\nUsing the Jupyter notebooks\n\n\nThe Jupyter notebooks contain many examples of how to use the statistics summaries generated by Distiller. They are explained in a separate page.\n\n\nGenerating this documentation\n\n\nInstall mkdocs and the required packages by executing:\n\n\n$ pip3 install -r doc-requirements.txt\n\n\n\n\nTo build the project documentation run:\n\n\n$ cd distiller/docs-src\n$ mkdocs build --clean\n\n\n\n\nThis will create a folder named 'site' which contains the documentation website.\nOpen distiller/docs/site/index.html to view the documentation home page.", + "location": "/usage/index.html", + "text": "Using the sample application\n\n\nThe Distiller repository contains a sample application, \ndistiller/examples/classifier_compression/compress_classifier.py\n, and a set of scheduling files which demonstrate Distiller's features. Following is a brief discussion of how to use this application and the accompanying schedules.\n\n\nYou might also want to refer to the following resources:\n\n\n\n\nAn \nexplanation\n of the scheduler file format.\n\n\nAn in-depth \ndiscussion\n of how we used these schedule files to implement several state-of-the-art DNN compression research papers.\n\n\n\n\nThe sample application supports various features for compression of image classification DNNs, and gives an example of how to integrate distiller in your own application. The code is documented and should be considered the best source of documentation, but we provide some elaboration here.\n\n\nThis diagram shows how where \ncompress_classifier.py\n fits in the compression workflow, and how we integrate the Jupyter notebooks as part of our research work.\n\n\n\nCommand line arguments\n\n\nTo get help on the command line arguments, invoke:\n\n\n$ python3 compress_classifier.py --help\n\n\n\n\nFor example:\n\n\n$ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\nParameters:\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n | | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n |----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n | 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n | 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n | 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n | 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n | 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n | 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n | 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n | 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n | 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:04,646 - Epoch: [89][ 50/ 500] Loss 2.175988 Top1 51.289063 Top5 74.023438\n 2018-04-04 21:31:06,427 - Epoch: [89][ 100/ 500] Loss 2.171564 Top1 51.175781 Top5 74.308594\n 2018-04-04 21:31:11,432 - Epoch: [89][ 150/ 500] Loss 2.159347 Top1 51.546875 Top5 74.473958\n 2018-04-04 21:31:14,364 - Epoch: [89][ 200/ 500] Loss 2.156857 Top1 51.585938 Top5 74.568359\n 2018-04-04 21:31:18,381 - Epoch: [89][ 250/ 500] Loss 2.152790 Top1 51.707813 Top5 74.681250\n 2018-04-04 21:31:22,195 - Epoch: [89][ 300/ 500] Loss 2.149962 Top1 51.791667 Top5 74.755208\n 2018-04-04 21:31:25,508 - Epoch: [89][ 350/ 500] Loss 2.150936 Top1 51.827009 Top5 74.767857\n 2018-04-04 21:31:29,538 - Epoch: [89][ 400/ 500] Loss 2.150853 Top1 51.781250 Top5 74.763672\n 2018-04-04 21:31:32,842 - Epoch: [89][ 450/ 500] Loss 2.150156 Top1 51.828125 Top5 74.821181\n 2018-04-04 21:31:35,338 - Epoch: [89][ 500/ 500] Loss 2.150417 Top1 51.833594 Top5 74.817187\n 2018-04-04 21:31:35,357 - ==\n Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:35,364 - Saving checkpoint\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:31:51,512 - Test: [ 50/ 195] Loss 1.487607 Top1 63.273438 Top5 85.695312\n 2018-04-04 21:31:55,015 - Test: [ 100/ 195] Loss 1.638043 Top1 60.636719 Top5 83.664062\n 2018-04-04 21:31:58,732 - Test: [ 150/ 195] Loss 1.833214 Top1 57.619792 Top5 80.447917\n 2018-04-04 21:32:01,274 - ==\n Top1: 56.606 Top5: 79.446 Loss: 1.893\n\n\n\n\nLet's look at the command line again:\n\n\n$ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\n\n\n\nIn this example, we prune a TorchVision pre-trained AlexNet network, using the following configuration:\n\n\n\n\nLearning-rate of 0.005\n\n\nPrint progress every 50 mini-batches.\n\n\nUse 44 worker threads to load data (make sure to use something suitable for your machine).\n\n\nRun for 90 epochs. Torchvision's pre-trained models did not store the epoch metadata, so pruning starts at epoch 0. When you train and prune your own networks, the last training epoch is saved as a metadata with the model. Therefore, when you load such models, the first epoch is not 0, but it is the last training epoch.\n\n\nThe pruning schedule is provided in \nalexnet.schedule_sensitivity.yaml\n\n\nLog files are written to directory \nlogs\n.\n\n\n\n\nExamples\n\n\nDistiller comes with several example schedules which can be used together with \ncompress_classifier.py\n.\nThese example schedules (YAML) files, contain the command line that is used in order to invoke the schedule (so that you can easily recreate the results in your environment), together with the results of the pruning or regularization. The results usually contain a table showing the sparsity of each of the model parameters, together with the validation and test top1, top5 and loss scores.\n\n\nFor more details on the example schedules, you can refer to the coverage of the \nModel Zoo\n.\n\n\n\n\nexamples/agp-pruning\n:\n\n\nAutomated Gradual Pruning (AGP) on MobileNet and ResNet18 (ImageNet dataset)\n\n\n\n\n\n\n\nexamples/hybrid\n:\n\n\nAlexNet AGP with 2D (kernel) regularization (ImageNet dataset)\n\n\nAlexNet sensitivity pruning with 2D regularization\n\n\n\n\n\n\n\nexamples/network_slimming\n:\n\n\nResNet20 Network Slimming (this is work-in-progress)\n\n\n\n\n\n\n\nexamples/pruning_filters_for_efficient_convnets\n:\n\n\nResNet56 baseline training (CIFAR10 dataset)\n\n\nResNet56 filter removal using filter ranking\n\n\n\n\n\n\n\nexamples/sensitivity_analysis\n:\n\n\nElement-wise pruning sensitivity-analysis:\n\n\nAlexNet (ImageNet)\n\n\nMobileNet (ImageNet)\n\n\nResNet18 (ImageNet)\n\n\nResNet20 (CIFAR10)\n\n\nResNet34 (ImageNet)\n\n\nFilter-wise pruning sensitivity-analysis:\n\n\nResNet20 (CIFAR10)\n\n\nResNet56 (CIFAR10)\n\n\n\n\n\n\n\nexamples/sensitivity-pruning\n:\n\n\nAlexNet sensitivity pruning with Iterative Pruning\n\n\nAlexNet sensitivity pruning with One-Shot Pruning\n\n\n\n\n\n\n\nexamples/ssl\n:\n\n\nResNet20 baseline training (CIFAR10 dataset)\n\n\nStructured Sparsity Learning (SSL) with layer removal on ResNet20\n\n\nSSL with channels removal on ResNet20\n\n\n\n\n\n\n\nexamples/quantization\n:\n\n\nAlexNet w. Batch-Norm (base FP32 + DoReFa)\n\n\nPre-activation ResNet20 on CIFAR10 (base FP32 + DoReFa)\n\n\nPre-activation ResNet18 on ImageNEt (base FP32 + DoReFa)\n\n\n\n\n\n\n\n\nExperiment reproducibility\n\n\nExperiment reproducibility is sometimes important. Pete Warden recently expounded about this in his \nblog\n.\n\nPyTorch's support for deterministic execution requires us to use only one thread for loading data (other wise the multi-threaded execution of the data loaders can create random order and change the results), and to set the seed of the CPU and GPU PRNGs. Using the \n--deterministic\n command-line flag and setting \nj=1\n will produce reproducible results (for the same PyTorch version).\n\n\nPerforming pruning sensitivity analysis\n\n\nDistiller supports element-wise and filter-wise pruning sensitivity analysis. In both cases, L1-norm is used to rank which elements or filters to prune. For example, when running filter-pruning sensitivity analysis, the L1-norm of the filters of each layer's weights tensor are calculated, and the bottom x% are set to zero. \n\nThe analysis process is quite long, because currently we use the entire test dataset to assess the accuracy performance at each pruning level of each weights tensor. Using a small dataset for this would save much time and we plan on assessing if this will provide sufficient results.\n\nResults are output as a CSV file (\nsensitivity.csv\n) and PNG file (\nsensitivity.png\n). The implementation is in \ndistiller/sensitivity.py\n and it contains further details about process and the format of the CSV file.\n\n\nThe example below performs element-wise pruning sensitivity analysis on ResNet20 for CIFAR10:\n\n\n$ python3 compress_classifier.py -a resnet20_cifar ../../../data.cifar10/ -j=1 --resume=../cifar10/resnet20/checkpoint_trained_dense.pth.tar --sense=element\n\n\n\n\nThe \nsense\n command-line argument can be set to either \nelement\n or \nfilter\n, depending on the type of analysis you want done.\n\n\nThere is also a \nJupyter notebook\n with example invocations, outputs and explanations.\n\n\n\"Direct\" Quantization Without Training\n\n\nDistiller supports 8-bit quantization of trained modules without re-training (using \nSymmetric Linear Quantization\n). So, any model (whether pruned or not) can be quantized.\n\nUse the \n--quantize\n command-line flag, together with \n--evaluate\n to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet:\n\n\n$ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate\n\n\n\n\nGenerates:\n\n\nPreparing model for quantization\n--- test ---------------------\n50000 samples (256 per mini-batch)\nTest: [ 10/ 195] Loss 0.856354 Top1 79.257812 Top5 92.500000\nTest: [ 20/ 195] Loss 0.923131 Top1 76.953125 Top5 92.246094\nTest: [ 30/ 195] Loss 0.885186 Top1 77.955729 Top5 92.486979\nTest: [ 40/ 195] Loss 0.930263 Top1 76.181641 Top5 92.597656\nTest: [ 50/ 195] Loss 0.931062 Top1 75.726562 Top5 92.906250\nTest: [ 60/ 195] Loss 0.932019 Top1 75.651042 Top5 93.151042\nTest: [ 70/ 195] Loss 0.921287 Top1 76.060268 Top5 93.270089\nTest: [ 80/ 195] Loss 0.932539 Top1 75.986328 Top5 93.100586\nTest: [ 90/ 195] Loss 0.996000 Top1 74.700521 Top5 92.330729\nTest: [ 100/ 195] Loss 1.066699 Top1 73.289062 Top5 91.437500\nTest: [ 110/ 195] Loss 1.100970 Top1 72.574574 Top5 91.001420\nTest: [ 120/ 195] Loss 1.122376 Top1 72.268880 Top5 90.696615\nTest: [ 130/ 195] Loss 1.171726 Top1 71.198918 Top5 90.120192\nTest: [ 140/ 195] Loss 1.191500 Top1 70.797991 Top5 89.902344\nTest: [ 150/ 195] Loss 1.219954 Top1 70.210938 Top5 89.453125\nTest: [ 160/ 195] Loss 1.240942 Top1 69.855957 Top5 89.162598\nTest: [ 170/ 195] Loss 1.265741 Top1 69.342831 Top5 88.807445\nTest: [ 180/ 195] Loss 1.281185 Top1 69.051649 Top5 88.589410\nTest: [ 190/ 195] Loss 1.279682 Top1 69.019326 Top5 88.632812\n==\n Top1: 69.130 Top5: 88.732 Loss: 1.276\n\n\n\n\nSummaries\n\n\nYou can use the sample compression application to generate model summary reports, such as the attributes and compute summary report (see screen capture below).\nYou can log sparsity statistics (written to console and CSV file), performance, optimizer and model information, and also create a PNG image of the DNN.\nCreating a PNG image is an experimental feature (it relies on features which are not available on PyTorch 3.1 and that we hope will be available in PyTorch's next release), so to use it you will need to compile the PyTorch master branch, and hope for the best ;-).\n\n\n$ python3 compress_classifier.py --resume=../ssl/checkpoints/checkpoint_trained_ch_regularized_dense.pth.tar -a=resnet20_cifar ../../../data.cifar10 --summary=compute\n\n\n\n\nGenerates:\n\n\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\n| | Name | Type | Attrs | IFM | IFM volume | OFM | OFM volume | Weights volume | MACs |\n|----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------|\n| 0 | module.conv1 | Conv2d | k=(3, 3) | (1, 3, 32, 32) | 3072 | (1, 16, 32, 32) | 16384 | 432 | 442368 |\n| 1 | module.layer1.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 2 | module.layer1.0.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 3 | module.layer1.1.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 4 | module.layer1.1.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 5 | module.layer1.2.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 6 | module.layer1.2.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 7 | module.layer2.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 4608 | 1179648 |\n| 8 | module.layer2.0.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 9 | module.layer2.0.downsample.0 | Conv2d | k=(1, 1) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 512 | 131072 |\n| 10 | module.layer2.1.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 11 | module.layer2.1.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 12 | module.layer2.2.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 13 | module.layer2.2.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 14 | module.layer3.0.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 18432 | 1179648 |\n| 15 | module.layer3.0.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 16 | module.layer3.0.downsample.0 | Conv2d | k=(1, 1) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 2048 | 131072 |\n| 17 | module.layer3.1.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 18 | module.layer3.1.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 19 | module.layer3.2.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 20 | module.layer3.2.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 21 | module.fc | Linear | | (1, 64) | 64 | (1, 10) | 10 | 640 | 640 |\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\nTotal MACs: 40,813,184\n\n\n\n\nUsing TensorBoard\n\n\nGoogle's \nTensorBoard\n is an excellent tool for visualizing the progress of DNN training. Distiller's logger supports writing performance indicators and parameter statistics in a file format that can be read by TensorBoard (Distiller uses TensorFlow's APIs in order to do this, which is why Distiller requires the installation of TensorFlow).\n\nTo view the graphs, invoke the TensorBoard server. For example:\n\n\n$ tensorboard --logdir=logs\n\n\n\n\nDistillers's setup (requirements.txt) installs TensorFlow for CPU. If you want a different installation, please follow the \nTensorFlow installation instructions\n.\n\n\nCollecting feature-maps statistics\n\n\nIn CNNs with ReLU layers, ReLU activations (feature-maps) also exhibit a nice level of sparsity (50-60% sparsity is typical). \n\nYou can collect activation statistics using the \n--act_stats\n command-line flag.\n\n\nUsing the Jupyter notebooks\n\n\nThe Jupyter notebooks contain many examples of how to use the statistics summaries generated by Distiller. They are explained in a separate page.\n\n\nGenerating this documentation\n\n\nInstall mkdocs and the required packages by executing:\n\n\n$ pip3 install -r doc-requirements.txt\n\n\n\n\nTo build the project documentation run:\n\n\n$ cd distiller/docs-src\n$ mkdocs build --clean\n\n\n\n\nThis will create a folder named 'site' which contains the documentation website.\nOpen distiller/docs/site/index.html to view the documentation home page.", "title": "Usage" - }, + }, { - "location": "/usage/index.html#using-the-sample-application", - "text": "The Distiller repository contains a sample application, distiller/examples/classifier_compression/compress_classifier.py , and a set of scheduling files which demonstrate Distiller's features. Following is a brief discussion of how to use this application and the accompanying schedules. You might also want to refer to the following resources: An explanation of the scheduler file format. An in-depth discussion of how we used these schedule files to implement several state-of-the-art DNN compression research papers. The sample application supports various features for compression of image classification DNNs, and gives an example of how to integrate distiller in your own application. The code is documented and should be considered the best source of documentation, but we provide some elaboration here. This diagram shows how where compress_classifier.py fits in the compression workflow, and how we integrate the Jupyter notebooks as part of our research work.", + "location": "/usage/index.html#using-the-sample-application", + "text": "The Distiller repository contains a sample application, distiller/examples/classifier_compression/compress_classifier.py , and a set of scheduling files which demonstrate Distiller's features. Following is a brief discussion of how to use this application and the accompanying schedules. You might also want to refer to the following resources: An explanation of the scheduler file format. An in-depth discussion of how we used these schedule files to implement several state-of-the-art DNN compression research papers. The sample application supports various features for compression of image classification DNNs, and gives an example of how to integrate distiller in your own application. The code is documented and should be considered the best source of documentation, but we provide some elaboration here. This diagram shows how where compress_classifier.py fits in the compression workflow, and how we integrate the Jupyter notebooks as part of our research work.", "title": "Using the sample application" - }, + }, { - "location": "/usage/index.html#command-line-arguments", - "text": "To get help on the command line arguments, invoke: $ python3 compress_classifier.py --help For example: $ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\nParameters:\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n | | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n |----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n | 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n | 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n | 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n | 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n | 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n | 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n | 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n | 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n | 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:04,646 - Epoch: [89][ 50/ 500] Loss 2.175988 Top1 51.289063 Top5 74.023438\n 2018-04-04 21:31:06,427 - Epoch: [89][ 100/ 500] Loss 2.171564 Top1 51.175781 Top5 74.308594\n 2018-04-04 21:31:11,432 - Epoch: [89][ 150/ 500] Loss 2.159347 Top1 51.546875 Top5 74.473958\n 2018-04-04 21:31:14,364 - Epoch: [89][ 200/ 500] Loss 2.156857 Top1 51.585938 Top5 74.568359\n 2018-04-04 21:31:18,381 - Epoch: [89][ 250/ 500] Loss 2.152790 Top1 51.707813 Top5 74.681250\n 2018-04-04 21:31:22,195 - Epoch: [89][ 300/ 500] Loss 2.149962 Top1 51.791667 Top5 74.755208\n 2018-04-04 21:31:25,508 - Epoch: [89][ 350/ 500] Loss 2.150936 Top1 51.827009 Top5 74.767857\n 2018-04-04 21:31:29,538 - Epoch: [89][ 400/ 500] Loss 2.150853 Top1 51.781250 Top5 74.763672\n 2018-04-04 21:31:32,842 - Epoch: [89][ 450/ 500] Loss 2.150156 Top1 51.828125 Top5 74.821181\n 2018-04-04 21:31:35,338 - Epoch: [89][ 500/ 500] Loss 2.150417 Top1 51.833594 Top5 74.817187\n 2018-04-04 21:31:35,357 - ==> Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:35,364 - Saving checkpoint\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:31:51,512 - Test: [ 50/ 195] Loss 1.487607 Top1 63.273438 Top5 85.695312\n 2018-04-04 21:31:55,015 - Test: [ 100/ 195] Loss 1.638043 Top1 60.636719 Top5 83.664062\n 2018-04-04 21:31:58,732 - Test: [ 150/ 195] Loss 1.833214 Top1 57.619792 Top5 80.447917\n 2018-04-04 21:32:01,274 - ==> Top1: 56.606 Top5: 79.446 Loss: 1.893 Let's look at the command line again: $ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml In this example, we prune a TorchVision pre-trained AlexNet network, using the following configuration: Learning-rate of 0.005 Print progress every 50 mini-batches. Use 44 worker threads to load data (make sure to use something suitable for your machine). Run for 90 epochs. Torchvision's pre-trained models did not store the epoch metadata, so pruning starts at epoch 0. When you train and prune your own networks, the last training epoch is saved as a metadata with the model. Therefore, when you load such models, the first epoch is not 0, but it is the last training epoch. The pruning schedule is provided in alexnet.schedule_sensitivity.yaml Log files are written to directory logs .", + "location": "/usage/index.html#command-line-arguments", + "text": "To get help on the command line arguments, invoke: $ python3 compress_classifier.py --help For example: $ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\nParameters:\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n | | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n |----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n | 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n | 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n | 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n | 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n | 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n | 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n | 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n | 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n | 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n +----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:04,646 - Epoch: [89][ 50/ 500] Loss 2.175988 Top1 51.289063 Top5 74.023438\n 2018-04-04 21:31:06,427 - Epoch: [89][ 100/ 500] Loss 2.171564 Top1 51.175781 Top5 74.308594\n 2018-04-04 21:31:11,432 - Epoch: [89][ 150/ 500] Loss 2.159347 Top1 51.546875 Top5 74.473958\n 2018-04-04 21:31:14,364 - Epoch: [89][ 200/ 500] Loss 2.156857 Top1 51.585938 Top5 74.568359\n 2018-04-04 21:31:18,381 - Epoch: [89][ 250/ 500] Loss 2.152790 Top1 51.707813 Top5 74.681250\n 2018-04-04 21:31:22,195 - Epoch: [89][ 300/ 500] Loss 2.149962 Top1 51.791667 Top5 74.755208\n 2018-04-04 21:31:25,508 - Epoch: [89][ 350/ 500] Loss 2.150936 Top1 51.827009 Top5 74.767857\n 2018-04-04 21:31:29,538 - Epoch: [89][ 400/ 500] Loss 2.150853 Top1 51.781250 Top5 74.763672\n 2018-04-04 21:31:32,842 - Epoch: [89][ 450/ 500] Loss 2.150156 Top1 51.828125 Top5 74.821181\n 2018-04-04 21:31:35,338 - Epoch: [89][ 500/ 500] Loss 2.150417 Top1 51.833594 Top5 74.817187\n 2018-04-04 21:31:35,357 - == Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:35,364 - Saving checkpoint\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:31:51,512 - Test: [ 50/ 195] Loss 1.487607 Top1 63.273438 Top5 85.695312\n 2018-04-04 21:31:55,015 - Test: [ 100/ 195] Loss 1.638043 Top1 60.636719 Top5 83.664062\n 2018-04-04 21:31:58,732 - Test: [ 150/ 195] Loss 1.833214 Top1 57.619792 Top5 80.447917\n 2018-04-04 21:32:01,274 - == Top1: 56.606 Top5: 79.446 Loss: 1.893 Let's look at the command line again: $ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml In this example, we prune a TorchVision pre-trained AlexNet network, using the following configuration: Learning-rate of 0.005 Print progress every 50 mini-batches. Use 44 worker threads to load data (make sure to use something suitable for your machine). Run for 90 epochs. Torchvision's pre-trained models did not store the epoch metadata, so pruning starts at epoch 0. When you train and prune your own networks, the last training epoch is saved as a metadata with the model. Therefore, when you load such models, the first epoch is not 0, but it is the last training epoch. The pruning schedule is provided in alexnet.schedule_sensitivity.yaml Log files are written to directory logs .", "title": "Command line arguments" - }, + }, { - "location": "/usage/index.html#examples", - "text": "Distiller comes with several example schedules which can be used together with compress_classifier.py .\nThese example schedules (YAML) files, contain the command line that is used in order to invoke the schedule (so that you can easily recreate the results in your environment), together with the results of the pruning or regularization. The results usually contain a table showing the sparsity of each of the model parameters, together with the validation and test top1, top5 and loss scores. For more details on the example schedules, you can refer to the coverage of the Model Zoo . examples/agp-pruning : Automated Gradual Pruning (AGP) on MobileNet and ResNet18 (ImageNet dataset) examples/hybrid : AlexNet AGP with 2D (kernel) regularization (ImageNet dataset) AlexNet sensitivity pruning with 2D regularization examples/network_slimming : ResNet20 Network Slimming (this is work-in-progress) examples/pruning_filters_for_efficient_convnets : ResNet56 baseline training (CIFAR10 dataset) ResNet56 filter removal using filter ranking examples/sensitivity_analysis : Element-wise pruning sensitivity-analysis: AlexNet (ImageNet) MobileNet (ImageNet) ResNet18 (ImageNet) ResNet20 (CIFAR10) ResNet34 (ImageNet) Filter-wise pruning sensitivity-analysis: ResNet20 (CIFAR10) ResNet56 (CIFAR10) examples/sensitivity-pruning : AlexNet sensitivity pruning with Iterative Pruning AlexNet sensitivity pruning with One-Shot Pruning examples/ssl : ResNet20 baseline training (CIFAR10 dataset) Structured Sparsity Learning (SSL) with layer removal on ResNet20 SSL with channels removal on ResNet20", + "location": "/usage/index.html#examples", + "text": "Distiller comes with several example schedules which can be used together with compress_classifier.py .\nThese example schedules (YAML) files, contain the command line that is used in order to invoke the schedule (so that you can easily recreate the results in your environment), together with the results of the pruning or regularization. The results usually contain a table showing the sparsity of each of the model parameters, together with the validation and test top1, top5 and loss scores. For more details on the example schedules, you can refer to the coverage of the Model Zoo . examples/agp-pruning : Automated Gradual Pruning (AGP) on MobileNet and ResNet18 (ImageNet dataset) examples/hybrid : AlexNet AGP with 2D (kernel) regularization (ImageNet dataset) AlexNet sensitivity pruning with 2D regularization examples/network_slimming : ResNet20 Network Slimming (this is work-in-progress) examples/pruning_filters_for_efficient_convnets : ResNet56 baseline training (CIFAR10 dataset) ResNet56 filter removal using filter ranking examples/sensitivity_analysis : Element-wise pruning sensitivity-analysis: AlexNet (ImageNet) MobileNet (ImageNet) ResNet18 (ImageNet) ResNet20 (CIFAR10) ResNet34 (ImageNet) Filter-wise pruning sensitivity-analysis: ResNet20 (CIFAR10) ResNet56 (CIFAR10) examples/sensitivity-pruning : AlexNet sensitivity pruning with Iterative Pruning AlexNet sensitivity pruning with One-Shot Pruning examples/ssl : ResNet20 baseline training (CIFAR10 dataset) Structured Sparsity Learning (SSL) with layer removal on ResNet20 SSL with channels removal on ResNet20 examples/quantization : AlexNet w. Batch-Norm (base FP32 + DoReFa) Pre-activation ResNet20 on CIFAR10 (base FP32 + DoReFa) Pre-activation ResNet18 on ImageNEt (base FP32 + DoReFa)", "title": "Examples" - }, + }, { - "location": "/usage/index.html#experiment-reproducibility", - "text": "Experiment reproducibility is sometimes important. Pete Warden recently expounded about this in his blog . \nPyTorch's support for deterministic execution requires us to use only one thread for loading data (other wise the multi-threaded execution of the data loaders can create random order and change the results), and to set the seed of the CPU and GPU PRNGs. Using the --deterministic command-line flag and setting j=1 will produce reproducible results (for the same PyTorch version).", + "location": "/usage/index.html#experiment-reproducibility", + "text": "Experiment reproducibility is sometimes important. Pete Warden recently expounded about this in his blog . \nPyTorch's support for deterministic execution requires us to use only one thread for loading data (other wise the multi-threaded execution of the data loaders can create random order and change the results), and to set the seed of the CPU and GPU PRNGs. Using the --deterministic command-line flag and setting j=1 will produce reproducible results (for the same PyTorch version).", "title": "Experiment reproducibility" - }, + }, { - "location": "/usage/index.html#performing-pruning-sensitivity-analysis", - "text": "Distiller supports element-wise and filter-wise pruning sensitivity analysis. In both cases, L1-norm is used to rank which elements or filters to prune. For example, when running filter-pruning sensitivity analysis, the L1-norm of the filters of each layer's weights tensor are calculated, and the bottom x% are set to zero. \nThe analysis process is quite long, because currently we use the entire test dataset to assess the accuracy performance at each pruning level of each weights tensor. Using a small dataset for this would save much time and we plan on assessing if this will provide sufficient results. \nResults are output as a CSV file ( sensitivity.csv ) and PNG file ( sensitivity.png ). The implementation is in distiller/sensitivity.py and it contains further details about process and the format of the CSV file. The example below performs element-wise pruning sensitivity analysis on ResNet20 for CIFAR10: $ python3 compress_classifier.py -a resnet20_cifar ../../../data.cifar10/ -j=1 --resume=../cifar10/resnet20/checkpoint_trained_dense.pth.tar --sense=element The sense command-line argument can be set to either element or filter , depending on the type of analysis you want done. There is also a Jupyter notebook with example invocations, outputs and explanations.", + "location": "/usage/index.html#performing-pruning-sensitivity-analysis", + "text": "Distiller supports element-wise and filter-wise pruning sensitivity analysis. In both cases, L1-norm is used to rank which elements or filters to prune. For example, when running filter-pruning sensitivity analysis, the L1-norm of the filters of each layer's weights tensor are calculated, and the bottom x% are set to zero. \nThe analysis process is quite long, because currently we use the entire test dataset to assess the accuracy performance at each pruning level of each weights tensor. Using a small dataset for this would save much time and we plan on assessing if this will provide sufficient results. \nResults are output as a CSV file ( sensitivity.csv ) and PNG file ( sensitivity.png ). The implementation is in distiller/sensitivity.py and it contains further details about process and the format of the CSV file. The example below performs element-wise pruning sensitivity analysis on ResNet20 for CIFAR10: $ python3 compress_classifier.py -a resnet20_cifar ../../../data.cifar10/ -j=1 --resume=../cifar10/resnet20/checkpoint_trained_dense.pth.tar --sense=element The sense command-line argument can be set to either element or filter , depending on the type of analysis you want done. There is also a Jupyter notebook with example invocations, outputs and explanations.", "title": "Performing pruning sensitivity analysis" - }, + }, { - "location": "/usage/index.html#quantization", - "text": "Currently Distiller support 8-bit quantization only (quantization of lower precision data types will follow shortly) which does not require training, so any model (whether pruned or not) can be quantized. \nUse the --quantize command-line flag, together with --evaluate to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet: $ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate Generates: Preparing model for quantization\n--- test ---------------------\n50000 samples (256 per mini-batch)\nTest: [ 10/ 195] Loss 0.856354 Top1 79.257812 Top5 92.500000\nTest: [ 20/ 195] Loss 0.923131 Top1 76.953125 Top5 92.246094\nTest: [ 30/ 195] Loss 0.885186 Top1 77.955729 Top5 92.486979\nTest: [ 40/ 195] Loss 0.930263 Top1 76.181641 Top5 92.597656\nTest: [ 50/ 195] Loss 0.931062 Top1 75.726562 Top5 92.906250\nTest: [ 60/ 195] Loss 0.932019 Top1 75.651042 Top5 93.151042\nTest: [ 70/ 195] Loss 0.921287 Top1 76.060268 Top5 93.270089\nTest: [ 80/ 195] Loss 0.932539 Top1 75.986328 Top5 93.100586\nTest: [ 90/ 195] Loss 0.996000 Top1 74.700521 Top5 92.330729\nTest: [ 100/ 195] Loss 1.066699 Top1 73.289062 Top5 91.437500\nTest: [ 110/ 195] Loss 1.100970 Top1 72.574574 Top5 91.001420\nTest: [ 120/ 195] Loss 1.122376 Top1 72.268880 Top5 90.696615\nTest: [ 130/ 195] Loss 1.171726 Top1 71.198918 Top5 90.120192\nTest: [ 140/ 195] Loss 1.191500 Top1 70.797991 Top5 89.902344\nTest: [ 150/ 195] Loss 1.219954 Top1 70.210938 Top5 89.453125\nTest: [ 160/ 195] Loss 1.240942 Top1 69.855957 Top5 89.162598\nTest: [ 170/ 195] Loss 1.265741 Top1 69.342831 Top5 88.807445\nTest: [ 180/ 195] Loss 1.281185 Top1 69.051649 Top5 88.589410\nTest: [ 190/ 195] Loss 1.279682 Top1 69.019326 Top5 88.632812\n==> Top1: 69.130 Top5: 88.732 Loss: 1.276", - "title": "Quantization" - }, + "location": "/usage/index.html#direct-quantization-without-training", + "text": "Distiller supports 8-bit quantization of trained modules without re-training (using Symmetric Linear Quantization ). So, any model (whether pruned or not) can be quantized. \nUse the --quantize command-line flag, together with --evaluate to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet: $ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate Generates: Preparing model for quantization\n--- test ---------------------\n50000 samples (256 per mini-batch)\nTest: [ 10/ 195] Loss 0.856354 Top1 79.257812 Top5 92.500000\nTest: [ 20/ 195] Loss 0.923131 Top1 76.953125 Top5 92.246094\nTest: [ 30/ 195] Loss 0.885186 Top1 77.955729 Top5 92.486979\nTest: [ 40/ 195] Loss 0.930263 Top1 76.181641 Top5 92.597656\nTest: [ 50/ 195] Loss 0.931062 Top1 75.726562 Top5 92.906250\nTest: [ 60/ 195] Loss 0.932019 Top1 75.651042 Top5 93.151042\nTest: [ 70/ 195] Loss 0.921287 Top1 76.060268 Top5 93.270089\nTest: [ 80/ 195] Loss 0.932539 Top1 75.986328 Top5 93.100586\nTest: [ 90/ 195] Loss 0.996000 Top1 74.700521 Top5 92.330729\nTest: [ 100/ 195] Loss 1.066699 Top1 73.289062 Top5 91.437500\nTest: [ 110/ 195] Loss 1.100970 Top1 72.574574 Top5 91.001420\nTest: [ 120/ 195] Loss 1.122376 Top1 72.268880 Top5 90.696615\nTest: [ 130/ 195] Loss 1.171726 Top1 71.198918 Top5 90.120192\nTest: [ 140/ 195] Loss 1.191500 Top1 70.797991 Top5 89.902344\nTest: [ 150/ 195] Loss 1.219954 Top1 70.210938 Top5 89.453125\nTest: [ 160/ 195] Loss 1.240942 Top1 69.855957 Top5 89.162598\nTest: [ 170/ 195] Loss 1.265741 Top1 69.342831 Top5 88.807445\nTest: [ 180/ 195] Loss 1.281185 Top1 69.051649 Top5 88.589410\nTest: [ 190/ 195] Loss 1.279682 Top1 69.019326 Top5 88.632812\n== Top1: 69.130 Top5: 88.732 Loss: 1.276", + "title": "\"Direct\" Quantization Without Training" + }, { - "location": "/usage/index.html#summaries", - "text": "You can use the sample compression application to generate model summary reports, such as the attributes and compute summary report (see screen capture below).\nYou can log sparsity statistics (written to console and CSV file), performance, optimizer and model information, and also create a PNG image of the DNN.\nCreating a PNG image is an experimental feature (it relies on features which are not available on PyTorch 3.1 and that we hope will be available in PyTorch's next release), so to use it you will need to compile the PyTorch master branch, and hope for the best ;-). $ python3 compress_classifier.py --resume=../ssl/checkpoints/checkpoint_trained_ch_regularized_dense.pth.tar -a=resnet20_cifar ../../../data.cifar10 --summary=compute Generates: +----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\n| | Name | Type | Attrs | IFM | IFM volume | OFM | OFM volume | Weights volume | MACs |\n|----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------|\n| 0 | module.conv1 | Conv2d | k=(3, 3) | (1, 3, 32, 32) | 3072 | (1, 16, 32, 32) | 16384 | 432 | 442368 |\n| 1 | module.layer1.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 2 | module.layer1.0.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 3 | module.layer1.1.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 4 | module.layer1.1.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 5 | module.layer1.2.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 6 | module.layer1.2.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 7 | module.layer2.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 4608 | 1179648 |\n| 8 | module.layer2.0.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 9 | module.layer2.0.downsample.0 | Conv2d | k=(1, 1) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 512 | 131072 |\n| 10 | module.layer2.1.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 11 | module.layer2.1.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 12 | module.layer2.2.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 13 | module.layer2.2.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 14 | module.layer3.0.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 18432 | 1179648 |\n| 15 | module.layer3.0.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 16 | module.layer3.0.downsample.0 | Conv2d | k=(1, 1) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 2048 | 131072 |\n| 17 | module.layer3.1.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 18 | module.layer3.1.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 19 | module.layer3.2.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 20 | module.layer3.2.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 21 | module.fc | Linear | | (1, 64) | 64 | (1, 10) | 10 | 640 | 640 |\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\nTotal MACs: 40,813,184", + "location": "/usage/index.html#summaries", + "text": "You can use the sample compression application to generate model summary reports, such as the attributes and compute summary report (see screen capture below).\nYou can log sparsity statistics (written to console and CSV file), performance, optimizer and model information, and also create a PNG image of the DNN.\nCreating a PNG image is an experimental feature (it relies on features which are not available on PyTorch 3.1 and that we hope will be available in PyTorch's next release), so to use it you will need to compile the PyTorch master branch, and hope for the best ;-). $ python3 compress_classifier.py --resume=../ssl/checkpoints/checkpoint_trained_ch_regularized_dense.pth.tar -a=resnet20_cifar ../../../data.cifar10 --summary=compute Generates: +----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\n| | Name | Type | Attrs | IFM | IFM volume | OFM | OFM volume | Weights volume | MACs |\n|----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------|\n| 0 | module.conv1 | Conv2d | k=(3, 3) | (1, 3, 32, 32) | 3072 | (1, 16, 32, 32) | 16384 | 432 | 442368 |\n| 1 | module.layer1.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 2 | module.layer1.0.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 3 | module.layer1.1.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 4 | module.layer1.1.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 5 | module.layer1.2.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 6 | module.layer1.2.conv2 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 16, 32, 32) | 16384 | 2304 | 2359296 |\n| 7 | module.layer2.0.conv1 | Conv2d | k=(3, 3) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 4608 | 1179648 |\n| 8 | module.layer2.0.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 9 | module.layer2.0.downsample.0 | Conv2d | k=(1, 1) | (1, 16, 32, 32) | 16384 | (1, 32, 16, 16) | 8192 | 512 | 131072 |\n| 10 | module.layer2.1.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 11 | module.layer2.1.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 12 | module.layer2.2.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 13 | module.layer2.2.conv2 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 32, 16, 16) | 8192 | 9216 | 2359296 |\n| 14 | module.layer3.0.conv1 | Conv2d | k=(3, 3) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 18432 | 1179648 |\n| 15 | module.layer3.0.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 16 | module.layer3.0.downsample.0 | Conv2d | k=(1, 1) | (1, 32, 16, 16) | 8192 | (1, 64, 8, 8) | 4096 | 2048 | 131072 |\n| 17 | module.layer3.1.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 18 | module.layer3.1.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 19 | module.layer3.2.conv1 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 20 | module.layer3.2.conv2 | Conv2d | k=(3, 3) | (1, 64, 8, 8) | 4096 | (1, 64, 8, 8) | 4096 | 36864 | 2359296 |\n| 21 | module.fc | Linear | | (1, 64) | 64 | (1, 10) | 10 | 640 | 640 |\n+----+------------------------------+--------+----------+-----------------+--------------+-----------------+--------------+------------------+---------+\nTotal MACs: 40,813,184", "title": "Summaries" - }, + }, { - "location": "/usage/index.html#using-tensorboard", - "text": "Google's TensorBoard is an excellent tool for visualizing the progress of DNN training. Distiller's logger supports writing performance indicators and parameter statistics in a file format that can be read by TensorBoard (Distiller uses TensorFlow's APIs in order to do this, which is why Distiller requires the installation of TensorFlow). \nTo view the graphs, invoke the TensorBoard server. For example: $ tensorboard --logdir=logs Distillers's setup (requirements.txt) installs TensorFlow for CPU. If you want a different installation, please follow the TensorFlow installation instructions .", + "location": "/usage/index.html#using-tensorboard", + "text": "Google's TensorBoard is an excellent tool for visualizing the progress of DNN training. Distiller's logger supports writing performance indicators and parameter statistics in a file format that can be read by TensorBoard (Distiller uses TensorFlow's APIs in order to do this, which is why Distiller requires the installation of TensorFlow). \nTo view the graphs, invoke the TensorBoard server. For example: $ tensorboard --logdir=logs Distillers's setup (requirements.txt) installs TensorFlow for CPU. If you want a different installation, please follow the TensorFlow installation instructions .", "title": "Using TensorBoard" - }, + }, { - "location": "/usage/index.html#collecting-feature-maps-statistics", - "text": "In CNNs with ReLU layers, ReLU activations (feature-maps) also exhibit a nice level of sparsity (50-60% sparsity is typical). \nYou can collect activation statistics using the --act_stats command-line flag.", + "location": "/usage/index.html#collecting-feature-maps-statistics", + "text": "In CNNs with ReLU layers, ReLU activations (feature-maps) also exhibit a nice level of sparsity (50-60% sparsity is typical). \nYou can collect activation statistics using the --act_stats command-line flag.", "title": "Collecting feature-maps statistics" - }, + }, { - "location": "/usage/index.html#using-the-jupyter-notebooks", - "text": "The Jupyter notebooks contain many examples of how to use the statistics summaries generated by Distiller. They are explained in a separate page.", + "location": "/usage/index.html#using-the-jupyter-notebooks", + "text": "The Jupyter notebooks contain many examples of how to use the statistics summaries generated by Distiller. They are explained in a separate page.", "title": "Using the Jupyter notebooks" - }, + }, { - "location": "/usage/index.html#generating-this-documentation", - "text": "Install mkdocs and the required packages by executing: $ pip3 install -r doc-requirements.txt To build the project documentation run: $ cd distiller/docs-src\n$ mkdocs build --clean This will create a folder named 'site' which contains the documentation website.\nOpen distiller/docs/site/index.html to view the documentation home page.", + "location": "/usage/index.html#generating-this-documentation", + "text": "Install mkdocs and the required packages by executing: $ pip3 install -r doc-requirements.txt To build the project documentation run: $ cd distiller/docs-src\n$ mkdocs build --clean This will create a folder named 'site' which contains the documentation website.\nOpen distiller/docs/site/index.html to view the documentation home page.", "title": "Generating this documentation" - }, + }, { - "location": "/schedule/index.html", - "text": "Compression scheduler\n\n\nIn iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of \nCompressionScheduler\n: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and (later) quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. \n\n\nHigh level overview\n\n\nLet's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, LR-scheduler and Policies.\n\n\n\n\nPruners and Regularizers are very similar: they implement either a Pruning algorithm or a Regularization algorithm. \n\n\nAn LR-scheduler specifies the LR-decay algorithm. \n\n\n\n\nThese define the \nwhat\n part of the schedule. \n\n\nThe Policies define the \nwhen\n part of the schedule: at which epoch to start applying the Pruner/Regularizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/LR-decay it is managing.\n\n\nThe CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners and Regularizers from code.\n\n\nSyntax through example\n\n\nWe'll use \nalexnet.schedule_agp.yaml\n to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet.\n\n\nversion: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1\n\n\n\n\nThere is only one version of the YAML syntax, and the version number is not verified at the moment. However, to be future-proof it is probably better to let the YAML parser know that you are using version-1 syntax, in case there is ever a version 2.\n\n\nversion: 1\n\n\n\n\nIn the \npruners\n section, we define the instances of pruners we want the scheduler to instantiate and use.\n\nWe define a single pruner instance, named \nmy_pruner\n of algorithm \nSensitivityPruner\n. We will refer to this instance in the \nPolicies\n section.\n\nThen we list the sensitivity multipliers, \\(s\\), of each of the weight tensors.\n\nYou may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule.\n\n\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.6\n\n\n\n\nNext, we want to specify the learning-rate decay scheduling in the \nlr_schedulers\n section. We assign a name to this instance: \npruning_lr\n. As in the \npruners\n section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. You can use any LR-scheduler class that \ntorch.optim.lr_scheduler\n supports and pass their arguments. The keyword arguments (kwargs) are passed directly to the constructor of the subclasses of \n_LRScheduler\n, so that as new LR-schedulers are added to \ntorch.optim.lr_scheduler\n, they can be used without changing the application code.\n\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\n\n\n\nFinally, we define the \npolicies\n section which defines the actual scheduling. A \nPolicy\n manages an instance of a \nPruner\n, \nRegularizer\n, or \nLRSchedule\n, by naming the instance. In the example below, a \nPruningPolicy\n uses the pruner instance named \nmy_pruner\n: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. \n\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1\n\n\n\n\nThis is \niterative pruning\n:\n\n\n\n\n\n\nTrain Connectivity\n\n\n\n\n\n\nPrune Connections\n\n\n\n\n\n\nRetrain Weights\n\n\n\n\n\n\nGoto 2\n\n\n\n\n\n\nIt is described in \nLearning both Weights and Connections for Efficient Neural Networks\n:\n\n\n\n\n\"Our method prunes redundant connections using a three-step method. First, we train the network to learn which connections are important. Next, we prune the unimportant connections. Finally, we retrain the network to fine tune the weights of the remaining connections...After an initial training phase, we remove all connections whose weight is lower than a threshold. This pruning converts a dense, fully-connected layer to a sparse layer. This first phase learns the topology of the networks \u2014 learning which connections are important and removing the unimportant connections. We then retrain the sparse network so the remaining connections can compensate for the connections that have been removed. The phases of pruning and retraining may be repeated iteratively to further reduce network complexity.\"\n\n\n\n\nRegularization\n\n\nYou can also define and schedule regularization.\n\n\nL1 regularization\n\n\nFormat (this is an informal specification, not a valid \nABNF\n specification):\n\n\nregularizers:\n <REGULARIZER_NAME_STR>:\n class: L1Regularizer\n reg_regims:\n <PYTORCH_PARAM_NAME_STR>: <STRENGTH_FLOAT>\n ...\n <PYTORCH_PARAM_NAME_STR>: <STRENGTH_FLOAT>\n threshold_criteria: [Mean_Abs | Max]\n\n\n\n\nFor example:\n\n\nversion: 1\n\nregularizers:\n my_L1_reg:\n class: L1Regularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': 0.000002\n 'module.layer3.1.conv2.weight': 0.000002\n 'module.layer3.1.conv3.weight': 0.000002\n 'module.layer3.2.conv1.weight': 0.000002\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_L1_reg\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1\n\n\n\n\nGroup regularization\n\n\nFormat (informal specification):\n\n\nFormat:\n regularizers:\n <REGULARIZER_NAME_STR>:\n class: L1Regularizer\n reg_regims:\n <PYTORCH_PARAM_NAME_STR>: [<STRENGTH_FLOAT>, <'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'>]\n <PYTORCH_PARAM_NAME_STR>: [<STRENGTH_FLOAT>, <'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'>]\n threshold_criteria: [Mean_Abs | Max]\n\n\n\n\nFor example:\n\n\nversion: 1\n\nregularizers:\n my_filter_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': [0.00005, '3D']\n 'module.layer3.1.conv2.weight': [0.00005, '3D']\n 'module.layer3.1.conv3.weight': [0.00005, '3D']\n 'module.layer3.2.conv1.weight': [0.00005, '3D']\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_filter_regularizer\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1\n\n\n\n\nMixing it up\n\n\nYou can mix pruning and regularization.\n\n\nversion: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nregularizers:\n 2d_groups_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'features.module.0.weight': [0.000012, '2D']\n 'features.module.3.weight': [0.000012, '2D']\n 'features.module.6.weight': [0.000012, '2D']\n 'features.module.8.weight': [0.000012, '2D']\n 'features.module.10.weight': [0.000012, '2D']\n\n\nlr_schedulers:\n # Learning rate decay scheduler\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - regularizer:\n instance_name: '2d_groups_regularizer'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 1\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1", + "location": "/schedule/index.html", + "text": "Compression scheduler\n\n\nIn iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of \nCompressionScheduler\n: it needed to be part of the training loop, and to be able to make and implement pruning, regularization and quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code. \n\n\nHigh level overview\n\n\nLet's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, Quantizers, LR-scheduler and Policies.\n\n\n\n\nPruners, Regularizers and Quantizers are very similar: They implement either a Pruning/Regularization/Quantization algorithm, respectively. \n\n\nAn LR-scheduler specifies the LR-decay algorithm. \n\n\n\n\nThese define the \nwhat\n part of the schedule. \n\n\nThe Policies define the \nwhen\n part of the schedule: at which epoch to start applying the Pruner/Regularizer/Quantizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/Quantizer/LR-decay it is managing.\n\nThe CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners, Regularizers and Quantizers from code.\n\n\nSyntax through example\n\n\nWe'll use \nalexnet.schedule_agp.yaml\n to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet.\n\n\nversion: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1\n\n\n\n\nThere is only one version of the YAML syntax, and the version number is not verified at the moment. However, to be future-proof it is probably better to let the YAML parser know that you are using version-1 syntax, in case there is ever a version 2.\n\n\nversion: 1\n\n\n\n\nIn the \npruners\n section, we define the instances of pruners we want the scheduler to instantiate and use.\n\nWe define a single pruner instance, named \nmy_pruner\n, of algorithm \nSensitivityPruner\n. We will refer to this instance in the \nPolicies\n section.\n\nThen we list the sensitivity multipliers, \\(s\\), of each of the weight tensors.\n\nYou may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule.\n\n\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.6\n\n\n\n\nNext, we want to specify the learning-rate decay scheduling in the \nlr_schedulers\n section. We assign a name to this instance: \npruning_lr\n. As in the \npruners\n section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. The LR-scheduler must be a subclass of PyTorch's \n_LRScheduler\n. You can use any of the schedulers defined in \ntorch.optim.lr_scheduler\n (see \nhere\n). In addition, we've implemented some additional schedulers in Distiller (see \nhere\n). The keyword arguments (kwargs) are passed directly to the LR-scheduler's constructor, so that as new LR-schedulers are added to \ntorch.optim.lr_scheduler\n, they can be used without changing the application code.\n\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\n\n\n\nFinally, we define the \npolicies\n section which defines the actual scheduling. A \nPolicy\n manages an instance of a \nPruner\n, \nRegularizer\n, \nQuantizer\n, or \nLRScheduler\n, by naming the instance. In the example below, a \nPruningPolicy\n uses the pruner instance named \nmy_pruner\n: it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. \n\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1\n\n\n\n\nThis is \niterative pruning\n:\n\n\n\n\n\n\nTrain Connectivity\n\n\n\n\n\n\nPrune Connections\n\n\n\n\n\n\nRetrain Weights\n\n\n\n\n\n\nGoto 2\n\n\n\n\n\n\nIt is described in \nLearning both Weights and Connections for Efficient Neural Networks\n:\n\n\n\n\n\"Our method prunes redundant connections using a three-step method. First, we train the network to learn which connections are important. Next, we prune the unimportant connections. Finally, we retrain the network to fine tune the weights of the remaining connections...After an initial training phase, we remove all connections whose weight is lower than a threshold. This pruning converts a dense, fully-connected layer to a sparse layer. This first phase learns the topology of the networks \u2014 learning which connections are important and removing the unimportant connections. We then retrain the sparse network so the remaining connections can compensate for the connections that have been removed. The phases of pruning and retraining may be repeated iteratively to further reduce network complexity.\"\n\n\n\n\nRegularization\n\n\nYou can also define and schedule regularization.\n\n\nL1 regularization\n\n\nFormat (this is an informal specification, not a valid \nABNF\n specification):\n\n\nregularizers:\n \nREGULARIZER_NAME_STR\n:\n class: L1Regularizer\n reg_regims:\n \nPYTORCH_PARAM_NAME_STR\n: \nSTRENGTH_FLOAT\n\n ...\n \nPYTORCH_PARAM_NAME_STR\n: \nSTRENGTH_FLOAT\n\n threshold_criteria: [Mean_Abs | Max]\n\n\n\n\nFor example:\n\n\nversion: 1\n\nregularizers:\n my_L1_reg:\n class: L1Regularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': 0.000002\n 'module.layer3.1.conv2.weight': 0.000002\n 'module.layer3.1.conv3.weight': 0.000002\n 'module.layer3.2.conv1.weight': 0.000002\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_L1_reg\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1\n\n\n\n\nGroup regularization\n\n\nFormat (informal specification):\n\n\nFormat:\n regularizers:\n \nREGULARIZER_NAME_STR\n:\n class: L1Regularizer\n reg_regims:\n \nPYTORCH_PARAM_NAME_STR\n: [\nSTRENGTH_FLOAT\n, \n'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'\n]\n \nPYTORCH_PARAM_NAME_STR\n: [\nSTRENGTH_FLOAT\n, \n'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'\n]\n threshold_criteria: [Mean_Abs | Max]\n\n\n\n\nFor example:\n\n\nversion: 1\n\nregularizers:\n my_filter_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': [0.00005, '3D']\n 'module.layer3.1.conv2.weight': [0.00005, '3D']\n 'module.layer3.1.conv3.weight': [0.00005, '3D']\n 'module.layer3.2.conv1.weight': [0.00005, '3D']\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_filter_regularizer\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1\n\n\n\n\nMixing it up\n\n\nYou can mix pruning and regularization.\n\n\nversion: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nregularizers:\n 2d_groups_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'features.module.0.weight': [0.000012, '2D']\n 'features.module.3.weight': [0.000012, '2D']\n 'features.module.6.weight': [0.000012, '2D']\n 'features.module.8.weight': [0.000012, '2D']\n 'features.module.10.weight': [0.000012, '2D']\n\n\nlr_schedulers:\n # Learning rate decay scheduler\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - regularizer:\n instance_name: '2d_groups_regularizer'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 1\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1\n\n\n\n\n\nQuantization\n\n\nSimilarly to pruners and regularizers, specifying a quantizer in the scheduler YAML follows the constructor arguments of the \nQuantizer\n class (see details \nhere\n).\nLet's see an example:\n\n\nquantizers:\n dorefa_quantizer:\n class: DorefaQuantizer\n bits_activations: 8\n bits_weights: 4\n bits_overrides:\n conv1:\n wts: null\n acts: null\n relu1:\n wts: null\n acts: null\n final_relu:\n wts: null\n acts: null\n fc:\n wts: null\n acts: null\n\n\n\n\n\n\nThe specific quantization method we're instantiating here is \nDorefaQuantizer\n.\n\n\nThen we define the default bit-widths for activations and weights, in this case 8 and 4-bits, respectively. \n\n\nThen, we define the \nbits_overrides\n mapping. In this case, we choose not to quantize the first and last layer of the model. In the case of \nDorefaQuantizer\n, the weights are quantized as part of the convolution / FC layers, but the activations are quantized in separate layers, which replace the ReLU layers in the original model (remember - even though we replaced the ReLU modules with our own quantization modules, the name of the modules isn't changed). So, in all, we need to reference the first layer with parameters \nconv1\n, the first activation layer \nrelu1\n, the last activation layer \nfinal_relu\n and the last layer with parameters \nfc\n.\n\n\nSpecifying \nnull\n means \"do not quantize\".\n\n\nNote that for quantizers, we reference names of modules, not names of parameters as we do for pruners and regularizers.\n\n\nWe can also reference \ngroups of layers\n in the \nbits_overrides\n mapping. This is done using regular expressions. Suppose we have a sub-module in our model named \nblock1\n, which contains multiple convolution layers which we would like to quantize to, say, 2-bits. The convolution layers are named \nconv1\n, \nconv2\n and so on. In that case we would define the following:\n\n\n\n\nbits_overrides:\n block1.conv*:\n wts: 2\n acts: null", "title": "Compression scheduling" - }, + }, { - "location": "/schedule/index.html#compression-scheduler", - "text": "In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of CompressionScheduler : it needed to be part of the training loop, and to be able to make and implement pruning, regularization and (later) quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code.", + "location": "/schedule/index.html#compression-scheduler", + "text": "In iterative pruning, we create some kind of pruning regimen that specifies how to prune, and what to prune at every stage of the pruning and training stages. This motivated the design of CompressionScheduler : it needed to be part of the training loop, and to be able to make and implement pruning, regularization and quantization decisions. We wanted to be able to change the particulars of the compression schedule, w/o touching the code, and settled on using YAML as a container for this specification. We found that when we make many experiments on the same code base, it is easier to maintain all of these experiments if we decouple the differences from the code-base. Therefore, we added to the scheduler support for learning-rate decay scheduling because, again, we wanted the freedom to change the LR-decay policy without changing code.", "title": "Compression scheduler" - }, + }, { - "location": "/schedule/index.html#high-level-overview", - "text": "Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, LR-scheduler and Policies. Pruners and Regularizers are very similar: they implement either a Pruning algorithm or a Regularization algorithm. An LR-scheduler specifies the LR-decay algorithm. These define the what part of the schedule. The Policies define the when part of the schedule: at which epoch to start applying the Pruner/Regularizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/LR-decay it is managing. \nThe CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners and Regularizers from code.", + "location": "/schedule/index.html#high-level-overview", + "text": "Let's briefly discuss the main mechanisms and abstractions: A schedule specification is composed of a list of sections defining instances of Pruners, Regularizers, Quantizers, LR-scheduler and Policies. Pruners, Regularizers and Quantizers are very similar: They implement either a Pruning/Regularization/Quantization algorithm, respectively. An LR-scheduler specifies the LR-decay algorithm. These define the what part of the schedule. The Policies define the when part of the schedule: at which epoch to start applying the Pruner/Regularizer/Quantizer/LR-decay, the epoch to end, and how often to invoke the policy (frequency of application). A policy also defines the instance of Pruner/Regularizer/Quantizer/LR-decay it is managing. \nThe CompressionScheduler is configured from a YAML file or from a dictionary, but you can also manually create Policies, Pruners, Regularizers and Quantizers from code.", "title": "High level overview" - }, + }, { - "location": "/schedule/index.html#syntax-through-example", - "text": "We'll use alexnet.schedule_agp.yaml to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet. version: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1 There is only one version of the YAML syntax, and the version number is not verified at the moment. However, to be future-proof it is probably better to let the YAML parser know that you are using version-1 syntax, in case there is ever a version 2. version: 1 In the pruners section, we define the instances of pruners we want the scheduler to instantiate and use. \nWe define a single pruner instance, named my_pruner of algorithm SensitivityPruner . We will refer to this instance in the Policies section. \nThen we list the sensitivity multipliers, \\(s\\), of each of the weight tensors. \nYou may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule. pruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.6 Next, we want to specify the learning-rate decay scheduling in the lr_schedulers section. We assign a name to this instance: pruning_lr . As in the pruners section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. You can use any LR-scheduler class that torch.optim.lr_scheduler supports and pass their arguments. The keyword arguments (kwargs) are passed directly to the constructor of the subclasses of _LRScheduler , so that as new LR-schedulers are added to torch.optim.lr_scheduler , they can be used without changing the application code. lr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9 Finally, we define the policies section which defines the actual scheduling. A Policy manages an instance of a Pruner , Regularizer , or LRSchedule , by naming the instance. In the example below, a PruningPolicy uses the pruner instance named my_pruner : it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. policies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1 This is iterative pruning : Train Connectivity Prune Connections Retrain Weights Goto 2 It is described in Learning both Weights and Connections for Efficient Neural Networks : \"Our method prunes redundant connections using a three-step method. First, we train the network to learn which connections are important. Next, we prune the unimportant connections. Finally, we retrain the network to fine tune the weights of the remaining connections...After an initial training phase, we remove all connections whose weight is lower than a threshold. This pruning converts a dense, fully-connected layer to a sparse layer. This first phase learns the topology of the networks \u2014 learning which connections are important and removing the unimportant connections. We then retrain the sparse network so the remaining connections can compensate for the connections that have been removed. The phases of pruning and retraining may be repeated iteratively to further reduce network complexity.\"", + "location": "/schedule/index.html#syntax-through-example", + "text": "We'll use alexnet.schedule_agp.yaml to explain some of the YAML syntax for configuring Sensitivity Pruning of Alexnet. version: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nlr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1 There is only one version of the YAML syntax, and the version number is not verified at the moment. However, to be future-proof it is probably better to let the YAML parser know that you are using version-1 syntax, in case there is ever a version 2. version: 1 In the pruners section, we define the instances of pruners we want the scheduler to instantiate and use. \nWe define a single pruner instance, named my_pruner , of algorithm SensitivityPruner . We will refer to this instance in the Policies section. \nThen we list the sensitivity multipliers, \\(s\\), of each of the weight tensors. \nYou may list as many Pruners as you want in this section, as long as each has a unique name. You can several types of pruners in one schedule. pruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.6 Next, we want to specify the learning-rate decay scheduling in the lr_schedulers section. We assign a name to this instance: pruning_lr . As in the pruners section, you may use any name, as long as all LR-schedulers have a unique name. At the moment, only one instance of LR-scheduler is allowed. The LR-scheduler must be a subclass of PyTorch's _LRScheduler . You can use any of the schedulers defined in torch.optim.lr_scheduler (see here ). In addition, we've implemented some additional schedulers in Distiller (see here ). The keyword arguments (kwargs) are passed directly to the LR-scheduler's constructor, so that as new LR-schedulers are added to torch.optim.lr_scheduler , they can be used without changing the application code. lr_schedulers:\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9 Finally, we define the policies section which defines the actual scheduling. A Policy manages an instance of a Pruner , Regularizer , Quantizer , or LRScheduler , by naming the instance. In the example below, a PruningPolicy uses the pruner instance named my_pruner : it activates it at a frequency of 2 epochs (i.e. every other epoch), starting at epoch 0, and ending at epoch 38. policies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1 This is iterative pruning : Train Connectivity Prune Connections Retrain Weights Goto 2 It is described in Learning both Weights and Connections for Efficient Neural Networks : \"Our method prunes redundant connections using a three-step method. First, we train the network to learn which connections are important. Next, we prune the unimportant connections. Finally, we retrain the network to fine tune the weights of the remaining connections...After an initial training phase, we remove all connections whose weight is lower than a threshold. This pruning converts a dense, fully-connected layer to a sparse layer. This first phase learns the topology of the networks \u2014 learning which connections are important and removing the unimportant connections. We then retrain the sparse network so the remaining connections can compensate for the connections that have been removed. The phases of pruning and retraining may be repeated iteratively to further reduce network complexity.\"", "title": "Syntax through example" - }, + }, { - "location": "/schedule/index.html#regularization", - "text": "You can also define and schedule regularization.", + "location": "/schedule/index.html#regularization", + "text": "You can also define and schedule regularization.", "title": "Regularization" - }, + }, { - "location": "/schedule/index.html#l1-regularization", - "text": "Format (this is an informal specification, not a valid ABNF specification): regularizers:\n <REGULARIZER_NAME_STR>:\n class: L1Regularizer\n reg_regims:\n <PYTORCH_PARAM_NAME_STR>: <STRENGTH_FLOAT>\n ...\n <PYTORCH_PARAM_NAME_STR>: <STRENGTH_FLOAT>\n threshold_criteria: [Mean_Abs | Max] For example: version: 1\n\nregularizers:\n my_L1_reg:\n class: L1Regularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': 0.000002\n 'module.layer3.1.conv2.weight': 0.000002\n 'module.layer3.1.conv3.weight': 0.000002\n 'module.layer3.2.conv1.weight': 0.000002\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_L1_reg\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1", + "location": "/schedule/index.html#l1-regularization", + "text": "Format (this is an informal specification, not a valid ABNF specification): regularizers:\n REGULARIZER_NAME_STR :\n class: L1Regularizer\n reg_regims:\n PYTORCH_PARAM_NAME_STR : STRENGTH_FLOAT \n ...\n PYTORCH_PARAM_NAME_STR : STRENGTH_FLOAT \n threshold_criteria: [Mean_Abs | Max] For example: version: 1\n\nregularizers:\n my_L1_reg:\n class: L1Regularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': 0.000002\n 'module.layer3.1.conv2.weight': 0.000002\n 'module.layer3.1.conv3.weight': 0.000002\n 'module.layer3.2.conv1.weight': 0.000002\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_L1_reg\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1", "title": "L1 regularization" - }, + }, { - "location": "/schedule/index.html#group-regularization", - "text": "Format (informal specification): Format:\n regularizers:\n <REGULARIZER_NAME_STR>:\n class: L1Regularizer\n reg_regims:\n <PYTORCH_PARAM_NAME_STR>: [<STRENGTH_FLOAT>, <'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'>]\n <PYTORCH_PARAM_NAME_STR>: [<STRENGTH_FLOAT>, <'2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows'>]\n threshold_criteria: [Mean_Abs | Max] For example: version: 1\n\nregularizers:\n my_filter_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': [0.00005, '3D']\n 'module.layer3.1.conv2.weight': [0.00005, '3D']\n 'module.layer3.1.conv3.weight': [0.00005, '3D']\n 'module.layer3.2.conv1.weight': [0.00005, '3D']\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_filter_regularizer\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1", + "location": "/schedule/index.html#group-regularization", + "text": "Format (informal specification): Format:\n regularizers:\n REGULARIZER_NAME_STR :\n class: L1Regularizer\n reg_regims:\n PYTORCH_PARAM_NAME_STR : [ STRENGTH_FLOAT , '2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows' ]\n PYTORCH_PARAM_NAME_STR : [ STRENGTH_FLOAT , '2D' | '3D' | '4D' | 'Channels' | 'Cols' | 'Rows' ]\n threshold_criteria: [Mean_Abs | Max] For example: version: 1\n\nregularizers:\n my_filter_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'module.layer3.1.conv1.weight': [0.00005, '3D']\n 'module.layer3.1.conv2.weight': [0.00005, '3D']\n 'module.layer3.1.conv3.weight': [0.00005, '3D']\n 'module.layer3.2.conv1.weight': [0.00005, '3D']\n threshold_criteria: Mean_Abs\n\npolicies:\n - regularizer:\n instance_name: my_filter_regularizer\n starting_epoch: 0\n ending_epoch: 60\n frequency: 1", "title": "Group regularization" - }, + }, { - "location": "/schedule/index.html#mixing-it-up", - "text": "You can mix pruning and regularization. version: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nregularizers:\n 2d_groups_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'features.module.0.weight': [0.000012, '2D']\n 'features.module.3.weight': [0.000012, '2D']\n 'features.module.6.weight': [0.000012, '2D']\n 'features.module.8.weight': [0.000012, '2D']\n 'features.module.10.weight': [0.000012, '2D']\n\n\nlr_schedulers:\n # Learning rate decay scheduler\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - regularizer:\n instance_name: '2d_groups_regularizer'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 1\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1", + "location": "/schedule/index.html#mixing-it-up", + "text": "You can mix pruning and regularization. version: 1\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\nregularizers:\n 2d_groups_regularizer:\n class: GroupLassoRegularizer\n reg_regims:\n 'features.module.0.weight': [0.000012, '2D']\n 'features.module.3.weight': [0.000012, '2D']\n 'features.module.6.weight': [0.000012, '2D']\n 'features.module.8.weight': [0.000012, '2D']\n 'features.module.10.weight': [0.000012, '2D']\n\n\nlr_schedulers:\n # Learning rate decay scheduler\n pruning_lr:\n class: ExponentialLR\n gamma: 0.9\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n - regularizer:\n instance_name: '2d_groups_regularizer'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 1\n\n - lr_scheduler:\n instance_name: pruning_lr\n starting_epoch: 24\n ending_epoch: 200\n frequency: 1", "title": "Mixing it up" - }, + }, + { + "location": "/schedule/index.html#quantization", + "text": "Similarly to pruners and regularizers, specifying a quantizer in the scheduler YAML follows the constructor arguments of the Quantizer class (see details here ).\nLet's see an example: quantizers:\n dorefa_quantizer:\n class: DorefaQuantizer\n bits_activations: 8\n bits_weights: 4\n bits_overrides:\n conv1:\n wts: null\n acts: null\n relu1:\n wts: null\n acts: null\n final_relu:\n wts: null\n acts: null\n fc:\n wts: null\n acts: null The specific quantization method we're instantiating here is DorefaQuantizer . Then we define the default bit-widths for activations and weights, in this case 8 and 4-bits, respectively. Then, we define the bits_overrides mapping. In this case, we choose not to quantize the first and last layer of the model. In the case of DorefaQuantizer , the weights are quantized as part of the convolution / FC layers, but the activations are quantized in separate layers, which replace the ReLU layers in the original model (remember - even though we replaced the ReLU modules with our own quantization modules, the name of the modules isn't changed). So, in all, we need to reference the first layer with parameters conv1 , the first activation layer relu1 , the last activation layer final_relu and the last layer with parameters fc . Specifying null means \"do not quantize\". Note that for quantizers, we reference names of modules, not names of parameters as we do for pruners and regularizers. We can also reference groups of layers in the bits_overrides mapping. This is done using regular expressions. Suppose we have a sub-module in our model named block1 , which contains multiple convolution layers which we would like to quantize to, say, 2-bits. The convolution layers are named conv1 , conv2 and so on. In that case we would define the following: bits_overrides:\n block1.conv*:\n wts: 2\n acts: null", + "title": "Quantization" + }, { - "location": "/pruning/index.html", - "text": "Pruning\n\n\nA common methodology for inducing sparsity in weights and activations is called \npruning\n. Pruning is the application of a binary criteria to decide which weights to prune: weights which match the pruning criteria are assigned a value of zero. Pruned elements are \"trimmed\" from the model: we zero their values and also make sure they don't take part in the back-propagation process.\n\n\nWe can prune weights, biases, and activations. Biases are few and their contribution to a layer's output is relatively large, so there is little incentive to prune them. We usually see sparse activations following a ReLU layer, because ReLU quenches negative activations to exact zero (\\(ReLU(x): max(0,x)\\)). Sparsity in weights is less common, as weights tend to be very small, but are often not exact zeros.\n\n\n\nLet's define sparsity\n\n\nSparsity is a a measure of how many elements in a tensor are exact zeros, relative to the tensor size. A tensor is considered sparse if \"most\" of its elements are zero. How much is \"most\", is not strictly defined, but when you see a sparse tensor you know it ;-)\n\nThe \n\\(l_0\\)-\"norm\" function\n measures how many zero-elements are in a tensor \nx\n:\n\\[\\lVert x \\rVert_0\\;=\\;|x_1|^0 + |x_2|^0 + ... + |x_n|^0 \\]\nIn other words, an element contributes either a value of 1 or 0 to \\(l_0\\). Anything but an exact zero contributes a value of 1 - that's pretty cool.\n\nSometimes it helps to think about density, the number of non-zero elements (NNZ) and sparsity's complement:\n\\[\ndensity = 1 - sparsity\n\\]\nYou can use \ndistiller.sparsity\n and \ndistiller.density\n to query a PyTorch tensor's sparsity and density.\n\n\nWhat is weights pruning?\n\n\nWeights pruning, or model pruning, is a set of methods to increase the sparsity (amount of zero-valued elements in a tensor) of a network's weights. In general, the term 'parameters' refers to both weights and bias tensors of a model. Biases are rarely, if ever, pruned because there are very few bias elements compared to weights elements, and it is just not worth the trouble.\n\n\nPruning requires a criteria for choosing which elements to prune - this is called the \npruning criteria\n. The most common pruning criteria is the absolute value of each element: the element's absolute value is compared to some threshold value, and if it is below the threshold the element is set to zero (i.e. pruned) . This is implemented by the \ndistiller.MagnitudeParameterPruner\n class. The idea behind this method, is that weights with small \\(l_1\\)-norms (absolute value) contribute little to the final result (low saliency), so they are less important and can be removed.\n\n\nA related idea motivating pruning, is that models are over-parametrized and contain redundant logic and features. Therefore, some of these redundancies can be removed by setting their weights to zero.\n\n\nAnd yet another way to think of pruning is to phrase it as a search for a set of weights with as many zeros as possible, which still produces acceptable inference accuracies compared to the dense-model (non-pruned model). Another way to look at it, is to imagine that because of the very high-dimensionality of the parameter space, the immediate space around the dense-model's solution likely contains some sparse solutions, and we want to use find these sparse solutions. \n\n\n\n\nPruning schedule\n\n\nThe most straight-forward to prune is to take a trained model and prune it once; also called \none-shot pruning\n. In \nLearning both Weights and Connections for Efficient Neural Networks\n Song Han et. al show that this is surprisingly effective, but also leaves a lot of potential sparsity untapped. The surprise is what they call the \"free lunch\" effect: \n\"reducing 2x the connections without losing accuracy even without retraining.\"\n\nHowever, they also note that when employing a pruning-followed-by-retraining regimen, they can achieve much better results (higher sparsity at no accuracy loss). This is called \niterative pruning\n, and the retraining that follows pruning is often referred to as \nfine-tuning\n. How the pruning criteria changes between iterations, how many iterations we perform and how often, and which tensors are pruned - this is collectively called the \npruning schedule\n.\n\n\nWe can think of iterative pruning as repeatedly learning which weights are important, removing the least important ones based on some importance criteria, and then retraining the model to let it \"recover\" from the pruning by adjusting the remaining weights. At each iteration, we prune more weights.\n\nThe decision of when to stop pruning is also expressed in the schedule, and it depends on the pruning algorithm. For example, if we are trying to achieve a specific sparsity level, then we stop when the pruning achieves that level. And if we are pruning weights structures in order to reduce the required compute budget, then we stop the pruning when this compute reduction is achieved.\n\n\nDistiller supports expressing the pruning schedule as a YAML file (which is then executed by an instance of a PruningScheduler).\n\n\nPruning granularity\n\n\nPruning individual weight elements is called \nelement-wise pruning\n, and it is also sometimes referred to as \nfine-grained\n pruning.\n\n\nCoarse-grained pruning\n - also referred to as \nstructured pruning\n, \ngroup pruning\n, or \nblock pruning\n - is pruning entire groups of elements which have some significance. Groups come in various shapes and sizes, but an easy to visualize group-pruning is filter-pruning, in which entire filters are removed.\n\n\nSensitivity analysis\n\n\nThe hard part about inducing sparsity via pruning is determining what threshold, or sparsity level, to use for each layer's tensors. Sensitivity analysis is a method that tries to help us rank the tensors by their sensitivity to pruning. \n\nThe idea is to set the pruning level (percentage) of a specific layer, and then to prune once, run an evaluation on the test dataset and record the accuracy score. We do this for all of the parameterized layers, and for each layer we examine several sparsity levels. This should teach us about the \"sensitivity\" of each of the layers to pruning.\n\n\nThe evaluated model should be trained to maximum accuracy before running the analysis, because we aim to understand the behavior of the trained model's performance in relation to pruning of a specific weights tensor.\n\n\nMuch as we can prune structures, we can also perform sensitivity analysis on structures. Distiller implements element-wise pruning sensitivity analysis using the \\(l_1\\)-norm of individual elements; and filter-wise pruning sensitivity analysis using the mean \\(l_1\\)-norm of filters.\n\n\n\nThe authors of \nPruning Filters for Efficient ConvNets\n describe how they do sensitivity analysis:\n\n\n\n\n\"To understand the sensitivity of each layer, we prune each layer independently and evaluate the resulting pruned network\u2019s accuracy on the validation set. Figure 2(b) shows that layers that maintain their accuracy as filters are pruned away correspond to layers with larger slopes in Figure 2(a). On the contrary, layers with relatively flat slopes are more sensitive to pruning. We empirically determine the number of filters to prune for each layer based on their sensitivity to pruning. For deep networks such as VGG-16 or ResNets, we observe that layers in the same stage (with the same feature map size) have a similar sensitivity to pruning. To avoid introducing layer-wise meta-parameters, we use the same pruning ratio for all layers in the same stage. For layers that are sensitive to pruning, we prune a smaller percentage of these layers or completely skip pruning them.\"\n\n\n\n\nThe diagram below shows the results of running an element-wise sensitivity analysis on Alexnet, using Distillers's \nperform_sensitivity_analysis\n utility function.\n\n\nAs reported by Song Han, and exhibited in the diagram, in Alexnet the feature detecting layers (convolution layers) are more sensitive to pruning, and their sensitivity drops, the deeper they are. The fully-connected layers are much less sensitive, which is great, because that's where most of the parameters are.\n\n\n\n\nReferences\n\n\n \nSong Han, Jeff Pool, John Tran, William J. Dally\n.\n \nLearning both Weights and Connections for Efficient Neural Networks\n,\n arXiv:1607.04381v2,\n 2015.\n\n\n\n\n\nHao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf\n.\n \nPruning Filters for Efficient ConvNets\n,\n arXiv:1608.08710v3,\n 2017.", + "location": "/pruning/index.html", + "text": "Pruning\n\n\nA common methodology for inducing sparsity in weights and activations is called \npruning\n. Pruning is the application of a binary criteria to decide which weights to prune: weights which match the pruning criteria are assigned a value of zero. Pruned elements are \"trimmed\" from the model: we zero their values and also make sure they don't take part in the back-propagation process.\n\n\nWe can prune weights, biases, and activations. Biases are few and their contribution to a layer's output is relatively large, so there is little incentive to prune them. We usually see sparse activations following a ReLU layer, because ReLU quenches negative activations to exact zero (\\(ReLU(x): max(0,x)\\)). Sparsity in weights is less common, as weights tend to be very small, but are often not exact zeros.\n\n\n\nLet's define sparsity\n\n\nSparsity is a a measure of how many elements in a tensor are exact zeros, relative to the tensor size. A tensor is considered sparse if \"most\" of its elements are zero. How much is \"most\", is not strictly defined, but when you see a sparse tensor you know it ;-)\n\nThe \n\\(l_0\\)-\"norm\" function\n measures how many zero-elements are in a tensor \nx\n:\n\\[\\lVert x \\rVert_0\\;=\\;|x_1|^0 + |x_2|^0 + ... + |x_n|^0 \\]\nIn other words, an element contributes either a value of 1 or 0 to \\(l_0\\). Anything but an exact zero contributes a value of 1 - that's pretty cool.\n\nSometimes it helps to think about density, the number of non-zero elements (NNZ) and sparsity's complement:\n\\[\ndensity = 1 - sparsity\n\\]\nYou can use \ndistiller.sparsity\n and \ndistiller.density\n to query a PyTorch tensor's sparsity and density.\n\n\nWhat is weights pruning?\n\n\nWeights pruning, or model pruning, is a set of methods to increase the sparsity (amount of zero-valued elements in a tensor) of a network's weights. In general, the term 'parameters' refers to both weights and bias tensors of a model. Biases are rarely, if ever, pruned because there are very few bias elements compared to weights elements, and it is just not worth the trouble.\n\n\nPruning requires a criteria for choosing which elements to prune - this is called the \npruning criteria\n. The most common pruning criteria is the absolute value of each element: the element's absolute value is compared to some threshold value, and if it is below the threshold the element is set to zero (i.e. pruned) . This is implemented by the \ndistiller.MagnitudeParameterPruner\n class. The idea behind this method, is that weights with small \\(l_1\\)-norms (absolute value) contribute little to the final result (low saliency), so they are less important and can be removed.\n\n\nA related idea motivating pruning, is that models are over-parametrized and contain redundant logic and features. Therefore, some of these redundancies can be removed by setting their weights to zero.\n\n\nAnd yet another way to think of pruning is to phrase it as a search for a set of weights with as many zeros as possible, which still produces acceptable inference accuracies compared to the dense-model (non-pruned model). Another way to look at it, is to imagine that because of the very high-dimensionality of the parameter space, the immediate space around the dense-model's solution likely contains some sparse solutions, and we want to use find these sparse solutions. \n\n\n\n\nPruning schedule\n\n\nThe most straight-forward to prune is to take a trained model and prune it once; also called \none-shot pruning\n. In \nLearning both Weights and Connections for Efficient Neural Networks\n Song Han et. al show that this is surprisingly effective, but also leaves a lot of potential sparsity untapped. The surprise is what they call the \"free lunch\" effect: \n\"reducing 2x the connections without losing accuracy even without retraining.\"\n\nHowever, they also note that when employing a pruning-followed-by-retraining regimen, they can achieve much better results (higher sparsity at no accuracy loss). This is called \niterative pruning\n, and the retraining that follows pruning is often referred to as \nfine-tuning\n. How the pruning criteria changes between iterations, how many iterations we perform and how often, and which tensors are pruned - this is collectively called the \npruning schedule\n.\n\n\nWe can think of iterative pruning as repeatedly learning which weights are important, removing the least important ones based on some importance criteria, and then retraining the model to let it \"recover\" from the pruning by adjusting the remaining weights. At each iteration, we prune more weights.\n\nThe decision of when to stop pruning is also expressed in the schedule, and it depends on the pruning algorithm. For example, if we are trying to achieve a specific sparsity level, then we stop when the pruning achieves that level. And if we are pruning weights structures in order to reduce the required compute budget, then we stop the pruning when this compute reduction is achieved.\n\n\nDistiller supports expressing the pruning schedule as a YAML file (which is then executed by an instance of a PruningScheduler).\n\n\nPruning granularity\n\n\nPruning individual weight elements is called \nelement-wise pruning\n, and it is also sometimes referred to as \nfine-grained\n pruning.\n\n\nCoarse-grained pruning\n - also referred to as \nstructured pruning\n, \ngroup pruning\n, or \nblock pruning\n - is pruning entire groups of elements which have some significance. Groups come in various shapes and sizes, but an easy to visualize group-pruning is filter-pruning, in which entire filters are removed.\n\n\nSensitivity analysis\n\n\nThe hard part about inducing sparsity via pruning is determining what threshold, or sparsity level, to use for each layer's tensors. Sensitivity analysis is a method that tries to help us rank the tensors by their sensitivity to pruning. \n\nThe idea is to set the pruning level (percentage) of a specific layer, and then to prune once, run an evaluation on the test dataset and record the accuracy score. We do this for all of the parameterized layers, and for each layer we examine several sparsity levels. This should teach us about the \"sensitivity\" of each of the layers to pruning.\n\n\nThe evaluated model should be trained to maximum accuracy before running the analysis, because we aim to understand the behavior of the trained model's performance in relation to pruning of a specific weights tensor.\n\n\nMuch as we can prune structures, we can also perform sensitivity analysis on structures. Distiller implements element-wise pruning sensitivity analysis using the \\(l_1\\)-norm of individual elements; and filter-wise pruning sensitivity analysis using the mean \\(l_1\\)-norm of filters.\n\n\n\nThe authors of \nPruning Filters for Efficient ConvNets\n describe how they do sensitivity analysis:\n\n\n\n\n\"To understand the sensitivity of each layer, we prune each layer independently and evaluate the resulting pruned network\u2019s accuracy on the validation set. Figure 2(b) shows that layers that maintain their accuracy as filters are pruned away correspond to layers with larger slopes in Figure 2(a). On the contrary, layers with relatively flat slopes are more sensitive to pruning. We empirically determine the number of filters to prune for each layer based on their sensitivity to pruning. For deep networks such as VGG-16 or ResNets, we observe that layers in the same stage (with the same feature map size) have a similar sensitivity to pruning. To avoid introducing layer-wise meta-parameters, we use the same pruning ratio for all layers in the same stage. For layers that are sensitive to pruning, we prune a smaller percentage of these layers or completely skip pruning them.\"\n\n\n\n\nThe diagram below shows the results of running an element-wise sensitivity analysis on Alexnet, using Distillers's \nperform_sensitivity_analysis\n utility function.\n\n\nAs reported by Song Han, and exhibited in the diagram, in Alexnet the feature detecting layers (convolution layers) are more sensitive to pruning, and their sensitivity drops, the deeper they are. The fully-connected layers are much less sensitive, which is great, because that's where most of the parameters are.\n\n\n\n\nReferences\n\n\n \nSong Han, Jeff Pool, John Tran, William J. Dally\n.\n \nLearning both Weights and Connections for Efficient Neural Networks\n,\n arXiv:1607.04381v2,\n 2015.\n\n\n\n\n\nHao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf\n.\n \nPruning Filters for Efficient ConvNets\n,\n arXiv:1608.08710v3,\n 2017.", "title": "Pruning" - }, + }, { - "location": "/pruning/index.html#pruning", - "text": "A common methodology for inducing sparsity in weights and activations is called pruning . Pruning is the application of a binary criteria to decide which weights to prune: weights which match the pruning criteria are assigned a value of zero. Pruned elements are \"trimmed\" from the model: we zero their values and also make sure they don't take part in the back-propagation process. We can prune weights, biases, and activations. Biases are few and their contribution to a layer's output is relatively large, so there is little incentive to prune them. We usually see sparse activations following a ReLU layer, because ReLU quenches negative activations to exact zero (\\(ReLU(x): max(0,x)\\)). Sparsity in weights is less common, as weights tend to be very small, but are often not exact zeros.", + "location": "/pruning/index.html#pruning", + "text": "A common methodology for inducing sparsity in weights and activations is called pruning . Pruning is the application of a binary criteria to decide which weights to prune: weights which match the pruning criteria are assigned a value of zero. Pruned elements are \"trimmed\" from the model: we zero their values and also make sure they don't take part in the back-propagation process. We can prune weights, biases, and activations. Biases are few and their contribution to a layer's output is relatively large, so there is little incentive to prune them. We usually see sparse activations following a ReLU layer, because ReLU quenches negative activations to exact zero (\\(ReLU(x): max(0,x)\\)). Sparsity in weights is less common, as weights tend to be very small, but are often not exact zeros.", "title": "Pruning" - }, + }, { - "location": "/pruning/index.html#lets-define-sparsity", - "text": "Sparsity is a a measure of how many elements in a tensor are exact zeros, relative to the tensor size. A tensor is considered sparse if \"most\" of its elements are zero. How much is \"most\", is not strictly defined, but when you see a sparse tensor you know it ;-) \nThe \\(l_0\\)-\"norm\" function measures how many zero-elements are in a tensor x :\n\\[\\lVert x \\rVert_0\\;=\\;|x_1|^0 + |x_2|^0 + ... + |x_n|^0 \\]\nIn other words, an element contributes either a value of 1 or 0 to \\(l_0\\). Anything but an exact zero contributes a value of 1 - that's pretty cool. \nSometimes it helps to think about density, the number of non-zero elements (NNZ) and sparsity's complement:\n\\[\ndensity = 1 - sparsity\n\\]\nYou can use distiller.sparsity and distiller.density to query a PyTorch tensor's sparsity and density.", + "location": "/pruning/index.html#lets-define-sparsity", + "text": "Sparsity is a a measure of how many elements in a tensor are exact zeros, relative to the tensor size. A tensor is considered sparse if \"most\" of its elements are zero. How much is \"most\", is not strictly defined, but when you see a sparse tensor you know it ;-) \nThe \\(l_0\\)-\"norm\" function measures how many zero-elements are in a tensor x :\n\\[\\lVert x \\rVert_0\\;=\\;|x_1|^0 + |x_2|^0 + ... + |x_n|^0 \\]\nIn other words, an element contributes either a value of 1 or 0 to \\(l_0\\). Anything but an exact zero contributes a value of 1 - that's pretty cool. \nSometimes it helps to think about density, the number of non-zero elements (NNZ) and sparsity's complement:\n\\[\ndensity = 1 - sparsity\n\\]\nYou can use distiller.sparsity and distiller.density to query a PyTorch tensor's sparsity and density.", "title": "Let's define sparsity" - }, + }, { - "location": "/pruning/index.html#what-is-weights-pruning", - "text": "Weights pruning, or model pruning, is a set of methods to increase the sparsity (amount of zero-valued elements in a tensor) of a network's weights. In general, the term 'parameters' refers to both weights and bias tensors of a model. Biases are rarely, if ever, pruned because there are very few bias elements compared to weights elements, and it is just not worth the trouble. \nPruning requires a criteria for choosing which elements to prune - this is called the pruning criteria . The most common pruning criteria is the absolute value of each element: the element's absolute value is compared to some threshold value, and if it is below the threshold the element is set to zero (i.e. pruned) . This is implemented by the distiller.MagnitudeParameterPruner class. The idea behind this method, is that weights with small \\(l_1\\)-norms (absolute value) contribute little to the final result (low saliency), so they are less important and can be removed. \nA related idea motivating pruning, is that models are over-parametrized and contain redundant logic and features. Therefore, some of these redundancies can be removed by setting their weights to zero. \nAnd yet another way to think of pruning is to phrase it as a search for a set of weights with as many zeros as possible, which still produces acceptable inference accuracies compared to the dense-model (non-pruned model). Another way to look at it, is to imagine that because of the very high-dimensionality of the parameter space, the immediate space around the dense-model's solution likely contains some sparse solutions, and we want to use find these sparse solutions.", + "location": "/pruning/index.html#what-is-weights-pruning", + "text": "Weights pruning, or model pruning, is a set of methods to increase the sparsity (amount of zero-valued elements in a tensor) of a network's weights. In general, the term 'parameters' refers to both weights and bias tensors of a model. Biases are rarely, if ever, pruned because there are very few bias elements compared to weights elements, and it is just not worth the trouble. \nPruning requires a criteria for choosing which elements to prune - this is called the pruning criteria . The most common pruning criteria is the absolute value of each element: the element's absolute value is compared to some threshold value, and if it is below the threshold the element is set to zero (i.e. pruned) . This is implemented by the distiller.MagnitudeParameterPruner class. The idea behind this method, is that weights with small \\(l_1\\)-norms (absolute value) contribute little to the final result (low saliency), so they are less important and can be removed. \nA related idea motivating pruning, is that models are over-parametrized and contain redundant logic and features. Therefore, some of these redundancies can be removed by setting their weights to zero. \nAnd yet another way to think of pruning is to phrase it as a search for a set of weights with as many zeros as possible, which still produces acceptable inference accuracies compared to the dense-model (non-pruned model). Another way to look at it, is to imagine that because of the very high-dimensionality of the parameter space, the immediate space around the dense-model's solution likely contains some sparse solutions, and we want to use find these sparse solutions.", "title": "What is weights pruning?" - }, + }, { - "location": "/pruning/index.html#pruning-schedule", - "text": "The most straight-forward to prune is to take a trained model and prune it once; also called one-shot pruning . In Learning both Weights and Connections for Efficient Neural Networks Song Han et. al show that this is surprisingly effective, but also leaves a lot of potential sparsity untapped. The surprise is what they call the \"free lunch\" effect: \"reducing 2x the connections without losing accuracy even without retraining.\" \nHowever, they also note that when employing a pruning-followed-by-retraining regimen, they can achieve much better results (higher sparsity at no accuracy loss). This is called iterative pruning , and the retraining that follows pruning is often referred to as fine-tuning . How the pruning criteria changes between iterations, how many iterations we perform and how often, and which tensors are pruned - this is collectively called the pruning schedule . \nWe can think of iterative pruning as repeatedly learning which weights are important, removing the least important ones based on some importance criteria, and then retraining the model to let it \"recover\" from the pruning by adjusting the remaining weights. At each iteration, we prune more weights. \nThe decision of when to stop pruning is also expressed in the schedule, and it depends on the pruning algorithm. For example, if we are trying to achieve a specific sparsity level, then we stop when the pruning achieves that level. And if we are pruning weights structures in order to reduce the required compute budget, then we stop the pruning when this compute reduction is achieved. \nDistiller supports expressing the pruning schedule as a YAML file (which is then executed by an instance of a PruningScheduler).", + "location": "/pruning/index.html#pruning-schedule", + "text": "The most straight-forward to prune is to take a trained model and prune it once; also called one-shot pruning . In Learning both Weights and Connections for Efficient Neural Networks Song Han et. al show that this is surprisingly effective, but also leaves a lot of potential sparsity untapped. The surprise is what they call the \"free lunch\" effect: \"reducing 2x the connections without losing accuracy even without retraining.\" \nHowever, they also note that when employing a pruning-followed-by-retraining regimen, they can achieve much better results (higher sparsity at no accuracy loss). This is called iterative pruning , and the retraining that follows pruning is often referred to as fine-tuning . How the pruning criteria changes between iterations, how many iterations we perform and how often, and which tensors are pruned - this is collectively called the pruning schedule . \nWe can think of iterative pruning as repeatedly learning which weights are important, removing the least important ones based on some importance criteria, and then retraining the model to let it \"recover\" from the pruning by adjusting the remaining weights. At each iteration, we prune more weights. \nThe decision of when to stop pruning is also expressed in the schedule, and it depends on the pruning algorithm. For example, if we are trying to achieve a specific sparsity level, then we stop when the pruning achieves that level. And if we are pruning weights structures in order to reduce the required compute budget, then we stop the pruning when this compute reduction is achieved. \nDistiller supports expressing the pruning schedule as a YAML file (which is then executed by an instance of a PruningScheduler).", "title": "Pruning schedule" - }, + }, { - "location": "/pruning/index.html#pruning-granularity", - "text": "Pruning individual weight elements is called element-wise pruning , and it is also sometimes referred to as fine-grained pruning. Coarse-grained pruning - also referred to as structured pruning , group pruning , or block pruning - is pruning entire groups of elements which have some significance. Groups come in various shapes and sizes, but an easy to visualize group-pruning is filter-pruning, in which entire filters are removed.", + "location": "/pruning/index.html#pruning-granularity", + "text": "Pruning individual weight elements is called element-wise pruning , and it is also sometimes referred to as fine-grained pruning. Coarse-grained pruning - also referred to as structured pruning , group pruning , or block pruning - is pruning entire groups of elements which have some significance. Groups come in various shapes and sizes, but an easy to visualize group-pruning is filter-pruning, in which entire filters are removed.", "title": "Pruning granularity" - }, + }, { - "location": "/pruning/index.html#sensitivity-analysis", - "text": "The hard part about inducing sparsity via pruning is determining what threshold, or sparsity level, to use for each layer's tensors. Sensitivity analysis is a method that tries to help us rank the tensors by their sensitivity to pruning. \nThe idea is to set the pruning level (percentage) of a specific layer, and then to prune once, run an evaluation on the test dataset and record the accuracy score. We do this for all of the parameterized layers, and for each layer we examine several sparsity levels. This should teach us about the \"sensitivity\" of each of the layers to pruning. \nThe evaluated model should be trained to maximum accuracy before running the analysis, because we aim to understand the behavior of the trained model's performance in relation to pruning of a specific weights tensor. \nMuch as we can prune structures, we can also perform sensitivity analysis on structures. Distiller implements element-wise pruning sensitivity analysis using the \\(l_1\\)-norm of individual elements; and filter-wise pruning sensitivity analysis using the mean \\(l_1\\)-norm of filters. The authors of Pruning Filters for Efficient ConvNets describe how they do sensitivity analysis: \"To understand the sensitivity of each layer, we prune each layer independently and evaluate the resulting pruned network\u2019s accuracy on the validation set. Figure 2(b) shows that layers that maintain their accuracy as filters are pruned away correspond to layers with larger slopes in Figure 2(a). On the contrary, layers with relatively flat slopes are more sensitive to pruning. We empirically determine the number of filters to prune for each layer based on their sensitivity to pruning. For deep networks such as VGG-16 or ResNets, we observe that layers in the same stage (with the same feature map size) have a similar sensitivity to pruning. To avoid introducing layer-wise meta-parameters, we use the same pruning ratio for all layers in the same stage. For layers that are sensitive to pruning, we prune a smaller percentage of these layers or completely skip pruning them.\" The diagram below shows the results of running an element-wise sensitivity analysis on Alexnet, using Distillers's perform_sensitivity_analysis utility function. \nAs reported by Song Han, and exhibited in the diagram, in Alexnet the feature detecting layers (convolution layers) are more sensitive to pruning, and their sensitivity drops, the deeper they are. The fully-connected layers are much less sensitive, which is great, because that's where most of the parameters are.", + "location": "/pruning/index.html#sensitivity-analysis", + "text": "The hard part about inducing sparsity via pruning is determining what threshold, or sparsity level, to use for each layer's tensors. Sensitivity analysis is a method that tries to help us rank the tensors by their sensitivity to pruning. \nThe idea is to set the pruning level (percentage) of a specific layer, and then to prune once, run an evaluation on the test dataset and record the accuracy score. We do this for all of the parameterized layers, and for each layer we examine several sparsity levels. This should teach us about the \"sensitivity\" of each of the layers to pruning. \nThe evaluated model should be trained to maximum accuracy before running the analysis, because we aim to understand the behavior of the trained model's performance in relation to pruning of a specific weights tensor. \nMuch as we can prune structures, we can also perform sensitivity analysis on structures. Distiller implements element-wise pruning sensitivity analysis using the \\(l_1\\)-norm of individual elements; and filter-wise pruning sensitivity analysis using the mean \\(l_1\\)-norm of filters. The authors of Pruning Filters for Efficient ConvNets describe how they do sensitivity analysis: \"To understand the sensitivity of each layer, we prune each layer independently and evaluate the resulting pruned network\u2019s accuracy on the validation set. Figure 2(b) shows that layers that maintain their accuracy as filters are pruned away correspond to layers with larger slopes in Figure 2(a). On the contrary, layers with relatively flat slopes are more sensitive to pruning. We empirically determine the number of filters to prune for each layer based on their sensitivity to pruning. For deep networks such as VGG-16 or ResNets, we observe that layers in the same stage (with the same feature map size) have a similar sensitivity to pruning. To avoid introducing layer-wise meta-parameters, we use the same pruning ratio for all layers in the same stage. For layers that are sensitive to pruning, we prune a smaller percentage of these layers or completely skip pruning them.\" The diagram below shows the results of running an element-wise sensitivity analysis on Alexnet, using Distillers's perform_sensitivity_analysis utility function. \nAs reported by Song Han, and exhibited in the diagram, in Alexnet the feature detecting layers (convolution layers) are more sensitive to pruning, and their sensitivity drops, the deeper they are. The fully-connected layers are much less sensitive, which is great, because that's where most of the parameters are.", "title": "Sensitivity analysis" - }, + }, { - "location": "/pruning/index.html#references", - "text": "Song Han, Jeff Pool, John Tran, William J. Dally .\n Learning both Weights and Connections for Efficient Neural Networks ,\n arXiv:1607.04381v2,\n 2015. Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf .\n Pruning Filters for Efficient ConvNets ,\n arXiv:1608.08710v3,\n 2017.", + "location": "/pruning/index.html#references", + "text": "Song Han, Jeff Pool, John Tran, William J. Dally .\n Learning both Weights and Connections for Efficient Neural Networks ,\n arXiv:1607.04381v2,\n 2015. Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, Hans Peter Graf .\n Pruning Filters for Efficient ConvNets ,\n arXiv:1608.08710v3,\n 2017.", "title": "References" - }, + }, { - "location": "/regularization/index.html", - "text": "Regularization\n\n\nIn their book \nDeep Learning\n Ian Goodfellow et al. define regularization as\n\n\n\n\n\"any modification we make to a learning algorithm that is intended to reduce its generalization error, but not its training error.\"\n\n\n\n\nPyTorch's \noptimizers\n use \\(l_2\\) parameter regularization to limit the capacity of models (i.e. reduce the variance).\n\n\nIn general, we can write this as:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W)\n\\]\nAnd specifically,\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_2^2\n\\]\nWhere W is the collection of all weight elements in the network (i.e. this is model.parameters()), \\(loss(W;x;y)\\) is the total training loss, and \\(loss_D(W)\\) is the data loss (i.e. the error of the objective function, also called the loss function, or \ncriterion\n in the Distiller sample image classifier compression application).\n\n\noptimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9, weight_decay=0.0001)\ncriterion = nn.CrossEntropyLoss()\n...\nfor input, target in dataset:\n optimizer.zero_grad()\n output = model(input)\n loss = criterion(output, target)\n loss.backward()\n optimizer.step()\n\n\n\n\n\\(\\lambda_R\\) is a scalar called the \nregularization strength\n, and it balances the data error and the regularization error. In PyTorch, this is the \nweight_decay\n argument.\n\n\n\\(\\lVert W \\rVert_2^2\\) is the square of the \\(l_2\\)-norm of W, and as such it is a \nmagnitude\n, or sizing, of the weights tensor.\n\\[\n\\lVert W \\rVert_2^2 = \\sum_{l=1}^{L} \\sum_{i=1}^{n} |w_{l,i}|^2 \\;\\;where \\;n = torch.numel(w_l)\n\\]\n\n\n\\(L\\) is the number of layers in the network; and the notation about used 1-based numbering to simplify the notation.\n\n\nThe qualitative differences between the \\(l_2\\)-norm, and the squared \\(l_2\\)-norm is explained in \nDeep Learning\n.\n\n\nSparsity and Regularization\n\n\nWe mention regularization because there is an interesting interaction between regularization and some DNN sparsity-inducing methods.\n\n\nIn \nDense-Sparse-Dense (DSD)\n, Song Han et al. use pruning as a regularizer to improve a model's accuracy:\n\n\n\n\n\"Sparsity is a powerful form of regularization. Our intuition is that, once the network arrives at a local minimum given the sparsity constraint, relaxing the constraint gives the network more freedom to escape the saddle point and arrive at a higher-accuracy local minimum.\"\n\n\n\n\nRegularization can also be used to induce sparsity. To induce element-wise sparsity we can use the \\(l_1\\)-norm, \\(\\lVert W \\rVert_1\\).\n\\[\n\\lVert W \\rVert_1 = l_1(W) = \\sum_{i=1}^{|W|} |w_i|\n\\]\n\n\n\\(l_2\\)-norm regularization reduces overfitting and improves a model's accuracy by shrinking large parameters, but it does not force these parameters to absolute zero. \\(l_1\\)-norm regularization sets some of the parameter elements to zero, therefore limiting the model's capacity while making the model simpler. This is sometimes referred to as \nfeature selection\n and gives us another interpretation of pruning.\n\n\nOne\n of Distiller's Jupyter notebooks explains how the \\(l_1\\)-norm regularizer induces sparsity, and how it interacts with \\(l_2\\)-norm regularization.\n\n\nIf we configure \nweight_decay\n to zero and use \\(l_1\\)-norm regularization, then we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_1\n\\]\nIf we use both regularizers, we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_{R_2} \\lVert W \\rVert_2^2 + \\lambda_{R_1} \\lVert W \\rVert_1\n\\]\n\n\nClass \ndistiller.L1Regularizer\n implements \\(l_1\\)-norm regularization, and of course, you can also schedule regularization.\n\n\nl1_regularizer = distiller.s(model.parameters())\n...\nloss = criterion(output, target) + lambda * l1_regularizer()\n\n\n\n\nGroup Regularization\n\n\nIn Group Regularization, we penalize entire groups of parameter elements, instead of individual elements. Therefore, entire groups are either sparsified (i.e. all of the group elements have a value of zero) or not. The group structures have to be pre-defined.\n\n\nTo the data loss, and the element-wise regularization (if any), we can add group-wise regularization penalty. We represent all of the parameter groups in layer \\(l\\) as \\( W_l^{(G)} \\), and we add the penalty of all groups for all layers. It gets a bit messy, but not overly complicated:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W) + \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)})\n\\]\n\n\nLet's denote all of the weight elements in group \\(g\\) as \\(w^{(g)}\\).\n\n\n\\[\nR_g(w^{(g)}) = \\sum_{g=1}^{G} \\lVert w^{(g)} \\rVert_g = \\sum_{g=1}^{G} \\sum_{i=1}^{|w^{(g)}|} {(w_i^{(g)})}^2\n\\]\nwhere \\(w^{(g)} \\in w^{(l)} \\) and \\( |w^{(g)}| \\) is the number of elements in \\( w^{(g)} \\).\n\n\n\\( \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)}) \\) is called the Group Lasso regularizer. Much as in \\(l_1\\)-norm regularization we sum the magnitudes of all tensor elements, in Group Lasso we sum the magnitudes of element structures (i.e. groups).\n\n\n\nGroup Regularization is also called Block Regularization, Structured Regularization, or coarse-grained sparsity (remember that element-wise sparsity is sometimes referred to as fine-grained sparsity). Group sparsity exhibits regularity (i.e. its shape is regular), and therefore\nit can be beneficial to improve inference speed.\n\n\nHuizi-et-al-2017\n provides an overview of some of the different groups: kernel, channel, filter, layers. Fiber structures such as matrix columns and rows, as well as various shaped structures (block sparsity), and even \nintra kernel strided sparsity\n can also be used.\n\n\ndistiller.GroupLassoRegularizer\n currently implements most of these groups, and you can easily add new groups.\n\n\nReferences\n\n\n \nIan Goodfellow and Yoshua Bengio and Aaron Courville\n.\n \nDeep Learning\n,\n arXiv:1607.04381v2,\n 2017.\n\n\n\n\n\nSong Han, Jeff Pool, Sharan Narang, Huizi Mao, Enhao Gong, Shijian Tang, Erich Elsen, Peter Vajda, Manohar Paluri, John Tran, Bryan Catanzaro, William J. Dally\n.\n \nDSD: Dense-Sparse-Dense Training for Deep Neural Networks\n,\n arXiv:1607.04381v2,\n 2017.\n\n\n\n\n\nHuizi Mao, Song Han, Jeff Pool, Wenshuo Li, Xingyu Liu, Yu Wang, William J. Dally\n.\n \nExploring the Regularity of Sparse Structure in Convolutional Neural Networks\n,\n arXiv:1705.08922v3,\n 2017.\n\n\n\n\n\nSajid Anwar, Kyuyeon Hwang, and Wonyong Sung\n.\n \nStructured pruning of deep convolutional neural networks\n,\n arXiv:1512.08571,\n 2015", + "location": "/regularization/index.html", + "text": "Regularization\n\n\nIn their book \nDeep Learning\n Ian Goodfellow et al. define regularization as\n\n\n\n\n\"any modification we make to a learning algorithm that is intended to reduce its generalization error, but not its training error.\"\n\n\n\n\nPyTorch's \noptimizers\n use \\(l_2\\) parameter regularization to limit the capacity of models (i.e. reduce the variance).\n\n\nIn general, we can write this as:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W)\n\\]\nAnd specifically,\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_2^2\n\\]\nWhere W is the collection of all weight elements in the network (i.e. this is model.parameters()), \\(loss(W;x;y)\\) is the total training loss, and \\(loss_D(W)\\) is the data loss (i.e. the error of the objective function, also called the loss function, or \ncriterion\n in the Distiller sample image classifier compression application).\n\n\noptimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9, weight_decay=0.0001)\ncriterion = nn.CrossEntropyLoss()\n...\nfor input, target in dataset:\n optimizer.zero_grad()\n output = model(input)\n loss = criterion(output, target)\n loss.backward()\n optimizer.step()\n\n\n\n\n\\(\\lambda_R\\) is a scalar called the \nregularization strength\n, and it balances the data error and the regularization error. In PyTorch, this is the \nweight_decay\n argument.\n\n\n\\(\\lVert W \\rVert_2^2\\) is the square of the \\(l_2\\)-norm of W, and as such it is a \nmagnitude\n, or sizing, of the weights tensor.\n\\[\n\\lVert W \\rVert_2^2 = \\sum_{l=1}^{L} \\sum_{i=1}^{n} |w_{l,i}|^2 \\;\\;where \\;n = torch.numel(w_l)\n\\]\n\n\n\\(L\\) is the number of layers in the network; and the notation about used 1-based numbering to simplify the notation.\n\n\nThe qualitative differences between the \\(l_2\\)-norm, and the squared \\(l_2\\)-norm is explained in \nDeep Learning\n.\n\n\nSparsity and Regularization\n\n\nWe mention regularization because there is an interesting interaction between regularization and some DNN sparsity-inducing methods.\n\n\nIn \nDense-Sparse-Dense (DSD)\n, Song Han et al. use pruning as a regularizer to improve a model's accuracy:\n\n\n\n\n\"Sparsity is a powerful form of regularization. Our intuition is that, once the network arrives at a local minimum given the sparsity constraint, relaxing the constraint gives the network more freedom to escape the saddle point and arrive at a higher-accuracy local minimum.\"\n\n\n\n\nRegularization can also be used to induce sparsity. To induce element-wise sparsity we can use the \\(l_1\\)-norm, \\(\\lVert W \\rVert_1\\).\n\\[\n\\lVert W \\rVert_1 = l_1(W) = \\sum_{i=1}^{|W|} |w_i|\n\\]\n\n\n\\(l_2\\)-norm regularization reduces overfitting and improves a model's accuracy by shrinking large parameters, but it does not force these parameters to absolute zero. \\(l_1\\)-norm regularization sets some of the parameter elements to zero, therefore limiting the model's capacity while making the model simpler. This is sometimes referred to as \nfeature selection\n and gives us another interpretation of pruning.\n\n\nOne\n of Distiller's Jupyter notebooks explains how the \\(l_1\\)-norm regularizer induces sparsity, and how it interacts with \\(l_2\\)-norm regularization.\n\n\nIf we configure \nweight_decay\n to zero and use \\(l_1\\)-norm regularization, then we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_1\n\\]\nIf we use both regularizers, we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_{R_2} \\lVert W \\rVert_2^2 + \\lambda_{R_1} \\lVert W \\rVert_1\n\\]\n\n\nClass \ndistiller.L1Regularizer\n implements \\(l_1\\)-norm regularization, and of course, you can also schedule regularization.\n\n\nl1_regularizer = distiller.s(model.parameters())\n...\nloss = criterion(output, target) + lambda * l1_regularizer()\n\n\n\n\nGroup Regularization\n\n\nIn Group Regularization, we penalize entire groups of parameter elements, instead of individual elements. Therefore, entire groups are either sparsified (i.e. all of the group elements have a value of zero) or not. The group structures have to be pre-defined.\n\n\nTo the data loss, and the element-wise regularization (if any), we can add group-wise regularization penalty. We represent all of the parameter groups in layer \\(l\\) as \\( W_l^{(G)} \\), and we add the penalty of all groups for all layers. It gets a bit messy, but not overly complicated:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W) + \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)})\n\\]\n\n\nLet's denote all of the weight elements in group \\(g\\) as \\(w^{(g)}\\).\n\n\n\\[\nR_g(w^{(g)}) = \\sum_{g=1}^{G} \\lVert w^{(g)} \\rVert_g = \\sum_{g=1}^{G} \\sum_{i=1}^{|w^{(g)}|} {(w_i^{(g)})}^2\n\\]\nwhere \\(w^{(g)} \\in w^{(l)} \\) and \\( |w^{(g)}| \\) is the number of elements in \\( w^{(g)} \\).\n\n\n\\( \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)}) \\) is called the Group Lasso regularizer. Much as in \\(l_1\\)-norm regularization we sum the magnitudes of all tensor elements, in Group Lasso we sum the magnitudes of element structures (i.e. groups).\n\n\n\nGroup Regularization is also called Block Regularization, Structured Regularization, or coarse-grained sparsity (remember that element-wise sparsity is sometimes referred to as fine-grained sparsity). Group sparsity exhibits regularity (i.e. its shape is regular), and therefore\nit can be beneficial to improve inference speed.\n\n\nHuizi-et-al-2017\n provides an overview of some of the different groups: kernel, channel, filter, layers. Fiber structures such as matrix columns and rows, as well as various shaped structures (block sparsity), and even \nintra kernel strided sparsity\n can also be used.\n\n\ndistiller.GroupLassoRegularizer\n currently implements most of these groups, and you can easily add new groups.\n\n\nReferences\n\n\n \nIan Goodfellow and Yoshua Bengio and Aaron Courville\n.\n \nDeep Learning\n,\n arXiv:1607.04381v2,\n 2017.\n\n\n\n\n\nSong Han, Jeff Pool, Sharan Narang, Huizi Mao, Enhao Gong, Shijian Tang, Erich Elsen, Peter Vajda, Manohar Paluri, John Tran, Bryan Catanzaro, William J. Dally\n.\n \nDSD: Dense-Sparse-Dense Training for Deep Neural Networks\n,\n arXiv:1607.04381v2,\n 2017.\n\n\n\n\n\nHuizi Mao, Song Han, Jeff Pool, Wenshuo Li, Xingyu Liu, Yu Wang, William J. Dally\n.\n \nExploring the Regularity of Sparse Structure in Convolutional Neural Networks\n,\n arXiv:1705.08922v3,\n 2017.\n\n\n\n\n\nSajid Anwar, Kyuyeon Hwang, and Wonyong Sung\n.\n \nStructured pruning of deep convolutional neural networks\n,\n arXiv:1512.08571,\n 2015", "title": "Regularization" - }, + }, { - "location": "/regularization/index.html#regularization", - "text": "In their book Deep Learning Ian Goodfellow et al. define regularization as \"any modification we make to a learning algorithm that is intended to reduce its generalization error, but not its training error.\" PyTorch's optimizers use \\(l_2\\) parameter regularization to limit the capacity of models (i.e. reduce the variance). In general, we can write this as:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W)\n\\]\nAnd specifically,\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_2^2\n\\]\nWhere W is the collection of all weight elements in the network (i.e. this is model.parameters()), \\(loss(W;x;y)\\) is the total training loss, and \\(loss_D(W)\\) is the data loss (i.e. the error of the objective function, also called the loss function, or criterion in the Distiller sample image classifier compression application). optimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9, weight_decay=0.0001)\ncriterion = nn.CrossEntropyLoss()\n...\nfor input, target in dataset:\n optimizer.zero_grad()\n output = model(input)\n loss = criterion(output, target)\n loss.backward()\n optimizer.step() \\(\\lambda_R\\) is a scalar called the regularization strength , and it balances the data error and the regularization error. In PyTorch, this is the weight_decay argument. \\(\\lVert W \\rVert_2^2\\) is the square of the \\(l_2\\)-norm of W, and as such it is a magnitude , or sizing, of the weights tensor.\n\\[\n\\lVert W \\rVert_2^2 = \\sum_{l=1}^{L} \\sum_{i=1}^{n} |w_{l,i}|^2 \\;\\;where \\;n = torch.numel(w_l)\n\\] \\(L\\) is the number of layers in the network; and the notation about used 1-based numbering to simplify the notation. The qualitative differences between the \\(l_2\\)-norm, and the squared \\(l_2\\)-norm is explained in Deep Learning .", + "location": "/regularization/index.html#regularization", + "text": "In their book Deep Learning Ian Goodfellow et al. define regularization as \"any modification we make to a learning algorithm that is intended to reduce its generalization error, but not its training error.\" PyTorch's optimizers use \\(l_2\\) parameter regularization to limit the capacity of models (i.e. reduce the variance). In general, we can write this as:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W)\n\\]\nAnd specifically,\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_2^2\n\\]\nWhere W is the collection of all weight elements in the network (i.e. this is model.parameters()), \\(loss(W;x;y)\\) is the total training loss, and \\(loss_D(W)\\) is the data loss (i.e. the error of the objective function, also called the loss function, or criterion in the Distiller sample image classifier compression application). optimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9, weight_decay=0.0001)\ncriterion = nn.CrossEntropyLoss()\n...\nfor input, target in dataset:\n optimizer.zero_grad()\n output = model(input)\n loss = criterion(output, target)\n loss.backward()\n optimizer.step() \\(\\lambda_R\\) is a scalar called the regularization strength , and it balances the data error and the regularization error. In PyTorch, this is the weight_decay argument. \\(\\lVert W \\rVert_2^2\\) is the square of the \\(l_2\\)-norm of W, and as such it is a magnitude , or sizing, of the weights tensor.\n\\[\n\\lVert W \\rVert_2^2 = \\sum_{l=1}^{L} \\sum_{i=1}^{n} |w_{l,i}|^2 \\;\\;where \\;n = torch.numel(w_l)\n\\] \\(L\\) is the number of layers in the network; and the notation about used 1-based numbering to simplify the notation. The qualitative differences between the \\(l_2\\)-norm, and the squared \\(l_2\\)-norm is explained in Deep Learning .", "title": "Regularization" - }, + }, { - "location": "/regularization/index.html#sparsity-and-regularization", - "text": "We mention regularization because there is an interesting interaction between regularization and some DNN sparsity-inducing methods. In Dense-Sparse-Dense (DSD) , Song Han et al. use pruning as a regularizer to improve a model's accuracy: \"Sparsity is a powerful form of regularization. Our intuition is that, once the network arrives at a local minimum given the sparsity constraint, relaxing the constraint gives the network more freedom to escape the saddle point and arrive at a higher-accuracy local minimum.\" Regularization can also be used to induce sparsity. To induce element-wise sparsity we can use the \\(l_1\\)-norm, \\(\\lVert W \\rVert_1\\).\n\\[\n\\lVert W \\rVert_1 = l_1(W) = \\sum_{i=1}^{|W|} |w_i|\n\\] \\(l_2\\)-norm regularization reduces overfitting and improves a model's accuracy by shrinking large parameters, but it does not force these parameters to absolute zero. \\(l_1\\)-norm regularization sets some of the parameter elements to zero, therefore limiting the model's capacity while making the model simpler. This is sometimes referred to as feature selection and gives us another interpretation of pruning. One of Distiller's Jupyter notebooks explains how the \\(l_1\\)-norm regularizer induces sparsity, and how it interacts with \\(l_2\\)-norm regularization. If we configure weight_decay to zero and use \\(l_1\\)-norm regularization, then we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_1\n\\]\nIf we use both regularizers, we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_{R_2} \\lVert W \\rVert_2^2 + \\lambda_{R_1} \\lVert W \\rVert_1\n\\] Class distiller.L1Regularizer implements \\(l_1\\)-norm regularization, and of course, you can also schedule regularization. l1_regularizer = distiller.s(model.parameters())\n...\nloss = criterion(output, target) + lambda * l1_regularizer()", + "location": "/regularization/index.html#sparsity-and-regularization", + "text": "We mention regularization because there is an interesting interaction between regularization and some DNN sparsity-inducing methods. In Dense-Sparse-Dense (DSD) , Song Han et al. use pruning as a regularizer to improve a model's accuracy: \"Sparsity is a powerful form of regularization. Our intuition is that, once the network arrives at a local minimum given the sparsity constraint, relaxing the constraint gives the network more freedom to escape the saddle point and arrive at a higher-accuracy local minimum.\" Regularization can also be used to induce sparsity. To induce element-wise sparsity we can use the \\(l_1\\)-norm, \\(\\lVert W \\rVert_1\\).\n\\[\n\\lVert W \\rVert_1 = l_1(W) = \\sum_{i=1}^{|W|} |w_i|\n\\] \\(l_2\\)-norm regularization reduces overfitting and improves a model's accuracy by shrinking large parameters, but it does not force these parameters to absolute zero. \\(l_1\\)-norm regularization sets some of the parameter elements to zero, therefore limiting the model's capacity while making the model simpler. This is sometimes referred to as feature selection and gives us another interpretation of pruning. One of Distiller's Jupyter notebooks explains how the \\(l_1\\)-norm regularizer induces sparsity, and how it interacts with \\(l_2\\)-norm regularization. If we configure weight_decay to zero and use \\(l_1\\)-norm regularization, then we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R \\lVert W \\rVert_1\n\\]\nIf we use both regularizers, we have:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_{R_2} \\lVert W \\rVert_2^2 + \\lambda_{R_1} \\lVert W \\rVert_1\n\\] Class distiller.L1Regularizer implements \\(l_1\\)-norm regularization, and of course, you can also schedule regularization. l1_regularizer = distiller.s(model.parameters())\n...\nloss = criterion(output, target) + lambda * l1_regularizer()", "title": "Sparsity and Regularization" - }, + }, { - "location": "/regularization/index.html#group-regularization", - "text": "In Group Regularization, we penalize entire groups of parameter elements, instead of individual elements. Therefore, entire groups are either sparsified (i.e. all of the group elements have a value of zero) or not. The group structures have to be pre-defined. To the data loss, and the element-wise regularization (if any), we can add group-wise regularization penalty. We represent all of the parameter groups in layer \\(l\\) as \\( W_l^{(G)} \\), and we add the penalty of all groups for all layers. It gets a bit messy, but not overly complicated:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W) + \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)})\n\\] Let's denote all of the weight elements in group \\(g\\) as \\(w^{(g)}\\). \\[\nR_g(w^{(g)}) = \\sum_{g=1}^{G} \\lVert w^{(g)} \\rVert_g = \\sum_{g=1}^{G} \\sum_{i=1}^{|w^{(g)}|} {(w_i^{(g)})}^2\n\\]\nwhere \\(w^{(g)} \\in w^{(l)} \\) and \\( |w^{(g)}| \\) is the number of elements in \\( w^{(g)} \\). \\( \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)}) \\) is called the Group Lasso regularizer. Much as in \\(l_1\\)-norm regularization we sum the magnitudes of all tensor elements, in Group Lasso we sum the magnitudes of element structures (i.e. groups). \nGroup Regularization is also called Block Regularization, Structured Regularization, or coarse-grained sparsity (remember that element-wise sparsity is sometimes referred to as fine-grained sparsity). Group sparsity exhibits regularity (i.e. its shape is regular), and therefore\nit can be beneficial to improve inference speed. Huizi-et-al-2017 provides an overview of some of the different groups: kernel, channel, filter, layers. Fiber structures such as matrix columns and rows, as well as various shaped structures (block sparsity), and even intra kernel strided sparsity can also be used. distiller.GroupLassoRegularizer currently implements most of these groups, and you can easily add new groups.", + "location": "/regularization/index.html#group-regularization", + "text": "In Group Regularization, we penalize entire groups of parameter elements, instead of individual elements. Therefore, entire groups are either sparsified (i.e. all of the group elements have a value of zero) or not. The group structures have to be pre-defined. To the data loss, and the element-wise regularization (if any), we can add group-wise regularization penalty. We represent all of the parameter groups in layer \\(l\\) as \\( W_l^{(G)} \\), and we add the penalty of all groups for all layers. It gets a bit messy, but not overly complicated:\n\\[\nloss(W;x;y) = loss_D(W;x;y) + \\lambda_R R(W) + \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)})\n\\] Let's denote all of the weight elements in group \\(g\\) as \\(w^{(g)}\\). \\[\nR_g(w^{(g)}) = \\sum_{g=1}^{G} \\lVert w^{(g)} \\rVert_g = \\sum_{g=1}^{G} \\sum_{i=1}^{|w^{(g)}|} {(w_i^{(g)})}^2\n\\]\nwhere \\(w^{(g)} \\in w^{(l)} \\) and \\( |w^{(g)}| \\) is the number of elements in \\( w^{(g)} \\). \\( \\lambda_g \\sum_{l=1}^{L} R_g(W_l^{(G)}) \\) is called the Group Lasso regularizer. Much as in \\(l_1\\)-norm regularization we sum the magnitudes of all tensor elements, in Group Lasso we sum the magnitudes of element structures (i.e. groups). \nGroup Regularization is also called Block Regularization, Structured Regularization, or coarse-grained sparsity (remember that element-wise sparsity is sometimes referred to as fine-grained sparsity). Group sparsity exhibits regularity (i.e. its shape is regular), and therefore\nit can be beneficial to improve inference speed. Huizi-et-al-2017 provides an overview of some of the different groups: kernel, channel, filter, layers. Fiber structures such as matrix columns and rows, as well as various shaped structures (block sparsity), and even intra kernel strided sparsity can also be used. distiller.GroupLassoRegularizer currently implements most of these groups, and you can easily add new groups.", "title": "Group Regularization" - }, + }, { - "location": "/regularization/index.html#references", - "text": "Ian Goodfellow and Yoshua Bengio and Aaron Courville .\n Deep Learning ,\n arXiv:1607.04381v2,\n 2017. Song Han, Jeff Pool, Sharan Narang, Huizi Mao, Enhao Gong, Shijian Tang, Erich Elsen, Peter Vajda, Manohar Paluri, John Tran, Bryan Catanzaro, William J. Dally .\n DSD: Dense-Sparse-Dense Training for Deep Neural Networks ,\n arXiv:1607.04381v2,\n 2017. Huizi Mao, Song Han, Jeff Pool, Wenshuo Li, Xingyu Liu, Yu Wang, William J. Dally .\n Exploring the Regularity of Sparse Structure in Convolutional Neural Networks ,\n arXiv:1705.08922v3,\n 2017. Sajid Anwar, Kyuyeon Hwang, and Wonyong Sung .\n Structured pruning of deep convolutional neural networks ,\n arXiv:1512.08571,\n 2015", + "location": "/regularization/index.html#references", + "text": "Ian Goodfellow and Yoshua Bengio and Aaron Courville .\n Deep Learning ,\n arXiv:1607.04381v2,\n 2017. Song Han, Jeff Pool, Sharan Narang, Huizi Mao, Enhao Gong, Shijian Tang, Erich Elsen, Peter Vajda, Manohar Paluri, John Tran, Bryan Catanzaro, William J. Dally .\n DSD: Dense-Sparse-Dense Training for Deep Neural Networks ,\n arXiv:1607.04381v2,\n 2017. Huizi Mao, Song Han, Jeff Pool, Wenshuo Li, Xingyu Liu, Yu Wang, William J. Dally .\n Exploring the Regularity of Sparse Structure in Convolutional Neural Networks ,\n arXiv:1705.08922v3,\n 2017. Sajid Anwar, Kyuyeon Hwang, and Wonyong Sung .\n Structured pruning of deep convolutional neural networks ,\n arXiv:1512.08571,\n 2015", "title": "References" - }, + }, { - "location": "/quantization/index.html", - "text": "Quantization\n\n\nQuantization refers to the process of reducing the number of bits that represent a number. In the context of deep learning, the predominant numerical format used for research and for deployment has so far been 32-bit floating point, or FP32. However, the desire for reduced bandwidth and compute requirements of deep learning models has driven research into using lower-precision numerical formats. It has been extensively demonstrated that weights and activations can be represented using 8-bit integers (or INT8) without incurring significant loss in accuracy. The use of even lower bit-widths, such as 4/2/1-bits, is an active field of research that has also shown great progress.\n\n\nNote that this discussion is on quantization only in the context of more efficient inference. Using lower-precision numerics for more efficient training is currently out of scope.\n\n\nMotivation: Overall Efficiency\n\n\nThe more obvious benefit from quantization is \nsignificantly reduced bandwidth and storage\n. For instance, using INT8 for weights and activations consumes 4x less overall bandwidth compared to FP32.\n\nAdditionally integer compute is \nfaster\n than floating point compute. It is also much more \narea and energy efficient\n: \n\n\n\n\n\n\n\n\nINT8 Operation\n\n\nEnergy Saving vs FP32\n\n\nArea Saving vs FP32\n\n\n\n\n\n\n\n\n\n\nAdd\n\n\n30x\n\n\n116x\n\n\n\n\n\n\nMultiply\n\n\n18.5x\n\n\n27x\n\n\n\n\n\n\n\n\n(\nDally, 2015\n)\n\n\nNote that very aggressive quantization can yield even more efficiency. If weights are binary (-1, 1) or ternary (-1, 0, 1 using 2-bits), then convolution and fully-connected layers can be computed with additions and subtractions only, removing multiplications completely. If activations are binary as well, then additions can also be removed, in favor of bitwise operations (\nRastegari et al., 2016\n).\n\n\nInteger vs. FP32\n\n\nThere are two main attributes when discussing a numerical format. The first is \ndynamic range\n, which refers to the range of representable numbers. The second one is how many values can be represented within the dynamic range, which in turn determines the \nprecision / resolution\n of the format (the distance between two numbers).\n\nFor all integer formats, the dynamic range is \n[-2^{n-1} .. 2^{n-1}-1]\n, where \nn\n is the number of bits. So for INT8 the range is \n[-128 .. 127]\n, and for INT4 it is \n[-16 .. 15]\n (we're limiting ourselves to signed integers for now). The number of representable values is \n2^n\n.\nContrast that with FP32, where the dynamic range is \n\\pm 3.4\\ x\\ 10^{38}\n, and approximately \n4.2\\ x\\ 10^9\n values can be represented.\n\nWe can immediately see that FP32 is much more \nversatile\n, in that it is able to represent a wide range of distributions accurately. This is a nice property for deep learning models, where the distributions of weights and activations are usually very different (at least in dynamic range). In addition the dynamic range can differ between layers in the model.\n\nIn order to be able to represent these different distributions with an integer format, a \nscale factor\n is used to map the dynamic range of the tensor to the integer format range. But still we remain with the issue of having a significantly lower number of representable values, that is - much lower resolution.\n\nNote that this scale factor is, in most cases, a floating-point number. Hence, even when using integer numerics, some floating-point computations remain. \nCourbariaux et al., 2014\n scale using only shifts, eliminating the floating point operation. In \nGEMMLWOP\n, the FP32 scale factor is approximated using an integer or fixed-point multiplication followed by a shift operation. In many cases the effect of this approximation on accuracy is negligible.\n\n\nAvoiding Overflows\n\n\nConvolution and fully connected layers involve the storing of intermediate results in accumulators. Due to the limited dynamic range of integer formats, if we would use the same bit-width for the weights and activation, \nand\n for the accumulators, we would likely overflow very quickly. Therefore, accumulators are usually implemented with higher bit-widths.\n\nThe result of multiplying two \nn\n-bit integers is, at most, a \n2n\n-bit number. In convolution layers, such multiplications are accumulated \nc\\cdot k^2\n times, where \nc\n is the number of input channels and \nk\n is the kernel width (assuming a square kernel). Hence, to avoid overflowing, the accumulator should be \n2n + M\n-bits wide, where M is at least \nlog_2(c\\cdot k^2)\n. In many cases 32-bit accumulators are used, however for INT4 and lower it might be possible to use less than 32 -bits, depending on the expected use cases and layer widths.\n\n\n\"Conservative\" Quantization: INT8\n\n\nIn many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy (\nGysel at al., 2018\n).\n\nAs mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor (. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained \"online\" during inference, or \"offline\".\n\n\n\n\nOffline\n means gathering activations statistics before deploying the model, either during training or by running a few \"calibration\" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation.\n\n\nOnline\n means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive.\n\n\n\n\nIt is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible (\nMigacz, 2017\n) \n\n\nAnother possible optimization point is \nscale-factor scope\n. The most common way is use a single scale-factor per-layer\n\n\n\"Aggressive\" Quantization: INT4 and Lower\n\n\nNaively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy:\n\n\n\n\nTraining / Re-Training\n: For INT4 and lower, training is required in order to obtain reasonable accuracy. This means training with quantization of weights and activations \"baked\" into the training procedure. This is not straight forward, since quantization operations are usually not differentiable. This is usually worked-around by using \"straight-through estimator\" (\nBengio, 2013\n) to approximate the gradient of these operations.\n\n\nZhou S et al., 2016\n have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods \nrequire\n a trained FP32 model, either as a starting point (\nZhou A et al., 2017\n), or as a teacher network in a student-teacher training setup (\nMishra and Marr, 2018\n).\n\n\nReplacing the activation function\n: The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used (\nZhou S et al., 2016\n, \nMishra et al., 2018\n). Another method learns the clipping value per layer, with better results (\nChoi et al., 2018\n). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above).\n\n\nModifying network structure\n: \nMishra et al., 2018\n try to compensate for the loss of information due to quantization by using wider layers (more channels). \nLin et al., 2017\n proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different \"base\", covering a larger dynamic range overall.\n\n\nFirst and last layer\n: Many methods do not quantize the first and last layer of the model. It has been observed by \nHan et al., 2015\n that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically (\nZhou S et al., 2016\n, \nChoi et al., 2018\n). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them (\nRastegari et al., 2016\n). Most methods keep the first and last layers at FP32. However, \nChoi et al., 2018\n showed that \"conservative\" quantization of these layers, e.g. to INT8, does not reduce accuracy.\n\n\nIterative quantization\n: Most methods quantize the entire model at once. \nZhou A et al., 2017\n employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization.\n\n\nMixed Weights and Activations Precision\n: It has been observed that activations are more sensitive to quantization than weights (\nZhou S et al., 2016\n). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 (\nLi et al., 2016\n, \nZhu et al., 2016\n).\n\n\n\n\nReferences\n\n\n\n\nWilliam Dally\n. High-Performance Hardware for Machine Learning. \nTutorial, NIPS, 2015\n\n\n\n\n\nMohammad Rastegari, Vicente Ordone, Joseph Redmon and Ali Farhadi\n. XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. \nECCV, 2016\n\n\n\n\n\nMatthieu Courbariaux, Yoshua Bengio and Jean-Pierre David\n. Training deep neural networks with low precision multiplications. \narxiv:1412.7024\n\n\n\n\n\nPhilipp Gysel, Jon Pimentel, Mohammad Motamedi and Soheil Ghiasi\n. Ristretto: A Framework for Empirical Study of Resource-Efficient Inference in Convolutional Neural Networks. \nIEEE Transactions on Neural Networks and Learning Systems, 2018\n\n\n\n\n\nSzymon Migacz\n. 8-bit Inference with TensorRT. \nGTC San Jose, 2017\n\n\n\n\n\nYoshua Bengio, Nicholas Leonard and Aaron Courville\n. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. \narxiv:1308.3432, 2013\n\n\n\n\n\nShuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou\n. DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. \narxiv:1606.06160\n\n\n\n\n\nAojun Zhou, Anbang Yao, Yiwen Guo, Lin Xu and Yurong Chen\n. Incremental Network Quantization: Towards Lossless CNNs with Low-precision Weights. \nICLR, 2017\n\n\n\n\n\nAsit Mishra and Debbie Marr\n. Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy. \nICLR, 2018\n\n\n\n\n\nAsit Mishra, Eriko Nurvitadhi, Jeffrey J Cook and Debbie Marr\n. WRPN: Wide Reduced-Precision Networks. \nICLR, 2018\n\n\n\n\n\nJungwook Choi, Zhuo Wang, Swagath Venkataramani, Pierce I-Jen Chuang, Vijayalakshmi Srinivasan and Kailash Gopalakrishnan\n. PACT: Parameterized Clipping Activation for Quantized Neural Networks. \n2018\n\n\n\n\n\nXiaofan Lin, Cong Zhao and Wei Pan\n. Towards Accurate Binary Convolutional Neural Network. \nNIPS, 2017\n\n\n\n\n\nSong Han, Jeff Pool, John Tran and William Dally\n. Learning both Weights and Connections for Efficient Neural Network. \nNIPS, 2015\n\n\n\n\n\nFengfu Li, Bo Zhang and Bin Liu\n. Ternary Weight Networks. \narxiv:1605.04711\n\n\n\n\n\nChenzhuo Zhu, Song Han, Huizi Mao and William J. Dally\n. Trained Ternary Quantization. \narxiv:1612.01064", + "location": "/quantization/index.html", + "text": "Quantization\n\n\nQuantization refers to the process of reducing the number of bits that represent a number. In the context of deep learning, the predominant numerical format used for research and for deployment has so far been 32-bit floating point, or FP32. However, the desire for reduced bandwidth and compute requirements of deep learning models has driven research into using lower-precision numerical formats. It has been extensively demonstrated that weights and activations can be represented using 8-bit integers (or INT8) without incurring significant loss in accuracy. The use of even lower bit-widths, such as 4/2/1-bits, is an active field of research that has also shown great progress.\n\n\nNote that this discussion is on quantization only in the context of more efficient inference. Using lower-precision numerics for more efficient training is currently out of scope.\n\n\nMotivation: Overall Efficiency\n\n\nThe more obvious benefit from quantization is \nsignificantly reduced bandwidth and storage\n. For instance, using INT8 for weights and activations consumes 4x less overall bandwidth compared to FP32.\n\nAdditionally integer compute is \nfaster\n than floating point compute. It is also much more \narea and energy efficient\n: \n\n\n\n\n\n\n\n\nINT8 Operation\n\n\nEnergy Saving vs FP32\n\n\nArea Saving vs FP32\n\n\n\n\n\n\n\n\n\n\nAdd\n\n\n30x\n\n\n116x\n\n\n\n\n\n\nMultiply\n\n\n18.5x\n\n\n27x\n\n\n\n\n\n\n\n\n(\nDally, 2015\n)\n\n\nNote that very aggressive quantization can yield even more efficiency. If weights are binary (-1, 1) or ternary (-1, 0, 1 using 2-bits), then convolution and fully-connected layers can be computed with additions and subtractions only, removing multiplications completely. If activations are binary as well, then additions can also be removed, in favor of bitwise operations (\nRastegari et al., 2016\n).\n\n\nInteger vs. FP32\n\n\nThere are two main attributes when discussing a numerical format. The first is \ndynamic range\n, which refers to the range of representable numbers. The second one is how many values can be represented within the dynamic range, which in turn determines the \nprecision / resolution\n of the format (the distance between two numbers).\n\nFor all integer formats, the dynamic range is \n[-2^{n-1} .. 2^{n-1}-1]\n, where \nn\n is the number of bits. So for INT8 the range is \n[-128 .. 127]\n, and for INT4 it is \n[-16 .. 15]\n (we're limiting ourselves to signed integers for now). The number of representable values is \n2^n\n.\nContrast that with FP32, where the dynamic range is \n\\pm 3.4\\ x\\ 10^{38}\n, and approximately \n4.2\\ x\\ 10^9\n values can be represented.\n\nWe can immediately see that FP32 is much more \nversatile\n, in that it is able to represent a wide range of distributions accurately. This is a nice property for deep learning models, where the distributions of weights and activations are usually very different (at least in dynamic range). In addition the dynamic range can differ between layers in the model.\n\nIn order to be able to represent these different distributions with an integer format, a \nscale factor\n is used to map the dynamic range of the tensor to the integer format range. But still we remain with the issue of having a significantly lower number of representable values, that is - much lower resolution.\n\nNote that this scale factor is, in most cases, a floating-point number. Hence, even when using integer numerics, some floating-point computations remain. \nCourbariaux et al., 2014\n scale using only shifts, eliminating the floating point operation. In \nGEMMLWOP\n, the FP32 scale factor is approximated using an integer or fixed-point multiplication followed by a shift operation. In many cases the effect of this approximation on accuracy is negligible.\n\n\nAvoiding Overflows\n\n\nConvolution and fully connected layers involve the storing of intermediate results in accumulators. Due to the limited dynamic range of integer formats, if we would use the same bit-width for the weights and activation, \nand\n for the accumulators, we would likely overflow very quickly. Therefore, accumulators are usually implemented with higher bit-widths.\n\nThe result of multiplying two \nn\n-bit integers is, at most, a \n2n\n-bit number. In convolution layers, such multiplications are accumulated \nc\\cdot k^2\n times, where \nc\n is the number of input channels and \nk\n is the kernel width (assuming a square kernel). Hence, to avoid overflowing, the accumulator should be \n2n + M\n-bits wide, where M is at least \nlog_2(c\\cdot k^2)\n. In many cases 32-bit accumulators are used, however for INT4 and lower it might be possible to use less than 32 -bits, depending on the expected use cases and layer widths.\n\n\n\"Conservative\" Quantization: INT8\n\n\nIn many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy (\nGysel at al., 2018\n).\n\nAs mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained \"online\" during inference, or \"offline\".\n\n\n\n\nOffline\n means gathering activations statistics before deploying the model, either during training or by running a few \"calibration\" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation.\n\n\nOnline\n means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive.\n\n\n\n\nIt is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible (\nMigacz, 2017\n). \n\n\nAnother possible optimization point is \nscale-factor scope\n. The most common way is use a single scale-factor per-layer, but it is also possible to calculate a scale-factor per-channel. This can be beneficial if the weight distributions vary greatly between channels.\n\n\n\"Aggressive\" Quantization: INT4 and Lower\n\n\nNaively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy:\n\n\n\n\nTraining / Re-Training\n: For INT4 and lower, training is required in order to obtain reasonable accuracy. The training loop is modified to take quantization into account. See details in the \nnext section\n.\n\n\nZhou S et al., 2016\n have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods \nrequire\n a trained FP32 model, either as a starting point (\nZhou A et al., 2017\n), or as a teacher network in a knowledge distillation training setup (\nMishra and Marr, 2018\n).\n\n\nReplacing the activation function\n: The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used (\nZhou S et al., 2016\n, \nMishra et al., 2018\n). Another method learns the clipping value per layer, with better results (\nChoi et al., 2018\n). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above).\n\n\nModifying network structure\n: \nMishra et al., 2018\n try to compensate for the loss of information due to quantization by using wider layers (more channels). \nLin et al., 2017\n proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different \"base\", covering a larger dynamic range overall.\n\n\nFirst and last layer\n: Many methods do not quantize the first and last layer of the model. It has been observed by \nHan et al., 2015\n that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically (\nZhou S et al., 2016\n, \nChoi et al., 2018\n). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them (\nRastegari et al., 2016\n). Most methods keep the first and last layers at FP32. However, \nChoi et al., 2018\n showed that \"conservative\" quantization of these layers, e.g. to INT8, does not reduce accuracy.\n\n\nIterative quantization\n: Most methods quantize the entire model at once. \nZhou A et al., 2017\n employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization.\n\n\nMixed Weights and Activations Precision\n: It has been observed that activations are more sensitive to quantization than weights (\nZhou S et al., 2016\n). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 (\nLi et al., 2016\n, \nZhu et al., 2016\n).\n\n\n\n\nTraining with Quantization\n\n\nAs mentioned above, in order to minimize the loss of accuracy from \"aggressive\" quantization, many methods that target INT4 and lower involve training the model in a way that considers the quantization. This means training with quantization of weights and activations \"baked\" into the training procedure. The training graph usually looks like this:\n\n\n\n\nA full precision copy of the weights is maintained throughout the training process (\"weights_fp\" in the diagram). Its purpose is to accumulate the small changes from the gradients without loss of precision (Note that the quantization of the weights is an integral part of the training graph, meaning that we back-propagate through it as well). Once the model is trained, only the quantized weights are used for inference.\n\nIn the diagram we show \"layer N\" as the conv + batch-norm + activation combination, but the same applies to fully-connected layers, element-wise operations, etc. During training, the operations within \"layer N\" can still run in full precision, with the \"quantize\" operations in the boundaries ensuring discrete-valued weights and activations. This is sometimes called \"simulated quantization\". \n\n\nStraight-Through Estimator\n\n\nAn important question in this context is how to back-propagate through the quantization functions. These functions are discrete-valued, hence their derivative is 0 almost everywhere. So, using their gradients as-is would severly hinder the learning process. An approximation commonly used to overcome this issue is the \"straight-through estimator\" (STE) (\nHinton et al., 2012\n, \nBengio, 2013\n), which simply passes the gradient through these functions as-is. \n\n\nReferences\n\n\n\n\nWilliam Dally\n. High-Performance Hardware for Machine Learning. \nTutorial, NIPS, 2015\n\n\n\n\n\nMohammad Rastegari, Vicente Ordone, Joseph Redmon and Ali Farhadi\n. XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. \nECCV, 2016\n\n\n\n\n\nMatthieu Courbariaux, Yoshua Bengio and Jean-Pierre David\n. Training deep neural networks with low precision multiplications. \narxiv:1412.7024\n\n\n\n\n\nPhilipp Gysel, Jon Pimentel, Mohammad Motamedi and Soheil Ghiasi\n. Ristretto: A Framework for Empirical Study of Resource-Efficient Inference in Convolutional Neural Networks. \nIEEE Transactions on Neural Networks and Learning Systems, 2018\n\n\n\n\n\nSzymon Migacz\n. 8-bit Inference with TensorRT. \nGTC San Jose, 2017\n\n\n\n\n\nShuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou\n. DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. \narxiv:1606.06160\n\n\n\n\n\nAojun Zhou, Anbang Yao, Yiwen Guo, Lin Xu and Yurong Chen\n. Incremental Network Quantization: Towards Lossless CNNs with Low-precision Weights. \nICLR, 2017\n\n\n\n\n\nAsit Mishra and Debbie Marr\n. Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy. \nICLR, 2018\n\n\n\n\n\nAsit Mishra, Eriko Nurvitadhi, Jeffrey J Cook and Debbie Marr\n. WRPN: Wide Reduced-Precision Networks. \nICLR, 2018\n\n\n\n\n\nJungwook Choi, Zhuo Wang, Swagath Venkataramani, Pierce I-Jen Chuang, Vijayalakshmi Srinivasan and Kailash Gopalakrishnan\n. PACT: Parameterized Clipping Activation for Quantized Neural Networks. \n2018\n\n\n\n\n\nXiaofan Lin, Cong Zhao and Wei Pan\n. Towards Accurate Binary Convolutional Neural Network. \nNIPS, 2017\n\n\n\n\n\nSong Han, Jeff Pool, John Tran and William Dally\n. Learning both Weights and Connections for Efficient Neural Network. \nNIPS, 2015\n\n\n\n\n\nFengfu Li, Bo Zhang and Bin Liu\n. Ternary Weight Networks. \narxiv:1605.04711\n\n\n\n\n\nChenzhuo Zhu, Song Han, Huizi Mao and William J. Dally\n. Trained Ternary Quantization. \narxiv:1612.01064\n\n\n\n\n\nYoshua Bengio, Nicholas Leonard and Aaron Courville\n. Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. \narxiv:1308.3432, 2013\n\n\n\n\n\nGeoffrey Hinton, Nitish Srivastava, Kevin Swersky, Tijmen Tieleman and Abdelrahman Mohamed\n. Neural Networks for Machine Learning. \nCoursera, video lectures, 2012", "title": "Quantization" - }, + }, { - "location": "/quantization/index.html#quantization", - "text": "Quantization refers to the process of reducing the number of bits that represent a number. In the context of deep learning, the predominant numerical format used for research and for deployment has so far been 32-bit floating point, or FP32. However, the desire for reduced bandwidth and compute requirements of deep learning models has driven research into using lower-precision numerical formats. It has been extensively demonstrated that weights and activations can be represented using 8-bit integers (or INT8) without incurring significant loss in accuracy. The use of even lower bit-widths, such as 4/2/1-bits, is an active field of research that has also shown great progress. Note that this discussion is on quantization only in the context of more efficient inference. Using lower-precision numerics for more efficient training is currently out of scope.", + "location": "/quantization/index.html#quantization", + "text": "Quantization refers to the process of reducing the number of bits that represent a number. In the context of deep learning, the predominant numerical format used for research and for deployment has so far been 32-bit floating point, or FP32. However, the desire for reduced bandwidth and compute requirements of deep learning models has driven research into using lower-precision numerical formats. It has been extensively demonstrated that weights and activations can be represented using 8-bit integers (or INT8) without incurring significant loss in accuracy. The use of even lower bit-widths, such as 4/2/1-bits, is an active field of research that has also shown great progress. Note that this discussion is on quantization only in the context of more efficient inference. Using lower-precision numerics for more efficient training is currently out of scope.", "title": "Quantization" - }, + }, { - "location": "/quantization/index.html#motivation-overall-efficiency", - "text": "The more obvious benefit from quantization is significantly reduced bandwidth and storage . For instance, using INT8 for weights and activations consumes 4x less overall bandwidth compared to FP32. \nAdditionally integer compute is faster than floating point compute. It is also much more area and energy efficient : INT8 Operation Energy Saving vs FP32 Area Saving vs FP32 Add 30x 116x Multiply 18.5x 27x ( Dally, 2015 ) Note that very aggressive quantization can yield even more efficiency. If weights are binary (-1, 1) or ternary (-1, 0, 1 using 2-bits), then convolution and fully-connected layers can be computed with additions and subtractions only, removing multiplications completely. If activations are binary as well, then additions can also be removed, in favor of bitwise operations ( Rastegari et al., 2016 ).", + "location": "/quantization/index.html#motivation-overall-efficiency", + "text": "The more obvious benefit from quantization is significantly reduced bandwidth and storage . For instance, using INT8 for weights and activations consumes 4x less overall bandwidth compared to FP32. \nAdditionally integer compute is faster than floating point compute. It is also much more area and energy efficient : INT8 Operation Energy Saving vs FP32 Area Saving vs FP32 Add 30x 116x Multiply 18.5x 27x ( Dally, 2015 ) Note that very aggressive quantization can yield even more efficiency. If weights are binary (-1, 1) or ternary (-1, 0, 1 using 2-bits), then convolution and fully-connected layers can be computed with additions and subtractions only, removing multiplications completely. If activations are binary as well, then additions can also be removed, in favor of bitwise operations ( Rastegari et al., 2016 ).", "title": "Motivation: Overall Efficiency" - }, + }, { - "location": "/quantization/index.html#integer-vs-fp32", - "text": "There are two main attributes when discussing a numerical format. The first is dynamic range , which refers to the range of representable numbers. The second one is how many values can be represented within the dynamic range, which in turn determines the precision / resolution of the format (the distance between two numbers). \nFor all integer formats, the dynamic range is [-2^{n-1} .. 2^{n-1}-1] , where n is the number of bits. So for INT8 the range is [-128 .. 127] , and for INT4 it is [-16 .. 15] (we're limiting ourselves to signed integers for now). The number of representable values is 2^n .\nContrast that with FP32, where the dynamic range is \\pm 3.4\\ x\\ 10^{38} , and approximately 4.2\\ x\\ 10^9 values can be represented. \nWe can immediately see that FP32 is much more versatile , in that it is able to represent a wide range of distributions accurately. This is a nice property for deep learning models, where the distributions of weights and activations are usually very different (at least in dynamic range). In addition the dynamic range can differ between layers in the model. \nIn order to be able to represent these different distributions with an integer format, a scale factor is used to map the dynamic range of the tensor to the integer format range. But still we remain with the issue of having a significantly lower number of representable values, that is - much lower resolution. \nNote that this scale factor is, in most cases, a floating-point number. Hence, even when using integer numerics, some floating-point computations remain. Courbariaux et al., 2014 scale using only shifts, eliminating the floating point operation. In GEMMLWOP , the FP32 scale factor is approximated using an integer or fixed-point multiplication followed by a shift operation. In many cases the effect of this approximation on accuracy is negligible.", + "location": "/quantization/index.html#integer-vs-fp32", + "text": "There are two main attributes when discussing a numerical format. The first is dynamic range , which refers to the range of representable numbers. The second one is how many values can be represented within the dynamic range, which in turn determines the precision / resolution of the format (the distance between two numbers). \nFor all integer formats, the dynamic range is [-2^{n-1} .. 2^{n-1}-1] , where n is the number of bits. So for INT8 the range is [-128 .. 127] , and for INT4 it is [-16 .. 15] (we're limiting ourselves to signed integers for now). The number of representable values is 2^n .\nContrast that with FP32, where the dynamic range is \\pm 3.4\\ x\\ 10^{38} , and approximately 4.2\\ x\\ 10^9 values can be represented. \nWe can immediately see that FP32 is much more versatile , in that it is able to represent a wide range of distributions accurately. This is a nice property for deep learning models, where the distributions of weights and activations are usually very different (at least in dynamic range). In addition the dynamic range can differ between layers in the model. \nIn order to be able to represent these different distributions with an integer format, a scale factor is used to map the dynamic range of the tensor to the integer format range. But still we remain with the issue of having a significantly lower number of representable values, that is - much lower resolution. \nNote that this scale factor is, in most cases, a floating-point number. Hence, even when using integer numerics, some floating-point computations remain. Courbariaux et al., 2014 scale using only shifts, eliminating the floating point operation. In GEMMLWOP , the FP32 scale factor is approximated using an integer or fixed-point multiplication followed by a shift operation. In many cases the effect of this approximation on accuracy is negligible.", "title": "Integer vs. FP32" - }, + }, { - "location": "/quantization/index.html#avoiding-overflows", - "text": "Convolution and fully connected layers involve the storing of intermediate results in accumulators. Due to the limited dynamic range of integer formats, if we would use the same bit-width for the weights and activation, and for the accumulators, we would likely overflow very quickly. Therefore, accumulators are usually implemented with higher bit-widths. \nThe result of multiplying two n -bit integers is, at most, a 2n -bit number. In convolution layers, such multiplications are accumulated c\\cdot k^2 times, where c is the number of input channels and k is the kernel width (assuming a square kernel). Hence, to avoid overflowing, the accumulator should be 2n + M -bits wide, where M is at least log_2(c\\cdot k^2) . In many cases 32-bit accumulators are used, however for INT4 and lower it might be possible to use less than 32 -bits, depending on the expected use cases and layer widths.", + "location": "/quantization/index.html#avoiding-overflows", + "text": "Convolution and fully connected layers involve the storing of intermediate results in accumulators. Due to the limited dynamic range of integer formats, if we would use the same bit-width for the weights and activation, and for the accumulators, we would likely overflow very quickly. Therefore, accumulators are usually implemented with higher bit-widths. \nThe result of multiplying two n -bit integers is, at most, a 2n -bit number. In convolution layers, such multiplications are accumulated c\\cdot k^2 times, where c is the number of input channels and k is the kernel width (assuming a square kernel). Hence, to avoid overflowing, the accumulator should be 2n + M -bits wide, where M is at least log_2(c\\cdot k^2) . In many cases 32-bit accumulators are used, however for INT4 and lower it might be possible to use less than 32 -bits, depending on the expected use cases and layer widths.", "title": "Avoiding Overflows" - }, + }, { - "location": "/quantization/index.html#conservative-quantization-int8", - "text": "In many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy ( Gysel at al., 2018 ). \nAs mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor (. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained \"online\" during inference, or \"offline\". Offline means gathering activations statistics before deploying the model, either during training or by running a few \"calibration\" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation. Online means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive. It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible ( Migacz, 2017 ) Another possible optimization point is scale-factor scope . The most common way is use a single scale-factor per-layer", + "location": "/quantization/index.html#conservative-quantization-int8", + "text": "In many cases, taking a model trained for FP32 and directly quantizing it to INT8, without any re-training, can result in a relatively low loss of accuracy (which may or may not be acceptable, depending on the use case). Some fine-tuning can further improve the accuracy ( Gysel at al., 2018 ). \nAs mentioned above, a scale factor is used to adapt the dynamic range of the tensor at hand to that of the integer format. This scale factor needs to be calculated per-layer per-tensor. The simplest way is to map the min/max values of the float tensor to the min/max of the integer format. For weights and biases this is easy, as they are set once training is complete. For activations, the min/max float values can be obtained \"online\" during inference, or \"offline\". Offline means gathering activations statistics before deploying the model, either during training or by running a few \"calibration\" batches on the trained FP32 model. Based on these gathered statistics, the scaled factors are calculated and are fixed once the model is deployed. This method has the risk of encountering values outside the previously observed ranges at runtime. These values will be clipped, which might lead to accuracy degradation. Online means calculating the min/max values for each tensor dynamically during runtime. In this method clipping cannot occur, however the added computation resources required to calculate the min/max values at runtime might be prohibitive. It is important to note, however, that the full float range of an activations tensor usually includes elements which are statistically outliers. These values can be discarded by using a narrower min/max range, effectively allowing some clipping to occur in favor of increasing the resolution provided to the part of the distribution containing most of the information. Statistical measures can be used to intelligently select where to clip the original range in order to preserve as much information as possible ( Migacz, 2017 ). Another possible optimization point is scale-factor scope . The most common way is use a single scale-factor per-layer, but it is also possible to calculate a scale-factor per-channel. This can be beneficial if the weight distributions vary greatly between channels.", "title": "\"Conservative\" Quantization: INT8" - }, + }, { - "location": "/quantization/index.html#aggressive-quantization-int4-and-lower", - "text": "Naively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy: Training / Re-Training : For INT4 and lower, training is required in order to obtain reasonable accuracy. This means training with quantization of weights and activations \"baked\" into the training procedure. This is not straight forward, since quantization operations are usually not differentiable. This is usually worked-around by using \"straight-through estimator\" ( Bengio, 2013 ) to approximate the gradient of these operations. Zhou S et al., 2016 have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods require a trained FP32 model, either as a starting point ( Zhou A et al., 2017 ), or as a teacher network in a student-teacher training setup ( Mishra and Marr, 2018 ). Replacing the activation function : The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used ( Zhou S et al., 2016 , Mishra et al., 2018 ). Another method learns the clipping value per layer, with better results ( Choi et al., 2018 ). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above). Modifying network structure : Mishra et al., 2018 try to compensate for the loss of information due to quantization by using wider layers (more channels). Lin et al., 2017 proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different \"base\", covering a larger dynamic range overall. First and last layer : Many methods do not quantize the first and last layer of the model. It has been observed by Han et al., 2015 that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically ( Zhou S et al., 2016 , Choi et al., 2018 ). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them ( Rastegari et al., 2016 ). Most methods keep the first and last layers at FP32. However, Choi et al., 2018 showed that \"conservative\" quantization of these layers, e.g. to INT8, does not reduce accuracy. Iterative quantization : Most methods quantize the entire model at once. Zhou A et al., 2017 employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization. Mixed Weights and Activations Precision : It has been observed that activations are more sensitive to quantization than weights ( Zhou S et al., 2016 ). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 ( Li et al., 2016 , Zhu et al., 2016 ).", + "location": "/quantization/index.html#aggressive-quantization-int4-and-lower", + "text": "Naively quantizing a FP32 model to INT4 and lower usually incurs significant accuracy degradation. Many works have tried to mitigate this effect. They usually employ one or more of the following concepts in order to improve model accuracy: Training / Re-Training : For INT4 and lower, training is required in order to obtain reasonable accuracy. The training loop is modified to take quantization into account. See details in the next section . Zhou S et al., 2016 have shown that bootstrapping the quantized model with trained FP32 weights leads to higher accuracy, as opposed to training from scratch. Other methods require a trained FP32 model, either as a starting point ( Zhou A et al., 2017 ), or as a teacher network in a knowledge distillation training setup ( Mishra and Marr, 2018 ). Replacing the activation function : The most common activation function in vision models is ReLU, which is unbounded. That is - its dynamic range is not limited for positive inputs. This is very problematic for INT4 and below due to the very limited range and resolution. Therefore, most methods replace ReLU with another function which is bounded. In some cases a clipping function with hard coded values is used ( Zhou S et al., 2016 , Mishra et al., 2018 ). Another method learns the clipping value per layer, with better results ( Choi et al., 2018 ). Once the clipping value is set, the scale factor used for quantization is also set, and no further calibration steps are required (as opposed to INT8 methods described above). Modifying network structure : Mishra et al., 2018 try to compensate for the loss of information due to quantization by using wider layers (more channels). Lin et al., 2017 proposed a binary quantization method in which a single FP32 convolution is replaced with multiple binary convolutions, each scaled to represent a different \"base\", covering a larger dynamic range overall. First and last layer : Many methods do not quantize the first and last layer of the model. It has been observed by Han et al., 2015 that the first convolutional layer is more sensitive to weights pruning, and some quantization works cite the same reason and show it empirically ( Zhou S et al., 2016 , Choi et al., 2018 ). Some works also note that these layers usually constitute a very small portion of the overall computation within the model, further reducing the motivation to quantize them ( Rastegari et al., 2016 ). Most methods keep the first and last layers at FP32. However, Choi et al., 2018 showed that \"conservative\" quantization of these layers, e.g. to INT8, does not reduce accuracy. Iterative quantization : Most methods quantize the entire model at once. Zhou A et al., 2017 employ an iterative method, which starts with a trained FP32 baseline, and quantizes only a portion of the model at the time followed by several epochs of re-training to recover the accuracy loss from quantization. Mixed Weights and Activations Precision : It has been observed that activations are more sensitive to quantization than weights ( Zhou S et al., 2016 ). Hence it is not uncommon to see experiments with activations quantized to a higher precision compared to weights. Some works have focused solely on quantizing weights, keeping the activations at FP32 ( Li et al., 2016 , Zhu et al., 2016 ).", "title": "\"Aggressive\" Quantization: INT4 and Lower" - }, + }, { - "location": "/quantization/index.html#references", - "text": "William Dally . High-Performance Hardware for Machine Learning. Tutorial, NIPS, 2015 Mohammad Rastegari, Vicente Ordone, Joseph Redmon and Ali Farhadi . XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. ECCV, 2016 Matthieu Courbariaux, Yoshua Bengio and Jean-Pierre David . Training deep neural networks with low precision multiplications. arxiv:1412.7024 Philipp Gysel, Jon Pimentel, Mohammad Motamedi and Soheil Ghiasi . Ristretto: A Framework for Empirical Study of Resource-Efficient Inference in Convolutional Neural Networks. IEEE Transactions on Neural Networks and Learning Systems, 2018 Szymon Migacz . 8-bit Inference with TensorRT. GTC San Jose, 2017 Yoshua Bengio, Nicholas Leonard and Aaron Courville . Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. arxiv:1308.3432, 2013 Shuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou . DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. arxiv:1606.06160 Aojun Zhou, Anbang Yao, Yiwen Guo, Lin Xu and Yurong Chen . Incremental Network Quantization: Towards Lossless CNNs with Low-precision Weights. ICLR, 2017 Asit Mishra and Debbie Marr . Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy. ICLR, 2018 Asit Mishra, Eriko Nurvitadhi, Jeffrey J Cook and Debbie Marr . WRPN: Wide Reduced-Precision Networks. ICLR, 2018 Jungwook Choi, Zhuo Wang, Swagath Venkataramani, Pierce I-Jen Chuang, Vijayalakshmi Srinivasan and Kailash Gopalakrishnan . PACT: Parameterized Clipping Activation for Quantized Neural Networks. 2018 Xiaofan Lin, Cong Zhao and Wei Pan . Towards Accurate Binary Convolutional Neural Network. NIPS, 2017 Song Han, Jeff Pool, John Tran and William Dally . Learning both Weights and Connections for Efficient Neural Network. NIPS, 2015 Fengfu Li, Bo Zhang and Bin Liu . Ternary Weight Networks. arxiv:1605.04711 Chenzhuo Zhu, Song Han, Huizi Mao and William J. Dally . Trained Ternary Quantization. arxiv:1612.01064", + "location": "/quantization/index.html#training-with-quantization", + "text": "As mentioned above, in order to minimize the loss of accuracy from \"aggressive\" quantization, many methods that target INT4 and lower involve training the model in a way that considers the quantization. This means training with quantization of weights and activations \"baked\" into the training procedure. The training graph usually looks like this: A full precision copy of the weights is maintained throughout the training process (\"weights_fp\" in the diagram). Its purpose is to accumulate the small changes from the gradients without loss of precision (Note that the quantization of the weights is an integral part of the training graph, meaning that we back-propagate through it as well). Once the model is trained, only the quantized weights are used for inference. \nIn the diagram we show \"layer N\" as the conv + batch-norm + activation combination, but the same applies to fully-connected layers, element-wise operations, etc. During training, the operations within \"layer N\" can still run in full precision, with the \"quantize\" operations in the boundaries ensuring discrete-valued weights and activations. This is sometimes called \"simulated quantization\".", + "title": "Training with Quantization" + }, + { + "location": "/quantization/index.html#straight-through-estimator", + "text": "An important question in this context is how to back-propagate through the quantization functions. These functions are discrete-valued, hence their derivative is 0 almost everywhere. So, using their gradients as-is would severly hinder the learning process. An approximation commonly used to overcome this issue is the \"straight-through estimator\" (STE) ( Hinton et al., 2012 , Bengio, 2013 ), which simply passes the gradient through these functions as-is.", + "title": "Straight-Through Estimator" + }, + { + "location": "/quantization/index.html#references", + "text": "William Dally . High-Performance Hardware for Machine Learning. Tutorial, NIPS, 2015 Mohammad Rastegari, Vicente Ordone, Joseph Redmon and Ali Farhadi . XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. ECCV, 2016 Matthieu Courbariaux, Yoshua Bengio and Jean-Pierre David . Training deep neural networks with low precision multiplications. arxiv:1412.7024 Philipp Gysel, Jon Pimentel, Mohammad Motamedi and Soheil Ghiasi . Ristretto: A Framework for Empirical Study of Resource-Efficient Inference in Convolutional Neural Networks. IEEE Transactions on Neural Networks and Learning Systems, 2018 Szymon Migacz . 8-bit Inference with TensorRT. GTC San Jose, 2017 Shuchang Zhou, Zekun Ni, Xinyu Zhou, He Wen, Yuxin Wu and Yuheng Zou . DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients. arxiv:1606.06160 Aojun Zhou, Anbang Yao, Yiwen Guo, Lin Xu and Yurong Chen . Incremental Network Quantization: Towards Lossless CNNs with Low-precision Weights. ICLR, 2017 Asit Mishra and Debbie Marr . Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy. ICLR, 2018 Asit Mishra, Eriko Nurvitadhi, Jeffrey J Cook and Debbie Marr . WRPN: Wide Reduced-Precision Networks. ICLR, 2018 Jungwook Choi, Zhuo Wang, Swagath Venkataramani, Pierce I-Jen Chuang, Vijayalakshmi Srinivasan and Kailash Gopalakrishnan . PACT: Parameterized Clipping Activation for Quantized Neural Networks. 2018 Xiaofan Lin, Cong Zhao and Wei Pan . Towards Accurate Binary Convolutional Neural Network. NIPS, 2017 Song Han, Jeff Pool, John Tran and William Dally . Learning both Weights and Connections for Efficient Neural Network. NIPS, 2015 Fengfu Li, Bo Zhang and Bin Liu . Ternary Weight Networks. arxiv:1605.04711 Chenzhuo Zhu, Song Han, Huizi Mao and William J. Dally . Trained Ternary Quantization. arxiv:1612.01064 Yoshua Bengio, Nicholas Leonard and Aaron Courville . Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation. arxiv:1308.3432, 2013 Geoffrey Hinton, Nitish Srivastava, Kevin Swersky, Tijmen Tieleman and Abdelrahman Mohamed . Neural Networks for Machine Learning. Coursera, video lectures, 2012", "title": "References" - }, + }, { - "location": "/algo_pruning/index.html", - "text": "Weights pruning algorithms\n\n\n\n\nMagnitude pruner\n\n\nThis is the most basic pruner: it applies a thresholding function, \\(thresh(.)\\), on each element, \\(w_i\\), of a weights tensor. A different threshold can be used for each layer's weights tensor.\n\nBecause the threshold is applied on individual elements, this pruner belongs to the element-wise pruning algorithm family.\n\n\n\\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]\n\n\nSensitivity pruner\n\n\nFinding a threshold magnitude per layer is daunting, especially since each layer's elements have different average absolute values. We can take advantage of the fact that the weights of convolutional and fully connected layers exhibit a Gaussian distribution with a mean value roughly zero, to avoid using a direct threshold based on the values of each specific tensor.\n\n\nThe diagram below shows the distribution the weights tensor of the first convolutional layer, and first fully-connected layer in TorchVision's pre-trained Alexnet model. You can see that they have an approximate Gaussian distribution.\n\n\n \n\n\nThe distributions of Alexnet conv1 and fc1 layers\n\n\nWe use the standard deviation of the weights tensor as a sort of normalizing factor between the different weights tensors. For example, if a tensor is Normally distributed, then about 68% of the elements have an absolute value less than the standard deviation (\\(\\sigma\\)) of the tensor. Thus, if we set the threshold to \\(s*\\sigma\\), then basically we are thresholding \\(s * 68\\%\\) of the tensor elements. \n\n\n\\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]\n\n\n\\[\n\\lambda = s * \\sigma_l \\;\\;\\; where\\; \\sigma_l\\; is \\;the \\;std \\;of \\;layer \\;l \\;as \\;measured \\;on \\;the \\;dense \\;model\n\\]\n\n\nHow do we choose this \\(s\\) multiplier?\n\n\nIn \nLearning both Weights and Connections for Efficient Neural Networks\n the authors write:\n\n\n\n\n\"We used the sensitivity results to find each layer\u2019s threshold: for example, the smallest threshold was applied to the most sensitive layer, which is the first convolutional layer... The pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layer\u2019s weights\n\n\n\n\nSo the results of executing pruning sensitivity analysis on the tensor, gives us a good starting guess at \\(s\\). Sensitivity analysis is an empirical method, and we still have to spend time to hone in on the exact multiplier value.\n\n\nMethod of operation\n\n\n\n\nStart by running a pruning sensitivity analysis on the model. \n\n\nThen use the results to set and tune the threshold of each layer, but instead of using a direct threshold use a sensitivity parameter which is multiplied by the standard-deviation of the initial weight-tensor's distribution.\n\n\n\n\nSchedule\n\n\nIn their \npaper\n Song Han et al. use iterative pruning and change the value of the \\(s\\) multiplier at each pruning step. Distiller's \nSensitivityPruner\n works differently: the value \\(s\\) is set once based on a one-time calculation of the standard-deviation of the tensor (the first time we prune), and relies on the fact that as the tensor is pruned, more elements are \"pulled\" toward the center of the distribution and thus more elements gets pruned.\n\n\nThis actually works quite well as we can see in the diagram below. This is a TensorBoard screen-capture from Alexnet training, which shows how this method starts off pruning very aggressively, but then slowly reduces the pruning rate.\n\n\n\nWe use a simple iterative-pruning schedule such as: \nPrune every second epoch starting at epoch 0, and ending at epoch 38.\n This excerpt from \nalexnet.schedule_sensitivity.yaml\n shows how this iterative schedule is conveyed in Distiller scheduling configuration YAML:\n\n\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n\n\n\nLevel pruner\n\n\nClass \nSparsityLevelParameterPruner\n uses a similar method to go around specifying specific thresholding magnitudes.\nInstead of specifying a threshold magnitude, you specify a target sparsity level (expressed as a fraction, so 0.5 means 50% sparsity). Essentially this pruner also uses a pruning criteria based on the magnitude of each tensor element, but it has the advantage that you can aim for an exact and specific sparsity level.\n\nThis pruner is much more stable compared to \nSensitivityPruner\n because the target sparsity level is not coupled to the actual magnitudes of the elements. Distiller's \nSensitivityPruner\n is unstable because the final sparsity level depends on the convergence pattern of the tensor distribution. Song Han's methodology of using several different values for the multiplier \\(s\\), and the recalculation of the standard-deviation at each pruning phase, probably gives it stability, but requires much more hyper-parameters (this is the reason we have not implemented it thus far). \n\n\nTo set the target sparsity levels, you can once again use pruning sensitivity analysis to make better guesses at the correct sparsity level of each\n\n\nMethod of operation\n\n\n\n\nSort the weights in the specified layer by their absolute values. \n\n\nMask to zero the smallest magnitude weights until the desired sparsity level is reached.\n\n\n\n\nAutomated gradual pruner (AGP)\n\n\nIn \nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n, authors Michael Zhu and Suyog Gupta provide an algorithm to schedule a Level Pruner which Distiller implements in \nAutomatedGradualPruner\n.\n\n\n\n\n\n\"We introduce a new automated gradual pruning algorithm in which the sparsity is increased from an initial sparsity value \\(s_i\\) (usually 0) to a \ufb01nal sparsity value \\(s_f\\) over a span of n pruning steps.\nThe intuition behind this sparsity function in equation (1) is to prune the network rapidly in the initial phase when the redundant connections are\nabundant and gradually reduce the number of weights being pruned each time as there are fewer and fewer weights remaining in the network.\"\"\n\n\n\n\n\n\nYou can play with the scheduling parameters in the \nagp_schedule.ipynb notebook\n.\n\n\nThe authors describe AGP:\n\n\n\n\n\n\nOur automated gradual pruning algorithm prunes the smallest magnitude weights to achieve a preset level of network sparsity.\n\n\nDoesn't require much hyper-parameter tuning\n\n\nShown to perform well across different models\n\n\nDoes not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable.\n\n\n\n\n\n\nRNN pruner\n\n\nThe authors of \nExploring Sparsity in Recurrent Neural Networks\n, 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.\n\n\nDistiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.\n\n\n\n\nStructure pruners\n\n\nElement-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.\n\n\nRanked structure pruner\n\n\nThe \nL1RankedStructureParameterPruner\n pruner calculates the magnitude of some \"structure\", orders all of the structures based on some magnitude function and the \nm\n lowest ranking structures are pruned away. Currently this pruner only performs ranking of filters (3D structures) and it uses the mean of the absolute value of the tensor as the representative of the filter magnitude. The absolute mean does not depend on the size of the filter, so it is easier to use compared to just using the \\(L_1\\)-norm of the structure, and at the same time it is a good proxy of the \\(L_1\\)-norm.\n\n\nIn \nPruning Filters for Efficient ConvNets\n the authors use filter ranking, with \none-shot pruning\n followed by fine-tuning. The authors of \nExploiting Sparseness in Deep Neural Networks for Large Vocabulary Speech Recognition\n also use a one-shot pruning schedule, for fully-connected layers, and they provide an explanation:\n\n\n\n\nFirst, after sweeping through the full training set several times the weights become relatively stable \u2014 they tend to remain either large or small magnitudes. Second, in a stabilized model, the importance of the connection is approximated well by the magnitudes of the weights (times the magnitudes of the corresponding input values, but these are relatively uniform within each layer since on the input layer, features are normalized to zero-mean and unit-variance, and hidden-layer values are probabilities)\n\n\n\n\nActivation-influenced pruner\n\n\nThe motivation for this pruner, is that if a feature-map produces very small activations, then this feature-map is not very important, and can be pruned away.\n- \nStatus: not implemented", + "location": "/algo_pruning/index.html", + "text": "Weights pruning algorithms\n\n\n\n\nMagnitude pruner\n\n\nThis is the most basic pruner: it applies a thresholding function, \\(thresh(.)\\), on each element, \\(w_i\\), of a weights tensor. A different threshold can be used for each layer's weights tensor.\n\nBecause the threshold is applied on individual elements, this pruner belongs to the element-wise pruning algorithm family.\n\n\n\\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]\n\n\nSensitivity pruner\n\n\nFinding a threshold magnitude per layer is daunting, especially since each layer's elements have different average absolute values. We can take advantage of the fact that the weights of convolutional and fully connected layers exhibit a Gaussian distribution with a mean value roughly zero, to avoid using a direct threshold based on the values of each specific tensor.\n\n\nThe diagram below shows the distribution the weights tensor of the first convolutional layer, and first fully-connected layer in TorchVision's pre-trained Alexnet model. You can see that they have an approximate Gaussian distribution.\n\n\n \n\n\nThe distributions of Alexnet conv1 and fc1 layers\n\n\nWe use the standard deviation of the weights tensor as a sort of normalizing factor between the different weights tensors. For example, if a tensor is Normally distributed, then about 68% of the elements have an absolute value less than the standard deviation (\\(\\sigma\\)) of the tensor. Thus, if we set the threshold to \\(s*\\sigma\\), then basically we are thresholding \\(s * 68\\%\\) of the tensor elements. \n\n\n\\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]\n\n\n\\[\n\\lambda = s * \\sigma_l \\;\\;\\; where\\; \\sigma_l\\; is \\;the \\;std \\;of \\;layer \\;l \\;as \\;measured \\;on \\;the \\;dense \\;model\n\\]\n\n\nHow do we choose this \\(s\\) multiplier?\n\n\nIn \nLearning both Weights and Connections for Efficient Neural Networks\n the authors write:\n\n\n\n\n\"We used the sensitivity results to find each layer\u2019s threshold: for example, the smallest threshold was applied to the most sensitive layer, which is the first convolutional layer... The pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layer\u2019s weights\n\n\n\n\nSo the results of executing pruning sensitivity analysis on the tensor, gives us a good starting guess at \\(s\\). Sensitivity analysis is an empirical method, and we still have to spend time to hone in on the exact multiplier value.\n\n\nMethod of operation\n\n\n\n\nStart by running a pruning sensitivity analysis on the model. \n\n\nThen use the results to set and tune the threshold of each layer, but instead of using a direct threshold use a sensitivity parameter which is multiplied by the standard-deviation of the initial weight-tensor's distribution.\n\n\n\n\nSchedule\n\n\nIn their \npaper\n Song Han et al. use iterative pruning and change the value of the \\(s\\) multiplier at each pruning step. Distiller's \nSensitivityPruner\n works differently: the value \\(s\\) is set once based on a one-time calculation of the standard-deviation of the tensor (the first time we prune), and relies on the fact that as the tensor is pruned, more elements are \"pulled\" toward the center of the distribution and thus more elements gets pruned.\n\n\nThis actually works quite well as we can see in the diagram below. This is a TensorBoard screen-capture from Alexnet training, which shows how this method starts off pruning very aggressively, but then slowly reduces the pruning rate.\n\n\n\nWe use a simple iterative-pruning schedule such as: \nPrune every second epoch starting at epoch 0, and ending at epoch 38.\n This excerpt from \nalexnet.schedule_sensitivity.yaml\n shows how this iterative schedule is conveyed in Distiller scheduling configuration YAML:\n\n\npruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2\n\n\n\n\nLevel pruner\n\n\nClass \nSparsityLevelParameterPruner\n uses a similar method to go around specifying specific thresholding magnitudes.\nInstead of specifying a threshold magnitude, you specify a target sparsity level (expressed as a fraction, so 0.5 means 50% sparsity). Essentially this pruner also uses a pruning criteria based on the magnitude of each tensor element, but it has the advantage that you can aim for an exact and specific sparsity level.\n\nThis pruner is much more stable compared to \nSensitivityPruner\n because the target sparsity level is not coupled to the actual magnitudes of the elements. Distiller's \nSensitivityPruner\n is unstable because the final sparsity level depends on the convergence pattern of the tensor distribution. Song Han's methodology of using several different values for the multiplier \\(s\\), and the recalculation of the standard-deviation at each pruning phase, probably gives it stability, but requires much more hyper-parameters (this is the reason we have not implemented it thus far). \n\n\nTo set the target sparsity levels, you can once again use pruning sensitivity analysis to make better guesses at the correct sparsity level of each\n\n\nMethod of operation\n\n\n\n\nSort the weights in the specified layer by their absolute values. \n\n\nMask to zero the smallest magnitude weights until the desired sparsity level is reached.\n\n\n\n\nAutomated gradual pruner (AGP)\n\n\nIn \nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n, authors Michael Zhu and Suyog Gupta provide an algorithm to schedule a Level Pruner which Distiller implements in \nAutomatedGradualPruner\n.\n\n\n\n\n\n\"We introduce a new automated gradual pruning algorithm in which the sparsity is increased from an initial sparsity value \\(s_i\\) (usually 0) to a \ufb01nal sparsity value \\(s_f\\) over a span of n pruning steps.\nThe intuition behind this sparsity function in equation (1) is to prune the network rapidly in the initial phase when the redundant connections are\nabundant and gradually reduce the number of weights being pruned each time as there are fewer and fewer weights remaining in the network.\"\"\n\n\n\n\n\n\nYou can play with the scheduling parameters in the \nagp_schedule.ipynb notebook\n.\n\n\nThe authors describe AGP:\n\n\n\n\n\n\nOur automated gradual pruning algorithm prunes the smallest magnitude weights to achieve a preset level of network sparsity.\n\n\nDoesn't require much hyper-parameter tuning\n\n\nShown to perform well across different models\n\n\nDoes not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable.\n\n\n\n\n\n\nRNN pruner\n\n\nThe authors of \nExploring Sparsity in Recurrent Neural Networks\n, 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.\n\n\nDistiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.\n\n\n\n\nStructure pruners\n\n\nElement-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.\n\n\nRanked structure pruner\n\n\nThe \nL1RankedStructureParameterPruner\n pruner calculates the magnitude of some \"structure\", orders all of the structures based on some magnitude function and the \nm\n lowest ranking structures are pruned away. Currently this pruner only performs ranking of filters (3D structures) and it uses the mean of the absolute value of the tensor as the representative of the filter magnitude. The absolute mean does not depend on the size of the filter, so it is easier to use compared to just using the \\(L_1\\)-norm of the structure, and at the same time it is a good proxy of the \\(L_1\\)-norm.\n\n\nIn \nPruning Filters for Efficient ConvNets\n the authors use filter ranking, with \none-shot pruning\n followed by fine-tuning. The authors of \nExploiting Sparseness in Deep Neural Networks for Large Vocabulary Speech Recognition\n also use a one-shot pruning schedule, for fully-connected layers, and they provide an explanation:\n\n\n\n\nFirst, after sweeping through the full training set several times the weights become relatively stable \u2014 they tend to remain either large or small magnitudes. Second, in a stabilized model, the importance of the connection is approximated well by the magnitudes of the weights (times the magnitudes of the corresponding input values, but these are relatively uniform within each layer since on the input layer, features are normalized to zero-mean and unit-variance, and hidden-layer values are probabilities)\n\n\n\n\nActivation-influenced pruner\n\n\nThe motivation for this pruner, is that if a feature-map produces very small activations, then this feature-map is not very important, and can be pruned away.\n- \nStatus: not implemented", "title": "Pruning" - }, + }, { - "location": "/algo_pruning/index.html#weights-pruning-algorithms", - "text": "", + "location": "/algo_pruning/index.html#weights-pruning-algorithms", + "text": "", "title": "Weights pruning algorithms" - }, + }, { - "location": "/algo_pruning/index.html#magnitude-pruner", - "text": "This is the most basic pruner: it applies a thresholding function, \\(thresh(.)\\), on each element, \\(w_i\\), of a weights tensor. A different threshold can be used for each layer's weights tensor. \nBecause the threshold is applied on individual elements, this pruner belongs to the element-wise pruning algorithm family. \\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]", + "location": "/algo_pruning/index.html#magnitude-pruner", + "text": "This is the most basic pruner: it applies a thresholding function, \\(thresh(.)\\), on each element, \\(w_i\\), of a weights tensor. A different threshold can be used for each layer's weights tensor. \nBecause the threshold is applied on individual elements, this pruner belongs to the element-wise pruning algorithm family. \\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\]", "title": "Magnitude pruner" - }, + }, { - "location": "/algo_pruning/index.html#sensitivity-pruner", - "text": "Finding a threshold magnitude per layer is daunting, especially since each layer's elements have different average absolute values. We can take advantage of the fact that the weights of convolutional and fully connected layers exhibit a Gaussian distribution with a mean value roughly zero, to avoid using a direct threshold based on the values of each specific tensor. \nThe diagram below shows the distribution the weights tensor of the first convolutional layer, and first fully-connected layer in TorchVision's pre-trained Alexnet model. You can see that they have an approximate Gaussian distribution. The distributions of Alexnet conv1 and fc1 layers We use the standard deviation of the weights tensor as a sort of normalizing factor between the different weights tensors. For example, if a tensor is Normally distributed, then about 68% of the elements have an absolute value less than the standard deviation (\\(\\sigma\\)) of the tensor. Thus, if we set the threshold to \\(s*\\sigma\\), then basically we are thresholding \\(s * 68\\%\\) of the tensor elements. \\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\] \\[\n\\lambda = s * \\sigma_l \\;\\;\\; where\\; \\sigma_l\\; is \\;the \\;std \\;of \\;layer \\;l \\;as \\;measured \\;on \\;the \\;dense \\;model\n\\] How do we choose this \\(s\\) multiplier? In Learning both Weights and Connections for Efficient Neural Networks the authors write: \"We used the sensitivity results to find each layer\u2019s threshold: for example, the smallest threshold was applied to the most sensitive layer, which is the first convolutional layer... The pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layer\u2019s weights So the results of executing pruning sensitivity analysis on the tensor, gives us a good starting guess at \\(s\\). Sensitivity analysis is an empirical method, and we still have to spend time to hone in on the exact multiplier value.", + "location": "/algo_pruning/index.html#sensitivity-pruner", + "text": "Finding a threshold magnitude per layer is daunting, especially since each layer's elements have different average absolute values. We can take advantage of the fact that the weights of convolutional and fully connected layers exhibit a Gaussian distribution with a mean value roughly zero, to avoid using a direct threshold based on the values of each specific tensor. \nThe diagram below shows the distribution the weights tensor of the first convolutional layer, and first fully-connected layer in TorchVision's pre-trained Alexnet model. You can see that they have an approximate Gaussian distribution. The distributions of Alexnet conv1 and fc1 layers We use the standard deviation of the weights tensor as a sort of normalizing factor between the different weights tensors. For example, if a tensor is Normally distributed, then about 68% of the elements have an absolute value less than the standard deviation (\\(\\sigma\\)) of the tensor. Thus, if we set the threshold to \\(s*\\sigma\\), then basically we are thresholding \\(s * 68\\%\\) of the tensor elements. \\[ thresh(w_i)=\\left\\lbrace\n\\matrix{{{w_i: \\; if \\;|w_i| \\; \\gt}\\;\\lambda}\\cr {0: \\; if \\; |w_i| \\leq \\lambda} }\n\\right\\rbrace \\] \\[\n\\lambda = s * \\sigma_l \\;\\;\\; where\\; \\sigma_l\\; is \\;the \\;std \\;of \\;layer \\;l \\;as \\;measured \\;on \\;the \\;dense \\;model\n\\] How do we choose this \\(s\\) multiplier? In Learning both Weights and Connections for Efficient Neural Networks the authors write: \"We used the sensitivity results to find each layer\u2019s threshold: for example, the smallest threshold was applied to the most sensitive layer, which is the first convolutional layer... The pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layer\u2019s weights So the results of executing pruning sensitivity analysis on the tensor, gives us a good starting guess at \\(s\\). Sensitivity analysis is an empirical method, and we still have to spend time to hone in on the exact multiplier value.", "title": "Sensitivity pruner" - }, + }, { - "location": "/algo_pruning/index.html#method-of-operation", - "text": "Start by running a pruning sensitivity analysis on the model. Then use the results to set and tune the threshold of each layer, but instead of using a direct threshold use a sensitivity parameter which is multiplied by the standard-deviation of the initial weight-tensor's distribution.", + "location": "/algo_pruning/index.html#method-of-operation", + "text": "Start by running a pruning sensitivity analysis on the model. Then use the results to set and tune the threshold of each layer, but instead of using a direct threshold use a sensitivity parameter which is multiplied by the standard-deviation of the initial weight-tensor's distribution.", "title": "Method of operation" - }, + }, { - "location": "/algo_pruning/index.html#schedule", - "text": "In their paper Song Han et al. use iterative pruning and change the value of the \\(s\\) multiplier at each pruning step. Distiller's SensitivityPruner works differently: the value \\(s\\) is set once based on a one-time calculation of the standard-deviation of the tensor (the first time we prune), and relies on the fact that as the tensor is pruned, more elements are \"pulled\" toward the center of the distribution and thus more elements gets pruned. This actually works quite well as we can see in the diagram below. This is a TensorBoard screen-capture from Alexnet training, which shows how this method starts off pruning very aggressively, but then slowly reduces the pruning rate. We use a simple iterative-pruning schedule such as: Prune every second epoch starting at epoch 0, and ending at epoch 38. This excerpt from alexnet.schedule_sensitivity.yaml shows how this iterative schedule is conveyed in Distiller scheduling configuration YAML: pruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2", + "location": "/algo_pruning/index.html#schedule", + "text": "In their paper Song Han et al. use iterative pruning and change the value of the \\(s\\) multiplier at each pruning step. Distiller's SensitivityPruner works differently: the value \\(s\\) is set once based on a one-time calculation of the standard-deviation of the tensor (the first time we prune), and relies on the fact that as the tensor is pruned, more elements are \"pulled\" toward the center of the distribution and thus more elements gets pruned. This actually works quite well as we can see in the diagram below. This is a TensorBoard screen-capture from Alexnet training, which shows how this method starts off pruning very aggressively, but then slowly reduces the pruning rate. We use a simple iterative-pruning schedule such as: Prune every second epoch starting at epoch 0, and ending at epoch 38. This excerpt from alexnet.schedule_sensitivity.yaml shows how this iterative schedule is conveyed in Distiller scheduling configuration YAML: pruners:\n my_pruner:\n class: 'SensitivityPruner'\n sensitivities:\n 'features.module.0.weight': 0.25\n 'features.module.3.weight': 0.35\n 'features.module.6.weight': 0.40\n 'features.module.8.weight': 0.45\n 'features.module.10.weight': 0.55\n 'classifier.1.weight': 0.875\n 'classifier.4.weight': 0.875\n 'classifier.6.weight': 0.625\n\npolicies:\n - pruner:\n instance_name : 'my_pruner'\n starting_epoch: 0\n ending_epoch: 38\n frequency: 2", "title": "Schedule" - }, + }, { - "location": "/algo_pruning/index.html#level-pruner", - "text": "Class SparsityLevelParameterPruner uses a similar method to go around specifying specific thresholding magnitudes.\nInstead of specifying a threshold magnitude, you specify a target sparsity level (expressed as a fraction, so 0.5 means 50% sparsity). Essentially this pruner also uses a pruning criteria based on the magnitude of each tensor element, but it has the advantage that you can aim for an exact and specific sparsity level. \nThis pruner is much more stable compared to SensitivityPruner because the target sparsity level is not coupled to the actual magnitudes of the elements. Distiller's SensitivityPruner is unstable because the final sparsity level depends on the convergence pattern of the tensor distribution. Song Han's methodology of using several different values for the multiplier \\(s\\), and the recalculation of the standard-deviation at each pruning phase, probably gives it stability, but requires much more hyper-parameters (this is the reason we have not implemented it thus far). To set the target sparsity levels, you can once again use pruning sensitivity analysis to make better guesses at the correct sparsity level of each", + "location": "/algo_pruning/index.html#level-pruner", + "text": "Class SparsityLevelParameterPruner uses a similar method to go around specifying specific thresholding magnitudes.\nInstead of specifying a threshold magnitude, you specify a target sparsity level (expressed as a fraction, so 0.5 means 50% sparsity). Essentially this pruner also uses a pruning criteria based on the magnitude of each tensor element, but it has the advantage that you can aim for an exact and specific sparsity level. \nThis pruner is much more stable compared to SensitivityPruner because the target sparsity level is not coupled to the actual magnitudes of the elements. Distiller's SensitivityPruner is unstable because the final sparsity level depends on the convergence pattern of the tensor distribution. Song Han's methodology of using several different values for the multiplier \\(s\\), and the recalculation of the standard-deviation at each pruning phase, probably gives it stability, but requires much more hyper-parameters (this is the reason we have not implemented it thus far). To set the target sparsity levels, you can once again use pruning sensitivity analysis to make better guesses at the correct sparsity level of each", "title": "Level pruner" - }, + }, { - "location": "/algo_pruning/index.html#method-of-operation_1", - "text": "Sort the weights in the specified layer by their absolute values. Mask to zero the smallest magnitude weights until the desired sparsity level is reached.", + "location": "/algo_pruning/index.html#method-of-operation_1", + "text": "Sort the weights in the specified layer by their absolute values. Mask to zero the smallest magnitude weights until the desired sparsity level is reached.", "title": "Method of operation" - }, + }, { - "location": "/algo_pruning/index.html#automated-gradual-pruner-agp", - "text": "In To prune, or not to prune: exploring the efficacy of pruning for model compression , authors Michael Zhu and Suyog Gupta provide an algorithm to schedule a Level Pruner which Distiller implements in AutomatedGradualPruner . \"We introduce a new automated gradual pruning algorithm in which the sparsity is increased from an initial sparsity value \\(s_i\\) (usually 0) to a \ufb01nal sparsity value \\(s_f\\) over a span of n pruning steps.\nThe intuition behind this sparsity function in equation (1) is to prune the network rapidly in the initial phase when the redundant connections are\nabundant and gradually reduce the number of weights being pruned each time as there are fewer and fewer weights remaining in the network.\"\" You can play with the scheduling parameters in the agp_schedule.ipynb notebook . The authors describe AGP: Our automated gradual pruning algorithm prunes the smallest magnitude weights to achieve a preset level of network sparsity. Doesn't require much hyper-parameter tuning Shown to perform well across different models Does not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable.", + "location": "/algo_pruning/index.html#automated-gradual-pruner-agp", + "text": "In To prune, or not to prune: exploring the efficacy of pruning for model compression , authors Michael Zhu and Suyog Gupta provide an algorithm to schedule a Level Pruner which Distiller implements in AutomatedGradualPruner . \"We introduce a new automated gradual pruning algorithm in which the sparsity is increased from an initial sparsity value \\(s_i\\) (usually 0) to a \ufb01nal sparsity value \\(s_f\\) over a span of n pruning steps.\nThe intuition behind this sparsity function in equation (1) is to prune the network rapidly in the initial phase when the redundant connections are\nabundant and gradually reduce the number of weights being pruned each time as there are fewer and fewer weights remaining in the network.\"\" You can play with the scheduling parameters in the agp_schedule.ipynb notebook . The authors describe AGP: Our automated gradual pruning algorithm prunes the smallest magnitude weights to achieve a preset level of network sparsity. Doesn't require much hyper-parameter tuning Shown to perform well across different models Does not make any assumptions about the structure of the network or its constituent layers, and is therefore more generally applicable.", "title": "Automated gradual pruner (AGP)" - }, + }, { - "location": "/algo_pruning/index.html#rnn-pruner", - "text": "The authors of Exploring Sparsity in Recurrent Neural Networks , 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. Distiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.", + "location": "/algo_pruning/index.html#rnn-pruner", + "text": "The authors of Exploring Sparsity in Recurrent Neural Networks , 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. Distiller's distiller.pruning.BaiduRNNPruner class implements this pruning algorithm.", "title": "RNN pruner" - }, + }, { - "location": "/algo_pruning/index.html#structure-pruners", - "text": "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.", + "location": "/algo_pruning/index.html#structure-pruners", + "text": "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.", "title": "Structure pruners" - }, + }, { - "location": "/algo_pruning/index.html#ranked-structure-pruner", - "text": "The L1RankedStructureParameterPruner pruner calculates the magnitude of some \"structure\", orders all of the structures based on some magnitude function and the m lowest ranking structures are pruned away. Currently this pruner only performs ranking of filters (3D structures) and it uses the mean of the absolute value of the tensor as the representative of the filter magnitude. The absolute mean does not depend on the size of the filter, so it is easier to use compared to just using the \\(L_1\\)-norm of the structure, and at the same time it is a good proxy of the \\(L_1\\)-norm. In Pruning Filters for Efficient ConvNets the authors use filter ranking, with one-shot pruning followed by fine-tuning. The authors of Exploiting Sparseness in Deep Neural Networks for Large Vocabulary Speech Recognition also use a one-shot pruning schedule, for fully-connected layers, and they provide an explanation: First, after sweeping through the full training set several times the weights become relatively stable \u2014 they tend to remain either large or small magnitudes. Second, in a stabilized model, the importance of the connection is approximated well by the magnitudes of the weights (times the magnitudes of the corresponding input values, but these are relatively uniform within each layer since on the input layer, features are normalized to zero-mean and unit-variance, and hidden-layer values are probabilities)", + "location": "/algo_pruning/index.html#ranked-structure-pruner", + "text": "The L1RankedStructureParameterPruner pruner calculates the magnitude of some \"structure\", orders all of the structures based on some magnitude function and the m lowest ranking structures are pruned away. Currently this pruner only performs ranking of filters (3D structures) and it uses the mean of the absolute value of the tensor as the representative of the filter magnitude. The absolute mean does not depend on the size of the filter, so it is easier to use compared to just using the \\(L_1\\)-norm of the structure, and at the same time it is a good proxy of the \\(L_1\\)-norm. In Pruning Filters for Efficient ConvNets the authors use filter ranking, with one-shot pruning followed by fine-tuning. The authors of Exploiting Sparseness in Deep Neural Networks for Large Vocabulary Speech Recognition also use a one-shot pruning schedule, for fully-connected layers, and they provide an explanation: First, after sweeping through the full training set several times the weights become relatively stable \u2014 they tend to remain either large or small magnitudes. Second, in a stabilized model, the importance of the connection is approximated well by the magnitudes of the weights (times the magnitudes of the corresponding input values, but these are relatively uniform within each layer since on the input layer, features are normalized to zero-mean and unit-variance, and hidden-layer values are probabilities)", "title": "Ranked structure pruner" - }, + }, { - "location": "/algo_pruning/index.html#activation-influenced-pruner", - "text": "The motivation for this pruner, is that if a feature-map produces very small activations, then this feature-map is not very important, and can be pruned away.\n- Status: not implemented", + "location": "/algo_pruning/index.html#activation-influenced-pruner", + "text": "The motivation for this pruner, is that if a feature-map produces very small activations, then this feature-map is not very important, and can be pruned away.\n- Status: not implemented", "title": "Activation-influenced pruner" - }, + }, { - "location": "/algo_quantization/index.html", - "text": "Quantization Algorithms\n\n\nSymmetric Linear Quantization\n\n\nIn this method, a float value is quantized by multiplying with a numeric constant (the \nscale factor\n), hence it is \nLinear\n. We use a signed integer to represent the quantized range, with no quantization bias (or \"offset\") used. As a result, the floating-point range considered for quantization is \nsymmetric\n with respect to zero.\n\nIn the current implementation the scale factor is chosen so that the entire range of the floating-point tensor is quantized (we do not attempt to remove outliers).\n\nLet us denote the original floating-point tensor by \nx_f\n, the quantized tensor by \nx_q\n, the scale factor by \nq_x\n and the number of bits used for quantization by \nn\n. Then, we get:\n\nq_x = \\frac{2^{n-1}-1}{\\max|x|}\n\n\nx_q = round(q_x x_f)\n\n(The \nround\n operation is round-to-nearest-integer) \n\n\nLet's see how a \nconvolution\n or \nfully-connected (FC)\n layer is quantized using this method: (we denote input, output, weights and bias with \nx, y, w\n and \nb\n respectively)\n\ny_f = \\sum{x_f w_f} + b_f = \\sum{\\frac{x_q}{q_x} \\frac{w_q}{q_w}} + \\frac{b_q}{q_b} = \\frac{1}{q_x q_w} \\sum{(x_q w_q + \\frac{q_b}{q_x q_w}b_q)}\n\n\ny_q = round(q_y y_f) = round(\\frac{q_y}{q_x q_w} \\sum{(x_q w_q + \\frac{q_b}{q_x q_w}b_q)})\n\nNote how the bias has to be re-scaled to match the scale of the summation.\n\n\nImplementation\n\n\nWe've implemented \nconvolution\n and \nFC\n using this method. \n\n\n\n\nThey are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. \n\n\nAll other layers are unaffected and are executed using their original FP32 implementation. \n\n\nFor weights and bias the scale factor is determined once at quantization setup (\"offline\"), and for activations it is determined dynamically at runtime (\"online\"). \n\n\nImportant note:\n Currently, this method is implemented as \ninference only\n, with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with \nn < 8\n is likely to lead to severe accuracy degradation for any non-trivial workload.", + "location": "/algo_quantization/index.html", + "text": "Quantization Algorithms\n\n\nThe following quantization methods are currently implemented in Distiller:\n\n\nDoReFa\n\n\n(As proposed in \nDoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients\n) \n\n\nIn this method, we first define the quantization function \nquantize_k\n, which takes a real value \na_f \\in [0, 1]\n and outputs a discrete-valued \na_q \\in \\left\\{ \\frac{0}{2^k-1}, \\frac{1}{2^k-1}, ... , \\frac{2^k-1}{2^k-1} \\right\\}\n, where \nk\n is the number of bits used for quantization.\n\n\n\n\na_q = quantize_k(a_f) = \\frac{1}{2^k-1} round \\left( \\left(2^k - 1 \\right) a_f \\right)\n\n\n\n\nActivations are clipped to the \n[0, 1]\n range and then quantized as follows:\n\n\n\n\nx_q = quantize_k(x_f)\n\n\n\n\nFor weights, we define the following function \nf\n, which takes an unbounded real valued input and outputs a real value in \n[0, 1]\n:\n\n\n\n\nf(w) = \\frac{tanh(w)}{2 max(|tanh(w)|)} + \\frac{1}{2} \n\n\n\n\nNow we can use \nquantize_k\n to get quantized weight values, as follows:\n\n\n\n\nw_q = 2 quantize_k \\left( f(w_f) \\right) - 1\n\n\n\n\nThis method requires training the model with quantization, as discussed \nhere\n. Use the \nDorefaQuantizer\n class to transform an existing model to a model suitable for training with quantization using DoReFa.\n\n\nNotes:\n\n\n\n\nGradients quantization as proposed in the paper is not supported yet.\n\n\nThe paper defines special handling for binary weights which isn't supported in Distiller yet.\n\n\n\n\nWRPN\n\n\n(As proposed in \nWRPN: Wide Reduced-Precision Networks\n) \n\n\nIn this method, activations are clipped to \n[0, 1]\n and quantized as follows (\nk\n is the number of bits used for quantization):\n\n\n\n\nx_q = \\frac{1}{2^k-1} round \\left( \\left(2^k - 1 \\right) x_f \\right)\n\n\n\n\nWeights are clipped to \n[-1, 1]\n and quantized as follows:\n\n\n\n\nw_q = \\frac{1}{2^{k-1}-1} round \\left( \\left(2^{k-1} - 1 \\right)w_f \\right)\n\n\n\n\nNote that \nk-1\n bits are used to quantize weights, leaving one bit for sign.\n\n\nThis method requires training the model with quantization, as discussed \nhere\n. Use the \nWRPNQuantizer\n class to transform an existing model to a model suitable for training with quantization using WRPN.\n\n\nNotes:\n\n\n\n\nThe paper proposed widening of layers as a means to reduce accuracy loss. This isn't implemented as part of \nWRPNQuantizer\n at the moment. To experiment with this, modify your model implementation to have wider layers.\n\n\nThe paper defines special handling for binary weights which isn't supported in Distiller yet.\n\n\n\n\nSymmetric Linear Quantization\n\n\nIn this method, a float value is quantized by multiplying with a numeric constant (the \nscale factor\n), hence it is \nLinear\n. We use a signed integer to represent the quantized range, with no quantization bias (or \"offset\") used. As a result, the floating-point range considered for quantization is \nsymmetric\n with respect to zero.\n\nIn the current implementation the scale factor is chosen so that the entire range of the floating-point tensor is quantized (we do not attempt to remove outliers).\n\nLet us denote the original floating-point tensor by \nx_f\n, the quantized tensor by \nx_q\n, the scale factor by \nq_x\n and the number of bits used for quantization by \nn\n. Then, we get:\n\nq_x = \\frac{2^{n-1}-1}{\\max|x|}\n\n\nx_q = round(q_x x_f)\n\n(The \nround\n operation is round-to-nearest-integer) \n\n\nLet's see how a \nconvolution\n or \nfully-connected (FC)\n layer is quantized using this method: (we denote input, output, weights and bias with \nx, y, w\n and \nb\n respectively)\n\ny_f = \\sum{x_f w_f} + b_f = \\sum{\\frac{x_q}{q_x} \\frac{w_q}{q_w}} + \\frac{b_q}{q_b} = \\frac{1}{q_x q_w} \\sum{ \\left( x_q w_q + \\frac{q_b}{q_x q_w}b_q \\right) }\n\n\ny_q = round(q_y y_f) = round\\left(\\frac{q_y}{q_x q_w} \\sum{ \\left( x_q w_q + \\frac{q_b}{q_x q_w}b_q \\right) } \\right) \n\nNote how the bias has to be re-scaled to match the scale of the summation.\n\n\nImplementation\n\n\nWe've implemented \nconvolution\n and \nFC\n using this method. \n\n\n\n\nThey are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. The wrapper is implemented in the \nRangeLinearQuantParamLayerWrapper\n class. \n\n\nAll other layers are unaffected and are executed using their original FP32 implementation. \n\n\nTo automatically transform an existing model to a quantized model using this method, use the \nSymmetricLinearQuantizer\n class.\n\n\nFor weights and bias the scale factor is determined once at quantization setup (\"offline\"), and for activations it is determined dynamically at runtime (\"online\"). \n\n\nImportant note:\n Currently, this method is implemented as \ninference only\n, with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with \nn < 8\n is likely to lead to severe accuracy degradation for any non-trivial workload.", "title": "Quantization" - }, + }, { - "location": "/algo_quantization/index.html#quantization-algorithms", - "text": "", + "location": "/algo_quantization/index.html#quantization-algorithms", + "text": "The following quantization methods are currently implemented in Distiller:", "title": "Quantization Algorithms" - }, - { - "location": "/algo_quantization/index.html#symmetric-linear-quantization", - "text": "In this method, a float value is quantized by multiplying with a numeric constant (the scale factor ), hence it is Linear . We use a signed integer to represent the quantized range, with no quantization bias (or \"offset\") used. As a result, the floating-point range considered for quantization is symmetric with respect to zero. \nIn the current implementation the scale factor is chosen so that the entire range of the floating-point tensor is quantized (we do not attempt to remove outliers). \nLet us denote the original floating-point tensor by x_f , the quantized tensor by x_q , the scale factor by q_x and the number of bits used for quantization by n . Then, we get: q_x = \\frac{2^{n-1}-1}{\\max|x|} x_q = round(q_x x_f) \n(The round operation is round-to-nearest-integer) Let's see how a convolution or fully-connected (FC) layer is quantized using this method: (we denote input, output, weights and bias with x, y, w and b respectively) y_f = \\sum{x_f w_f} + b_f = \\sum{\\frac{x_q}{q_x} \\frac{w_q}{q_w}} + \\frac{b_q}{q_b} = \\frac{1}{q_x q_w} \\sum{(x_q w_q + \\frac{q_b}{q_x q_w}b_q)} y_q = round(q_y y_f) = round(\\frac{q_y}{q_x q_w} \\sum{(x_q w_q + \\frac{q_b}{q_x q_w}b_q)}) \nNote how the bias has to be re-scaled to match the scale of the summation.", + }, + { + "location": "/algo_quantization/index.html#dorefa", + "text": "(As proposed in DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients ) In this method, we first define the quantization function quantize_k , which takes a real value a_f \\in [0, 1] and outputs a discrete-valued a_q \\in \\left\\{ \\frac{0}{2^k-1}, \\frac{1}{2^k-1}, ... , \\frac{2^k-1}{2^k-1} \\right\\} , where k is the number of bits used for quantization. a_q = quantize_k(a_f) = \\frac{1}{2^k-1} round \\left( \\left(2^k - 1 \\right) a_f \\right) Activations are clipped to the [0, 1] range and then quantized as follows: x_q = quantize_k(x_f) For weights, we define the following function f , which takes an unbounded real valued input and outputs a real value in [0, 1] : f(w) = \\frac{tanh(w)}{2 max(|tanh(w)|)} + \\frac{1}{2} Now we can use quantize_k to get quantized weight values, as follows: w_q = 2 quantize_k \\left( f(w_f) \\right) - 1 This method requires training the model with quantization, as discussed here . Use the DorefaQuantizer class to transform an existing model to a model suitable for training with quantization using DoReFa.", + "title": "DoReFa" + }, + { + "location": "/algo_quantization/index.html#notes", + "text": "Gradients quantization as proposed in the paper is not supported yet. The paper defines special handling for binary weights which isn't supported in Distiller yet.", + "title": "Notes:" + }, + { + "location": "/algo_quantization/index.html#wrpn", + "text": "(As proposed in WRPN: Wide Reduced-Precision Networks ) In this method, activations are clipped to [0, 1] and quantized as follows ( k is the number of bits used for quantization): x_q = \\frac{1}{2^k-1} round \\left( \\left(2^k - 1 \\right) x_f \\right) Weights are clipped to [-1, 1] and quantized as follows: w_q = \\frac{1}{2^{k-1}-1} round \\left( \\left(2^{k-1} - 1 \\right)w_f \\right) Note that k-1 bits are used to quantize weights, leaving one bit for sign. This method requires training the model with quantization, as discussed here . Use the WRPNQuantizer class to transform an existing model to a model suitable for training with quantization using WRPN.", + "title": "WRPN" + }, + { + "location": "/algo_quantization/index.html#notes_1", + "text": "The paper proposed widening of layers as a means to reduce accuracy loss. This isn't implemented as part of WRPNQuantizer at the moment. To experiment with this, modify your model implementation to have wider layers. The paper defines special handling for binary weights which isn't supported in Distiller yet.", + "title": "Notes:" + }, + { + "location": "/algo_quantization/index.html#symmetric-linear-quantization", + "text": "In this method, a float value is quantized by multiplying with a numeric constant (the scale factor ), hence it is Linear . We use a signed integer to represent the quantized range, with no quantization bias (or \"offset\") used. As a result, the floating-point range considered for quantization is symmetric with respect to zero. \nIn the current implementation the scale factor is chosen so that the entire range of the floating-point tensor is quantized (we do not attempt to remove outliers). \nLet us denote the original floating-point tensor by x_f , the quantized tensor by x_q , the scale factor by q_x and the number of bits used for quantization by n . Then, we get: q_x = \\frac{2^{n-1}-1}{\\max|x|} x_q = round(q_x x_f) \n(The round operation is round-to-nearest-integer) Let's see how a convolution or fully-connected (FC) layer is quantized using this method: (we denote input, output, weights and bias with x, y, w and b respectively) y_f = \\sum{x_f w_f} + b_f = \\sum{\\frac{x_q}{q_x} \\frac{w_q}{q_w}} + \\frac{b_q}{q_b} = \\frac{1}{q_x q_w} \\sum{ \\left( x_q w_q + \\frac{q_b}{q_x q_w}b_q \\right) } y_q = round(q_y y_f) = round\\left(\\frac{q_y}{q_x q_w} \\sum{ \\left( x_q w_q + \\frac{q_b}{q_x q_w}b_q \\right) } \\right) \nNote how the bias has to be re-scaled to match the scale of the summation.", "title": "Symmetric Linear Quantization" - }, + }, { - "location": "/algo_quantization/index.html#implementation", - "text": "We've implemented convolution and FC using this method. They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. All other layers are unaffected and are executed using their original FP32 implementation. For weights and bias the scale factor is determined once at quantization setup (\"offline\"), and for activations it is determined dynamically at runtime (\"online\"). Important note: Currently, this method is implemented as inference only , with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with n < 8 is likely to lead to severe accuracy degradation for any non-trivial workload.", + "location": "/algo_quantization/index.html#implementation", + "text": "We've implemented convolution and FC using this method. They are implemented by wrapping the existing PyTorch layers with quantization and de-quantization operations. That is - the computation is done on floating-point tensors, but the values themselves are restricted to integer values. The wrapper is implemented in the RangeLinearQuantParamLayerWrapper class. All other layers are unaffected and are executed using their original FP32 implementation. To automatically transform an existing model to a quantized model using this method, use the SymmetricLinearQuantizer class. For weights and bias the scale factor is determined once at quantization setup (\"offline\"), and for activations it is determined dynamically at runtime (\"online\"). Important note: Currently, this method is implemented as inference only , with no back-propagation functionality. Hence, it can only be used to quantize a pre-trained FP32 model, with no re-training. As such, using it with n < 8 is likely to lead to severe accuracy degradation for any non-trivial workload.", "title": "Implementation" - }, + }, { - "location": "/model_zoo/index.html", - "text": "Distiller Model Zoo\n\n\nHow to contribute models to the Model Zoo\n\n\nWe encourage you to contribute new models to the Model Zoo. We welcome implementations of published papers or of your own work. To assure that models and algorithms shared with others are high-quality, please commit your models with the following:\n\n\n\n\nCommand-line arguments\n\n\nLog files\n\n\nPyTorch model\n\n\n\n\nContents\n\n\nThe Distiller model zoo is not a \"traditional\" model-zoo, because it does not necessarily contain best-in-class compressed models. Instead, the model-zoo contains a number of deep learning models that have been compressed using Distiller following some well-known research papers. These are meant to serve as examples of how Distiller can be used.\n\n\nEach model contains a Distiller schedule detailing how the model was compressed, a PyTorch checkpoint, text logs and TensorBoard logs.\n\n\n\n\ntable, th, td {\n border: 1px solid black;\n}\n\n\n\n\n \n\n \nPaper\n\n \nDataset\n\n \nNetwork\n\n \nMethod & Granularity\n\n \nSchedule\n\n \nFeatures\n\n \n\n \n\n \nLearning both Weights and Connections for Efficient Neural Networks\n\n \nImageNet\n\n \nAlexnet\n\n \nElement-wise pruning\n\n \nIterative; Manual\n\n \nMagnitude thresholding based on a sensitivity quantifier.\nElement-wise sparsity sensitivity analysis\n\n \n\n \n\n \nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n\n \nImageNet\n\n \nMobileNet\n\n \nElement-wise pruning\n\n \nAutomated gradual; Iterative\n\n \nMagnitude thresholding based on target level\n\n \n\n \n\n \nLearning Structured Sparsity in Deep Neural Networks\n\n \nCIFAR10\n\n \nResNet20\n\n \nGroup regularization\n\n \n1.Train with group-lasso\n2.Remove zero groups and fine-tune\n\n \nGroup Lasso regularization. Groups: kernels (2D), channels, filters (3D), layers (4D), vectors (rows, cols)\n\n \n\n \n\n \nPruning Filters for Efficient ConvNets\n\n \nCIFAR10\n\n \nResNet56\n\n \nFilter ranking; guided by sensitivity analysis\n\n \n1.Rank filters\n2. Remove filters and channels\n3.Fine-tune\n\n \nOne-shot ranking and pruning of filters; with network thinning\n \n\n\n\n\nLearning both Weights and Connections for Efficient Neural Networks\n\n\nThis schedule is an example of \"Iterative Pruning\" for Alexnet/Imagent, as described in chapter 3 of Song Han's PhD dissertation: \nEfficient Methods and Hardware for Deep Learning\n and in his paper \nLearning both Weights and Connections for Efficient Neural Networks\n. \n\n\nThe Distiller schedule uses SensitivityPruner which is similar to MagnitudeParameterPruner, but instead of specifying \"raw\" thresholds, it uses a \"sensitivity parameter\". Song Han's paper says that \"the pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layers weights,\" and this is not explained much further. In Distiller, the \"quality parameter\" is referred to as \"sensitivity\" and\nis based on the values learned from performing sensitivity analysis. Using a parameter that is related to the standard deviation is very helpful: under the assumption that the weights tensors are distributed normally, the standard deviation acts as a threshold normalizer.\n\n\nNote that Distiller's implementation deviates slightly from the algorithm Song Han describes in his PhD dissertation, in that the threshold value is set only once. In his PhD dissertation, Song Han describes a growing threshold, at each iteration. This requires n+1 hyper-parameters (n being the number of pruning iterations we use): the threshold and the threshold increase (delta) at each pruning iteration. Distiller's implementation takes advantage of the fact that as pruning progresses, more weights are pulled toward zero, and therefore the threshold \"traps\" more weights. Thus, we can use less hyper-parameters and achieve the same results.\n\n\n\n\nDistiller schedule: \ndistiller/examples/sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\n\nCheckpoint file: \nalexnet.checkpoint.89.pth.tar\n\n\n\n\nResults\n\n\nOur reference is TorchVision's pretrained Alexnet model which has a Top1 accuracy of 56.55 and Top5=79.09. We prune away 88.44% of the parameters and achieve Top1=56.61 and Top5=79.45.\nSong Han prunes 89% of the parameters, which is slightly better than our results.\n\n\nParameters:\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean\n|----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n| 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n| 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n| 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n| 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n| 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n| 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n| 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n| 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:35,357 - ==> Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:32:01,274 - ==> Top1: 56.606 Top5: 79.446 Loss: 1.893\n\n\n\n\nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n\n\nIn their paper Zhu and Gupta, \"compare the accuracy of large, but pruned models (large-sparse) and their\nsmaller, but dense (small-dense) counterparts with identical memory footprint.\"\nThey also \"propose a new gradual pruning technique that is simple and straightforward to apply across a variety of models/datasets with\nminimal tuning.\"\n\n\nThis pruning schedule is implemented by distiller.AutomatedGradualPruner, which increases the sparsity level (expressed as a percentage of zero-valued elements) gradually over several pruning steps. Distiller's implementation only prunes elements once in an epoch (the model is fine-tuned in between pruning events), which is a small deviation from Zhu and Gupta's paper. The research paper specifies the schedule in terms of mini-batches, while our implementation specifies the schedule in terms of epochs. We feel that using epochs performs well, and is more \"stable\", since the number of mini-batches will change, if you change the batch size.\n\n\nImageNet files:\n\n\n\n\nDistiller schedule: \ndistiller/examples/agp-pruning/mobilenet.imagenet.schedule_agp.yaml\n\n\nCheckpoint file: \ncheckpoint.pth.tar\n\n\n\n\nResNet18 files:\n\n\n\n\nDistiller schedule: \ndistiller/examples/agp-pruning/resnet18.schedule_agp.yaml\n\n\nCheckpoint file: \ncheckpoint.pth.tar\n\n\n\n\nResults\n\n\nAs our baseline we used a \npretrained PyTorch MobileNet model\n (width=1) which has Top1=68.848 and Top5=88.740.\n\nIn their paper, Zhu and Gupta prune 50% of the elements of MobileNet (width=1) with a 1.1% drop in accuracy. We pruned about 51.6% of the elements, with virtually no change in the accuracies (Top1: 68.808 and Top5: 88.656). We didn't try to prune more than this, but we do note that the baseline accuracy that we used is almost 2% lower than the accuracy published in the paper. \n\n\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n|----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | module.model.0.0.weight | (32, 3, 3, 3) | 864 | 864 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.14466 | 0.00103 | 0.06508 |\n| 1 | module.model.1.0.weight | (32, 1, 3, 3) | 288 | 288 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.32146 | 0.01020 | 0.12932 |\n| 2 | module.model.1.3.weight | (64, 32, 1, 1) | 2048 | 2048 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11942 | 0.00024 | 0.03627 |\n| 3 | module.model.2.0.weight | (64, 1, 3, 3) | 576 | 576 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.15809 | 0.00543 | 0.11513 |\n| 4 | module.model.2.3.weight | (128, 64, 1, 1) | 8192 | 8192 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08442 | -0.00031 | 0.04182 |\n| 5 | module.model.3.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.16780 | 0.00125 | 0.10545 |\n| 6 | module.model.3.3.weight | (128, 128, 1, 1) | 16384 | 16384 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07126 | -0.00197 | 0.04123 |\n| 7 | module.model.4.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.10182 | 0.00171 | 0.08719 |\n| 8 | module.model.4.3.weight | (256, 128, 1, 1) | 32768 | 13108 | 0.00000 | 0.00000 | 10.15625 | 59.99756 | 12.50000 | 59.99756 | 0.05543 | -0.00002 | 0.02760 |\n| 9 | module.model.5.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.12516 | -0.00288 | 0.08058 |\n| 10 | module.model.5.3.weight | (256, 256, 1, 1) | 65536 | 26215 | 0.00000 | 0.00000 | 12.50000 | 59.99908 | 23.82812 | 59.99908 | 0.04453 | 0.00002 | 0.02271 |\n| 11 | module.model.6.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08024 | 0.00252 | 0.06377 |\n| 12 | module.model.6.3.weight | (512, 256, 1, 1) | 131072 | 52429 | 0.00000 | 0.00000 | 23.82812 | 59.99985 | 14.25781 | 59.99985 | 0.03561 | -0.00057 | 0.01779 |\n| 13 | module.model.7.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11008 | -0.00018 | 0.06829 |\n| 14 | module.model.7.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 14.25781 | 59.99985 | 21.28906 | 59.99985 | 0.02944 | -0.00060 | 0.01515 |\n| 15 | module.model.8.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08258 | 0.00370 | 0.04905 |\n| 16 | module.model.8.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 21.28906 | 59.99985 | 28.51562 | 59.99985 | 0.02865 | -0.00046 | 0.01465 |\n| 17 | module.model.9.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07578 | 0.00468 | 0.04201 |\n| 18 | module.model.9.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 28.51562 | 59.99985 | 23.43750 | 59.99985 | 0.02939 | -0.00044 | 0.01511 |\n| 19 | module.model.10.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07091 | 0.00014 | 0.04306 |\n| 20 | module.model.10.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 24.60938 | 59.99985 | 20.89844 | 59.99985 | 0.03095 | -0.00059 | 0.01672 |\n| 21 | module.model.11.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.05729 | -0.00518 | 0.04267 |\n| 22 | module.model.11.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 20.89844 | 59.99985 | 17.57812 | 59.99985 | 0.03229 | -0.00044 | 0.01797 |\n| 23 | module.model.12.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.04981 | -0.00136 | 0.03967 |\n| 24 | module.model.12.3.weight | (1024, 512, 1, 1) | 524288 | 209716 | 0.00000 | 0.00000 | 16.01562 | 59.99985 | 44.23828 | 59.99985 | 0.02514 | -0.00106 | 0.01278 |\n| 25 | module.model.13.0.weight | (1024, 1, 3, 3) | 9216 | 9216 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.02396 | -0.00949 | 0.01549 |\n| 26 | module.model.13.3.weight | (1024, 1024, 1, 1) | 1048576 | 419431 | 0.00000 | 0.00000 | 44.72656 | 59.99994 | 1.46484 | 59.99994 | 0.01801 | -0.00017 | 0.00931 |\n| 27 | module.fc.weight | (1000, 1024) | 1024000 | 409600 | 1.46484 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 60.00000 | 0.05078 | 0.00271 | 0.02734 |\n| 28 | Total sparsity: | - | 4209088 | 1726917 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 58.97171 | 0.00000 | 0.00000 | 0.00000 |\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\nTotal sparsity: 58.97\n\n--- validate (epoch=199)-----------\n128116 samples (256 per mini-batch)\n==> Top1: 65.337 Top5: 84.984 Loss: 1.494\n\n--- test ---------------------\n50000 samples (256 per mini-batch)\n==> Top1: 68.810 Top5: 88.626 Loss: 1.282\n\n\n\n\n\nLearning Structured Sparsity in Deep Neural Networks\n\n\nThis research paper from the University of Pittsburgh, \"proposes a Structured Sparsity Learning (SSL) method to regularize the structures (i.e., filters, channels, filter shapes, and layer depth) of DNNs. SSL can: (1) learn a compact structure from a bigger DNN to reduce computation cost; (2) obtain a hardware-friendly structured sparsity of DNN to efficiently accelerate the DNN\u2019s evaluation.\"\n\n\nNote that this paper does not use pruning, but instead uses group regularization during the training to force weights towards zero, as a group. We used a schedule which thresholds the regularized elements at a magnitude equal to the regularization strength. At the end of the regularization phase, we save the final sparsity masks generated by the regularization, and exit. Then we load this regularized model, remove the layers corresponding to the zeroed weight tensors (all of a layer's elements have a zero value). \n\n\nBaseline training\n\n\nWe started by training the baseline ResNet20-Cifar dense network since we didn't have a pre-trained model.\n\n\n\n\nDistiller schedule: \ndistiller/examples/ssl/resnet20_cifar_baseline_training.yaml\n\n\nCheckpoint files: \ndistiller/examples/ssl/checkpoints/\n\n\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.3 --epochs=180 --compress=../cifar10/resnet20/baseline_training.yaml -j=1 --deterministic\n\n\n\n\nRegularization\n\n\nThen we started training from scratch again, but this time we used Group Lasso regularization on entire layers:\n\nDistiller schedule: \ndistiller/examples/ssl/ssl_4D-removal_4L_training.yaml\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.4 --epochs=180 --compress=../ssl/ssl_4D-removal_training.yaml -j=1 --deterministic\n\n\n\n\nThe diagram below shows the training of Resnet20/CIFAR10 using Group Lasso regularization on entire layers (in blue) vs. training Resnet20/CIFAR10 baseline (in red). You may notice several interesting things:\n1. The LR-decay policy is the same, but the two sessions start with different initial LR values.\n2. The data-loss of the regularized training follows the same shape as the un-regularized training (baseline), and eventually the two seem to merge.\n3. We see similar behavior in the validation Top1 and Top5 accuracy results, but the regularized training eventually performs better.\n4. In the top right corner we see the behavior of the regularization loss (\nReg Loss\n), which actually increases for some time, until the data-loss has a sharp drop (after ~16K mini-batches), at which point the regularization loss also starts dropping.\n\n\n\nThis \nregularization\n yields 5 layers with zeroed weight tensors. We load this model, remove the 5 layers, and start the fine tuning of the weights. This process of layer removal is specific to ResNet for CIFAR, which we altered by adding code to skip over layers during the forward path. When you export to ONNX, the removed layers do not participate in the forward path, so they don't get incarnated. \n\n\nWe managed to remove 5 of the 16 3x3 convolution layers which dominate the computation time. It's not bad, but we probably could have done better.\n\n\nFine-tuning\n\n\nDuring the \nfine-tuning\n process, because the removed layers do not participate in the forward path, they do not appear in the backward path and are not backpropogated: therefore they are completely disconnected from the network.\n\nWe copy the checkpoint file of the regularized model to \ncheckpoint_trained_4D_regularized_5Lremoved.pth.tar\n.\n\nDistiller schedule: \ndistiller/examples/ssl/ssl_4D-removal_finetuning.yaml\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.1 --epochs=250 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --compress=../ssl/ssl_4D-removal_finetuning.yaml -j=1 --deterministic\n\n\n\n\nResults\n\n\nOur baseline results for ResNet20 Cifar are: Top1=91.450 and Top5=99.750\n\n\nWe used Distiller's GroupLassoRegularizer to remove 5 layers from Resnet20 (CIFAR10) with no degradation of the accuracies.\n\nThe regularized model exhibits really poor classification abilities: \n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --evaluate\n\n=> loading checkpoint ../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar\n best top@1: 90.620\nLoaded compression schedule from checkpoint (epoch 179)\nRemoving layer: module.layer1.0.conv1 [layer=0 block=0 conv=0]\nRemoving layer: module.layer1.0.conv2 [layer=0 block=0 conv=1]\nRemoving layer: module.layer1.1.conv1 [layer=0 block=1 conv=0]\nRemoving layer: module.layer1.1.conv2 [layer=0 block=1 conv=1]\nRemoving layer: module.layer2.2.conv2 [layer=1 block=2 conv=1]\nFiles already downloaded and verified\nFiles already downloaded and verified\nDataset sizes:\n training=45000\n validation=5000\n test=10000\n--- test ---------------------\n10000 samples (256 per mini-batch)\n==> Top1: 22.290 Top5: 68.940 Loss: 5.172\n\n\n\n\nHowever, after fine-tuning, we recovered most of the accuracies loss, but not quite all of it: Top1=91.020 and Top5=99.670\n\n\nWe didn't spend time trying to wrestle with this network, and therefore didn't achieve SSL's published results (which showed that they managed to remove 6 layers and at the same time increase accuracies).\n\n\nPruning Filters for Efficient ConvNets\n\n\nQuoting the authors directly:\n\n\n\n\nWe present an acceleration method for CNNs, where we prune filters from CNNs that are identified as having a small effect on the output accuracy. By removing whole filters in the network together with their connecting feature maps, the computation costs are reduced significantly.\nIn contrast to pruning weights, this approach does not result in sparse connectivity patterns. Hence, it does not need the support of sparse convolution libraries and can work with existing efficient BLAS libraries for dense matrix multiplications.\n\n\n\n\nThe implementation of the research by Hao et al. required us to add filter-pruning sensitivity analysis, and support for \"network thinning\".\n\n\nAfter performing filter-pruning sensitivity analysis to assess which layers are more sensitive to the pruning of filters, we execute distiller.L1RankedStructureParameterPruner once in order to rank the filters of each layer by their L1-norm values, and then we prune the schedule-prescribed sparsity level. \n\n\n\n\nDistiller schedule: \ndistiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_filter_rank.yaml\n\n\nCheckpoint files: \ncheckpoint_finetuned.pth.tar\n\n\n\n\nThe excerpt from the schedule, displayed below, shows how we declare the L1RankedStructureParameterPruner. This class currently ranks filters only, but because in the future this class may support ranking of various structures, you need to specify for each parameter both the target sparsity level, and the structure type ('3D' is filter-wise pruning).\n\n\npruners:\n filter_pruner:\n class: 'L1RankedStructureParameterPruner'\n reg_regims:\n 'module.layer1.0.conv1.weight': [0.6, '3D']\n 'module.layer1.1.conv1.weight': [0.6, '3D']\n 'module.layer1.2.conv1.weight': [0.6, '3D']\n 'module.layer1.3.conv1.weight': [0.6, '3D']\n\n\n\n\nIn the policy, we specify that we want to invoke this pruner once, at epoch 180. Because we are starting from a network which was trained for 180 epochs (see Baseline training below), the filter ranking is performed right at the outset of this schedule.\n\n\npolicies:\n - pruner:\n instance_name: filter_pruner\n epochs: [180]\n\n\n\n\n\nFollowing the pruning, we want to \"physically\" remove the pruned filters from the network, which involves reconfiguring the Convolutional layers and the parameter tensors. When we remove filters from Convolution layer \nn\n we need to perform several changes to the network:\n1. Shrink layer \nn\n's weights tensor, leaving only the \"important\" filters.\n2. Configure layer \nn\n's \n.out_channels\n member to its new, smaller, value.\n3. If a BN layer follows layer \nn\n, then it also needs to be reconfigured and its scale and shift parameter vectors need to be shrunk.\n4. If a Convolution layer follows the BN layer, then it will have less input channels which requires reconfiguration and shrinking of its weights.\n\n\nAll of this is performed by distiller.ResnetCifarFilterRemover which is also scheduled at epoch 180. We call this process \"network thinning\".\n\n\nextensions:\n net_thinner:\n class: 'ResnetCifarFilterRemover'\n thinning_func_str: resnet_cifar_remove_filters\n\n\n\n\n\nNetwork thinning requires us to understand the layer connectivity and data-dependency of the DNN, and we are working on a robust method to perform this. On networks with topologies similar to ResNet (residuals) and GoogLeNet (inception), which have several inputs and outputs to/from Convolution layers, there is extra details to consider.\n\nOur current implementation is specific to certain layers in ResNet and is a bit fragile. We will continue to improve and generalize this.\n\n\nBaseline training\n\n\nWe started by training the baseline ResNet56-Cifar dense network (180 epochs) since we didn't have a pre-trained model.\n\n\n\n\nDistiller schedule: \ndistiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_baseline_training.yaml\n\n\nCheckpoint files: \ncheckpoint.resnet56_cifar_baseline.pth.tar\n\n\n\n\nResults\n\n\nWe trained a ResNet56-Cifar10 network and achieve accuracy results which are on-par with published results:\nTop1: 92.970 and Top5: 99.740.\n\n\nWe used Hao et al.'s algorithm to remove 37.3% of the original convolution MACs, while maintaining virtually the same accuracy as the baseline:\nTop1: 92.830 and Top5: 99.760", + "location": "/model_zoo/index.html", + "text": "Distiller Model Zoo\n\n\nHow to contribute models to the Model Zoo\n\n\nWe encourage you to contribute new models to the Model Zoo. We welcome implementations of published papers or of your own work. To assure that models and algorithms shared with others are high-quality, please commit your models with the following:\n\n\n\n\nCommand-line arguments\n\n\nLog files\n\n\nPyTorch model\n\n\n\n\nContents\n\n\nThe Distiller model zoo is not a \"traditional\" model-zoo, because it does not necessarily contain best-in-class compressed models. Instead, the model-zoo contains a number of deep learning models that have been compressed using Distiller following some well-known research papers. These are meant to serve as examples of how Distiller can be used.\n\n\nEach model contains a Distiller schedule detailing how the model was compressed, a PyTorch checkpoint, text logs and TensorBoard logs.\n\n\n\n\ntable, th, td {\n border: 1px solid black;\n}\n\n\n\n\n \n\n \nPaper\n\n \nDataset\n\n \nNetwork\n\n \nMethod \n Granularity\n\n \nSchedule\n\n \nFeatures\n\n \n\n \n\n \nLearning both Weights and Connections for Efficient Neural Networks\n\n \nImageNet\n\n \nAlexnet\n\n \nElement-wise pruning\n\n \nIterative; Manual\n\n \nMagnitude thresholding based on a sensitivity quantifier.\nElement-wise sparsity sensitivity analysis\n\n \n\n \n\n \nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n\n \nImageNet\n\n \nMobileNet\n\n \nElement-wise pruning\n\n \nAutomated gradual; Iterative\n\n \nMagnitude thresholding based on target level\n\n \n\n \n\n \nLearning Structured Sparsity in Deep Neural Networks\n\n \nCIFAR10\n\n \nResNet20\n\n \nGroup regularization\n\n \n1.Train with group-lasso\n2.Remove zero groups and fine-tune\n\n \nGroup Lasso regularization. Groups: kernels (2D), channels, filters (3D), layers (4D), vectors (rows, cols)\n\n \n\n \n\n \nPruning Filters for Efficient ConvNets\n\n \nCIFAR10\n\n \nResNet56\n\n \nFilter ranking; guided by sensitivity analysis\n\n \n1.Rank filters\n2. Remove filters and channels\n3.Fine-tune\n\n \nOne-shot ranking and pruning of filters; with network thinning\n \n\n\n\n\nLearning both Weights and Connections for Efficient Neural Networks\n\n\nThis schedule is an example of \"Iterative Pruning\" for Alexnet/Imagent, as described in chapter 3 of Song Han's PhD dissertation: \nEfficient Methods and Hardware for Deep Learning\n and in his paper \nLearning both Weights and Connections for Efficient Neural Networks\n. \n\n\nThe Distiller schedule uses SensitivityPruner which is similar to MagnitudeParameterPruner, but instead of specifying \"raw\" thresholds, it uses a \"sensitivity parameter\". Song Han's paper says that \"the pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layers weights,\" and this is not explained much further. In Distiller, the \"quality parameter\" is referred to as \"sensitivity\" and\nis based on the values learned from performing sensitivity analysis. Using a parameter that is related to the standard deviation is very helpful: under the assumption that the weights tensors are distributed normally, the standard deviation acts as a threshold normalizer.\n\n\nNote that Distiller's implementation deviates slightly from the algorithm Song Han describes in his PhD dissertation, in that the threshold value is set only once. In his PhD dissertation, Song Han describes a growing threshold, at each iteration. This requires n+1 hyper-parameters (n being the number of pruning iterations we use): the threshold and the threshold increase (delta) at each pruning iteration. Distiller's implementation takes advantage of the fact that as pruning progresses, more weights are pulled toward zero, and therefore the threshold \"traps\" more weights. Thus, we can use less hyper-parameters and achieve the same results.\n\n\n\n\nDistiller schedule: \ndistiller/examples/sensitivity-pruning/alexnet.schedule_sensitivity.yaml\n\n\nCheckpoint file: \nalexnet.checkpoint.89.pth.tar\n\n\n\n\nResults\n\n\nOur reference is TorchVision's pretrained Alexnet model which has a Top1 accuracy of 56.55 and Top5=79.09. We prune away 88.44% of the parameters and achieve Top1=56.61 and Top5=79.45.\nSong Han prunes 89% of the parameters, which is slightly better than our results.\n\n\nParameters:\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean\n|----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n| 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n| 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n| 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n| 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n| 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n| 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n| 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n| 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:35,357 - ==\n Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:32:01,274 - ==\n Top1: 56.606 Top5: 79.446 Loss: 1.893\n\n\n\n\nTo prune, or not to prune: exploring the efficacy of pruning for model compression\n\n\nIn their paper Zhu and Gupta, \"compare the accuracy of large, but pruned models (large-sparse) and their\nsmaller, but dense (small-dense) counterparts with identical memory footprint.\"\nThey also \"propose a new gradual pruning technique that is simple and straightforward to apply across a variety of models/datasets with\nminimal tuning.\"\n\n\nThis pruning schedule is implemented by distiller.AutomatedGradualPruner, which increases the sparsity level (expressed as a percentage of zero-valued elements) gradually over several pruning steps. Distiller's implementation only prunes elements once in an epoch (the model is fine-tuned in between pruning events), which is a small deviation from Zhu and Gupta's paper. The research paper specifies the schedule in terms of mini-batches, while our implementation specifies the schedule in terms of epochs. We feel that using epochs performs well, and is more \"stable\", since the number of mini-batches will change, if you change the batch size.\n\n\nImageNet files:\n\n\n\n\nDistiller schedule: \ndistiller/examples/agp-pruning/mobilenet.imagenet.schedule_agp.yaml\n\n\nCheckpoint file: \ncheckpoint.pth.tar\n\n\n\n\nResNet18 files:\n\n\n\n\nDistiller schedule: \ndistiller/examples/agp-pruning/resnet18.schedule_agp.yaml\n\n\nCheckpoint file: \ncheckpoint.pth.tar\n\n\n\n\nResults\n\n\nAs our baseline we used a \npretrained PyTorch MobileNet model\n (width=1) which has Top1=68.848 and Top5=88.740.\n\nIn their paper, Zhu and Gupta prune 50% of the elements of MobileNet (width=1) with a 1.1% drop in accuracy. We pruned about 51.6% of the elements, with virtually no change in the accuracies (Top1: 68.808 and Top5: 88.656). We didn't try to prune more than this, but we do note that the baseline accuracy that we used is almost 2% lower than the accuracy published in the paper. \n\n\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n|----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | module.model.0.0.weight | (32, 3, 3, 3) | 864 | 864 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.14466 | 0.00103 | 0.06508 |\n| 1 | module.model.1.0.weight | (32, 1, 3, 3) | 288 | 288 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.32146 | 0.01020 | 0.12932 |\n| 2 | module.model.1.3.weight | (64, 32, 1, 1) | 2048 | 2048 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11942 | 0.00024 | 0.03627 |\n| 3 | module.model.2.0.weight | (64, 1, 3, 3) | 576 | 576 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.15809 | 0.00543 | 0.11513 |\n| 4 | module.model.2.3.weight | (128, 64, 1, 1) | 8192 | 8192 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08442 | -0.00031 | 0.04182 |\n| 5 | module.model.3.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.16780 | 0.00125 | 0.10545 |\n| 6 | module.model.3.3.weight | (128, 128, 1, 1) | 16384 | 16384 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07126 | -0.00197 | 0.04123 |\n| 7 | module.model.4.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.10182 | 0.00171 | 0.08719 |\n| 8 | module.model.4.3.weight | (256, 128, 1, 1) | 32768 | 13108 | 0.00000 | 0.00000 | 10.15625 | 59.99756 | 12.50000 | 59.99756 | 0.05543 | -0.00002 | 0.02760 |\n| 9 | module.model.5.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.12516 | -0.00288 | 0.08058 |\n| 10 | module.model.5.3.weight | (256, 256, 1, 1) | 65536 | 26215 | 0.00000 | 0.00000 | 12.50000 | 59.99908 | 23.82812 | 59.99908 | 0.04453 | 0.00002 | 0.02271 |\n| 11 | module.model.6.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08024 | 0.00252 | 0.06377 |\n| 12 | module.model.6.3.weight | (512, 256, 1, 1) | 131072 | 52429 | 0.00000 | 0.00000 | 23.82812 | 59.99985 | 14.25781 | 59.99985 | 0.03561 | -0.00057 | 0.01779 |\n| 13 | module.model.7.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11008 | -0.00018 | 0.06829 |\n| 14 | module.model.7.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 14.25781 | 59.99985 | 21.28906 | 59.99985 | 0.02944 | -0.00060 | 0.01515 |\n| 15 | module.model.8.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08258 | 0.00370 | 0.04905 |\n| 16 | module.model.8.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 21.28906 | 59.99985 | 28.51562 | 59.99985 | 0.02865 | -0.00046 | 0.01465 |\n| 17 | module.model.9.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07578 | 0.00468 | 0.04201 |\n| 18 | module.model.9.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 28.51562 | 59.99985 | 23.43750 | 59.99985 | 0.02939 | -0.00044 | 0.01511 |\n| 19 | module.model.10.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07091 | 0.00014 | 0.04306 |\n| 20 | module.model.10.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 24.60938 | 59.99985 | 20.89844 | 59.99985 | 0.03095 | -0.00059 | 0.01672 |\n| 21 | module.model.11.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.05729 | -0.00518 | 0.04267 |\n| 22 | module.model.11.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 20.89844 | 59.99985 | 17.57812 | 59.99985 | 0.03229 | -0.00044 | 0.01797 |\n| 23 | module.model.12.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.04981 | -0.00136 | 0.03967 |\n| 24 | module.model.12.3.weight | (1024, 512, 1, 1) | 524288 | 209716 | 0.00000 | 0.00000 | 16.01562 | 59.99985 | 44.23828 | 59.99985 | 0.02514 | -0.00106 | 0.01278 |\n| 25 | module.model.13.0.weight | (1024, 1, 3, 3) | 9216 | 9216 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.02396 | -0.00949 | 0.01549 |\n| 26 | module.model.13.3.weight | (1024, 1024, 1, 1) | 1048576 | 419431 | 0.00000 | 0.00000 | 44.72656 | 59.99994 | 1.46484 | 59.99994 | 0.01801 | -0.00017 | 0.00931 |\n| 27 | module.fc.weight | (1000, 1024) | 1024000 | 409600 | 1.46484 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 60.00000 | 0.05078 | 0.00271 | 0.02734 |\n| 28 | Total sparsity: | - | 4209088 | 1726917 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 58.97171 | 0.00000 | 0.00000 | 0.00000 |\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\nTotal sparsity: 58.97\n\n--- validate (epoch=199)-----------\n128116 samples (256 per mini-batch)\n==\n Top1: 65.337 Top5: 84.984 Loss: 1.494\n\n--- test ---------------------\n50000 samples (256 per mini-batch)\n==\n Top1: 68.810 Top5: 88.626 Loss: 1.282\n\n\n\n\n\nLearning Structured Sparsity in Deep Neural Networks\n\n\nThis research paper from the University of Pittsburgh, \"proposes a Structured Sparsity Learning (SSL) method to regularize the structures (i.e., filters, channels, filter shapes, and layer depth) of DNNs. SSL can: (1) learn a compact structure from a bigger DNN to reduce computation cost; (2) obtain a hardware-friendly structured sparsity of DNN to efficiently accelerate the DNN\u2019s evaluation.\"\n\n\nNote that this paper does not use pruning, but instead uses group regularization during the training to force weights towards zero, as a group. We used a schedule which thresholds the regularized elements at a magnitude equal to the regularization strength. At the end of the regularization phase, we save the final sparsity masks generated by the regularization, and exit. Then we load this regularized model, remove the layers corresponding to the zeroed weight tensors (all of a layer's elements have a zero value). \n\n\nBaseline training\n\n\nWe started by training the baseline ResNet20-Cifar dense network since we didn't have a pre-trained model.\n\n\n\n\nDistiller schedule: \ndistiller/examples/ssl/resnet20_cifar_baseline_training.yaml\n\n\nCheckpoint files: \ndistiller/examples/ssl/checkpoints/\n\n\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.3 --epochs=180 --compress=../cifar10/resnet20/baseline_training.yaml -j=1 --deterministic\n\n\n\n\nRegularization\n\n\nThen we started training from scratch again, but this time we used Group Lasso regularization on entire layers:\n\nDistiller schedule: \ndistiller/examples/ssl/ssl_4D-removal_4L_training.yaml\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.4 --epochs=180 --compress=../ssl/ssl_4D-removal_training.yaml -j=1 --deterministic\n\n\n\n\nThe diagram below shows the training of Resnet20/CIFAR10 using Group Lasso regularization on entire layers (in blue) vs. training Resnet20/CIFAR10 baseline (in red). You may notice several interesting things:\n1. The LR-decay policy is the same, but the two sessions start with different initial LR values.\n2. The data-loss of the regularized training follows the same shape as the un-regularized training (baseline), and eventually the two seem to merge.\n3. We see similar behavior in the validation Top1 and Top5 accuracy results, but the regularized training eventually performs better.\n4. In the top right corner we see the behavior of the regularization loss (\nReg Loss\n), which actually increases for some time, until the data-loss has a sharp drop (after ~16K mini-batches), at which point the regularization loss also starts dropping.\n\n\n\nThis \nregularization\n yields 5 layers with zeroed weight tensors. We load this model, remove the 5 layers, and start the fine tuning of the weights. This process of layer removal is specific to ResNet for CIFAR, which we altered by adding code to skip over layers during the forward path. When you export to ONNX, the removed layers do not participate in the forward path, so they don't get incarnated. \n\n\nWe managed to remove 5 of the 16 3x3 convolution layers which dominate the computation time. It's not bad, but we probably could have done better.\n\n\nFine-tuning\n\n\nDuring the \nfine-tuning\n process, because the removed layers do not participate in the forward path, they do not appear in the backward path and are not backpropogated: therefore they are completely disconnected from the network.\n\nWe copy the checkpoint file of the regularized model to \ncheckpoint_trained_4D_regularized_5Lremoved.pth.tar\n.\n\nDistiller schedule: \ndistiller/examples/ssl/ssl_4D-removal_finetuning.yaml\n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.1 --epochs=250 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --compress=../ssl/ssl_4D-removal_finetuning.yaml -j=1 --deterministic\n\n\n\n\nResults\n\n\nOur baseline results for ResNet20 Cifar are: Top1=91.450 and Top5=99.750\n\n\nWe used Distiller's GroupLassoRegularizer to remove 5 layers from Resnet20 (CIFAR10) with no degradation of the accuracies.\n\nThe regularized model exhibits really poor classification abilities: \n\n\n$ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --evaluate\n\n=\n loading checkpoint ../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar\n best top@1: 90.620\nLoaded compression schedule from checkpoint (epoch 179)\nRemoving layer: module.layer1.0.conv1 [layer=0 block=0 conv=0]\nRemoving layer: module.layer1.0.conv2 [layer=0 block=0 conv=1]\nRemoving layer: module.layer1.1.conv1 [layer=0 block=1 conv=0]\nRemoving layer: module.layer1.1.conv2 [layer=0 block=1 conv=1]\nRemoving layer: module.layer2.2.conv2 [layer=1 block=2 conv=1]\nFiles already downloaded and verified\nFiles already downloaded and verified\nDataset sizes:\n training=45000\n validation=5000\n test=10000\n--- test ---------------------\n10000 samples (256 per mini-batch)\n==\n Top1: 22.290 Top5: 68.940 Loss: 5.172\n\n\n\n\nHowever, after fine-tuning, we recovered most of the accuracies loss, but not quite all of it: Top1=91.020 and Top5=99.670\n\n\nWe didn't spend time trying to wrestle with this network, and therefore didn't achieve SSL's published results (which showed that they managed to remove 6 layers and at the same time increase accuracies).\n\n\nPruning Filters for Efficient ConvNets\n\n\nQuoting the authors directly:\n\n\n\n\nWe present an acceleration method for CNNs, where we prune filters from CNNs that are identified as having a small effect on the output accuracy. By removing whole filters in the network together with their connecting feature maps, the computation costs are reduced significantly.\nIn contrast to pruning weights, this approach does not result in sparse connectivity patterns. Hence, it does not need the support of sparse convolution libraries and can work with existing efficient BLAS libraries for dense matrix multiplications.\n\n\n\n\nThe implementation of the research by Hao et al. required us to add filter-pruning sensitivity analysis, and support for \"network thinning\".\n\n\nAfter performing filter-pruning sensitivity analysis to assess which layers are more sensitive to the pruning of filters, we execute distiller.L1RankedStructureParameterPruner once in order to rank the filters of each layer by their L1-norm values, and then we prune the schedule-prescribed sparsity level. \n\n\n\n\nDistiller schedule: \ndistiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_filter_rank.yaml\n\n\nCheckpoint files: \ncheckpoint_finetuned.pth.tar\n\n\n\n\nThe excerpt from the schedule, displayed below, shows how we declare the L1RankedStructureParameterPruner. This class currently ranks filters only, but because in the future this class may support ranking of various structures, you need to specify for each parameter both the target sparsity level, and the structure type ('3D' is filter-wise pruning).\n\n\npruners:\n filter_pruner:\n class: 'L1RankedStructureParameterPruner'\n reg_regims:\n 'module.layer1.0.conv1.weight': [0.6, '3D']\n 'module.layer1.1.conv1.weight': [0.6, '3D']\n 'module.layer1.2.conv1.weight': [0.6, '3D']\n 'module.layer1.3.conv1.weight': [0.6, '3D']\n\n\n\n\nIn the policy, we specify that we want to invoke this pruner once, at epoch 180. Because we are starting from a network which was trained for 180 epochs (see Baseline training below), the filter ranking is performed right at the outset of this schedule.\n\n\npolicies:\n - pruner:\n instance_name: filter_pruner\n epochs: [180]\n\n\n\n\n\nFollowing the pruning, we want to \"physically\" remove the pruned filters from the network, which involves reconfiguring the Convolutional layers and the parameter tensors. When we remove filters from Convolution layer \nn\n we need to perform several changes to the network:\n1. Shrink layer \nn\n's weights tensor, leaving only the \"important\" filters.\n2. Configure layer \nn\n's \n.out_channels\n member to its new, smaller, value.\n3. If a BN layer follows layer \nn\n, then it also needs to be reconfigured and its scale and shift parameter vectors need to be shrunk.\n4. If a Convolution layer follows the BN layer, then it will have less input channels which requires reconfiguration and shrinking of its weights.\n\n\nAll of this is performed by distiller.ResnetCifarFilterRemover which is also scheduled at epoch 180. We call this process \"network thinning\".\n\n\nextensions:\n net_thinner:\n class: 'ResnetCifarFilterRemover'\n thinning_func_str: resnet_cifar_remove_filters\n\n\n\n\n\nNetwork thinning requires us to understand the layer connectivity and data-dependency of the DNN, and we are working on a robust method to perform this. On networks with topologies similar to ResNet (residuals) and GoogLeNet (inception), which have several inputs and outputs to/from Convolution layers, there is extra details to consider.\n\nOur current implementation is specific to certain layers in ResNet and is a bit fragile. We will continue to improve and generalize this.\n\n\nBaseline training\n\n\nWe started by training the baseline ResNet56-Cifar dense network (180 epochs) since we didn't have a pre-trained model.\n\n\n\n\nDistiller schedule: \ndistiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_baseline_training.yaml\n\n\nCheckpoint files: \ncheckpoint.resnet56_cifar_baseline.pth.tar\n\n\n\n\nResults\n\n\nWe trained a ResNet56-Cifar10 network and achieve accuracy results which are on-par with published results:\nTop1: 92.970 and Top5: 99.740.\n\n\nWe used Hao et al.'s algorithm to remove 37.3% of the original convolution MACs, while maintaining virtually the same accuracy as the baseline:\nTop1: 92.830 and Top5: 99.760", "title": "Model Zoo" - }, + }, { - "location": "/model_zoo/index.html#distiller-model-zoo", - "text": "", + "location": "/model_zoo/index.html#distiller-model-zoo", + "text": "", "title": "Distiller Model Zoo" - }, + }, { - "location": "/model_zoo/index.html#how-to-contribute-models-to-the-model-zoo", - "text": "We encourage you to contribute new models to the Model Zoo. We welcome implementations of published papers or of your own work. To assure that models and algorithms shared with others are high-quality, please commit your models with the following: Command-line arguments Log files PyTorch model", + "location": "/model_zoo/index.html#how-to-contribute-models-to-the-model-zoo", + "text": "We encourage you to contribute new models to the Model Zoo. We welcome implementations of published papers or of your own work. To assure that models and algorithms shared with others are high-quality, please commit your models with the following: Command-line arguments Log files PyTorch model", "title": "How to contribute models to the Model Zoo" - }, + }, { - "location": "/model_zoo/index.html#contents", - "text": "The Distiller model zoo is not a \"traditional\" model-zoo, because it does not necessarily contain best-in-class compressed models. Instead, the model-zoo contains a number of deep learning models that have been compressed using Distiller following some well-known research papers. These are meant to serve as examples of how Distiller can be used. Each model contains a Distiller schedule detailing how the model was compressed, a PyTorch checkpoint, text logs and TensorBoard logs. \ntable, th, td {\n border: 1px solid black;\n} \n \n Paper \n Dataset \n Network \n Method & Granularity \n Schedule \n Features \n \n \n Learning both Weights and Connections for Efficient Neural Networks \n ImageNet \n Alexnet \n Element-wise pruning \n Iterative; Manual \n Magnitude thresholding based on a sensitivity quantifier. Element-wise sparsity sensitivity analysis \n \n \n To prune, or not to prune: exploring the efficacy of pruning for model compression \n ImageNet \n MobileNet \n Element-wise pruning \n Automated gradual; Iterative \n Magnitude thresholding based on target level \n \n \n Learning Structured Sparsity in Deep Neural Networks \n CIFAR10 \n ResNet20 \n Group regularization \n 1.Train with group-lasso 2.Remove zero groups and fine-tune \n Group Lasso regularization. Groups: kernels (2D), channels, filters (3D), layers (4D), vectors (rows, cols) \n \n \n Pruning Filters for Efficient ConvNets \n CIFAR10 \n ResNet56 \n Filter ranking; guided by sensitivity analysis \n 1.Rank filters 2. Remove filters and channels 3.Fine-tune \n One-shot ranking and pruning of filters; with network thinning", + "location": "/model_zoo/index.html#contents", + "text": "The Distiller model zoo is not a \"traditional\" model-zoo, because it does not necessarily contain best-in-class compressed models. Instead, the model-zoo contains a number of deep learning models that have been compressed using Distiller following some well-known research papers. These are meant to serve as examples of how Distiller can be used. Each model contains a Distiller schedule detailing how the model was compressed, a PyTorch checkpoint, text logs and TensorBoard logs. \ntable, th, td {\n border: 1px solid black;\n} \n \n Paper \n Dataset \n Network \n Method Granularity \n Schedule \n Features \n \n \n Learning both Weights and Connections for Efficient Neural Networks \n ImageNet \n Alexnet \n Element-wise pruning \n Iterative; Manual \n Magnitude thresholding based on a sensitivity quantifier. Element-wise sparsity sensitivity analysis \n \n \n To prune, or not to prune: exploring the efficacy of pruning for model compression \n ImageNet \n MobileNet \n Element-wise pruning \n Automated gradual; Iterative \n Magnitude thresholding based on target level \n \n \n Learning Structured Sparsity in Deep Neural Networks \n CIFAR10 \n ResNet20 \n Group regularization \n 1.Train with group-lasso 2.Remove zero groups and fine-tune \n Group Lasso regularization. Groups: kernels (2D), channels, filters (3D), layers (4D), vectors (rows, cols) \n \n \n Pruning Filters for Efficient ConvNets \n CIFAR10 \n ResNet56 \n Filter ranking; guided by sensitivity analysis \n 1.Rank filters 2. Remove filters and channels 3.Fine-tune \n One-shot ranking and pruning of filters; with network thinning", "title": "Contents" - }, + }, { - "location": "/model_zoo/index.html#learning-both-weights-and-connections-for-efficient-neural-networks", - "text": "This schedule is an example of \"Iterative Pruning\" for Alexnet/Imagent, as described in chapter 3 of Song Han's PhD dissertation: Efficient Methods and Hardware for Deep Learning and in his paper Learning both Weights and Connections for Efficient Neural Networks . The Distiller schedule uses SensitivityPruner which is similar to MagnitudeParameterPruner, but instead of specifying \"raw\" thresholds, it uses a \"sensitivity parameter\". Song Han's paper says that \"the pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layers weights,\" and this is not explained much further. In Distiller, the \"quality parameter\" is referred to as \"sensitivity\" and\nis based on the values learned from performing sensitivity analysis. Using a parameter that is related to the standard deviation is very helpful: under the assumption that the weights tensors are distributed normally, the standard deviation acts as a threshold normalizer. Note that Distiller's implementation deviates slightly from the algorithm Song Han describes in his PhD dissertation, in that the threshold value is set only once. In his PhD dissertation, Song Han describes a growing threshold, at each iteration. This requires n+1 hyper-parameters (n being the number of pruning iterations we use): the threshold and the threshold increase (delta) at each pruning iteration. Distiller's implementation takes advantage of the fact that as pruning progresses, more weights are pulled toward zero, and therefore the threshold \"traps\" more weights. Thus, we can use less hyper-parameters and achieve the same results. Distiller schedule: distiller/examples/sensitivity-pruning/alexnet.schedule_sensitivity.yaml Checkpoint file: alexnet.checkpoint.89.pth.tar", + "location": "/model_zoo/index.html#learning-both-weights-and-connections-for-efficient-neural-networks", + "text": "This schedule is an example of \"Iterative Pruning\" for Alexnet/Imagent, as described in chapter 3 of Song Han's PhD dissertation: Efficient Methods and Hardware for Deep Learning and in his paper Learning both Weights and Connections for Efficient Neural Networks . The Distiller schedule uses SensitivityPruner which is similar to MagnitudeParameterPruner, but instead of specifying \"raw\" thresholds, it uses a \"sensitivity parameter\". Song Han's paper says that \"the pruning threshold is chosen as a quality parameter multiplied by the standard deviation of a layers weights,\" and this is not explained much further. In Distiller, the \"quality parameter\" is referred to as \"sensitivity\" and\nis based on the values learned from performing sensitivity analysis. Using a parameter that is related to the standard deviation is very helpful: under the assumption that the weights tensors are distributed normally, the standard deviation acts as a threshold normalizer. Note that Distiller's implementation deviates slightly from the algorithm Song Han describes in his PhD dissertation, in that the threshold value is set only once. In his PhD dissertation, Song Han describes a growing threshold, at each iteration. This requires n+1 hyper-parameters (n being the number of pruning iterations we use): the threshold and the threshold increase (delta) at each pruning iteration. Distiller's implementation takes advantage of the fact that as pruning progresses, more weights are pulled toward zero, and therefore the threshold \"traps\" more weights. Thus, we can use less hyper-parameters and achieve the same results. Distiller schedule: distiller/examples/sensitivity-pruning/alexnet.schedule_sensitivity.yaml Checkpoint file: alexnet.checkpoint.89.pth.tar", "title": "Learning both Weights and Connections for Efficient Neural Networks" - }, + }, { - "location": "/model_zoo/index.html#results", - "text": "Our reference is TorchVision's pretrained Alexnet model which has a Top1 accuracy of 56.55 and Top5=79.09. We prune away 88.44% of the parameters and achieve Top1=56.61 and Top5=79.45.\nSong Han prunes 89% of the parameters, which is slightly better than our results. Parameters:\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean\n|----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n| 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n| 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n| 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n| 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n| 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n| 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n| 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n| 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:35,357 - ==> Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:32:01,274 - ==> Top1: 56.606 Top5: 79.446 Loss: 1.893", + "location": "/model_zoo/index.html#results", + "text": "Our reference is TorchVision's pretrained Alexnet model which has a Top1 accuracy of 56.55 and Top5=79.09. We prune away 88.44% of the parameters and achieve Top1=56.61 and Top5=79.45.\nSong Han prunes 89% of the parameters, which is slightly better than our results. Parameters:\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean\n|----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | features.module.0.weight | (64, 3, 11, 11) | 23232 | 13411 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 42.27359 | 0.14391 | -0.00002 | 0.08805 |\n| 1 | features.module.3.weight | (192, 64, 5, 5) | 307200 | 115560 | 0.00000 | 0.00000 | 0.00000 | 1.91243 | 0.00000 | 62.38281 | 0.04703 | -0.00250 | 0.02289 |\n| 2 | features.module.6.weight | (384, 192, 3, 3) | 663552 | 256565 | 0.00000 | 0.00000 | 0.00000 | 6.18490 | 0.00000 | 61.33445 | 0.03354 | -0.00184 | 0.01803 |\n| 3 | features.module.8.weight | (256, 384, 3, 3) | 884736 | 315065 | 0.00000 | 0.00000 | 0.00000 | 6.96411 | 0.00000 | 64.38881 | 0.02646 | -0.00168 | 0.01422 |\n| 4 | features.module.10.weight | (256, 256, 3, 3) | 589824 | 186938 | 0.00000 | 0.00000 | 0.00000 | 15.49225 | 0.00000 | 68.30614 | 0.02714 | -0.00246 | 0.01409 |\n| 5 | classifier.1.weight | (4096, 9216) | 37748736 | 3398881 | 0.00000 | 0.21973 | 0.00000 | 0.21973 | 0.00000 | 90.99604 | 0.00589 | -0.00020 | 0.00168 |\n| 6 | classifier.4.weight | (4096, 4096) | 16777216 | 1782769 | 0.21973 | 3.46680 | 0.00000 | 3.46680 | 0.00000 | 89.37387 | 0.00849 | -0.00066 | 0.00263 |\n| 7 | classifier.6.weight | (1000, 4096) | 4096000 | 994738 | 3.36914 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 75.71440 | 0.01718 | 0.00030 | 0.00778 |\n| 8 | Total sparsity: | - | 61090496 | 7063928 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 88.43694 | 0.00000 | 0.00000 | 0.00000 |\n+----+---------------------------+------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n 2018-04-04 21:30:52,499 - Total sparsity: 88.44\n\n 2018-04-04 21:30:52,499 - --- validate (epoch=89)-----------\n 2018-04-04 21:30:52,499 - 128116 samples (256 per mini-batch)\n 2018-04-04 21:31:35,357 - == Top1: 51.838 Top5: 74.817 Loss: 2.150\n\n 2018-04-04 21:31:39,251 - --- test ---------------------\n 2018-04-04 21:31:39,252 - 50000 samples (256 per mini-batch)\n 2018-04-04 21:32:01,274 - == Top1: 56.606 Top5: 79.446 Loss: 1.893", "title": "Results" - }, + }, { - "location": "/model_zoo/index.html#to-prune-or-not-to-prune-exploring-the-efficacy-of-pruning-for-model-compression", - "text": "In their paper Zhu and Gupta, \"compare the accuracy of large, but pruned models (large-sparse) and their\nsmaller, but dense (small-dense) counterparts with identical memory footprint.\"\nThey also \"propose a new gradual pruning technique that is simple and straightforward to apply across a variety of models/datasets with\nminimal tuning.\" This pruning schedule is implemented by distiller.AutomatedGradualPruner, which increases the sparsity level (expressed as a percentage of zero-valued elements) gradually over several pruning steps. Distiller's implementation only prunes elements once in an epoch (the model is fine-tuned in between pruning events), which is a small deviation from Zhu and Gupta's paper. The research paper specifies the schedule in terms of mini-batches, while our implementation specifies the schedule in terms of epochs. We feel that using epochs performs well, and is more \"stable\", since the number of mini-batches will change, if you change the batch size. ImageNet files: Distiller schedule: distiller/examples/agp-pruning/mobilenet.imagenet.schedule_agp.yaml Checkpoint file: checkpoint.pth.tar ResNet18 files: Distiller schedule: distiller/examples/agp-pruning/resnet18.schedule_agp.yaml Checkpoint file: checkpoint.pth.tar", + "location": "/model_zoo/index.html#to-prune-or-not-to-prune-exploring-the-efficacy-of-pruning-for-model-compression", + "text": "In their paper Zhu and Gupta, \"compare the accuracy of large, but pruned models (large-sparse) and their\nsmaller, but dense (small-dense) counterparts with identical memory footprint.\"\nThey also \"propose a new gradual pruning technique that is simple and straightforward to apply across a variety of models/datasets with\nminimal tuning.\" This pruning schedule is implemented by distiller.AutomatedGradualPruner, which increases the sparsity level (expressed as a percentage of zero-valued elements) gradually over several pruning steps. Distiller's implementation only prunes elements once in an epoch (the model is fine-tuned in between pruning events), which is a small deviation from Zhu and Gupta's paper. The research paper specifies the schedule in terms of mini-batches, while our implementation specifies the schedule in terms of epochs. We feel that using epochs performs well, and is more \"stable\", since the number of mini-batches will change, if you change the batch size. ImageNet files: Distiller schedule: distiller/examples/agp-pruning/mobilenet.imagenet.schedule_agp.yaml Checkpoint file: checkpoint.pth.tar ResNet18 files: Distiller schedule: distiller/examples/agp-pruning/resnet18.schedule_agp.yaml Checkpoint file: checkpoint.pth.tar", "title": "To prune, or not to prune: exploring the efficacy of pruning for model compression" - }, + }, { - "location": "/model_zoo/index.html#results_1", - "text": "As our baseline we used a pretrained PyTorch MobileNet model (width=1) which has Top1=68.848 and Top5=88.740. \nIn their paper, Zhu and Gupta prune 50% of the elements of MobileNet (width=1) with a 1.1% drop in accuracy. We pruned about 51.6% of the elements, with virtually no change in the accuracies (Top1: 68.808 and Top5: 88.656). We didn't try to prune more than this, but we do note that the baseline accuracy that we used is almost 2% lower than the accuracy published in the paper. +----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n|----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | module.model.0.0.weight | (32, 3, 3, 3) | 864 | 864 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.14466 | 0.00103 | 0.06508 |\n| 1 | module.model.1.0.weight | (32, 1, 3, 3) | 288 | 288 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.32146 | 0.01020 | 0.12932 |\n| 2 | module.model.1.3.weight | (64, 32, 1, 1) | 2048 | 2048 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11942 | 0.00024 | 0.03627 |\n| 3 | module.model.2.0.weight | (64, 1, 3, 3) | 576 | 576 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.15809 | 0.00543 | 0.11513 |\n| 4 | module.model.2.3.weight | (128, 64, 1, 1) | 8192 | 8192 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08442 | -0.00031 | 0.04182 |\n| 5 | module.model.3.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.16780 | 0.00125 | 0.10545 |\n| 6 | module.model.3.3.weight | (128, 128, 1, 1) | 16384 | 16384 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07126 | -0.00197 | 0.04123 |\n| 7 | module.model.4.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.10182 | 0.00171 | 0.08719 |\n| 8 | module.model.4.3.weight | (256, 128, 1, 1) | 32768 | 13108 | 0.00000 | 0.00000 | 10.15625 | 59.99756 | 12.50000 | 59.99756 | 0.05543 | -0.00002 | 0.02760 |\n| 9 | module.model.5.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.12516 | -0.00288 | 0.08058 |\n| 10 | module.model.5.3.weight | (256, 256, 1, 1) | 65536 | 26215 | 0.00000 | 0.00000 | 12.50000 | 59.99908 | 23.82812 | 59.99908 | 0.04453 | 0.00002 | 0.02271 |\n| 11 | module.model.6.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08024 | 0.00252 | 0.06377 |\n| 12 | module.model.6.3.weight | (512, 256, 1, 1) | 131072 | 52429 | 0.00000 | 0.00000 | 23.82812 | 59.99985 | 14.25781 | 59.99985 | 0.03561 | -0.00057 | 0.01779 |\n| 13 | module.model.7.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11008 | -0.00018 | 0.06829 |\n| 14 | module.model.7.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 14.25781 | 59.99985 | 21.28906 | 59.99985 | 0.02944 | -0.00060 | 0.01515 |\n| 15 | module.model.8.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08258 | 0.00370 | 0.04905 |\n| 16 | module.model.8.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 21.28906 | 59.99985 | 28.51562 | 59.99985 | 0.02865 | -0.00046 | 0.01465 |\n| 17 | module.model.9.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07578 | 0.00468 | 0.04201 |\n| 18 | module.model.9.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 28.51562 | 59.99985 | 23.43750 | 59.99985 | 0.02939 | -0.00044 | 0.01511 |\n| 19 | module.model.10.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07091 | 0.00014 | 0.04306 |\n| 20 | module.model.10.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 24.60938 | 59.99985 | 20.89844 | 59.99985 | 0.03095 | -0.00059 | 0.01672 |\n| 21 | module.model.11.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.05729 | -0.00518 | 0.04267 |\n| 22 | module.model.11.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 20.89844 | 59.99985 | 17.57812 | 59.99985 | 0.03229 | -0.00044 | 0.01797 |\n| 23 | module.model.12.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.04981 | -0.00136 | 0.03967 |\n| 24 | module.model.12.3.weight | (1024, 512, 1, 1) | 524288 | 209716 | 0.00000 | 0.00000 | 16.01562 | 59.99985 | 44.23828 | 59.99985 | 0.02514 | -0.00106 | 0.01278 |\n| 25 | module.model.13.0.weight | (1024, 1, 3, 3) | 9216 | 9216 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.02396 | -0.00949 | 0.01549 |\n| 26 | module.model.13.3.weight | (1024, 1024, 1, 1) | 1048576 | 419431 | 0.00000 | 0.00000 | 44.72656 | 59.99994 | 1.46484 | 59.99994 | 0.01801 | -0.00017 | 0.00931 |\n| 27 | module.fc.weight | (1000, 1024) | 1024000 | 409600 | 1.46484 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 60.00000 | 0.05078 | 0.00271 | 0.02734 |\n| 28 | Total sparsity: | - | 4209088 | 1726917 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 58.97171 | 0.00000 | 0.00000 | 0.00000 |\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\nTotal sparsity: 58.97\n\n--- validate (epoch=199)-----------\n128116 samples (256 per mini-batch)\n==> Top1: 65.337 Top5: 84.984 Loss: 1.494\n\n--- test ---------------------\n50000 samples (256 per mini-batch)\n==> Top1: 68.810 Top5: 88.626 Loss: 1.282", + "location": "/model_zoo/index.html#results_1", + "text": "As our baseline we used a pretrained PyTorch MobileNet model (width=1) which has Top1=68.848 and Top5=88.740. \nIn their paper, Zhu and Gupta prune 50% of the elements of MobileNet (width=1) with a 1.1% drop in accuracy. We pruned about 51.6% of the elements, with virtually no change in the accuracies (Top1: 68.808 and Top5: 88.656). We didn't try to prune more than this, but we do note that the baseline accuracy that we used is almost 2% lower than the accuracy published in the paper. +----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\n| | Name | Shape | NNZ (dense) | NNZ (sparse) | Cols (%) | Rows (%) | Ch (%) | 2D (%) | 3D (%) | Fine (%) | Std | Mean | Abs-Mean |\n|----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|\n| 0 | module.model.0.0.weight | (32, 3, 3, 3) | 864 | 864 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.14466 | 0.00103 | 0.06508 |\n| 1 | module.model.1.0.weight | (32, 1, 3, 3) | 288 | 288 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.32146 | 0.01020 | 0.12932 |\n| 2 | module.model.1.3.weight | (64, 32, 1, 1) | 2048 | 2048 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11942 | 0.00024 | 0.03627 |\n| 3 | module.model.2.0.weight | (64, 1, 3, 3) | 576 | 576 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.15809 | 0.00543 | 0.11513 |\n| 4 | module.model.2.3.weight | (128, 64, 1, 1) | 8192 | 8192 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08442 | -0.00031 | 0.04182 |\n| 5 | module.model.3.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.16780 | 0.00125 | 0.10545 |\n| 6 | module.model.3.3.weight | (128, 128, 1, 1) | 16384 | 16384 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07126 | -0.00197 | 0.04123 |\n| 7 | module.model.4.0.weight | (128, 1, 3, 3) | 1152 | 1152 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.10182 | 0.00171 | 0.08719 |\n| 8 | module.model.4.3.weight | (256, 128, 1, 1) | 32768 | 13108 | 0.00000 | 0.00000 | 10.15625 | 59.99756 | 12.50000 | 59.99756 | 0.05543 | -0.00002 | 0.02760 |\n| 9 | module.model.5.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.12516 | -0.00288 | 0.08058 |\n| 10 | module.model.5.3.weight | (256, 256, 1, 1) | 65536 | 26215 | 0.00000 | 0.00000 | 12.50000 | 59.99908 | 23.82812 | 59.99908 | 0.04453 | 0.00002 | 0.02271 |\n| 11 | module.model.6.0.weight | (256, 1, 3, 3) | 2304 | 2304 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08024 | 0.00252 | 0.06377 |\n| 12 | module.model.6.3.weight | (512, 256, 1, 1) | 131072 | 52429 | 0.00000 | 0.00000 | 23.82812 | 59.99985 | 14.25781 | 59.99985 | 0.03561 | -0.00057 | 0.01779 |\n| 13 | module.model.7.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.11008 | -0.00018 | 0.06829 |\n| 14 | module.model.7.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 14.25781 | 59.99985 | 21.28906 | 59.99985 | 0.02944 | -0.00060 | 0.01515 |\n| 15 | module.model.8.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.08258 | 0.00370 | 0.04905 |\n| 16 | module.model.8.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 21.28906 | 59.99985 | 28.51562 | 59.99985 | 0.02865 | -0.00046 | 0.01465 |\n| 17 | module.model.9.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07578 | 0.00468 | 0.04201 |\n| 18 | module.model.9.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 28.51562 | 59.99985 | 23.43750 | 59.99985 | 0.02939 | -0.00044 | 0.01511 |\n| 19 | module.model.10.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.07091 | 0.00014 | 0.04306 |\n| 20 | module.model.10.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 24.60938 | 59.99985 | 20.89844 | 59.99985 | 0.03095 | -0.00059 | 0.01672 |\n| 21 | module.model.11.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.05729 | -0.00518 | 0.04267 |\n| 22 | module.model.11.3.weight | (512, 512, 1, 1) | 262144 | 104858 | 0.00000 | 0.00000 | 20.89844 | 59.99985 | 17.57812 | 59.99985 | 0.03229 | -0.00044 | 0.01797 |\n| 23 | module.model.12.0.weight | (512, 1, 3, 3) | 4608 | 4608 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.04981 | -0.00136 | 0.03967 |\n| 24 | module.model.12.3.weight | (1024, 512, 1, 1) | 524288 | 209716 | 0.00000 | 0.00000 | 16.01562 | 59.99985 | 44.23828 | 59.99985 | 0.02514 | -0.00106 | 0.01278 |\n| 25 | module.model.13.0.weight | (1024, 1, 3, 3) | 9216 | 9216 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.02396 | -0.00949 | 0.01549 |\n| 26 | module.model.13.3.weight | (1024, 1024, 1, 1) | 1048576 | 419431 | 0.00000 | 0.00000 | 44.72656 | 59.99994 | 1.46484 | 59.99994 | 0.01801 | -0.00017 | 0.00931 |\n| 27 | module.fc.weight | (1000, 1024) | 1024000 | 409600 | 1.46484 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 60.00000 | 0.05078 | 0.00271 | 0.02734 |\n| 28 | Total sparsity: | - | 4209088 | 1726917 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 0.00000 | 58.97171 | 0.00000 | 0.00000 | 0.00000 |\n+----+--------------------------+--------------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+\nTotal sparsity: 58.97\n\n--- validate (epoch=199)-----------\n128116 samples (256 per mini-batch)\n== Top1: 65.337 Top5: 84.984 Loss: 1.494\n\n--- test ---------------------\n50000 samples (256 per mini-batch)\n== Top1: 68.810 Top5: 88.626 Loss: 1.282", "title": "Results" - }, + }, { - "location": "/model_zoo/index.html#learning-structured-sparsity-in-deep-neural-networks", - "text": "This research paper from the University of Pittsburgh, \"proposes a Structured Sparsity Learning (SSL) method to regularize the structures (i.e., filters, channels, filter shapes, and layer depth) of DNNs. SSL can: (1) learn a compact structure from a bigger DNN to reduce computation cost; (2) obtain a hardware-friendly structured sparsity of DNN to efficiently accelerate the DNN\u2019s evaluation.\" Note that this paper does not use pruning, but instead uses group regularization during the training to force weights towards zero, as a group. We used a schedule which thresholds the regularized elements at a magnitude equal to the regularization strength. At the end of the regularization phase, we save the final sparsity masks generated by the regularization, and exit. Then we load this regularized model, remove the layers corresponding to the zeroed weight tensors (all of a layer's elements have a zero value).", + "location": "/model_zoo/index.html#learning-structured-sparsity-in-deep-neural-networks", + "text": "This research paper from the University of Pittsburgh, \"proposes a Structured Sparsity Learning (SSL) method to regularize the structures (i.e., filters, channels, filter shapes, and layer depth) of DNNs. SSL can: (1) learn a compact structure from a bigger DNN to reduce computation cost; (2) obtain a hardware-friendly structured sparsity of DNN to efficiently accelerate the DNN\u2019s evaluation.\" Note that this paper does not use pruning, but instead uses group regularization during the training to force weights towards zero, as a group. We used a schedule which thresholds the regularized elements at a magnitude equal to the regularization strength. At the end of the regularization phase, we save the final sparsity masks generated by the regularization, and exit. Then we load this regularized model, remove the layers corresponding to the zeroed weight tensors (all of a layer's elements have a zero value).", "title": "Learning Structured Sparsity in Deep Neural Networks" - }, + }, { - "location": "/model_zoo/index.html#baseline-training", - "text": "We started by training the baseline ResNet20-Cifar dense network since we didn't have a pre-trained model. Distiller schedule: distiller/examples/ssl/resnet20_cifar_baseline_training.yaml Checkpoint files: distiller/examples/ssl/checkpoints/ $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.3 --epochs=180 --compress=../cifar10/resnet20/baseline_training.yaml -j=1 --deterministic", + "location": "/model_zoo/index.html#baseline-training", + "text": "We started by training the baseline ResNet20-Cifar dense network since we didn't have a pre-trained model. Distiller schedule: distiller/examples/ssl/resnet20_cifar_baseline_training.yaml Checkpoint files: distiller/examples/ssl/checkpoints/ $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.3 --epochs=180 --compress=../cifar10/resnet20/baseline_training.yaml -j=1 --deterministic", "title": "Baseline training" - }, + }, { - "location": "/model_zoo/index.html#regularization", - "text": "Then we started training from scratch again, but this time we used Group Lasso regularization on entire layers: \nDistiller schedule: distiller/examples/ssl/ssl_4D-removal_4L_training.yaml $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.4 --epochs=180 --compress=../ssl/ssl_4D-removal_training.yaml -j=1 --deterministic The diagram below shows the training of Resnet20/CIFAR10 using Group Lasso regularization on entire layers (in blue) vs. training Resnet20/CIFAR10 baseline (in red). You may notice several interesting things:\n1. The LR-decay policy is the same, but the two sessions start with different initial LR values.\n2. The data-loss of the regularized training follows the same shape as the un-regularized training (baseline), and eventually the two seem to merge.\n3. We see similar behavior in the validation Top1 and Top5 accuracy results, but the regularized training eventually performs better.\n4. In the top right corner we see the behavior of the regularization loss ( Reg Loss ), which actually increases for some time, until the data-loss has a sharp drop (after ~16K mini-batches), at which point the regularization loss also starts dropping. This regularization yields 5 layers with zeroed weight tensors. We load this model, remove the 5 layers, and start the fine tuning of the weights. This process of layer removal is specific to ResNet for CIFAR, which we altered by adding code to skip over layers during the forward path. When you export to ONNX, the removed layers do not participate in the forward path, so they don't get incarnated. We managed to remove 5 of the 16 3x3 convolution layers which dominate the computation time. It's not bad, but we probably could have done better.", + "location": "/model_zoo/index.html#regularization", + "text": "Then we started training from scratch again, but this time we used Group Lasso regularization on entire layers: \nDistiller schedule: distiller/examples/ssl/ssl_4D-removal_4L_training.yaml $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.4 --epochs=180 --compress=../ssl/ssl_4D-removal_training.yaml -j=1 --deterministic The diagram below shows the training of Resnet20/CIFAR10 using Group Lasso regularization on entire layers (in blue) vs. training Resnet20/CIFAR10 baseline (in red). You may notice several interesting things:\n1. The LR-decay policy is the same, but the two sessions start with different initial LR values.\n2. The data-loss of the regularized training follows the same shape as the un-regularized training (baseline), and eventually the two seem to merge.\n3. We see similar behavior in the validation Top1 and Top5 accuracy results, but the regularized training eventually performs better.\n4. In the top right corner we see the behavior of the regularization loss ( Reg Loss ), which actually increases for some time, until the data-loss has a sharp drop (after ~16K mini-batches), at which point the regularization loss also starts dropping. This regularization yields 5 layers with zeroed weight tensors. We load this model, remove the 5 layers, and start the fine tuning of the weights. This process of layer removal is specific to ResNet for CIFAR, which we altered by adding code to skip over layers during the forward path. When you export to ONNX, the removed layers do not participate in the forward path, so they don't get incarnated. We managed to remove 5 of the 16 3x3 convolution layers which dominate the computation time. It's not bad, but we probably could have done better.", "title": "Regularization" - }, + }, { - "location": "/model_zoo/index.html#fine-tuning", - "text": "During the fine-tuning process, because the removed layers do not participate in the forward path, they do not appear in the backward path and are not backpropogated: therefore they are completely disconnected from the network. \nWe copy the checkpoint file of the regularized model to checkpoint_trained_4D_regularized_5Lremoved.pth.tar . \nDistiller schedule: distiller/examples/ssl/ssl_4D-removal_finetuning.yaml $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.1 --epochs=250 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --compress=../ssl/ssl_4D-removal_finetuning.yaml -j=1 --deterministic", + "location": "/model_zoo/index.html#fine-tuning", + "text": "During the fine-tuning process, because the removed layers do not participate in the forward path, they do not appear in the backward path and are not backpropogated: therefore they are completely disconnected from the network. \nWe copy the checkpoint file of the regularized model to checkpoint_trained_4D_regularized_5Lremoved.pth.tar . \nDistiller schedule: distiller/examples/ssl/ssl_4D-removal_finetuning.yaml $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --lr=0.1 --epochs=250 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --compress=../ssl/ssl_4D-removal_finetuning.yaml -j=1 --deterministic", "title": "Fine-tuning" - }, + }, { - "location": "/model_zoo/index.html#results_2", - "text": "Our baseline results for ResNet20 Cifar are: Top1=91.450 and Top5=99.750 We used Distiller's GroupLassoRegularizer to remove 5 layers from Resnet20 (CIFAR10) with no degradation of the accuracies. \nThe regularized model exhibits really poor classification abilities: $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --evaluate\n\n=> loading checkpoint ../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar\n best top@1: 90.620\nLoaded compression schedule from checkpoint (epoch 179)\nRemoving layer: module.layer1.0.conv1 [layer=0 block=0 conv=0]\nRemoving layer: module.layer1.0.conv2 [layer=0 block=0 conv=1]\nRemoving layer: module.layer1.1.conv1 [layer=0 block=1 conv=0]\nRemoving layer: module.layer1.1.conv2 [layer=0 block=1 conv=1]\nRemoving layer: module.layer2.2.conv2 [layer=1 block=2 conv=1]\nFiles already downloaded and verified\nFiles already downloaded and verified\nDataset sizes:\n training=45000\n validation=5000\n test=10000\n--- test ---------------------\n10000 samples (256 per mini-batch)\n==> Top1: 22.290 Top5: 68.940 Loss: 5.172 However, after fine-tuning, we recovered most of the accuracies loss, but not quite all of it: Top1=91.020 and Top5=99.670 We didn't spend time trying to wrestle with this network, and therefore didn't achieve SSL's published results (which showed that they managed to remove 6 layers and at the same time increase accuracies).", + "location": "/model_zoo/index.html#results_2", + "text": "Our baseline results for ResNet20 Cifar are: Top1=91.450 and Top5=99.750 We used Distiller's GroupLassoRegularizer to remove 5 layers from Resnet20 (CIFAR10) with no degradation of the accuracies. \nThe regularized model exhibits really poor classification abilities: $ time python3 compress_classifier.py --arch resnet20_cifar ../data.cifar10 -p=50 --resume=../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar --evaluate\n\n= loading checkpoint ../cifar10/resnet20/checkpoint_trained_4D_regularized_5Lremoved.pth.tar\n best top@1: 90.620\nLoaded compression schedule from checkpoint (epoch 179)\nRemoving layer: module.layer1.0.conv1 [layer=0 block=0 conv=0]\nRemoving layer: module.layer1.0.conv2 [layer=0 block=0 conv=1]\nRemoving layer: module.layer1.1.conv1 [layer=0 block=1 conv=0]\nRemoving layer: module.layer1.1.conv2 [layer=0 block=1 conv=1]\nRemoving layer: module.layer2.2.conv2 [layer=1 block=2 conv=1]\nFiles already downloaded and verified\nFiles already downloaded and verified\nDataset sizes:\n training=45000\n validation=5000\n test=10000\n--- test ---------------------\n10000 samples (256 per mini-batch)\n== Top1: 22.290 Top5: 68.940 Loss: 5.172 However, after fine-tuning, we recovered most of the accuracies loss, but not quite all of it: Top1=91.020 and Top5=99.670 We didn't spend time trying to wrestle with this network, and therefore didn't achieve SSL's published results (which showed that they managed to remove 6 layers and at the same time increase accuracies).", "title": "Results" - }, + }, { - "location": "/model_zoo/index.html#pruning-filters-for-efficient-convnets", - "text": "Quoting the authors directly: We present an acceleration method for CNNs, where we prune filters from CNNs that are identified as having a small effect on the output accuracy. By removing whole filters in the network together with their connecting feature maps, the computation costs are reduced significantly.\nIn contrast to pruning weights, this approach does not result in sparse connectivity patterns. Hence, it does not need the support of sparse convolution libraries and can work with existing efficient BLAS libraries for dense matrix multiplications. The implementation of the research by Hao et al. required us to add filter-pruning sensitivity analysis, and support for \"network thinning\". After performing filter-pruning sensitivity analysis to assess which layers are more sensitive to the pruning of filters, we execute distiller.L1RankedStructureParameterPruner once in order to rank the filters of each layer by their L1-norm values, and then we prune the schedule-prescribed sparsity level. Distiller schedule: distiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_filter_rank.yaml Checkpoint files: checkpoint_finetuned.pth.tar The excerpt from the schedule, displayed below, shows how we declare the L1RankedStructureParameterPruner. This class currently ranks filters only, but because in the future this class may support ranking of various structures, you need to specify for each parameter both the target sparsity level, and the structure type ('3D' is filter-wise pruning). pruners:\n filter_pruner:\n class: 'L1RankedStructureParameterPruner'\n reg_regims:\n 'module.layer1.0.conv1.weight': [0.6, '3D']\n 'module.layer1.1.conv1.weight': [0.6, '3D']\n 'module.layer1.2.conv1.weight': [0.6, '3D']\n 'module.layer1.3.conv1.weight': [0.6, '3D'] In the policy, we specify that we want to invoke this pruner once, at epoch 180. Because we are starting from a network which was trained for 180 epochs (see Baseline training below), the filter ranking is performed right at the outset of this schedule. policies:\n - pruner:\n instance_name: filter_pruner\n epochs: [180] Following the pruning, we want to \"physically\" remove the pruned filters from the network, which involves reconfiguring the Convolutional layers and the parameter tensors. When we remove filters from Convolution layer n we need to perform several changes to the network:\n1. Shrink layer n 's weights tensor, leaving only the \"important\" filters.\n2. Configure layer n 's .out_channels member to its new, smaller, value.\n3. If a BN layer follows layer n , then it also needs to be reconfigured and its scale and shift parameter vectors need to be shrunk.\n4. If a Convolution layer follows the BN layer, then it will have less input channels which requires reconfiguration and shrinking of its weights. All of this is performed by distiller.ResnetCifarFilterRemover which is also scheduled at epoch 180. We call this process \"network thinning\". extensions:\n net_thinner:\n class: 'ResnetCifarFilterRemover'\n thinning_func_str: resnet_cifar_remove_filters Network thinning requires us to understand the layer connectivity and data-dependency of the DNN, and we are working on a robust method to perform this. On networks with topologies similar to ResNet (residuals) and GoogLeNet (inception), which have several inputs and outputs to/from Convolution layers, there is extra details to consider. \nOur current implementation is specific to certain layers in ResNet and is a bit fragile. We will continue to improve and generalize this.", + "location": "/model_zoo/index.html#pruning-filters-for-efficient-convnets", + "text": "Quoting the authors directly: We present an acceleration method for CNNs, where we prune filters from CNNs that are identified as having a small effect on the output accuracy. By removing whole filters in the network together with their connecting feature maps, the computation costs are reduced significantly.\nIn contrast to pruning weights, this approach does not result in sparse connectivity patterns. Hence, it does not need the support of sparse convolution libraries and can work with existing efficient BLAS libraries for dense matrix multiplications. The implementation of the research by Hao et al. required us to add filter-pruning sensitivity analysis, and support for \"network thinning\". After performing filter-pruning sensitivity analysis to assess which layers are more sensitive to the pruning of filters, we execute distiller.L1RankedStructureParameterPruner once in order to rank the filters of each layer by their L1-norm values, and then we prune the schedule-prescribed sparsity level. Distiller schedule: distiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_filter_rank.yaml Checkpoint files: checkpoint_finetuned.pth.tar The excerpt from the schedule, displayed below, shows how we declare the L1RankedStructureParameterPruner. This class currently ranks filters only, but because in the future this class may support ranking of various structures, you need to specify for each parameter both the target sparsity level, and the structure type ('3D' is filter-wise pruning). pruners:\n filter_pruner:\n class: 'L1RankedStructureParameterPruner'\n reg_regims:\n 'module.layer1.0.conv1.weight': [0.6, '3D']\n 'module.layer1.1.conv1.weight': [0.6, '3D']\n 'module.layer1.2.conv1.weight': [0.6, '3D']\n 'module.layer1.3.conv1.weight': [0.6, '3D'] In the policy, we specify that we want to invoke this pruner once, at epoch 180. Because we are starting from a network which was trained for 180 epochs (see Baseline training below), the filter ranking is performed right at the outset of this schedule. policies:\n - pruner:\n instance_name: filter_pruner\n epochs: [180] Following the pruning, we want to \"physically\" remove the pruned filters from the network, which involves reconfiguring the Convolutional layers and the parameter tensors. When we remove filters from Convolution layer n we need to perform several changes to the network:\n1. Shrink layer n 's weights tensor, leaving only the \"important\" filters.\n2. Configure layer n 's .out_channels member to its new, smaller, value.\n3. If a BN layer follows layer n , then it also needs to be reconfigured and its scale and shift parameter vectors need to be shrunk.\n4. If a Convolution layer follows the BN layer, then it will have less input channels which requires reconfiguration and shrinking of its weights. All of this is performed by distiller.ResnetCifarFilterRemover which is also scheduled at epoch 180. We call this process \"network thinning\". extensions:\n net_thinner:\n class: 'ResnetCifarFilterRemover'\n thinning_func_str: resnet_cifar_remove_filters Network thinning requires us to understand the layer connectivity and data-dependency of the DNN, and we are working on a robust method to perform this. On networks with topologies similar to ResNet (residuals) and GoogLeNet (inception), which have several inputs and outputs to/from Convolution layers, there is extra details to consider. \nOur current implementation is specific to certain layers in ResNet and is a bit fragile. We will continue to improve and generalize this.", "title": "Pruning Filters for Efficient ConvNets" - }, + }, { - "location": "/model_zoo/index.html#baseline-training_1", - "text": "We started by training the baseline ResNet56-Cifar dense network (180 epochs) since we didn't have a pre-trained model. Distiller schedule: distiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_baseline_training.yaml Checkpoint files: checkpoint.resnet56_cifar_baseline.pth.tar", + "location": "/model_zoo/index.html#baseline-training_1", + "text": "We started by training the baseline ResNet56-Cifar dense network (180 epochs) since we didn't have a pre-trained model. Distiller schedule: distiller/examples/pruning_filters_for_efficient_convnets/resnet56_cifar_baseline_training.yaml Checkpoint files: checkpoint.resnet56_cifar_baseline.pth.tar", "title": "Baseline training" - }, + }, { - "location": "/model_zoo/index.html#results_3", - "text": "We trained a ResNet56-Cifar10 network and achieve accuracy results which are on-par with published results:\nTop1: 92.970 and Top5: 99.740. We used Hao et al.'s algorithm to remove 37.3% of the original convolution MACs, while maintaining virtually the same accuracy as the baseline:\nTop1: 92.830 and Top5: 99.760", + "location": "/model_zoo/index.html#results_3", + "text": "We trained a ResNet56-Cifar10 network and achieve accuracy results which are on-par with published results:\nTop1: 92.970 and Top5: 99.740. We used Hao et al.'s algorithm to remove 37.3% of the original convolution MACs, while maintaining virtually the same accuracy as the baseline:\nTop1: 92.830 and Top5: 99.760", "title": "Results" - }, + }, { - "location": "/jupyter/index.html", - "text": "Jupyter environment\n\n\nThe Jupyter notebooks environment allows us to plan our compression session and load Distiller data summaries to study and analyze compression results.\n\n\nEach notebook has embedded instructions and explanations, so here we provide only a brief description of each notebook.\n\n\nInstallation\n\n\nJupyter and its dependencies are included as part of the main \nrequirements.txt\n file, so there is no need for a dedicated installation step.\n\nHowever, to use the ipywidgets extension, you will need to enable it:\n\n\n$ jupyter nbextension enable --py widgetsnbextension --sys-prefix\n\n\n\n\nYou may want to refer to the \nipywidgets extension installation documentation\n.\n\n\nAnother extension which requires special installation handling is \nQgrid\n. Qgrid is a Jupyter notebook widget that adds interactive features, such as sorting, to Panadas DataFrames rendering. To enable Qgrid:\n\n\n$ jupyter nbextension enable --py --sys-prefix qgrid\n\n\n\n\nLaunching the Jupyter server\n\n\nThere are all kinds of options to use when launching Jupyter which you can use. The example below tells the server to listen to connections from any IP address, and not to launch the browser window, but of course, you are free to launch Jupyter any way you want.\n\nConsult the \nuser's guide\n for more details.\n\n\n$ jupyter-notebook --ip=* --no-browser\n\n\n\n\nUsing the Distiller notebooks\n\n\nThe Distiller Jupyter notebooks are located in the \ndistiller/jupyter\n directory.\n\nThey are provided as tools that you can use to prepare your compression experiments and study their results.\nWe welcome new ideas and implementations of Jupyter.\n\n\nRoughly, the notebooks can be divided into three categories.\n\n\nTheory\n\n\n\n\njupyter/L1-regularization.ipynb\n: Experience hands-on how L1 and L2 regularization affect the solution of a toy loss-minimization problem, to get a better grasp on the interaction between regularization and sparsity.\n\n\njupyter/alexnet_insights.ipynb\n: This notebook reviews and compares a couple of pruning sessions on Alexnet. We compare distributions, performance, statistics and show some visualizations of the weights tensors.\n\n\n\n\nPreparation for compression\n\n\n\n\njupyter/model_summary.ipynb\n: Begin by getting familiar with your model. Examine the sizes and properties of layers and connections. Study which layers are compute-bound, and which are bandwidth-bound, and decide how to prune or regularize the model.\n\n\njupyter/sensitivity_analysis.ipynb\n: If you performed pruning sensitivity analysis on your model, this notebook can help you load the results and graphically study how the layers behave.\n\n\njupyter/interactive_lr_scheduler.ipynb\n: The learning rate decay policy affects pruning results, perhaps as much as it affects training results. Graph a few LR-decay policies to see how they behave.\n\n\njupyter/jupyter/agp_schedule.ipynb\n: If you are using the Automated Gradual Pruner, this notebook can help you tune the schedule.\n\n\n\n\nReviewing experiment results\n\n\n\n\njupyter/compare_executions.ipynb\n: This is a simple notebook to help you graphically compare the results of executions of several experiments.\n\n\njupyter/compression_insights.ipynb\n: This notebook is packed with code, tables and graphs to us understand the results of a compression session. Distiller provides \nsummaries\n, which are Pandas dataframes, which contain statistical information about you model. We chose to use Pandas dataframes because they can be sliced, queried, summarized and graphed with a few lines of code.", + "location": "/jupyter/index.html", + "text": "Jupyter environment\n\n\nThe Jupyter notebooks environment allows us to plan our compression session and load Distiller data summaries to study and analyze compression results.\n\n\nEach notebook has embedded instructions and explanations, so here we provide only a brief description of each notebook.\n\n\nInstallation\n\n\nJupyter and its dependencies are included as part of the main \nrequirements.txt\n file, so there is no need for a dedicated installation step.\n\nHowever, to use the ipywidgets extension, you will need to enable it:\n\n\n$ jupyter nbextension enable --py widgetsnbextension --sys-prefix\n\n\n\n\nYou may want to refer to the \nipywidgets extension installation documentation\n.\n\n\nAnother extension which requires special installation handling is \nQgrid\n. Qgrid is a Jupyter notebook widget that adds interactive features, such as sorting, to Panadas DataFrames rendering. To enable Qgrid:\n\n\n$ jupyter nbextension enable --py --sys-prefix qgrid\n\n\n\n\nLaunching the Jupyter server\n\n\nThere are all kinds of options to use when launching Jupyter which you can use. The example below tells the server to listen to connections from any IP address, and not to launch the browser window, but of course, you are free to launch Jupyter any way you want.\n\nConsult the \nuser's guide\n for more details.\n\n\n$ jupyter-notebook --ip=* --no-browser\n\n\n\n\nUsing the Distiller notebooks\n\n\nThe Distiller Jupyter notebooks are located in the \ndistiller/jupyter\n directory.\n\nThey are provided as tools that you can use to prepare your compression experiments and study their results.\nWe welcome new ideas and implementations of Jupyter.\n\n\nRoughly, the notebooks can be divided into three categories.\n\n\nTheory\n\n\n\n\njupyter/L1-regularization.ipynb\n: Experience hands-on how L1 and L2 regularization affect the solution of a toy loss-minimization problem, to get a better grasp on the interaction between regularization and sparsity.\n\n\njupyter/alexnet_insights.ipynb\n: This notebook reviews and compares a couple of pruning sessions on Alexnet. We compare distributions, performance, statistics and show some visualizations of the weights tensors.\n\n\n\n\nPreparation for compression\n\n\n\n\njupyter/model_summary.ipynb\n: Begin by getting familiar with your model. Examine the sizes and properties of layers and connections. Study which layers are compute-bound, and which are bandwidth-bound, and decide how to prune or regularize the model.\n\n\njupyter/sensitivity_analysis.ipynb\n: If you performed pruning sensitivity analysis on your model, this notebook can help you load the results and graphically study how the layers behave.\n\n\njupyter/interactive_lr_scheduler.ipynb\n: The learning rate decay policy affects pruning results, perhaps as much as it affects training results. Graph a few LR-decay policies to see how they behave.\n\n\njupyter/jupyter/agp_schedule.ipynb\n: If you are using the Automated Gradual Pruner, this notebook can help you tune the schedule.\n\n\n\n\nReviewing experiment results\n\n\n\n\njupyter/compare_executions.ipynb\n: This is a simple notebook to help you graphically compare the results of executions of several experiments.\n\n\njupyter/compression_insights.ipynb\n: This notebook is packed with code, tables and graphs to us understand the results of a compression session. Distiller provides \nsummaries\n, which are Pandas dataframes, which contain statistical information about you model. We chose to use Pandas dataframes because they can be sliced, queried, summarized and graphed with a few lines of code.", "title": "Jupyter notebooks" - }, + }, { - "location": "/jupyter/index.html#jupyter-environment", - "text": "The Jupyter notebooks environment allows us to plan our compression session and load Distiller data summaries to study and analyze compression results. Each notebook has embedded instructions and explanations, so here we provide only a brief description of each notebook.", + "location": "/jupyter/index.html#jupyter-environment", + "text": "The Jupyter notebooks environment allows us to plan our compression session and load Distiller data summaries to study and analyze compression results. Each notebook has embedded instructions and explanations, so here we provide only a brief description of each notebook.", "title": "Jupyter environment" - }, + }, { - "location": "/jupyter/index.html#installation", - "text": "Jupyter and its dependencies are included as part of the main requirements.txt file, so there is no need for a dedicated installation step. \nHowever, to use the ipywidgets extension, you will need to enable it: $ jupyter nbextension enable --py widgetsnbextension --sys-prefix You may want to refer to the ipywidgets extension installation documentation . Another extension which requires special installation handling is Qgrid . Qgrid is a Jupyter notebook widget that adds interactive features, such as sorting, to Panadas DataFrames rendering. To enable Qgrid: $ jupyter nbextension enable --py --sys-prefix qgrid", + "location": "/jupyter/index.html#installation", + "text": "Jupyter and its dependencies are included as part of the main requirements.txt file, so there is no need for a dedicated installation step. \nHowever, to use the ipywidgets extension, you will need to enable it: $ jupyter nbextension enable --py widgetsnbextension --sys-prefix You may want to refer to the ipywidgets extension installation documentation . Another extension which requires special installation handling is Qgrid . Qgrid is a Jupyter notebook widget that adds interactive features, such as sorting, to Panadas DataFrames rendering. To enable Qgrid: $ jupyter nbextension enable --py --sys-prefix qgrid", "title": "Installation" - }, + }, { - "location": "/jupyter/index.html#launching-the-jupyter-server", - "text": "There are all kinds of options to use when launching Jupyter which you can use. The example below tells the server to listen to connections from any IP address, and not to launch the browser window, but of course, you are free to launch Jupyter any way you want. \nConsult the user's guide for more details. $ jupyter-notebook --ip=* --no-browser", + "location": "/jupyter/index.html#launching-the-jupyter-server", + "text": "There are all kinds of options to use when launching Jupyter which you can use. The example below tells the server to listen to connections from any IP address, and not to launch the browser window, but of course, you are free to launch Jupyter any way you want. \nConsult the user's guide for more details. $ jupyter-notebook --ip=* --no-browser", "title": "Launching the Jupyter server" - }, + }, { - "location": "/jupyter/index.html#using-the-distiller-notebooks", - "text": "The Distiller Jupyter notebooks are located in the distiller/jupyter directory. \nThey are provided as tools that you can use to prepare your compression experiments and study their results.\nWe welcome new ideas and implementations of Jupyter. Roughly, the notebooks can be divided into three categories.", + "location": "/jupyter/index.html#using-the-distiller-notebooks", + "text": "The Distiller Jupyter notebooks are located in the distiller/jupyter directory. \nThey are provided as tools that you can use to prepare your compression experiments and study their results.\nWe welcome new ideas and implementations of Jupyter. Roughly, the notebooks can be divided into three categories.", "title": "Using the Distiller notebooks" - }, + }, { - "location": "/jupyter/index.html#theory", - "text": "jupyter/L1-regularization.ipynb : Experience hands-on how L1 and L2 regularization affect the solution of a toy loss-minimization problem, to get a better grasp on the interaction between regularization and sparsity. jupyter/alexnet_insights.ipynb : This notebook reviews and compares a couple of pruning sessions on Alexnet. We compare distributions, performance, statistics and show some visualizations of the weights tensors.", + "location": "/jupyter/index.html#theory", + "text": "jupyter/L1-regularization.ipynb : Experience hands-on how L1 and L2 regularization affect the solution of a toy loss-minimization problem, to get a better grasp on the interaction between regularization and sparsity. jupyter/alexnet_insights.ipynb : This notebook reviews and compares a couple of pruning sessions on Alexnet. We compare distributions, performance, statistics and show some visualizations of the weights tensors.", "title": "Theory" - }, + }, { - "location": "/jupyter/index.html#preparation-for-compression", - "text": "jupyter/model_summary.ipynb : Begin by getting familiar with your model. Examine the sizes and properties of layers and connections. Study which layers are compute-bound, and which are bandwidth-bound, and decide how to prune or regularize the model. jupyter/sensitivity_analysis.ipynb : If you performed pruning sensitivity analysis on your model, this notebook can help you load the results and graphically study how the layers behave. jupyter/interactive_lr_scheduler.ipynb : The learning rate decay policy affects pruning results, perhaps as much as it affects training results. Graph a few LR-decay policies to see how they behave. jupyter/jupyter/agp_schedule.ipynb : If you are using the Automated Gradual Pruner, this notebook can help you tune the schedule.", + "location": "/jupyter/index.html#preparation-for-compression", + "text": "jupyter/model_summary.ipynb : Begin by getting familiar with your model. Examine the sizes and properties of layers and connections. Study which layers are compute-bound, and which are bandwidth-bound, and decide how to prune or regularize the model. jupyter/sensitivity_analysis.ipynb : If you performed pruning sensitivity analysis on your model, this notebook can help you load the results and graphically study how the layers behave. jupyter/interactive_lr_scheduler.ipynb : The learning rate decay policy affects pruning results, perhaps as much as it affects training results. Graph a few LR-decay policies to see how they behave. jupyter/jupyter/agp_schedule.ipynb : If you are using the Automated Gradual Pruner, this notebook can help you tune the schedule.", "title": "Preparation for compression" - }, + }, { - "location": "/jupyter/index.html#reviewing-experiment-results", - "text": "jupyter/compare_executions.ipynb : This is a simple notebook to help you graphically compare the results of executions of several experiments. jupyter/compression_insights.ipynb : This notebook is packed with code, tables and graphs to us understand the results of a compression session. Distiller provides summaries , which are Pandas dataframes, which contain statistical information about you model. We chose to use Pandas dataframes because they can be sliced, queried, summarized and graphed with a few lines of code.", + "location": "/jupyter/index.html#reviewing-experiment-results", + "text": "jupyter/compare_executions.ipynb : This is a simple notebook to help you graphically compare the results of executions of several experiments. jupyter/compression_insights.ipynb : This notebook is packed with code, tables and graphs to us understand the results of a compression session. Distiller provides summaries , which are Pandas dataframes, which contain statistical information about you model. We chose to use Pandas dataframes because they can be sliced, queried, summarized and graphed with a few lines of code.", "title": "Reviewing experiment results" - }, + }, { - "location": "/design/index.html", - "text": "Distiller design\n\n\nDistiller is designed to be easily integrated into your own PyTorch research applications.\n\nIt is easiest to understand this integration by examining the code of the sample application for compressing image classification models (\ncompress_classifier.py\n).\n\n\nThe application borrows its main flow code from torchvision's ImageNet classification training sample application (https://github.com/pytorch/examples/tree/master/imagenet). We tried to keep it similar, in order to make it familiar and easy to understand.\n\n\nIntegrating compression is very simple: simply add invocations of the appropriate compression_scheduler callbacks, for each stage in the training. The training skeleton looks like the pseudo code below. The boiler-plate Pytorch classification training is speckled with invocations of CompressionScheduler.\n\n\nFor each epoch:\n compression_scheduler.on_epoch_begin(epoch)\n train()\n validate()\n save_checkpoint()\n compression_scheduler.on_epoch_end(epoch)\n\ntrain():\n For each training step:\n compression_scheduler.on_minibatch_begin(epoch)\n output = model(input_var)\n loss = criterion(output, target_var)\n compression_scheduler.before_backward_pass(epoch)\n loss.backward()\n optimizer.step()\n compression_scheduler.on_minibatch_end(epoch)\n\n\n\n\nThese callbacks can be seen in the diagram below, as the arrow pointing from the Training Loop and into Distiller's \nScheduler\n, which invokes the correct algorithm. The application also uses Distiller services to collect statistics in \nSummaries\n and logs files, which can be queried at a later time, from Jupyter notebooks or TensorBoard.\n\n\n\n\nSparsification and fine-tuning\n\n\n\n\nThe application sets up a model as normally done in PyTorch.\n\n\nAnd then instantiates a Scheduler and configures it:\n\n\nScheduler configuration is defined in a YAML file\n\n\nThe configuration specifies Policies. Each Policy is tied to a specific algorithm which controls some aspect of the training.\n\n\nSome types of algorithms control the actual sparsification of the model. Such types are \"pruner\" and \"regularizer\".\n\n\nSome algorithms control some parameter of the training process, such as the learning-rate decay scheduler (\nlr_scheduler\n).\n\n\nThe parameters of each algorithm are also specified in the configuration.\n\n\n\n\n\n\n\n\n\n\nIn addition to specifying the algorithm, each Policy specifies scheduling parameters which control when the algorithm is executed: start epoch, end epoch and frequency.\n\n\nThe Scheduler exposes callbacks for relevant training stages: epoch start/end, mini-batch start/end and pre-backward pass. Each scheduler callback activates the policies that were defined according the schedule that was defined.\n\n\nThese callbacks are placed the training loop.\n\n\n\n\nQuantization\n\n\nA quantized model is obtained by replacing existing operations with quantized versions. The quantized versions can be either complete replacements, or wrappers. A wrapper will use the existing modules internally and add quantization and de-quantization operations before/after as necessary.\n\n\nIn Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided.\n\n\nWe also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. The high-level flow is as follows:\n\n\n\n\nDefine a \nmapping\n between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module.\n\n\nIterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it.\n\n\nReplace the existing module with the module returned by the function.\n\n\n\n\nDifferent quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different \"strategies\" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different \nmapping\n will likely be defined.\n\n\nThis mechanism is exposed by the \nQuantizer\n class:\n\n\n\n\nQuantizer\n should be sub-classed for each quantization method.\n\n\nEach instance of \nQuantizer\n is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the \nbits_activations\n and \nbits_weights\n parameters in \nQuantizer\n's constructor. Sub-classes may define bit-widths for other tensor types as needed.\n\n\nWe also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks (\"container\" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern.\n\n\nSo, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the \nbits_overrides\n parameter in the constructor.\n\n\n\n\nThe base \nQuantizer\n class is implemented in \ndistiller/quantization/quantizer.py\n.\n\nFor a simple sub-class implementing symmetric linear quantization, see \nSymmetricLinearQuantizer\n in \ndistiller/quantization/range_linear.py\n.", + "location": "/design/index.html", + "text": "Distiller design\n\n\nDistiller is designed to be easily integrated into your own PyTorch research applications.\n\nIt is easiest to understand this integration by examining the code of the sample application for compressing image classification models (\ncompress_classifier.py\n).\n\n\nThe application borrows its main flow code from torchvision's ImageNet classification training sample application (https://github.com/pytorch/examples/tree/master/imagenet). We tried to keep it similar, in order to make it familiar and easy to understand.\n\n\nIntegrating compression is very simple: simply add invocations of the appropriate compression_scheduler callbacks, for each stage in the training. The training skeleton looks like the pseudo code below. The boiler-plate Pytorch classification training is speckled with invocations of CompressionScheduler.\n\n\nFor each epoch:\n compression_scheduler.on_epoch_begin(epoch)\n train()\n validate()\n save_checkpoint()\n compression_scheduler.on_epoch_end(epoch)\n\ntrain():\n For each training step:\n compression_scheduler.on_minibatch_begin(epoch)\n output = model(input_var)\n loss = criterion(output, target_var)\n compression_scheduler.before_backward_pass(epoch)\n loss.backward()\n optimizer.step()\n compression_scheduler.on_minibatch_end(epoch)\n\n\n\n\nThese callbacks can be seen in the diagram below, as the arrow pointing from the Training Loop and into Distiller's \nScheduler\n, which invokes the correct algorithm. The application also uses Distiller services to collect statistics in \nSummaries\n and logs files, which can be queried at a later time, from Jupyter notebooks or TensorBoard.\n\n\n\n\nSparsification and fine-tuning\n\n\n\n\nThe application sets up a model as normally done in PyTorch.\n\n\nAnd then instantiates a Scheduler and configures it:\n\n\nScheduler configuration is defined in a YAML file\n\n\nThe configuration specifies Policies. Each Policy is tied to a specific algorithm which controls some aspect of the training.\n\n\nSome types of algorithms control the actual sparsification of the model. Such types are \"pruner\" and \"regularizer\".\n\n\nSome algorithms control some parameter of the training process, such as the learning-rate decay scheduler (\nlr_scheduler\n).\n\n\nThe parameters of each algorithm are also specified in the configuration.\n\n\n\n\n\n\n\n\n\n\nIn addition to specifying the algorithm, each Policy specifies scheduling parameters which control when the algorithm is executed: start epoch, end epoch and frequency.\n\n\nThe Scheduler exposes callbacks for relevant training stages: epoch start/end, mini-batch start/end and pre-backward pass. Each scheduler callback activates the policies that were defined according the schedule that was defined.\n\n\nThese callbacks are placed the training loop.\n\n\n\n\nQuantization\n\n\nA quantized model is obtained by replacing existing operations with quantized versions. The quantized versions can be either complete replacements, or wrappers. A wrapper will use the existing modules internally and add quantization and de-quantization operations before/after as necessary.\n\n\nIn Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided.\n\n\nWe also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. This mechanism is exposed by the \nQuantizer\n class. \nQuantizer\n should be sub-classed for each quantization method.\n\n\nModel Transformation\n\n\nThe high-level flow is as follows:\n\n\n\n\nDefine a \nmapping\n between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. The mapping is defined in the \nreplacement_factory\n attribute of the \nQuantizer\n class.\n\n\nIterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it.\n\n\nReplace the existing module with the module returned by the function. It is important to note that the \nname\n of the module \ndoes not\n change, as that could break the \nforward\n function of the parent module.\n\n\n\n\nDifferent quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different \"strategies\" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different \nmapping\n will likely be defined.\n\nEach sub-class of \nQuantizer\n should populate the \nreplacement_factory\n dictionary attribute with the appropriate mapping.\n\n\nFlexible Bit-Widths\n\n\n\n\nEach instance of \nQuantizer\n is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the \nbits_activations\n and \nbits_weights\n parameters in \nQuantizer\n's constructor. Sub-classes may define bit-widths for other tensor types as needed.\n\n\nWe also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks (\"container\" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern.\n\n\nSo, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the \nbits_overrides\n parameter in the constructor.\n\n\n\n\nWeights Quantization\n\n\nThe \nQuantizer\n class also provides an API to quantize the weights of all layers at once. To use it, the \nparam_quantization_fn\n attribute needs to point to a function that accepts a tensor and the number of bits. During model transformation, the \nQuantizer\n class will build a list of all model parameters that need to be quantized along with their bit-width. Then, the \nquantize_params\n function can be called, which will iterate over all parameters and quantize them using \nparams_quantization_fn\n.\n\n\nTraining with Quantization\n\n\nThe \nQuantizer\n class supports training with quantization in the loop, as described \nhere\n. This is enabled by setting \ntrain_with_fp_copy=True\n in the \nQuantizer\n constructor. At model transformation, in each module that has parameters that should be quantized, a new \ntorch.nn.Parameter\n is added, which will maintain the required full precision copy of the parameters. Note that this is done in-place - a new module \nis not\n created. We preferred not to sub-class the existing PyTorch modules for this purpose. In order to this in-place, and also guarantee proper back-propagation through the weights quantization function, we employ the following \"hack\":\n\n\n\n\nThe existing \ntorch.nn.Parameter\n, e.g. \nweights\n, is replaced by a \ntorch.nn.Parameter\n named \nfloat_weight\n.\n\n\nTo maintain the existing functionality of the module, we then register a \nbuffer\n in the module with the original name - \nweights\n.\n\n\nDuring training, \nfloat_weight\n will be passed to \nparam_quantization_fn\n and the result will be stored in \nweight\n.\n\n\n\n\nThe base \nQuantizer\n class is implemented in \ndistiller/quantization/quantizer.py\n.\n\nFor a simple sub-class implementing symmetric linear quantization, see \nSymmetricLinearQuantizer\n in \ndistiller/quantization/range_linear.py\n. For examples of lower-precision methods using training with quantization see \nDorefaQuantizer\n and \nWRPNQuantizer\n in \ndistiller/quantization/clipped_linear.py", "title": "Design" - }, + }, { - "location": "/design/index.html#distiller-design", - "text": "Distiller is designed to be easily integrated into your own PyTorch research applications. \nIt is easiest to understand this integration by examining the code of the sample application for compressing image classification models ( compress_classifier.py ). The application borrows its main flow code from torchvision's ImageNet classification training sample application (https://github.com/pytorch/examples/tree/master/imagenet). We tried to keep it similar, in order to make it familiar and easy to understand. Integrating compression is very simple: simply add invocations of the appropriate compression_scheduler callbacks, for each stage in the training. The training skeleton looks like the pseudo code below. The boiler-plate Pytorch classification training is speckled with invocations of CompressionScheduler. For each epoch:\n compression_scheduler.on_epoch_begin(epoch)\n train()\n validate()\n save_checkpoint()\n compression_scheduler.on_epoch_end(epoch)\n\ntrain():\n For each training step:\n compression_scheduler.on_minibatch_begin(epoch)\n output = model(input_var)\n loss = criterion(output, target_var)\n compression_scheduler.before_backward_pass(epoch)\n loss.backward()\n optimizer.step()\n compression_scheduler.on_minibatch_end(epoch) These callbacks can be seen in the diagram below, as the arrow pointing from the Training Loop and into Distiller's Scheduler , which invokes the correct algorithm. The application also uses Distiller services to collect statistics in Summaries and logs files, which can be queried at a later time, from Jupyter notebooks or TensorBoard.", + "location": "/design/index.html#distiller-design", + "text": "Distiller is designed to be easily integrated into your own PyTorch research applications. \nIt is easiest to understand this integration by examining the code of the sample application for compressing image classification models ( compress_classifier.py ). The application borrows its main flow code from torchvision's ImageNet classification training sample application (https://github.com/pytorch/examples/tree/master/imagenet). We tried to keep it similar, in order to make it familiar and easy to understand. Integrating compression is very simple: simply add invocations of the appropriate compression_scheduler callbacks, for each stage in the training. The training skeleton looks like the pseudo code below. The boiler-plate Pytorch classification training is speckled with invocations of CompressionScheduler. For each epoch:\n compression_scheduler.on_epoch_begin(epoch)\n train()\n validate()\n save_checkpoint()\n compression_scheduler.on_epoch_end(epoch)\n\ntrain():\n For each training step:\n compression_scheduler.on_minibatch_begin(epoch)\n output = model(input_var)\n loss = criterion(output, target_var)\n compression_scheduler.before_backward_pass(epoch)\n loss.backward()\n optimizer.step()\n compression_scheduler.on_minibatch_end(epoch) These callbacks can be seen in the diagram below, as the arrow pointing from the Training Loop and into Distiller's Scheduler , which invokes the correct algorithm. The application also uses Distiller services to collect statistics in Summaries and logs files, which can be queried at a later time, from Jupyter notebooks or TensorBoard.", "title": "Distiller design" - }, + }, { - "location": "/design/index.html#sparsification-and-fine-tuning", - "text": "The application sets up a model as normally done in PyTorch. And then instantiates a Scheduler and configures it: Scheduler configuration is defined in a YAML file The configuration specifies Policies. Each Policy is tied to a specific algorithm which controls some aspect of the training. Some types of algorithms control the actual sparsification of the model. Such types are \"pruner\" and \"regularizer\". Some algorithms control some parameter of the training process, such as the learning-rate decay scheduler ( lr_scheduler ). The parameters of each algorithm are also specified in the configuration. In addition to specifying the algorithm, each Policy specifies scheduling parameters which control when the algorithm is executed: start epoch, end epoch and frequency. The Scheduler exposes callbacks for relevant training stages: epoch start/end, mini-batch start/end and pre-backward pass. Each scheduler callback activates the policies that were defined according the schedule that was defined. These callbacks are placed the training loop.", + "location": "/design/index.html#sparsification-and-fine-tuning", + "text": "The application sets up a model as normally done in PyTorch. And then instantiates a Scheduler and configures it: Scheduler configuration is defined in a YAML file The configuration specifies Policies. Each Policy is tied to a specific algorithm which controls some aspect of the training. Some types of algorithms control the actual sparsification of the model. Such types are \"pruner\" and \"regularizer\". Some algorithms control some parameter of the training process, such as the learning-rate decay scheduler ( lr_scheduler ). The parameters of each algorithm are also specified in the configuration. In addition to specifying the algorithm, each Policy specifies scheduling parameters which control when the algorithm is executed: start epoch, end epoch and frequency. The Scheduler exposes callbacks for relevant training stages: epoch start/end, mini-batch start/end and pre-backward pass. Each scheduler callback activates the policies that were defined according the schedule that was defined. These callbacks are placed the training loop.", "title": "Sparsification and fine-tuning" - }, + }, { - "location": "/design/index.html#quantization", - "text": "A quantized model is obtained by replacing existing operations with quantized versions. The quantized versions can be either complete replacements, or wrappers. A wrapper will use the existing modules internally and add quantization and de-quantization operations before/after as necessary. In Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided. We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. The high-level flow is as follows: Define a mapping between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. Iterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it. Replace the existing module with the module returned by the function. Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different \"strategies\" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different mapping will likely be defined. This mechanism is exposed by the Quantizer class: Quantizer should be sub-classed for each quantization method. Each instance of Quantizer is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the bits_activations and bits_weights parameters in Quantizer 's constructor. Sub-classes may define bit-widths for other tensor types as needed. We also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks (\"container\" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern. So, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the bits_overrides parameter in the constructor. The base Quantizer class is implemented in distiller/quantization/quantizer.py . \nFor a simple sub-class implementing symmetric linear quantization, see SymmetricLinearQuantizer in distiller/quantization/range_linear.py .", + "location": "/design/index.html#quantization", + "text": "A quantized model is obtained by replacing existing operations with quantized versions. The quantized versions can be either complete replacements, or wrappers. A wrapper will use the existing modules internally and add quantization and de-quantization operations before/after as necessary. In Distiller we will provide a set of quantized versions of common operations which will enable implementation of different quantization methods. The user can write a quantized model from scratch, using the quantized operations provided. We also provide a mechanism which takes an existing model and automatically replaces required operations with quantized versions. This mechanism is exposed by the Quantizer class. Quantizer should be sub-classed for each quantization method.", "title": "Quantization" + }, + { + "location": "/design/index.html#model-transformation", + "text": "The high-level flow is as follows: Define a mapping between the module types to be replaced (e.g. Conv2D, Linear, etc.) to a function which generates the replacement module. The mapping is defined in the replacement_factory attribute of the Quantizer class. Iterate over the modules defined in the model. For each module, if its type is in the mapping, call the replacement generation function. We pass the existing module to this function to allow wrapping of it. Replace the existing module with the module returned by the function. It is important to note that the name of the module does not change, as that could break the forward function of the parent module. Different quantization methods may, obviously, use different quantized operations. In addition, different methods may employ different \"strategies\" of replacing / wrapping existing modules. For instance, some methods replace ReLU with another activation function, while others keep it. Hence, for each quantization method, a different mapping will likely be defined. \nEach sub-class of Quantizer should populate the replacement_factory dictionary attribute with the appropriate mapping.", + "title": "Model Transformation" + }, + { + "location": "/design/index.html#flexible-bit-widths", + "text": "Each instance of Quantizer is parameterized by the number of bits to be used for quantization of different tensor types. The default ones are activations and weights. These are the bits_activations and bits_weights parameters in Quantizer 's constructor. Sub-classes may define bit-widths for other tensor types as needed. We also want to be able to override the default number of bits mentioned in the bullet above for certain layers. These could be very specific layers. However, many models are comprised of building blocks (\"container\" modules, such as Sequential) which contain several modules, and it is likely we'll want to override settings for entire blocks, or for a certain module across different blocks. When such building blocks are used, the names of the internal modules usually follow some pattern. So, for this purpose, Quantizer also accepts a mapping of regular expressions to number of bits. This allows the user to override specific layers using they're exact name, or a group of layers via a regular expression. This mapping is passed via the bits_overrides parameter in the constructor.", + "title": "Flexible Bit-Widths" + }, + { + "location": "/design/index.html#weights-quantization", + "text": "The Quantizer class also provides an API to quantize the weights of all layers at once. To use it, the param_quantization_fn attribute needs to point to a function that accepts a tensor and the number of bits. During model transformation, the Quantizer class will build a list of all model parameters that need to be quantized along with their bit-width. Then, the quantize_params function can be called, which will iterate over all parameters and quantize them using params_quantization_fn .", + "title": "Weights Quantization" + }, + { + "location": "/design/index.html#training-with-quantization", + "text": "The Quantizer class supports training with quantization in the loop, as described here . This is enabled by setting train_with_fp_copy=True in the Quantizer constructor. At model transformation, in each module that has parameters that should be quantized, a new torch.nn.Parameter is added, which will maintain the required full precision copy of the parameters. Note that this is done in-place - a new module is not created. We preferred not to sub-class the existing PyTorch modules for this purpose. In order to this in-place, and also guarantee proper back-propagation through the weights quantization function, we employ the following \"hack\": The existing torch.nn.Parameter , e.g. weights , is replaced by a torch.nn.Parameter named float_weight . To maintain the existing functionality of the module, we then register a buffer in the module with the original name - weights . During training, float_weight will be passed to param_quantization_fn and the result will be stored in weight . The base Quantizer class is implemented in distiller/quantization/quantizer.py . \nFor a simple sub-class implementing symmetric linear quantization, see SymmetricLinearQuantizer in distiller/quantization/range_linear.py . For examples of lower-precision methods using training with quantization see DorefaQuantizer and WRPNQuantizer in distiller/quantization/clipped_linear.py", + "title": "Training with Quantization" } ] } \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 2a7ed78..2b0ecb3 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -4,7 +4,7 @@ <url> <loc>/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -12,7 +12,7 @@ <url> <loc>/install/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -20,7 +20,7 @@ <url> <loc>/usage/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -28,7 +28,7 @@ <url> <loc>/schedule/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -37,19 +37,19 @@ <url> <loc>/pruning/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>/regularization/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>/quantization/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -59,13 +59,13 @@ <url> <loc>/algo_pruning/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>/algo_quantization/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -74,7 +74,7 @@ <url> <loc>/model_zoo/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -82,7 +82,7 @@ <url> <loc>/jupyter/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> @@ -90,7 +90,7 @@ <url> <loc>/design/index.html</loc> - <lastmod>2018-06-14</lastmod> + <lastmod>2018-06-22</lastmod> <changefreq>daily</changefreq> </url> diff --git a/docs/usage/index.html b/docs/usage/index.html index 11497b5..87a0ad6 100644 --- a/docs/usage/index.html +++ b/docs/usage/index.html @@ -75,7 +75,7 @@ <li><a class="toctree-l3" href="#performing-pruning-sensitivity-analysis">Performing pruning sensitivity analysis</a></li> - <li><a class="toctree-l3" href="#quantization">Quantization</a></li> + <li><a class="toctree-l3" href="#direct-quantization-without-training">"Direct" Quantization Without Training</a></li> <li><a class="toctree-l3" href="#summaries">Summaries</a></li> @@ -287,22 +287,27 @@ These example schedules (YAML) files, contain the command line that is used in o <li>ResNet34 (ImageNet)</li> <li>Filter-wise pruning sensitivity-analysis:</li> <li>ResNet20 (CIFAR10)</li> -<li>ResNet56 (CIFAR10)</li> +<li>ResNet56 (CIFAR10) +<br><br></li> </ul> </li> -<li> -<p><strong>examples/sensitivity-pruning</strong>:</p> -<ul> +<li><strong>examples/sensitivity-pruning</strong>:<ul> <li>AlexNet sensitivity pruning with Iterative Pruning</li> -<li>AlexNet sensitivity pruning with One-Shot Pruning</li> +<li>AlexNet sensitivity pruning with One-Shot Pruning +<br><br></li> </ul> </li> -<li> -<p><strong>examples/ssl</strong>:</p> -<ul> +<li><strong>examples/ssl</strong>:<ul> <li>ResNet20 baseline training (CIFAR10 dataset)</li> <li>Structured Sparsity Learning (SSL) with layer removal on ResNet20</li> -<li>SSL with channels removal on ResNet20</li> +<li>SSL with channels removal on ResNet20 +<br><br></li> +</ul> +</li> +<li><strong>examples/quantization</strong>:<ul> +<li>AlexNet w. Batch-Norm (base FP32 + DoReFa)</li> +<li>Pre-activation ResNet20 on CIFAR10 (base FP32 + DoReFa)</li> +<li>Pre-activation ResNet18 on ImageNEt (base FP32 + DoReFa)</li> </ul> </li> </ul> @@ -319,8 +324,8 @@ Results are output as a CSV file (<code>sensitivity.csv</code>) and PNG file (<c <p>The <code>sense</code> command-line argument can be set to either <code>element</code> or <code>filter</code>, depending on the type of analysis you want done.<br></p> <p>There is also a <a href="http://localhost:8888/notebooks/sensitivity_analysis.ipynb">Jupyter notebook</a> with example invocations, outputs and explanations.</p> -<h2 id="quantization">Quantization</h2> -<p>Currently Distiller support 8-bit quantization only (quantization of lower precision data types will follow shortly) which does not require training, so any model (whether pruned or not) can be quantized.<br> +<h2 id="direct-quantization-without-training">"Direct" Quantization Without Training</h2> +<p>Distiller supports 8-bit quantization of trained modules without re-training (using <a href="../algo_quantization/index.html#symmetric-linear-quantization">Symmetric Linear Quantization</a>). So, any model (whether pruned or not) can be quantized.<br /> Use the <code>--quantize</code> command-line flag, together with <code>--evaluate</code> to evaluate the accuracy of your model after quantization. The following example qunatizes ResNet18 for ImageNet:</p> <pre><code>$ python3 compress_classifier.py -a resnet18 ../../../data.imagenet --pretrained --quantize --evaluate </code></pre> -- GitLab