From 6a5b698d33046f8ace25bfb24e58409fa1e04a14 Mon Sep 17 00:00:00 2001 From: Yufeng Li Date: Thu, 17 Jun 2021 18:09:35 -0700 Subject: [PATCH] refine the quantization doc (#8057) * refine the quantization doc * fix vpmaddubsw info * resolve comments * add qdq info * remove sub items * no toc * refine the structure * toc change * typo --- docs/how-to/quantization.md | 342 ++++++++++++++++++------------------ images/QDQ_Format.png | Bin 0 -> 86264 bytes 2 files changed, 175 insertions(+), 167 deletions(-) create mode 100644 images/QDQ_Format.png diff --git a/docs/how-to/quantization.md b/docs/how-to/quantization.md index 4cc8186920..e55dc48a3f 100644 --- a/docs/how-to/quantization.md +++ b/docs/how-to/quantization.md @@ -1,167 +1,175 @@ ---- -title: Quantize ONNX Models -parent: How to -nav_order: 4 ---- -# Quantize ONNX Models -{: .no_toc } - -## Contents -{: .no_toc } - -* TOC placeholder -{:toc} - -## Quantization Overview -Quantization in ONNX Runtime refers to 8 bit linear quantization of an ONNX model. - - During quantization the floating point real values are mapped to an 8 bit quantization space and it is of the form: - VAL_fp32 = Scale * (VAL_quantized - Zero_point) - - Scale is a positive real number used to map the floating point numbers to a quantization space. It is calculated as follows: - - For unsigned 8 bit - ``` - scale = (data_range_max - data_range_min) / (quantization_range_max - quantization_range_min) - ``` - - For signed 8 bit - ``` - scale = Abs(data_range_max, data_range_min) * 2 / (quantization_range_max - quantization_range_min) - ``` - - Zero point represents zero in the quantization space. It is important that the floating point zero value be exactly representable in quantization space. This is because zero padding is used in many CNNs. If it is not possible to represent 0 uniquely after quantization, it will result in accuracy errors. - -## Quantizing an ONNX model -There are 3 ways of quantizing a model: dynamic, static and quantize-aware training quantization. - -* **Dynamic quantization**: This method calculates the quantization parameter (scale and zero point) for activations dynamically. - -* **Static quantization**: It leverages the calibration data to calculates the quantization parameter of activations. - -* **Quantize-Aware training quantization**: The quantization parameter of activation are calculated while training, and the training process can control activation to a certain range. - -### List of Supported Quantized Ops -The following ops were chosen as phase 1 ops because these ops consume the most compute and power in most CNN models. - * Conv - * MatMul - * MaxPool - * Relu - * Clip - * Add (Experimental) - * Mul (Experimental) - - ### Quantization and model opset versions - Quantization ops were introduced in ONNX opset version 10, so the model which is being quantized must be opset 10 or higher. If the model opset version is < 10 then the model should be reconverted to ONNX from its original framework using a later opset. - -### Quantization and Graph Optimization -Quantization and graph optimizations may not always work together. The model owner should be aware of this and run perf evaluations to understand which technique provides the best performance for their model. - -* **Quantizing an optimized model** - - If a model is optimized using level 99 (i.e. all possible optimizations are run on that model) then it is possible that quantization cannot be applied on this model anymore. In this case, running the quantization script will not affect the model. - -* **Optimizing a quantized model** - - The same holds the other way around. After quantizing a model, some graph optimizations which otherwise might have been applicable may not be applicable anymore. - - -## Quantization API -Quantization has 3 main APIs: -* quantize_dynamic: dynamic quantization -* quantize_static: static quantization -* quantize_qat: quantize-aware training quantization - -### Options -{: .no_toc } -See below for a description of the common options to quantize_dynamic, quantize_static and quantize_qat: - -- **model_input**: - - file path of model to quantize -- **model_output**: - - file path of model to quantize -- **op_types_to_quantize**: *defalut: [] - - specify the types of operators to quantize, like ['Conv'] to quantize Conv only. It quantizes all supported operators by default. -- **per_channel**: *default: False* - - If True, weights of Conv nodes are quantized per output channel. - - If False, they are quantized per tensor. Refer [QLinearConv](https://github.com/onnx/onnx/blob/master/docs/Operators.md#qlinearconv) for more information. -- **activation_type**: *defalut: QuantType.QUInt8* - - quantization data type of activation. It can be QuantType.QInt8 or QuantType.QUInt8 -- **weight_type**: *defalut: QuantType.QUInt8* - - quantization data type of weight. It can be QuantType.QInt8 or QuantType.QUInt8 -- **nodes_to_quantize**: *default: []* - - List of nodes names to quantize. When this list is not None only the nodes in this list - are quantized. - example: - [ - 'Conv__224', - 'Conv__252' - ] -- **nodes_to_exclude**: *default: []* - - List of nodes names to exclude. The nodes in this list will be excluded from quantization - when it is not None. - -In addition, the user needs to provide an implementation of CalibrationDataReader for quantize_static CalibrationDataReader to take in the calibration data and generate the input - -### Example -- Dynamic quantization -```python -import onnx -from onnxruntime.quantization import quantize_dynamic, QuantType - -model_fp32 = 'path/to/the/model.onnx' -model_quant = 'path/to/the/model.quant.onnx' -quantized_model = quantize_dynamic(model_fp32, model_quant, weight_type=QuantType.QUInt8) -``` - -- QAT quantization -```python -import onnx -from onnxruntime.quantization import quantize_qat, QuantType - -model_fp32 = 'path/to/the/model.onnx' -model_quant = 'path/to/the/model.quant.onnx' -quantized_model = quantize_qat(model_fp32, model_quant) -``` - -- Static quantization - - Please refer to [E2E_example_model](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/quantization/E2E_example_model) for an example of static quantization. - -### Calibration support for Static Quantization -#### MinMax static calibration -This Quantization tool also provides API for generating calibration table using MinMax algorithm, as previously mentioned, users need to provide implementation of CalibrationDataReader.```data_reader.py``` is an example of data reader implementaion with both serial and batch processing. -After calling the API, three different format of calibration tables are generated with filename calibration.* (FlatBuffers, Python dictionary and plain text). -Note: In order to include all tensors from the model for better calibration, please run symbolic_shape_infer.py first. (see [here](./../reference/execution-providers/TensorRT-ExecutionProvider.html#sample)) -#### Example -{: .no_toc } -``` -data_reader = YoloV3DataReader(calibration_dataset, model_path=augmented_model_path) -calibrate.collect_data(data_reader) -calibrate.compute_range() -``` -Please see [E2E_example_model/e2e_user_yolov3_example.py](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/E2E_example_model/object_detection/trt/yolov3/e2e_user_yolov3_example.py) for more details. -### Evaluation for quantization -#### COCO dataset evaluation -This tool integrates the COCO dataset API to evaluate model prediction. Please make sure to install COCO API first (```pip install pycocotools```). -#### Example -{: .no_toc } -``` -dr = YoloV3DataReader(validation_dataset, model_path=model_path, start_index=i, size_limit=stride, batch_size=20, is_evaluation=True) -evaluator = YoloV3Evaluator(model_path, dr, providers=providers) -evaluator.predict() -results += evaluator.get_result() -... -evaluator.evaluate(results, annotations) -``` -Please see [E2E_example_model/e2e_user_yolov3_example.py](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/E2E_example_model/object_detection/trt/yolov3/e2e_user_yolov3_example.py) for more details. - +--- +title: Quantize ONNX Models +parent: How to +nav_order: 4 +--- +# Quantize ONNX Models +{: .no_toc } + +## Contents +{: .no_toc } + +* TOC placeholder +{:toc} + +## Quantization Overview +Quantization in ONNX Runtime refers to 8 bit linear quantization of an ONNX model. + + During quantization the floating point real values are mapped to an 8 bit quantization space and it is of the form: + VAL_fp32 = Scale * (VAL_quantized - Zero_point) + + Scale is a positive real number used to map the floating point numbers to a quantization space. It is calculated as follows: + + For unsigned 8 bit + ``` + scale = (data_range_max - data_range_min) / (quantization_range_max - quantization_range_min) + ``` + + For signed 8 bit + ``` + scale = abs(data_range_max, data_range_min) * 2 / (quantization_range_max - quantization_range_min) + ``` + + Zero point represents zero in the quantization space. It is important that the floating point zero value be exactly representable in quantization space. This is because zero padding is used in many CNNs. If it is not possible to represent 0 uniquely after quantization, it will result in accuracy errors. + +## ONNX quantization representation format +There are 2 ways to represent quantized ONNX models: +- Operator Oriented. All the quantized operators have their own ONNX definitions, like QLinearConv, MatMulInteger and etc. +- Tensor Oriented, aka Quantize and DeQuantize (QDQ). This format uses DQ(Q(tensor)) to simulate the quantize and dequantize process, and QuantizeLinear and DeQuantizeLinear operators also carry the quantization parameters. Models generated like below are in QDQ format: + - Models quantized by quantize_static API below with quant_format=QuantFormat.QDQ. + - Quantization-Aware training (QAT) models converted from Tensorflow or exported from PyTorch. + - Quantized models converted from tflite and other framework. + +For the last 2 cases, you don't need to quantize the model with quantization tool. OnnxRuntime CPU EP can run them directly as quantized model. TensorRT and NNAPI EP are adding support. + +Picure below shows the equivalent representation with QDQ format and Operator oriented format for quantized Conv. This [E2E](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/E2E_example_model/image_classification/cpu/run.py) example demonstrates QDQ and Operator Oriented format. + +![Changes to nodes from basic and extended optimizations](../../images/QDQ_Format.png) + +## Quantizing an ONNX model +There are 3 ways of quantizing a model: dynamic, static and quantize-aware training quantization. + +* **Dynamic quantization**: This method calculates the quantization parameter (scale and zero point) for activations dynamically. + +* **Static quantization**: It leverages the calibration data to calculates the quantization parameter of activations. + +* **Quantize-Aware training quantization**: The quantization parameter of activation are calculated while training, and the training process can control activation to a certain range. + +### Quantization API +{: .no_toc} + +Quantization has 3 main APIs, which corresponds to the 3 quantization methods: +* quantize_dynamic: dynamic quantization +* quantize_static: static quantization +* quantize_qat: quantize-aware training quantization + +Please refer to [quantize.py](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/quantize.py) for quantization options for each method. + +#### Example +{: .no_toc } + +- Dynamic quantization +```python +import onnx +from onnxruntime.quantization import quantize_dynamic, QuantType + +model_fp32 = 'path/to/the/model.onnx' +model_quant = 'path/to/the/model.quant.onnx' +quantized_model = quantize_dynamic(model_fp32, model_quant, weight_type=QuantType.QUInt8) +``` + +- QAT quantization +```python +import onnx +from onnxruntime.quantization import quantize_qat, QuantType + +model_fp32 = 'path/to/the/model.onnx' +model_quant = 'path/to/the/model.quant.onnx' +quantized_model = quantize_qat(model_fp32, model_quant) +``` + +- Static quantization + + Please refer to [E2E_example_model](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/quantization/E2E_example_model) for an example of static quantization. + +### Method selection +{: .no_toc} + +The main difference between dynamic quantization and static quantization is how scale and zero point of activation is calculated. For static quantization, they are calculated offline with calibration data set. All the activations have same scale and zero point. While for dynamic quantization, they are calculated on flight and will be specific for each activation, thus they are more accurate but introduce extra computation overhead. + +In general, it is recommended to use dynamic quantization for RNN and transformer-based models, and static quantization for CNN models. + +If both post-training quantization can not meet your accuracy goal, you can try quantization-aware training (QAT) to retrain the model. ONNX Runtime does not provide retraining at this time, but you can retrain your model with the original framework and reconvert back to ONNX. + +### Data type selection +{: .no_toc} + +Quantization represents value with 8 bit, which can be either int8 and uint8. Combining with activation and weight, the data format can be (activation:uint8, weight:uint8), (activation:uint8, weight:int8), etc. + +Let's use U8U8 as as shorthand for (activation:uint8, weight:uint8), and U8S8 for (activation:uint8, weight:int8), and S8U8, S8S8 for other two formats. + +Currently, OnnxRuntime CPU only supports activation with type uint8, i.e., U8X8 only. + +#### x86-64 +{: .no_toc } + +- AVX2: Try U8U8 first, and then U8S8. + - Performance U8S8 leverage VPMADDUBSW instruction but U8U8 kernel can process 6 rows at a time versus 4 rows for the U8S8 kernel, and U8U8 sequence is two instructions vs three instructions for U8S8. Thus, this balance ends up with u8u8 just in reach of U8S8 for older HW (Broadwell) + - Accuracy VPMADDUBSW has saturation issue, thus U8S8 needs to use [reduce_range](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/quantize.py) if accuracy is not good enough. + +- AVX512: U8S8 is much faster, but may suffer saturation issue. + - Performance U8S8 can do twice as many mul/adds per instruction compared to U8U8 so can be twice as fast. + - Accuracy Same as the AVX2 because of VPMADDUBSW. Needs to use reduce_range if accuracy is not good enough. + +- VNNI No difference. + +#### ARM64 +{: .no_toc } + +U8S8 can be faster than U8U8 for low end ARM64 and no difference on accuracy. There is no difference for high end ARM64. + +### List of Supported Quantized Ops +{: .no_toc} + +Please refer to [registry](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/registry.py) for the list of supported Ops. + +### Quantization and model opset versions +{: .no_toc} + +Models must be opset10 or higher to be quantized. Models with opset < 10 must be reconverted to ONNX from its original framework using a later opset. + +## Transformer-based models +There are specific optimization for transformer-based models, like QAttention for quantization of attention layer. In order to leverage those specific optimization, you need to optimize your models with [Transformer Model Optimization Tool](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/transformers) before quantizing the model. + +This [notebook](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/quantization/notebooks/bert) demonstrates the E2E process. + +## Quantization on GPU +Hardware suppor is required to achieve better performance with quantization on GPUs. You need a device that support Tensor Core int8 computation, like T4, A100. Older hardware won't get benefit. + +ORT leverage TRT EP for quantization on GPU now. Different with CPU EP, TRT takes in full precision model and calibration result for inputs. It decides how to quantize with their own logic. The overall procedure to leverage TRT EP quantization is: +- Implement a [CalibrationDataReader](https://github.com/microsoft/onnxruntime/blob/07788e082ef2c78c3f4e72f49e7e7c3db6f09cb0/onnxruntime/python/tools/quantization/calibrate.py). +- Compute quantization parameter with calibration data set. Our quantization tool supports 2 calibration methods: MinMax and Entropy. Note: In order to include all tensors from the model for better calibration, please run symbolic_shape_infer.py first. Please refer to[here](https://www.onnxruntime.ai/docs/reference/execution-providers/TensorRT-ExecutionProvider.html#sample) for detail. +- Save quantization parameter into a flatbuffer file +- Load model and quantization parameter file and run with TRT EP. + +We have 2 E2E examples [Yolo V3](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/quantization/E2E_example_model/object_detection/trt/yolov3) and [resnet50](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/quantization/E2E_example_model/image_classification/trt/resnet50) for your reference. + +## FAQ +### Why am I not seeing performance improvements? +{: .no_toc } + +Performance improvement depends on your model and hardware. Quantization performance gain comes in 2 part: instruction and cache. Old hardware doesn't have or has few instrction support for byte computation. And quantization has overhead (quantize and dequantize), so it is not rare to get worse performance on old devices. + +x86-64 with VNNI, GPU with Tensor Core int8 support and ARM with dot-product instructions can get better performance in general. + +### Which method should I choose? +{: .no_toc} + +Please refer to [here](#method-selection). + +### When to use per-channel and reduce-range? +{: .no_toc} + +Reduce-range will quantize the weight with 7-bits. It is designed for U8S8 format on AVX2 and AVX512 (non VNNI) machines to mitigate the [saturation issue](#data-type-selection). Don't need it on VNNI machine. + +Per-channel quantization can improve the accuracy for models whose weight ranges are large. Try it firstly if the accuracy loss is large. And you need to enable reduce-range generally on AVX2 and AVX512 machines if per-channel is enabled. diff --git a/images/QDQ_Format.png b/images/QDQ_Format.png new file mode 100644 index 0000000000000000000000000000000000000000..0c52af1d12db0b771d91d7927e10e3e6c4267a29 GIT binary patch literal 86264 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 VRHYo47NOuj1sPT8BB|^C{||J4liC0P literal 0 HcmV?d00001