From 21c557a10cfb1a8f490ec08c0b4a82e2f1bdc89c Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Wed, 9 May 2018 13:25:48 +0800 Subject: [PATCH 1/5] Design doc of fixed-point quantization. --- .../quantization/fixed_point_quantization.md | 47 ++++++++++++++++++ .../quantization_training_framework.png | Bin 0 -> 62611 bytes 2 files changed, 47 insertions(+) create mode 100644 doc/fluid/design/quantization/fixed_point_quantization.md create mode 100644 doc/fluid/design/quantization/quantization_training_framework.png diff --git a/doc/fluid/design/quantization/fixed_point_quantization.md b/doc/fluid/design/quantization/fixed_point_quantization.md new file mode 100644 index 0000000000000..697236e02520c --- /dev/null +++ b/doc/fluid/design/quantization/fixed_point_quantization.md @@ -0,0 +1,47 @@ +Fixed-point quantization is to use lower bit, for example, 2 bit, 3 bit or 8 bit fixed-point to represent weights and activations, which usually are singe float point with 32 bit. The fixed-point representation has advantages in reducing memory bandwidth, lowering power consumption and computational resources as well as the model storage requirements. It is especially import for the inference in embedded device deployment. + +According some experiments, the apporach to quantize the model trained in float point directly works sufficiently on the large model, like the over-parameterized VGG model. But the accuracy drops a lot for the small model. In order to improve the tradeoff be-tween accuracy and latency, many quantized training apporaches are proposed. + +This document is to design a quantized training framework on Fluid. The first part will introduce how to quantize, The second part will describe the quantized training framework. The last part will describe how to the quantization range. + + +### How to quantize + +Quantization is parameterized by the number of quantization levels and range: + + +$$ r = min(max(x, a), b)$$ +$$ s = \frac{b - a}{n - 1} $$ +$$ q = round(\frac{r - a}{s}) $$ + +where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. `round` denotes rounding to the nearest integer. For 8 bit quantization, $n=2^{8}=256$. $q$ is the quantized integer. + + + + +How to determine the quantization range will be described in the last part. + + +### Training Framework + +The training framework is as following figure. The forward pass is simulated quantization. + +
+ +#### Forward pass + +See the figure a. + +- At first, both input and weight will be quantized to 8 bit. +- Then, do the multiplication (or convolution) operation with integers. +- Then, dequantize the multiplication (or convolution) results to 32 bit float point. +- At last, do bias-addition in float type of 32 bit. Here, the bias is not quantized. + +#### Backward pass + +See the figure b. The backpropagation still remains unchanged, all inputs and outputs of backward operator are float point with 32 bit. + + +### How to determine minimum and maximal range + +- diff --git a/doc/fluid/design/quantization/quantization_training_framework.png b/doc/fluid/design/quantization/quantization_training_framework.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8cd5439f04766aedbf7a2688b9b635f4d09a41 GIT binary patch literal 62611 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 literal 0 HcmV?d00001 From 40f6a1811a24420e6b59421c1c704f59f10fdbc6 Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Wed, 23 May 2018 11:53:30 +0800 Subject: [PATCH 2/5] Update fixed point quantization desigin doc. --- .../quantization/fixed_point_quantization.md | 73 ++++++++++++++++--- 1 file changed, 62 insertions(+), 11 deletions(-) diff --git a/doc/fluid/design/quantization/fixed_point_quantization.md b/doc/fluid/design/quantization/fixed_point_quantization.md index 697236e02520c..7b561b820e49e 100644 --- a/doc/fluid/design/quantization/fixed_point_quantization.md +++ b/doc/fluid/design/quantization/fixed_point_quantization.md @@ -7,41 +7,92 @@ This document is to design a quantized training framework on Fluid. The first pa ### How to quantize -Quantization is parameterized by the number of quantization levels and range: - +There are many ways to quantizate the float value to fixed-point value. For example: $$ r = min(max(x, a), b)$$ $$ s = \frac{b - a}{n - 1} $$ -$$ q = round(\frac{r - a}{s}) $$ +$$ q = round(\frac{r - a}{s}}) $$ -where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. `round` denotes rounding to the nearest integer. For 8 bit quantization, $n=2^{8}=256$. $q$ is the quantized integer. +where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. `round` denotes rounding to the nearest integer. If the quantization level is $m$, $n$ is $2^m$, for example, $m$ is 8 and $n$ is 256. $q$ is the quantized integer. +The quantization we apllied is parameterized by the number of quantization levels and maximum absolute value: +$$ abs_max = max(abs(x)); $$ +$$ q = \left \lfloor \frac{x}{abs_max} * (n - 1) \right \rceil $$ -How to determine the quantization range will be described in the last part. +where, $x$ is the float value to be quantized, $abs_max$ is maximum absolute value. $\left \lfloor \right \rceil$ denotes rounding to the nearest integer. For 8 bit quantization, $n=2^{8}=256$. $q$ is the quantized integer. -### Training Framework +Wether the *min-max* quantization or *max-abs* quantization, they also can be represent: + +$q = scale * r + b$ + +We call *min-max*, *max-abs* as the quantization arguments, also call them quantization scale or quantization range. + + +How to calculate the quantization range (or maximum absolute value) for inference will be described in the last part. -The training framework is as following figure. The forward pass is simulated quantization. +### Training Framework + +The training framework is as following figure.
#### Forward pass -See the figure a. +The forward pass is simulated quantization, see the figure a. - At first, both input and weight will be quantized to 8 bit. - Then, do the multiplication (or convolution) operation with integers. - Then, dequantize the multiplication (or convolution) results to 32 bit float point. - At last, do bias-addition in float type of 32 bit. Here, the bias is not quantized. +For general matrix to matrix multiplication (GEMM), quantize for $X$ and $W$: + +$$ Xq = \left \lfloor \frac{X}{Xm} * (n - 1) \right \rceil $$ +$$ Wq = \left \lfloor \frac{W}{Wm} * (n - 1) \right \rceil $$ + +Do GEMM: + +$$ Y = Xq * Wq $$ + + +Dequantize $Y$: + +$$ +Ydq &= \frac{Y}{(n - 1) * (n - 1)} * Xm * Wm \\ + &= \frac{Xq * Wq}{(n - 1) * (n - 1)} * Xm * Wm \\ + &= \frac{Xq}{n - 1} * Xm * \frac{Wq}{n - 1} * Wm +$$ + +From these formulas, dequantization also can be moved before GEMM, do dequantization for $Xq$ and $Wq$ at first, then do GEMM. The forward workflow in training is equivalent to following framework. + + +
+ + +We use this equivalent workflow in the training. In our desigin, there is a quantization transipler to insert the quantization operator and the de-quantization operator in the Fluid `ProgramDesc`. + #### Backward pass -See the figure b. The backpropagation still remains unchanged, all inputs and outputs of backward operator are float point with 32 bit. +See the figure b. The backward pass still remains unchanged, all inputs and outputs of backward operator are float point with 32 bit. + +So the quantization transipler should not change the backward pass. + +### How to calculate quantization scale + +There are two strategies to calculate quantization scale, we call them dynamic and static strategy. The dynamic strategy is to calculate the quantization scale value each iteration. The static strategy is to fix the quantization scale for different inputs. + +For weights, we apply the dynamic strategy for weights in the training, that is to say, the quantization scale will recalculate during each iteration until the traning is finished. + +For activations, the quantization scales are estimated during training, then use them in inference. There are several different ways to estimat: -### How to determine minimum and maximal range +1. Calculate the mean of maximum absolute during a window. +2. Calculate the max of maximum absolute during a window. +3. Calculate the running mean of maximum absolute during a window, as follows: -- + $$ Vt = (1 - k) * V + k * V_{t-1} $$ + + where, $V$ is the maximum absolute value of current batch, $Vt$ is the running mean value. $k$ is a factor, such as 0.9. From a79a36f725d288e2a6315cfae66f322702c44c19 Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Wed, 23 May 2018 11:59:07 +0800 Subject: [PATCH 3/5] Fix doc format. --- .../quantization/fixed_point_quantization.md | 38 +++++++++++------- .../quantization/quantization_forward.png | Bin 0 -> 31493 bytes 2 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 doc/fluid/design/quantization/quantization_forward.png diff --git a/doc/fluid/design/quantization/fixed_point_quantization.md b/doc/fluid/design/quantization/fixed_point_quantization.md index 7b561b820e49e..5d44c808dd156 100644 --- a/doc/fluid/design/quantization/fixed_point_quantization.md +++ b/doc/fluid/design/quantization/fixed_point_quantization.md @@ -9,19 +9,19 @@ This document is to design a quantized training framework on Fluid. The first pa There are many ways to quantizate the float value to fixed-point value. For example: -$$ r = min(max(x, a), b)$$ +$$ r = min(max(x, a), b)$$ $$ s = \frac{b - a}{n - 1} $$ -$$ q = round(\frac{r - a}{s}}) $$ +$$ q = \left \lfloor \frac{r - a}{s} \right \rceil $$ -where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. `round` denotes rounding to the nearest integer. If the quantization level is $m$, $n$ is $2^m$, for example, $m$ is 8 and $n$ is 256. $q$ is the quantized integer. +where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. $\left \lfloor \right \rceil$ denotes rounding to the nearest integer. If the quantization level is $k$, $n$ is $2^k$, for example, $k$ is 8 and $n$ is 256. $q$ is the quantized integer. The quantization we apllied is parameterized by the number of quantization levels and maximum absolute value: -$$ abs_max = max(abs(x)); $$ -$$ q = \left \lfloor \frac{x}{abs_max} * (n - 1) \right \rceil $$ +$$ M = max(abs(x)) $$ +$$ q = \left \lfloor \frac{x}{M} * (n - 1) \right \rceil $$ -where, $x$ is the float value to be quantized, $abs_max$ is maximum absolute value. $\left \lfloor \right \rceil$ denotes rounding to the nearest integer. For 8 bit quantization, $n=2^{8}=256$. $q$ is the quantized integer. +where, $x$ is the float value to be quantized, $M$ is maximum absolute value. $\left \lfloor \right \rceil$ denotes rounding to the nearest integer. For 8 bit quantization, $n=2^{8}=256$. $q$ is the quantized integer. Wether the *min-max* quantization or *max-abs* quantization, they also can be represent: @@ -37,8 +37,13 @@ How to calculate the quantization range (or maximum absolute value) for inferenc ### Training Framework The training framework is as following figure. + +


+Fig 1. Forward and backward in training. +

+ #### Forward pass The forward pass is simulated quantization, see the figure a. @@ -50,27 +55,32 @@ The forward pass is simulated quantization, see the figure a. For general matrix to matrix multiplication (GEMM), quantize for $X$ and $W$: -$$ Xq = \left \lfloor \frac{X}{Xm} * (n - 1) \right \rceil $$ -$$ Wq = \left \lfloor \frac{W}{Wm} * (n - 1) \right \rceil $$ +$$ X_q = \left \lfloor \frac{X}{X_m} * (n - 1) \right \rceil $$ +$$ W_q = \left \lfloor \frac{W}{W_m} * (n - 1) \right \rceil $$ Do GEMM: -$$ Y = Xq * Wq $$ +$$ Y = X_q * W_q $$ Dequantize $Y$: $$ -Ydq &= \frac{Y}{(n - 1) * (n - 1)} * Xm * Wm \\ - &= \frac{Xq * Wq}{(n - 1) * (n - 1)} * Xm * Wm \\ - &= \frac{Xq}{n - 1} * Xm * \frac{Wq}{n - 1} * Wm +\begin{align} +Y_{dq} &=\frac{Y}{(n - 1) * (n - 1)} * X_m * W_m \\\ + &=\frac{X_q * W_q}{(n - 1) * (n - 1)} * X_m * W_m \\ + &=(\frac{X_q}{n - 1} * X_m) * (\frac{W_q}{n - 1} * W_m) +\end{align} $$ From these formulas, dequantization also can be moved before GEMM, do dequantization for $Xq$ and $Wq$ at first, then do GEMM. The forward workflow in training is equivalent to following framework. - -
+

+
+ +Fig 2. Equitvalent forward in training. +

We use this equivalent workflow in the training. In our desigin, there is a quantization transipler to insert the quantization operator and the de-quantization operator in the Fluid `ProgramDesc`. diff --git a/doc/fluid/design/quantization/quantization_forward.png b/doc/fluid/design/quantization/quantization_forward.png new file mode 100644 index 0000000000000000000000000000000000000000..fa697ef03112f0fe8cbd8d86426484977bd00346 GIT binary patch literal 31493 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

;!6c`<3#Xf1zN6aP z5v@@%ujU-OwM&llrL~bn2QsCMFTTW2L_h;Kt^sbd{E;_$fJb@A*kUiU{FfjQ)^E@~ zBJc7JX&-*!zAya3p=w)^G%y#t_1>|h%$8dR>4v$N?WNWDEr2n1N6ZrYInOzZ zLZ;~DFGI|J{ic72^BZ63V(MvGEtCD^1ssw@{#Li1nKlAF{KUZ#$=NtS?3Zn`PB#eb z;|T@u+bw%I0!xObAuWiZmSSap4Im=M_$CiV5Mw3${M=A|oKXrpIveJft1jc04B

V$}Chdc1TeO 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 literal 0 HcmV?d00001 From 882e6f461706732db93e261ebef2d89d0bdc54de Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Wed, 23 May 2018 14:37:16 +0800 Subject: [PATCH 4/5] Update the backward part. --- .../quantization/fixed_point_quantization.md | 29 +++++++++++------- ...quantization_backward_and_optimization.png | Bin 0 -> 42463 bytes .../quantization/quantization_forward.png | Bin 31493 -> 27956 bytes .../quantization_training_framework.png | Bin 62611 -> 0 bytes 4 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 doc/fluid/design/quantization/quantization_backward_and_optimization.png delete mode 100644 doc/fluid/design/quantization/quantization_training_framework.png diff --git a/doc/fluid/design/quantization/fixed_point_quantization.md b/doc/fluid/design/quantization/fixed_point_quantization.md index 5d44c808dd156..f12e40fe2fd65 100644 --- a/doc/fluid/design/quantization/fixed_point_quantization.md +++ b/doc/fluid/design/quantization/fixed_point_quantization.md @@ -36,18 +36,18 @@ How to calculate the quantization range (or maximum absolute value) for inferenc ### Training Framework +#### Forward pass + +The forward pass is simulated quantization, see the figure 1. + The training framework is as following figure.

-
+
-Fig 1. Forward and backward in training. +Fig 1. Forward in training with simulated quantization.

-#### Forward pass - -The forward pass is simulated quantization, see the figure a. - - At first, both input and weight will be quantized to 8 bit. - Then, do the multiplication (or convolution) operation with integers. - Then, dequantize the multiplication (or convolution) results to 32 bit float point. @@ -68,7 +68,7 @@ Dequantize $Y$: $$ \begin{align} Y_{dq} &=\frac{Y}{(n - 1) * (n - 1)} * X_m * W_m \\\ - &=\frac{X_q * W_q}{(n - 1) * (n - 1)} * X_m * W_m \\ + &=\frac{X_q * W_q}{(n - 1) * (n - 1)} * X_m * W_m \\\ &=(\frac{X_q}{n - 1} * X_m) * (\frac{W_q}{n - 1} * W_m) \end{align} $$ @@ -76,9 +76,9 @@ $$ From these formulas, dequantization also can be moved before GEMM, do dequantization for $Xq$ and $Wq$ at first, then do GEMM. The forward workflow in training is equivalent to following framework.

-
+
-Fig 2. Equitvalent forward in training. +Fig 2. Equitvalent forward in training with simulated quantization.

@@ -86,9 +86,16 @@ We use this equivalent workflow in the training. In our desigin, there is a quan #### Backward pass -See the figure b. The backward pass still remains unchanged, all inputs and outputs of backward operator are float point with 32 bit. +See the figure 3. The gradients are calculated by dequantized weights and activations. All inputs and outputs are float point with 32 bit. And in the weight updating process, the gradients will be added to the original weight, not the quantized or dequantized weights. + +

+
+ +Fig 3. Backward and weight updating in training with simulated quantization. + +

-So the quantization transipler should not change the backward pass. +So the quantization transipler will change some inputs of the corresponding backward operators. ### How to calculate quantization scale diff --git a/doc/fluid/design/quantization/quantization_backward_and_optimization.png b/doc/fluid/design/quantization/quantization_backward_and_optimization.png new file mode 100644 index 0000000000000000000000000000000000000000..84f8235ab87cb631992b691f8e05b9c0b6c93da2 GIT binary patch literal 42463 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 gHgQba(UZ=l8x}-8=3d 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 literal 31493 zcmb@uWmFtN`!C203=Y8|=-}=W+=IIlf&>dL!QI^n?v_AEaEIUocXuZc++DVL|L?tb zchA{xn{zmUrn-B&s=A(^6%i^*(rCzp$S^Q4XtFYrYA`S$E#Rvb5eyvpE0(4Y{0DMU zlNN_5A0_?={D9;jqw53%gM$6~1%k=QA^;l9SZe4v>nJMlo7mg3d@{8+He+$ObpTq! zzzDkY1K--3Ie&t>+uGPU@w*FA{HFy!@crvyRto5UnmAhvQRpbDKqc(Im_fN&xLDXI zgpr|8sNfeu1l3L`5irr{1cTJczyoSEl!@IC33zZOps zCt{wI`eDJUru(7xhs?Lhf{<#QWQ(Z+8Af{M50>wX5_u>l3UJw z$TDkUfgK7G(0u=NgJ-TgxPV~r*_xYhMpUDR26l(Ovi0 z(EfBZt7q>sAa8JlzvbK=}1|ZleOX%&fSrJuQs+x;Cu1dd=44XbMJ; zHghI_E%8tPaQytWj=B9T#{Tzta>cUKn9$3G$V-i1NEen&gu1fO)m;0t%bc3w)4q25 z-H1I)bw34T#qaaAm**R7Wx=yukrxj-kBRsA`tBPcY+WC$%dW^?&d6x9ohOxj&%c(( zTn=*GhTt3AuDv|1;nI;xRp6OZiRAnL)7`5X6Ml$L_TKCR`e-@HM*OZg>x&#q`@t4v zoZzNHj(yu*&husQOZ$uV*6!)v~9Lm!tp(9NKvmQD2ljk3?ax)-j@9S9tOnU=%4!EEml zMN+rs`*3$@__&E57O|kza?;jfGD~_OFhgY5NPbw0!qV7*x9EK_Qll9^m1^Mm&$eMD zR65P;xJmnio7kxj(L)_};wsNrn3##xBNNdAEi&U$1&ko~J^xC&blE;OcR46px1?!)Gj|Wt*Cj=u#ts1y^%UeaehnMSmsNS!oiNB($0-C4oPmIuKt+ zC|3A>FHJqZl6E)O&li%_?C2GCp5_#M?=q*~aJv~*Q8UW_a?bklr3;Bxa&y_d1?b1a z#~7Z)@Wb`$Ar?xozoaONnd zdYyNf9cH5J7QThz*M1u)hKPmt2Zk@6C#^S|tdU^}wpKh-5y)w!E)5IUD{h7yY`?i! z79)J-KZR}V+YWJDWVx++46KIl9bRPJj>taL&ZpBVTrDV_Zd#)T9 z+}zK#8?d^2g`BjU2nYN7c+F^PGXtGY71#=&=g&zD8yL(E^G5|PA@VHTuyHrXD{EI@ z?{+HpxpqcN4}xQ&fq|_?jRDRVEYEXU7REe6N0zxvvL^JZ`*sxvzM+Pl)rTI`rEXlI!#h#g}uvpG<9Y23}nQ z;|OY&wp-&`(fSn5ES1yW7o*+%zaMv4$J!z-4<)GBWw29#S@Zhx%;)MrsUykbOZ<&* zYfsA1WZ%{wRu3&|8@}AnRqZKzPJWfj?G1V(9G*K?k4?H$I4^rXaDDRoLP_8S!s-rs z>sxQ?NC#)9;lL2e{wmc`~rNsiq}OWKx}Vulr!fn+D15f9g}9z{JS#< z4hvTWCab=!>#IHR=3l>r0@M0_|ED$wTI5q!ReYhrkhA?Y(M5pYLxbPcKjDW%33)@Q z%y3=ai($^14TegB3~?nOv=f<&qJKV)4Sm%j{IQZ4CsvQ_^v=gc+*)ifQ$jxA0^cD3d*1Zhh2e=xAm0AL(~B-E&mEy5lR%foI9ck&frEQK{qq2yn`YK) z?(jUtZ)VO%6$reo!isuzPR?Bd_5$>_>8Qcm>Uetz1SgitULR!e-}wI(*SGOI-eW0G z_WEhPj4&O9J%#YLxo2a`BdRk5aV-*OZQj0r~iKS%TZbw6Hl?ZO2h0@aOz?mL^qq&S(3aOZ0KC8DFu96BYO<3P+o{F0;Cwp2$`Wg?1)qhM#gy+btbDW@7BDX4g<+p@SAVb zu>RLGC}@iJpZMQzXxgt2oH6nol{84AdiFhDMz zstn0^bVw{--=52h#cYg>ifVHwJ@FXxLg(AYCjVmk?gv-l^Mx;3yOw$fu z7Yl%i51j+M@QNR$p&NH91u@9V121`-lP;Z8fA3#{JOL8;7|@1Gzxe+Z9-JAQbT z{%MhmFfd0h4JU z6akyrCjOPwP#pBtARyyGSwnOL#?I#g2~z8e6h#}a@}Jp-!(lqu9zgcAC#~#vKV^8^ zg|BocICU8s0t|n*ILnMYMjA3=(R_eR^Vh}*!T>13BoVy&p{#Eb!@bPgJo~}= zTU77&BNPG$;Rs9u3?oJ6=T{)GMfP&bx0|&k?&!5-50nI-$*(!nF2COho^~|t=Afv0 zZxOAz?=TuRjqohJR)6CdH|8vkVj^I^*ZTU9`QC1HqYDgQb)L8%ewI(ooiuztPh~7` zG+y($2@yl*UH8A5)vNGc(fA?I;2 z^{LF>$2!SXZDm#r3QU*xJ9Y?P_FKe=kt+KsqN0V-){ftP&Z+|HjNdjT*@Ekmt+YK` z-8k~=w1_ktd~<%>a$@i~+hv)=`>?97SwQf`Gk6!k7-7-z(d)0!p{4-ygO$2w>DLz0 zhbBK<6I>RF=oa`JLJAiGbD_YVMc^%R`@$uaV! z$+|-T1H%(Up>tEU_KMLgPfhRbvtgXf5e}_HFJFL>5avOI`jDjM0@$-}c59C$VA5kZ z`=-936^*rKQjU?tX_&oX`3s7Y?`4X#O+dh3-Ot$}t((DfC=0yVfsaN{1vVmQ5z44q#m$qoamBg5 zo-Rk4vy&BmPX}f7i;*3h0Pv&>ZLfCio5x7##BVzdNo{}J*~WPV(*$0=zkddUd*56H zc>Uf8B^qzgP=THMRT9W)^?bM6XRbYM02#@XBhHV;&w4C6!>#3=pi$WE!B#fiyDN8V zjaqleGLg+8e>-8J{`Hmegb82fpY>O@bouvTKH^Sjl@P)+dj_~Vvl)S&*6N16fFPO~|8o%n1X9#^vv8li~ z4*-L?0cb%d4eIv~(6CuV!*C-^hzr;1!rxyy{&=4{&D&e{3Zk;yvB|aoygP)7ej=nR zuan_Qh4i-xiS37_YMMz$JyUA1*F1oEt@o*UG6@0@BSUH0?q@0{Axhp3HgHG$)x(5Cbikkr4x&C}EFHz$i-N&-jQhe!8TNeUY}DTcmx z8y}$X=F)p74m0wzavGvXGOkJJZO>N~oYT1`v3ydNMWxL)dOzUls!FXK@?6pR_wvkA zbVJRZ^FHjLV0V>O4>Ifw#pQ2f$uoVLJ?ykTV*F2KvD&&>^IKWy-JJ6NC_jvpUo;yORnUCU%?ca4^AgEPhBK~69QHC)%Ac$vI)hPGD+Cfj3X94V z+z7_T(|1;7kSPDb6z==5wAOnbzN+22uW5k!mt8XE4l6J!@n@B4Hh}hr?3shui);k8 zWG|vW`drO0o|WfI8_9J@kAIvs^z)J7Q2=4^ta)F=|0S*h){My@tbWX)BY?w_li3`} zc6Vg6rxqlm-o3)#MpC?6tqZL#Gym&I#&VfPY^&tQq3eIcoMTM7?rFx&6{YdlcaD$Lys3FSTL(VdUV6-!09F|WM`5uFN9DxL7{!|>s)7gOU z2T(s6ZjrVBaiYxaH2wZ(X0$HI?4P?szu~@ja;_iXP(*j zDh^!eachr%-?=TA;T!t7;{^4b9Z$uDcu}MF#(O_)C%y93<8^c*Xi~+P@5FH_19%MJ zx~^eX1eKI4Rng@e#stNOHVDI~7A9UpxqV4Hr((h91g8_xMr~>GA;vW5H9dG=kQ5Md z7)?K9mo=@&1YbIdMn*nwz4 z;RL8g*71U`6NmjGJ|l%3k|*^w3M_e!jK7X@f4vtQYLm|9?;l%p*E$K`5m(uEYKsK9 z4D_Zv=R=$fyCOt3H(-0C@XJDc<8fC719^*QB1_jqxQ{*|v7ya8Oee{Fs1pqR=XI4h z@{T~F`XcCCUYhrBXYV{uS`>e?>JUZ+fv>WE87$dQu(SABNPbl_FMV-sJBopWk=XTC z3G7I$B=s}k+?kh`MH1S%WLj`FzW_E+pwOve)hTpeLl;T(((eu;1q0F$&hA{OK4eOf^cz?S#uY}8&4U@`tP;YCKD|F zN6N8pjpoIevX*y_m9ACjg4oU$VU8DWL>SL6T#53H8gO!JNc&WFK(Hr*xv~BPh*=i1 z2IDFsF#B_)F(Kk~zfaqpmFj;*Nu=@TN1FJaA=3S3{0I`nCDIzG%b(JDUpkZ5D@>4-z%GKw3};0N z#E8-$xa3g)68*)B>>x-%<{49T?EPGWh~eBvMWKo$?egdj%2Ks!oM z=f!{7z!m+|;-jywL3HViF@_{mcvh*YxDhs7XrfwWBoYcsBHy#nQA(w|IIaNnV1x6n zpS656M-QS~{O<#bYUn#PSDemsP`~$Ycqw3D8<4AMyNPMpVk8tA>|ab~*98 z07#W=)S4}mlD@b=u~xD;P#$yQO2zUi22Z-T~)X>v?&@X@;0v>QZ3&%1JV(6BlP`9sdsU!kuH) zcQ3gleg)wDKb6U~qxGq-awWrZABYMtSy+-#AUu^4wS3078$t1dHtq%&8FTUKN?r zwB09qZK{woqAD?C*vNs>o;OzE3)BqI%}puV`PG`!A9MDeJ^z)=R;y{E~d z&7yBG{J@{Z*@VPQ*zVK(g!Ja8;f)1Sxvd=ffVv#3QG<#IJ+37c0mk++U$VA8U~C z$!J>qJ=v^<%8=<;_z~sFwK}dYPnF9e@fnW$ujUNxrJtsvdPU+(ashH;L){ta$U+(! zK}y|~W_tMcwnI)Kh}J%McjKR=R@(e2wyHKEMe)`uA7BF zK!myWXtXdtkIKbW!OT5nz<1)$%U-=wuj+dLnbBBB7D~URN#(%9_$j!e_@{*7P844z zjwfF5cCUYsk=lr7pK@S28zr^kAF?TvgY!u3-{6T)yXra?v~x0rq}a$7(_fNEh64~t z`<2l1_4@F32!a%M3il~l1oB){3Khfk-cdEej}QM*9F-TzgMFSjxAkfxz!Z}She8+S z@FG;QXLpwj5z?@cOJGa4ET+U1i(cv6Im)k6kuFXaBpsLuxL!)T602?QI#?)(BoEp( zdeiW|jb_H?6`*@Vo+dF7X+Bj%y6{o(tz)}6vVEp{6hYWtH~!d(p^hCBCR&YR@rZRr z3KcQN`%-X^Yz)CiJ>sKW#3#XJh0(hCy*c%Kf_6^t4XFB-IvSUy2k-!mg=siGW5U@B zHS{^_DY*~9+63J}#KK+=OlyPB5B`e8HuPdOR6 z{9JVrbNL%p|5C%>Dsofd&XRc8Bk9`Q$)NK{a+P8$6)G8c5}Wb`O6U4Gd=u%@=DF5U zM(X^-`$OUCR$50RJVNzMn(bXbxkC{jPMi;6O|iCQuwJno(sC&V6N7KjVG38G{IT4U zP^qO1@YQ5{KJ9fd*87)#FwPO&V_VObNkx(!X7L)w3uSz%=+>04TZDi%f(GuIMjGWC z^eImSJ{S!1m>%=Tx7CHxtv}M*e)CqvM_LbM-6!x`EwolDG1te&dwg7(h8Jse?vOQT zD?~mL7<4N&6$ilv{7ep!g>xSoC#<~7q`@)5MqaUZ?YEB>ozGgp#nKHAf>8>{#BLzw zaz*{K5xv9PfrrsFYCm=@(V-rNm4wCEXxmAHpU<{LxaH?4XN=Auw7f`zKxm9eO!P)e zGpnVg0EXueB3d+TVBn_IG&Vk(MX-M8^@?K0f@)AHW4A))Esg63X$p3*i)fv$?H5L5 zrl0DJUS*0kQhc`-{Vy0}^>&SqtPN|t;CXo#^vc%VOnYHTuSU`LBHp=0ma?mWhN>2_ zdHPR!yM?|-GuPaTd9#Fi@bWyljKNyyjaEs4n;XsM{N7ylV6(HH@ z9uYS3;*JX!t~Pn)B>%?Y^yxh^C6bA9gBC$VrSoHH9+sOzn^=oqKUy!OV3IU4z#+E7 zG?a#D^Csv>fxd{%=ck6?GX9desOit^(FZIt%H9ByOBQe>4@xLz3z1MliT}i>`8~Wt zjCMB3wuA9b4P=OuwZCK-1Y?(-j9=9LYweID{=xN;W>Th zz+{md9Yj2PjQxmOe^(HJcp7}5h1zsnT5(PX^AD2>e2cgZ;~@qGD$`Z(?Kv>EP&=SJonfR_S5O?>+b}Q6Ig9vbtxP~me zcz+k*?=7|KBP+&lNaJ9z;GiY+v%Qcu0Itxf&T@w8dwtlq!DrLV7p$bp;-EjLmN$CU z-_}`0y?1&pzSVmPf0K@zr-{c-$A|k1xKlFmq@zkE4TWg5BG;MG7*DL;<0J3Zei6Wl z{aMEafrtZg$BsXjsC#@5bsRDB<<8w6`Djm?K+Jz!C7o%6zFh3WMF47mMNq_ zG_}L94hc>eM@h7BXUz7}J2DXm&2-h|m)+rIl4-YmmE=dhsK>gc6GRr)C zZ;au+NxL`-Z}xwmFh%R78$N%YBw^e7Mj}dY8dj8Yj&JDAUPE?==u580MtF*H2|~Fw z8{*U%u6{bhWr)UusUFV=m+0yaQ~d+R+T%`y+(ZE$9gj;Gk%BN-w_n*dLqGm&-`bDt zPjL}^1*)Rxcgq2&th@uAJyjK@XqKG2gU+^CG&9h*q>qzzqUj2S6ufMu&C0hNL9%pt zs7W6Td*AIoTsK^C%3_xg0@N$dDx9ZUD2c6AREvAO|I>FdMHoQORDjvT{)hD^>ONa$ z?#C3(t4B>!p_FWrDHdUryq>vQ52(Vcbx*tL)HtVOr!vZMuPt=%aIh%Z7#W4u1+kF< zS+$Hgr^J7jMZXnRnJ&-ZmZ$hC7@Sdq7xO9~#e9e*MEI&A8q;CxGzI9V9#`;hy~II5 zqSm2({0K1yJrq{p;%8ClPC1|Lv2wi-WGZ8u-d+8S?n7CrT0ky|ZMe z#E}gNGL5**^DbLOG*jC?zN$qyiS`l7t+tTvFZu;9C&EnWs{+Oz1TYCM1BaderoKrQ z$i7gn+4mPkCY}W)(hp)}s|7QqA~tErdo%jIZ*qQ$-OB*~yJO7DbJqzp4G}2&Zn1C4 zU`8HK5KtX&rOG#_5h1v{Yfc0@1>{JGDqVL@!_oV)I07*oMf?vLXe6oPihL=}HQ%cVm<_zl6H$sCv-{5VJlzMbfnU!`w~RsNnoTw zgRWb}0_#odiBCn^9UQXw!3|^PY6Ah_wajn+aUvN3>{5RA(~9Q(QmY%0JYvTlOduEV zpx^&Kf83bhTmDTDpw~Y^r>Aeq3t!bwZGD#+&N0ESITf*=?CNH;c7cO{PPB1<#J{L) z%k%1#TXZp?3c|nBDXX278-D)x0$(m@1StS%+cm{_0k%I$r4_>}7;%^%*`ae3SNo$Q zpbJBbNlIU(^xqCC!Pgnq<#!uz{A3cIfp|inZDsbH$cImJ@~eI?PshFoACCabJ=5D4 za3>|cMQ!*Ulr=Pmvv^fGe@;&1JMrEX(6`=sWG%d4Trd}_no<_=0oco{0NIa-68TNr zHn`&#C%8xdRd2x8HBCs?Hdt_Rq|I@s5J<0#w~H%c2*U*Y17>(mmUuVjOHu1+VM9Q( z?{0NuX%M-ZR@cWDP(jg0A@kTy(D0|t^*(pMZfCb?+z3Sk)x+1gzO&T6Ro4BhPzW<8 z;|EAdX5dD7-^PdAROUA*S5RAC@6P8 zL}0;oeB)TL{?f)|S&+nl&mJ(fkC*J*Tjvs&(o+FN(BAJs&$SU_P#lH1h>B6@Z$qYS z{adN6MeB-WiDq+3+p0f!t&9IM?Xiz5yU|g7A5wn(?s$GUv9|&wu&<1cjP`=uy!1d$ z1-HY8R{T)j1u|9|azcG}Fm+(Ho)uZQFc?;RxCETckraVSpBOa7Zy zrvEto3(c_K0J-wyjrTh2%ojXZG$X*K@tOH)PzUIQiE-!}?6?5sGS5H`|9KAh8i2?I z;q~IJ6&+4>2*pOu0kp^Mkl4<{pJ~0qJvG@}0Z!=Jf|J2Id5Lh?Bwvu1DiUWytxW+d zB0pLtxWi%G+Po|nOsbEM`nVaz`V2__BX5-^@lqq}PXK}cJE|9;a*iU>{@ulD^8d&d z2!=yzGNu$3R}N2#csO;GDqwu;$nwL}3CIS~`J={JWj~9QBY3&%-MsO;4I;J?EE9GF zihh+QsuZ*yib-09wJgW^j#H(g3KjmATFwN zKWBi%hp4p!@RB<5EG|agoeX(V;*kP9J>L&35WTTbX~Ld{Zt8yexAbS*B;}qVbq@T& zfq|Hs^X67ofxtN67y%Z!lJ>TLAyM(jDxS3ee0@yFawq<>+nSHk?^8y$!#jXnmrw;z zlm{HfyD7#RzkwHbTXDf3>B2aOLD8|Tn-Qm!&^Xb1pN3(M=@S(K#vxNEmBUl|Lx>)b zK8u()LvqgKZEJL3I+eIx1}IaLol^0htS!FaFAn`LyBAHL zUfA(3v$M-^cVY0s42;ioEV-*ZZ-G^r%fsc_-o{7O-+co$ENfUH5%Ty+tiJ`c(Sa0+ zfqCaY+*xcy$IJA`RhNY`BsOjb`*gxVJmy@#C~+$QSbw(yE=pQe_~RvU8mi}wqe#B= zlcQ#_?e}C|zmR$zZY1ml{NNbd+1!V1T$PWlqE?MbO6VC=nx-OJm{PcFQ zXoMJuxIjmUGtktIZhpa`UTQC4SNNuhkD;)pC28uvHl`=|&uZSMp=PB+z{U8SV+uP( z5*Z3uIVi5oT3MD<UTfu6(AAz0(&x&Z6un3@X!*ci z8QKImYAcM?GhAd6!$m#WTpZ|2^K$ty)ut86OJUHcS4zoINE)3uDPo1%VU3R7%MZZ6 z0RRQFQCWqm8?kL=Cp-)HMwOl+tG?dfxZ%bvEM2^psd?aZFP$!kp}gHMRo-s? z`CNS`QM}?7IPDg;4_Ma;)^G(IWz(__6c}Hqr%d!-$HYmSLGoX0rU>cpY=J4_@Po$V zUzJ_R+6EpwE(NCcc@6S`)E~%?pjsI-IF;h;N1cVx%MQZ0AEs(sT z9>7PIp8K#JNcZBOcIX!^daN~5UZ-a6L_Urz$vqUbY+0ObGjs})4JT1UMH>Y3JPJlt zy#Zhqg%_zRJmQhfw9Z5ht=#XkULyVM<_RgHPVQG*96|UrAd$(Z@!ia`G?R(~BE{a{ zx_NiGT9j8PckG#P(Sp;{`WL9zKc1w}Uyj|{TOJ*bJW~Da00j1$dfQF^Oge*!6a9#E zr;B&XxW^lmJLYrjG%j{$E-?TQsKw_umeUA*Vx*F6LwQF<=h%QOg>FL^@Rw~3U_OYC zVb5IPLlQrrpUPuS?X^Ia$ke@VjXcG`=SQ?L#yh4y_1jjyqZ5 zYRZ%Sc5O1?CQU!A-UvG?zB;1s(0^Hq3cZf(n+^rK%&sv!&jY=+`+v%Q{Ke>5myK{3`_T)coxMErJ5^S7mg>o#r==X4rys+cKGdfD3> z1#~V|kfN@u@e7dLy#U-=+lOZa6%P3fnFi9vm9z~bb+ z?O|`Vc~K*`uGM%x$jDkZt@dukd1{_KgP#d4AmS(W6wK|a16(7pvV6zF3C^$yYXg9j z^3LIRBQ;q(6++!vm2rfg0x85wU|566e9?rs3S>d(^U&4<{geCgFySN?O52`9Q}_fG zQFwwa#q;JRtDj|Q$IV$mNFDA1WN!9c*-RuD0u&@>tIEcZ~$H9hP zSrF1`tlRIP!VOJrea$vw23EFRmeCXgI%f9ZYKmH=3^bD$WP(vWP&ckl=zi}7!JfK+a!C)KC|s#>yBWuT-qHq&7gw&+GWUzFVnF)o0)6Qnon%8vb0ip9CWWzzp(C^-{f-z+;?ycqU`hUU7;~eI$}l!OHS^|S75^b zi9;ba&F?ikC;6-caG}s2x%9GivHTUm zOQZJBz`ttPBp8Utxa)_$wXv!6CRB)29#=B!>UYH=PxK>X+4XwOQnrjUCm>KlcnFob zKrH|$kYyJOH3muH!BYy5#>gPcOE#7Ca(=3PJGwF}C8SbN;*5A*>CD@LY|HQ9K=s${f-=ktq_rV-lNZ-X-oXATRP=AC`2d5y-qNKfxxfA2>d)o7@92#N6%hp-KSuL=HU{(FzS9`vQ@_ z_&Z>yfNlT~u5Z~$j%O}F9T0gu?S8jliX8#$j4;TA99`PNm5=}oi8 ztv3c$LJ-B){nDSq^1-auRYNQ-7DvD`+S>281k~MEb8ef}V?Z9Q+48%IE#p5WR^EZKmr<64Wv7As@Xc}g*)CE?oVVAK-t z9Ei!VJ{Y`QH?(^=XTQ#5ymLxq#JJ~Ypo@C@d;!e_g%22;pv{s9hW{r3H6Pj85JCuV{(I47R2-`vd=(bBxUTIlS6;2?Sx5`87PdzHH}CB zHhE9bZ*eNeToc(B9h-tefH|dVKq6zje|Lw=wJSI)_v!F65CxPMOP-hcEN=RfI`!kE zWntZk&xuz?3<;mBv9}m4RTqKf2k#X`;*If(DvF}38S9elZUSZW#6E9Tp?m>suIYGJ zrlkNt(OK#?Njn5KX=tl_n@hvA=p%6>raA|(|D@bTP&Ktl+%?}Q<9diq!006q&x$l> z7uWoK#61n{dMT_qPTHx(g3QCehETeB4*lefhpzMqXp=c~ee@K<3JJau-V}eG9nm`X z()@QgT1Cd;^JBl@!x5S!0{R_b{G(KaHnL$m9-#gP_J>HIw1)1_r^^r%ZABOjk6^kw zrBld+di%-pC!j(!jR)exp%73UmbK&X#ga1q!+L;}ni ztIsQe#Nx!-GPpPve}8Hf!1R!AE8^f7MWWEbdV2E;W1nCk1z2FN@10t{x=F9QN-Wgb zsbEJ=doZDFHa`PO7}D+?c^L7gmk^*#cKuXW;-gM^%e7&}e8kJQ^(VMBlt1Cg zo`2ih!7(efHTWilzVELzLjH7@9urI~Nft^e4ElA7TDi}SrK#AwnM{Y57r(=^M3~QwCj_`daz1zN;p+-B-|3ro z+LvKWXDqFcT>`6l4D4$OpTnW-?A7?HXoX?2DIHJKKBv-B|Iv+xVh7mt^=DO}#P&<| z69TC_)R`d$D*mN#cqEod1;>cWM=Uu6??bpkmCYwrVfq8Q ztH5VaW0S(tQeR|vWotIA*b`|_fWfEwZpNaP)?FsG*1X8E3>iaKsm*RcTWk%4OMoJW zSlYmcQX*P0xNTh}y8Qb?5KojLUMS@VW%oLM=qL>)cOkK|t3Ip3Mn9Xuh!~w^qaSs> zcn@a_h?^|xNSmTDnWF#)JizUk^psS!5W`K>z=?sVokeqwj%SylN5BE9z42^`d4z8z zZopBP#ipcaPI(`tsnt8e$(GeCmN+(W42*LY>S_r_%gy-l>2Yd)>OT`vUoSLs_yIvpQ>QPQSuPo9I+VX( zu^Kg}_IvzTd@_sv;{C5*896siD)L=H5b?rEyJE?_f!2IJ~H|NZP=0;IghR3s5@aZ z+U3YpyWf>XZO$0h%(cKjpj5fYq0XVCz78gy7w3I3=S8~v~)u%wGoWAYN?0KW+ zL2v$&>R>R;VBZIFzKlG=w$^eLGkno@hy5SL)fTS|i(U+u@uEzrQXx|XMo~Bf+hyq0 zbP$XGR*ntlDdsQ6<-}p1EhP9IvCKXEl3_XiaW)*bGim$89~RwW;(2$9aAc0CdexRp zidVY^ULz($b^axE`*gQ*7?D~IfslLj(C9-Dcs_+fYz@fOnoF;3b78adlqoEv#qxM$ z9T5^0cNlF?J$@<#rCH;myf(`yyzMl!)1s}^NN!(R$)-q*QbT|B)sG4yyU&r zb?me_gx0{C1oXP7u_fA=PfZ@>frFRVS#qxUta;7rhO;m&LesITQ0#6kmN*1K`hlC- z0#cO|R=52NiYQbeBo>#vnW10#`?~d{Bo!BLN3~-{KJ|=}(J%>q@NZW!30q7FP_>d| z$2dR@ufwIhS!r8`utK{m4lOd3Ag72}9{VMQvBqELEHv)Ng1SLcBF0)26H70-^52R< z(2gxSInWVfbv}qexxC~g1yyf8d;l$9c}!6nbd9A44QRL@E|je}^L-5843Gci-M?ib zhl&7Fn!@~P6>y)8IqIMo)0A==?A=U&65X^`y~3R$%+3}oT10Qkph#-EJHHHG-yUOu z(VHkQ|B~&ZuB4543txSj^f$6k;+ORXym_Q(H*9Mv?T#tJvISYdQTfJ!L~%tq6drO3PGZu6Kfo}Tx)qg2mhhe1@^E?#!B^j1Diuw zSoi`OzWxz~v_>^h(!hQ56iW|n#~RuLRvOz|=n}UeQ*wX%5upI+lt* zLrPs*B<_*{dQqm-Y4c`Szz5I&BnU~L zPwplNsM5)!2vjF^(V|uAlIK_DHym&bVl-2C|7MDMnZ-=(t!7fBTMZ#$TkOX4 zuUp6RTk@vKT=3Hg15V&@xjk+2f+Ws57U>3zcP0OZ`71B?=cGTO_`tuTVNC>(KBI5M5Hr9Adk@ogDfZAfaDw)qGjli!Gvs7 zBHph|wjmy@Vz8`TwQ*kn6G+Ze*j3_s&C!|Fn-3E;ND{tI<@r%^52F;RY+zqW<-_Pa zyP7Q%2A18*!2Wi%{h7&VaGnBI0)J1*C?2Baau`O^;+q63@`qP>XM}9FqQ*f?>CpgX zut*zL45|joVrBYT)(B+gBavAtc=6Tj5v)e8u#Ho$$^tRM>0rt>IzInIW^L?dnNAL} zLEVtpalk;n(TX%IrI>b@)%_fj*aghLEJi_|4f`z>n1WdS)^8(X2v$ZIe?!T3D|6A9 zo=@^X-WG{?2JRaeg@e!d=X`VW-p<`?fa~RPIU!9co5jNdHOtQ6R%X!oJ1-*+!o<;} zrjR*$!APgAjowJa9u5K~WbYsb(kjN=`cIdixHda<0eb zw*{dxz-4u^`ASMK84*X%&JRa{D|$_HMEspoe0kzG6yeKXf+~Sj=}AiD%i|pI{Ib6N zM)H!Rtx^}{E*`NGaB=@o)e@?RQ>>_fiaH7}d6-o&f zEdm1}V-^k%3cWy4m-mN*5qmXg9BeW6K1fCW=&sDc9F;*TTr85GS}7CC2qw$zPmyKc z0Cgt7t#bDhMh2K{9@x^e1#PC-?=H6kyvZuekG8uFV!^WWJr_c&7I;H(A`?&se{!Kx zfmM;@pb&`32Z_AM5+~Z|kcKZ8Vkl~k8rU&KX4Af66-of}n9fN%=oV%?=vOGl zN5m6@Y8dT5f6Cul=k*S}m?)*gC4nG1>VB{pP@+KHcyc&pj8^dCS=HSE;odw=IS(5m zJ1vfbi@pR-uwp(KX6~Dkj=%fpXED4dRdtx~Rt>xBdI8hG>wYxXQ3tH8UmbYV zz4g&pC5*FgR`~F)*ZllOb1*=T&@+1iy#X^I*y;q49*a;3*&)dv)qBvbfqQ^^H_UE3 zG-^;?U^Wa^8V9ZF{(>T~ib`zDpALjD7U7_8!f=530)|oBqDQ0qZ8mYL%h9S(9&#yy z&>`gFhbl^HOZ^?q-(=x*C(mIK7PMz4tm4-qJMif-!i3%D} zqFCq0Ch$rmDrUDtZbpwX!&NoQrrw#qUhod<$kWMvT-#rKtcCIHsZUt*26iz`*}QfR zv;|J{8>L27fUfasdHs9U6@7uh$QZ})YtzQgD(j8%^ngz|@LdCBD541SYSE&SARU;7 z9DxmXdSSjIHhdMkSUN&gcU z#cUsR95L~NT>$B*5aNu68Bdw?@h^F7M!A!0x-Oz50}O@KHTG!2DDspAWdd55{7B7? z#NyR%5ua8Mf&{k0eGuXpuKLQ`prHdRvl55(>l(oFon-Tl)O9>}>?7F)Ym)t6jh$sc z6z>=BVPRoeYJnvsmhSHO!4gsef^ASo@<4bmZ9(w!n8B_XJH_}`cJ z&3(K3%*;MBvoq&8=llJfIAWasNWb7uFW-fzlm-e_VNJrr^&u&5 z+=6mfVu16;d7yZLkDq@28A!n3Ic^_aJsj3oU2jKg~g9Bfr5+ecr^Jv`pS z9#|Zn{l(Bbax_&3cZl$P-BO@Sf4ms@-u7u#)X2sAsiLgJas4U{cr)bED_a z4oH<}hho#;;V}gwxh6GRPx;P3ORb`!NIxM|x(E+qJ{6O$RQ*cq8QY*|zP$D0katFx zQHv(Zj)8TOoc~E-yQI6o__~_S17xrebKBvVbcyI`p=F)oxqwkr*b%|CbXzUCu) zB?;2q9jJ~SiQF;CwEFhV0R}-TCgp@H`QwhFGKg?A)^UYBFNVGXJ2@&2AtdqlX8Q&1 zx94wugwKN|c$fIeZs3`vwhI zN|XF+z>2@}YlSS~y4uB^hGd1Hp}9VAzxy?5>ZQW4ac6~LM!cNkNdG7DFAV{1QbVc3 zIfjddod1bnFG1!Gq8FUM$?B=hIo}wlWnQo2Q{rCN~uHf_Dw>v?{6Zda}2n;5^JO_FT?`Co7jAm?Cf6s zq)B(r0|IpK!6jue5X|5Hi5ps<{)Uf<6-j{^St%8brn_qhU#xJTplQsw7k@W`{%d@_ zC#B#^QnM$t{FkaxWwkC{eR3BiMz6XjMHr{0q8!;y-`4qw*$dd_XFYZ8X_<}C?sENr zZUksRpbQTk%S&NOjAOn_`KCFMESot;eA{k{uRw0gLzlzCxl%eX=L#@}a@`ney*CJG z)=$aapfMB;8TT0wE<3xNmTdFf)9{HMoiHBrLefqo53&<^BL%TN`nUS7|M?-Z-l)N- zh(HCif)tS?Dq+q={-4hBF+w{QRL6aGansbz zKuXQ0Yg^8a%wow8YB42gnMl3bMYhp1fD3}3%Q4-ZXhYw+kgkoPLiZ+iqe=MEh`Vwj zShUJRD!=SZ!%3z?k0?8k#-)e$b)OI!LSkE8dU6AoSB40V=qso|XtF&Ddp{XyVA_f2 zY<3)7FZRDfd<_)V4kFAbbYwEiSHs1nxz7u61|9>Fp!TRAU9N7E-E)SWjKFy8!H1bY z-OZ_J3O6P;p* z9x7eN?JtShFgZqpmd)hABlI3FosZ}3|9&!jqW+|5EQ8tEkp;!=s)p;F`Kp7%GDh?p zjB@31hiFW|fqhopfFkf3-ST4-{qS7ML3})0d2GsjkFOs_RL7Q^Nkfe(Z@!AL8m#(# z`~J-{3p~)A0y0m}Gcro?C~n%uoCC!YBwf9X8Eiyv=dWvEi2cK_43BrXILl4Sj;!*9 z6w~|KjF`<1bH?uV`r^)3u^+XlGpa-H;~bG3jTkS@`6g!jZy_M1J64c)%X#>AR_&o* zfgk687HYma8jIM@nMACT(cf$1Cp(8$z=5XR3_%Frsw9&Aw5bp2tSL?FP2Fi7M|PE= zZ_S$)o8IJtG_JY-;X%hg1gh7ar&c(@w9B2G@_hW8PdI5x)o**YGiLqX43GT=4CPe; zQ9&Mi<iIqM9CMuoh$CYNlI$w_n8F5}DBeb+8_=wnuEYI8DBR-aR ztB9>N?-w64VkM@cx`!MGY0^y4+KY1>D15qU@`|lujBL_t<-ulx-HwX~iAOXXYN2py zYtEmSt6-|odMeRjee&7MaXvBtk*u17eF4kcbf1a)Tm2FM?vp4DvHl6lt#E!aQX@Pz z`)>af&0WPQt0*|HT4v4O{9VZwTO}-J6I=T3sBSfa?H?MSPn*gd;WKWvgTu_eRs&him0g-HmZ4*t@l#Df6~%Evn~F{KIUl1H7Ih!L9fq?Q|e- zNz~3B)!MmN8pC^7Aa@A?zhP6S%7vYs!`C?<9YN@+yhMZ9i1{%GxBHla{W2V6HV()L zsfF=`B6Tocmy~|CmI>jKm)fPhfPnLYtaX7LD+x9UeceOMQL}TqpX)9i@_EJF+gi2X zu;?QA( z9HChG;2`{Dh1YCM6!ga3vjv9uWW%^pCfxg02dg^SIdA6~Q?PU1#kN5F@|~pxFD4a< z8|36Q$TLI(iO4N?AYGH6MeMQP(}xL$Vt+{f{K=@-ETZDDN*&&nzKEv`)t=iJ_!gVR z==pu|EZ3I`#hX+?;Zue=Db1!6J1f$Z=j*^vjZ3EwIG_9~EoLZ>*r=7f~WeUqmNW>2kWWtmtE1`is<%Ti~9O1R09xA%0 zT#Z5Hjz3x!7<~=EX0|v>vPlQ30g6*MQ5WxexkGQe^tXeGd@Mnd-sdrT)}PO$83n;R zbBmz1lh%s2=MU?I+bXWBUQkzwEI$jM`ogPu+d!q=@ClcGwjv!qdnG0m54wcF)GuA2 z8Y)jYPJTN7IJ@DMywqY?aBW=R@swO@ne1eXK;#j{A$tz%dW~%}mhbaH#u)Z9pg58) zGHYn4>6(mF-&$U9*Av~Xc(K;EkS*C@uZiI&h7q|8Ntc6F(q(o>ug7xq@K?>o_Wu4K<1WrjGYoP^&K8d^i%1j7RPm|*AV6f zES8X*JpAi1Vrc7vjjH#!pdmuGXNtw5`uQmJ(=9-JdDUVtZ5Y5#Fwddb1Yp8mHn)0n^jR!ytI#<}mspDLPf<(#P$}a$zImYbYqref{#gK6 z5YsZGV9JCSny^4p=ZK6J`L<2@W895SquYt9C64(~;epD4n4dpK zto}Unm4s6}>LDFtkY7scNo!NJ#u0W}z9;*?Afnt-$V^&sG{MD4k65p(tmK1K<9574 zaE&DI9EY!0bTCL&Wgf88GnYo-(7XNlI$NunUMj?Dsy7h!AGLH~f4XR@+ z`O#eeuyv)hRrVP>Nw@ZZ?>kdAFF!aEArDoM!^BVi&Y7YHOMe4_Me2lWKf@^r6&y`d z#7@B;DXk=5ME)U)1NjAgPZx5@`O9AXbVU&_nc_r4M@GRLUk*+ccdS`0QxJ~sdOjcT>yYN-N`S;NLr z6dR}p^G%VZXT&;Cv==E+(D3pq=ub!Fj zD;wxL>#h*Jl8SU`o@g4j+?4z3!qOK?)hn@BRQsHvpfFGeBM`T)#r@q6Q$=sFMJ|}I z4)5+K3AuYCN8N&R97==%?%hSXvZ~O8tHE8tnBLr8ePb_UCMV|9=%uDWwn)L_SSu%a zQHkKP^DYil30&o)phj6D-;h1_v7J(g#!EJ@A<6;v8zBjQ2uKz4;3c=ia#iyd)F3n) z?Wn<(F;p+MbxO=;6o0NaKJ{0{9cLn>m7T-#OS)drl@Jva#(?fPgr(b0TE#qDGYnDP z)Eo|+m9?#nMQ$0SI4AAn{Z0xazRY+l`kR>#5l@xM@L1qY(9BYgVdpt{_<{lw+qzz3 zSL6&Nfu^!7@01jpYxqx6h-kJSgQKg2M~L?GuRtj(Q!9kMXbiJ;N#8}9I*yG6Pc7QD`Oy}INo_( zes8Nd9s=Q;ZTdz)F|?_!u;|m0P26gWOY4F0sIxVWLxE5E>#it|9iXn(?CX)=H`Bk( z8^G#LF)+cKX$Dw}ku|K5vG?VzrR8*>A&=tzFGS*d1^Nwgn#T}fl6*L+-`O zlgD9*t5bL)LAUjS64q#Zn43o{H<}p!-O@Jmh4Ctw$wxbB-nVZT=1$Yry7uM=p5!X` z_+hwtDPJlHv)!N=*;?nPU)Ll^oxJBFtyfFV*RF1tphlP=eUO8+1q+2zL(Wgi?cUh6 zem@gf8+7uX?y2vm6L6Bt)F0PhJnBRrL}ECDUHjELWGCSHKfJwXbyR-Q>Hm{p2sdJk zbXxsKq!HKT}))-pT)bxvX znab1kejXoE^20_&mPC*8Rk(L5$%sNm(g(r*icPxO37+M``mn)HZ$}0$q!JQ(1?`=e zUbxk2h6H9NPojm^8Tqe-FUk;A7Y2e=TF&e1AyHw^r%#&&xxy&GC{Wu=5 z+6-U&Y0nl;R4ImhCg&Ps`4-#nPI8QS$+)I#VYco#x|_=D0e@V@bx#9Rz?-wXDXANc z#Kx~v)jK^O;h&I;NtE6*O!0u!>~2nt2z|^O`@n%pz~Msg`A9^7b%LW9dKw*qn*apl z(iP5*iR0TsOQh}vS3c_eiDZx-5`)O}QQ}V&I2`AzVx_H`)4bN0bCugu_{JMr&xGOq zm*kNQ%cTR{AEqYV$(Xh2z3bG#*f*zbA>i~@1hly(71uvFfPaQ?jxI(^ z;xvdRE??H`k67f{$Y_&o2EY`wI(fGx1eI?gT2+F0OuQG+^2!GJ?)cw|^-YglJYFbGpP zg=b~Q`eCRPFf zfqQ}$Kv9A&B8ne0s+B;P_@ML1GetB4nj}SB^fms#CK`Em2awbZZVND=9S{1jcmM9z zDQ68=bQo`IVHDL48Fr}|fC$&`#CgTM*!rIxzV}lV@y+<~_uyA+K%&z86kD;aW1<0f zGsQoj=<#3g-4URQ!o8<6^aXI(0JF$(kiE!A^#XDbVXX?Chkzr=O|?yJ3D(a{I&pM= zF+rTs@sEhTUjb0CisIv#JZ$D3kg{=AbE^-F#RqbzuTvQ4uT!5rPjinz^#0kO z)JNIBtC(Q>%S4p>j~)jWlOLMO3Sn_FL4VH~TJUb<)BR1#y;qX;-Yw_f%`a{0{Pk&z zX!tUUqsz7AWck0V1sihIFifr|CPZlQOAhmJr>mg}&$V~HV+Ly*paflQF(|gJ7}@D` z4g13UO{Eqvo6*0!oGN&gm1FMee3`lTfPjU0h)Jh3_?!>3b5rY}EOSpb5uF8J=vzFy5{KtyGR4h$WBo8X!5Z`Zp2gkAr-xN|@ zkk0~?e}+XKNU?i4fmvm394X29vcd5L@6;DhVv`8jTt^()CA8N6tMx%+Q9Ye+aet&A zmqBbEmL;u*IXM-%8Lc3TUiXY5YzoTeSh!37=`yZ^DdC;w-Pe+bG@sZNLjh~i;Im6O zE)G285Lt@UF%nI~zgEy`?cQm7Gt@{aOI0=f<|+(5*`b_Qddj@>z`nAzkJ2=j(!pe< z^cE|_c%qKAx#kG*D=ew!4eIdKg%xe2g;W!U zEBI!7x_`j;%@P7&Wx^9_)8Z#m2poO|roVKM$1QAATmz;v5x+&!KLRu-#Dg-?`mX93 zv?n^9j1;*3^X9${j$LH5Tu->z*RXK~LaV&i8|nB?8a0w@XVA&K*$Y=K zNepu?Pg{Higf3#e50P^4q~&YaENX8{+uIk0n+a+J(I>rqu;m?7#Jql{_{&&j@up}%+xLt47gs6frFyNGtAP(` zEIx4-1XIeO_sI3UPA)f$eszVKXrs#A#-0H#0E<-cs|2i}Cf;_3Pb_{vdq(Ils}nrV z1Vza@QXtqNaaLF{to|e_WMt;u@byOSnl2DN_A9lv(Ek#q#?eB&_-sQlRFo5>SB z9#w|~C!a0%%G-pij^W+23XB8% zL}AGGj{k{QE`Dp{xi+uvxhGuP-oq~QiCryBH5y4l)BoK#4;0A=TXXyJ=L%4x3JCi1 zX!KqKpt_}e??b`59;HOE9%R&CHv&4OSaf~Cqm9|&@bBi)SO2d%c|)nTg55`HDKQ)v zi}&TzfLfcJrL7)db?_m-Cy3VRVc6Zr0I0q1AJZaiSTqE^yEc3QcjtG^ zMrf^bKB!u-a*K<~d?X8?zTSefMY&M@$H3!zP&57Ms(qI0KyhdZA~QGPUxmdVCl9Y1 z;bA)!(;t85r%LrOBEWnhgxL&+*5BwJpybs5x8=KU4^a)M`6J+o!r@B*<<4)?1J_=6f;mryAdFj*3%Y^e7+3SSBNSV+qJ8OPZ62Dn zujItal_#@Ml0srh8P`s{{NZjCu&9|x=U(t%+&=&M`GL{RqyBm(Eo_a0Rpl|JLeMGE z-a`6?>E)2IWpaY1{3`G|w&>$51O;E?9d#gR+WTGJx_#lUtOjWq;;`8)|HBdHg2MLU z_^9+v(IIDyaeU#TfgRl;TO-^2Q&S*u^wyX#4O9Km2n$!MP-8#xOMfsJ$H|f?wm@V&=IR9+L1)k(>{vwdQK0`*|u{8I>Ql+wbH z#Gud)N-qe&{_qtBgSvaHzMAibFoEL{Fu%V+N=E9Fn~5URwwt2bKO;yui1{kknZ)xM z06D+avc;=8eV!|qI{;uy`^&9=wbw1KctYO9@JT%OS3)!en_%^6Cv(vkMfL z0GVe_^&o>e^g$x={)>0ce--y|A#F=B6wc3g2Q3o2xLw|A$l{tTe`q}cSkYi(@8oXTQo~6kRAgj;0 zr!|Z*s#0Yp#+!~quF3dE#vlIeA;H{o4WVh3^k4#Ut1yhHa7%bTIL`r&$=sZ%q-Q

;!6c`<3#Xf1zN6aP z5v@@%ujU-OwM&llrL~bn2QsCMFTTW2L_h;Kt^sbd{E;_$fJb@A*kUiU{FfjQ)^E@~ zBJc7JX&-*!zAya3p=w)^G%y#t_1>|h%$8dR>4v$N?WNWDEr2n1N6ZrYInOzZ zLZ;~DFGI|J{ic72^BZ63V(MvGEtCD^1ssw@{#Li1nKlAF{KUZ#$=NtS?3Zn`PB#eb z;|T@u+bw%I0!xObAuWiZmSSap4Im=M_$CiV5Mw3${M=A|oKXrpIveJft1jc04B

V$}Chdc1TeO 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 diff --git a/doc/fluid/design/quantization/quantization_training_framework.png b/doc/fluid/design/quantization/quantization_training_framework.png deleted file mode 100644 index 5d8cd5439f04766aedbf7a2688b9b635f4d09a41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62611 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 From 773e5660a6a6d00ab857aee0226f00c7dbbfa02b Mon Sep 17 00:00:00 2001 From: qingqing01 Date: Mon, 28 May 2018 15:06:43 +0800 Subject: [PATCH 5/5] Fix the grammatical. --- .../quantization/fixed_point_quantization.md | 51 ++++++++---------- .../quantization_equivalent_forward.png | Bin 0 -> 33017 bytes 2 files changed, 23 insertions(+), 28 deletions(-) create mode 100644 doc/fluid/design/quantization/quantization_equivalent_forward.png diff --git a/doc/fluid/design/quantization/fixed_point_quantization.md b/doc/fluid/design/quantization/fixed_point_quantization.md index f12e40fe2fd65..085352fc5614d 100644 --- a/doc/fluid/design/quantization/fixed_point_quantization.md +++ b/doc/fluid/design/quantization/fixed_point_quantization.md @@ -1,13 +1,13 @@ -Fixed-point quantization is to use lower bit, for example, 2 bit, 3 bit or 8 bit fixed-point to represent weights and activations, which usually are singe float point with 32 bit. The fixed-point representation has advantages in reducing memory bandwidth, lowering power consumption and computational resources as well as the model storage requirements. It is especially import for the inference in embedded device deployment. +Fixed-point quantization uses lower bits, for example, 2-bit, 3-bit or 8-bit fixed point to represent weights and activations, which usually are in singe-precision float-point with 32 bits. The fixed-point representation has advantages in reducing memory bandwidth, lowering power consumption and computational resources as well as the model storage requirements. It is especially important for the inference in embedded-device deployment. -According some experiments, the apporach to quantize the model trained in float point directly works sufficiently on the large model, like the over-parameterized VGG model. But the accuracy drops a lot for the small model. In order to improve the tradeoff be-tween accuracy and latency, many quantized training apporaches are proposed. +According to some experiments, the apporach to quantize the model trained in float point directly works effectively on the large models, like the VGG model having many parameters. But the accuracy drops a lot for the small model. In order to improve the tradeoff between accuracy and latency, many quantized training apporaches are proposed. -This document is to design a quantized training framework on Fluid. The first part will introduce how to quantize, The second part will describe the quantized training framework. The last part will describe how to the quantization range. +This document is to design a quantized training framework on Fluid. The first part will introduce how to quantize, The second part will describe the quantized training framework. The last part will illustrate how to calculate the quantization scale. ### How to quantize -There are many ways to quantizate the float value to fixed-point value. For example: +There are many ways to quantize the float value to fixed-point value. For example: $$ r = min(max(x, a), b)$$ $$ s = \frac{b - a}{n - 1} $$ @@ -16,7 +16,7 @@ $$ q = \left \lfloor \frac{r - a}{s} \right \rceil $$ where, $x$ is the float value to be quantized, $[a, b]$ is the quantization range, $a$ is the minimum value and $b$ is the maximal value. $\left \lfloor \right \rceil$ denotes rounding to the nearest integer. If the quantization level is $k$, $n$ is $2^k$, for example, $k$ is 8 and $n$ is 256. $q$ is the quantized integer. -The quantization we apllied is parameterized by the number of quantization levels and maximum absolute value: +The quantization we applied is parameterized by the number of quantization levels and maximum absolute value: $$ M = max(abs(x)) $$ $$ q = \left \lfloor \frac{x}{M} * (n - 1) \right \rceil $$ @@ -31,29 +31,28 @@ $q = scale * r + b$ We call *min-max*, *max-abs* as the quantization arguments, also call them quantization scale or quantization range. -How to calculate the quantization range (or maximum absolute value) for inference will be described in the last part. +How to calculate the quantization scale (or maximum absolute value) for inference will be described in the last part. ### Training Framework #### Forward pass -The forward pass is simulated quantization, see the figure 1. +The forward pass is simulated quantization, see Figure 1. The training framework is as following figure.

-
- -Fig 1. Forward in training with simulated quantization. +
+Figure 1. Forward in training with simulated quantization.

-- At first, both input and weight will be quantized to 8 bit. -- Then, do the multiplication (or convolution) operation with integers. -- Then, dequantize the multiplication (or convolution) results to 32 bit float point. -- At last, do bias-addition in float type of 32 bit. Here, the bias is not quantized. +- Firstly, both input and weight will be quantized to 8-bit integers. +- Second, do the multiplication (or convolution) operation with integers. +- Third, dequantize the multiplication (or convolution) results to 32-bit float point. +- Finally, do bias-addition in float type of 32 bit. Here, the bias is not quantized. -For general matrix to matrix multiplication (GEMM), quantize for $X$ and $W$: +For general matrix multiplication (GEMM), quantize for $X$ and $W$: $$ X_q = \left \lfloor \frac{X}{X_m} * (n - 1) \right \rceil $$ $$ W_q = \left \lfloor \frac{W}{W_m} * (n - 1) \right \rceil $$ @@ -76,34 +75,30 @@ $$ From these formulas, dequantization also can be moved before GEMM, do dequantization for $Xq$ and $Wq$ at first, then do GEMM. The forward workflow in training is equivalent to following framework.

-
- -Fig 2. Equitvalent forward in training with simulated quantization. - +
+Figure 2. Equivalent forward in training with simulated quantization.

-We use this equivalent workflow in the training. In our desigin, there is a quantization transipler to insert the quantization operator and the de-quantization operator in the Fluid `ProgramDesc`. +We use this equivalent workflow in the training. In our desigin, there is a quantization transpiler to insert the quantization operator and the de-quantization operator in the Fluid `ProgramDesc`. Since the outputs of quantization and de-quantization operator are still in floating point, they are called faked quantization and de-quantization operator. And the training framework is called simulated quantization. #### Backward pass -See the figure 3. The gradients are calculated by dequantized weights and activations. All inputs and outputs are float point with 32 bit. And in the weight updating process, the gradients will be added to the original weight, not the quantized or dequantized weights. +See Figure 3. The gradients are calculated by dequantized weights and activations. All inputs and outputs are float point with 32-bit. And in the weight updating process, the gradients will be added to the original weight, not the quantized or dequantized weights.

-
- -Fig 3. Backward and weight updating in training with simulated quantization. - +
+Figure 3. Backward and weight updating in training with simulated quantization.

So the quantization transipler will change some inputs of the corresponding backward operators. ### How to calculate quantization scale -There are two strategies to calculate quantization scale, we call them dynamic and static strategy. The dynamic strategy is to calculate the quantization scale value each iteration. The static strategy is to fix the quantization scale for different inputs. +There are two strategies to calculate quantization scale, we call them dynamic and static strategy. The dynamic strategy calculates the quantization scale value each iteration. The static strategy keeps the quantization scale for different inputs. -For weights, we apply the dynamic strategy for weights in the training, that is to say, the quantization scale will recalculate during each iteration until the traning is finished. +For weights, we apply the dynamic strategy in the training, that is to say, the quantization scale will be recalculated during each iteration until the traning is finished. -For activations, the quantization scales are estimated during training, then use them in inference. There are several different ways to estimat: +For activations, the quantization scales are estimated during training, then used in inference. There are several different ways to estimate them: 1. Calculate the mean of maximum absolute during a window. diff --git a/doc/fluid/design/quantization/quantization_equivalent_forward.png b/doc/fluid/design/quantization/quantization_equivalent_forward.png new file mode 100644 index 0000000000000000000000000000000000000000..df49c864537c047c785da12d24893e54ce0a5341 GIT binary patch literal 33017 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 literal 0 HcmV?d00001