Dequantization is the inverse operation of quantization, converting low-precision integer values (e.g., INT8) back into higher-precision floating-point numbers (e.g., FP32). This is essential after running integer-only inference on a microcontroller, as the final output tensors—often representing probabilities or regression values—must be interpreted in a meaningful numerical range for the application. The process uses the stored scaling factor and zero-point from the original quantization to perform a linear transformation, mathematically reversing the quantization mapping to reconstruct an approximate version of the original floating-point value.
Glossary
Dequantization

What is Dequantization?
Dequantization is a core process in TinyML for converting quantized integer values back to floating-point numbers, enabling the interpretation of low-precision model outputs.
While quantization-aware training (QAT) and advanced post-training quantization (PTQ) aim to minimize accuracy loss, dequantization is the final step that makes quantized results usable. In microcontroller inference optimization, dequantization is often performed only on the final output layer to minimize runtime overhead, keeping intermediate activation tensors in integer form. This selective approach balances the need for precise final outputs with the stringent memory and compute constraints of edge devices, ensuring efficient execution within a tiny RAM footprint.
Key Roles of Dequantization in TinyML
Dequantization is the reverse process of quantization, converting low-precision integer values back to floating-point numbers. In TinyML, it serves critical functions beyond simple value recovery.
Calibration and Range Analysis
Dequantization is essential during the quantization calibration phase. Engineers run a representative dataset through the model to collect activation statistics. By dequantizing intermediate integer tensors, they can analyze the dynamic range and distribution of values to determine optimal scale and zero-point parameters for minimal accuracy loss. This process validates that the chosen integer bit-width (e.g., INT8) adequately represents the model's numerical behavior.
Interpretation of Final Outputs
For many microcontroller applications, the final model output requires floating-point precision for meaningful interpretation. A quantized model might produce an INT8 tensor, but the application needs a probability distribution, a regression value, or a bounding box coordinate. Dequantization of the final layer's output converts these integers back to FP32, enabling correct post-processing. For example, an object detection model's final INT8 outputs are dequantized to obtain precise FP32 coordinates for a display or control system.
Debugging and Accuracy Validation
Dequantization enables layer-wise debugging and accuracy analysis in integer-only inference pipelines. By selectively dequantizing the output of specific layers, engineers can compare intermediate results against a golden reference from the original FP32 model. This is critical for:
- Isolating which quantized layer introduces the most error.
- Verifying the correctness of custom integer kernels.
- Diagnosing overflow or saturation artifacts that occur when values exceed the representable integer range.
Hybrid Quantization Schemes
Not all layers in a TinyML model are equally sensitive to precision loss. Hybrid quantization uses different precisions per layer (e.g., INT8 for convolutions, FP32 for attention). Dequantization acts as the bridge between these domains. The output of an INT8 convolutional block is dequantized to FP32 before being fed into a subsequent FP32 layer. This allows for strategic precision allocation, preserving accuracy in critical layers while maintaining efficiency elsewhere.
Enabling Post-Processing Algorithms
Many essential algorithms that follow neural network inference are not designed for integer math. Dequantization provides the floating-point inputs required for:
- Non-Maximum Suppression (NMS) in object detection.
- Applying a softmax function to logits for classification.
- Digital Signal Processing (DSP) filters on model outputs. Running these algorithms directly on quantized integers would produce incorrect results. Dequantization is the necessary format conversion before these domain-specific processing steps.
Facilitating On-Device Fine-Tuning
Emerging on-device learning techniques for microcontrollers may involve fine-tuning a quantized model with new sensor data. The forward pass uses integer quantization for efficiency. However, computing gradients for the backward pass often requires higher precision. Dequantizing activations to a floating-point representation (even a narrow one like FP16) enables stable gradient calculation and weight updates, bridging the gap between efficient inference and adaptive learning.
Dequantization Contexts: Calibration vs. Runtime
A comparison of the role, inputs, outputs, and characteristics of dequantization during the model preparation (calibration) phase versus the on-device execution (runtime) phase in microcontroller inference.
| Feature / Characteristic | Calibration Phase | Runtime Inference |
|---|---|---|
Primary Purpose | Determine quantization parameters (scale, zero-point) | Interpret final low-precision outputs for application use |
Execution Environment | Development workstation or server | Target microcontroller (MCU) |
Numerical Precision | Full floating-point (FP32) | Fixed-point or integer arithmetic |
Input Data | Representative calibration dataset (FP32) | Quantized integer tensors (e.g., INT8) |
Output Data | Quantization parameters (scale, zero-point) | Dequantized floating-point values |
Frequency of Execution | One-time, during model conversion | Per-inference, for final layer outputs |
Performance Criticality | Low (offline process) | High (adds to on-device latency) |
Typical Implementation | Framework tool (e.g., TensorFlow Lite converter) | Optimized integer math kernels (e.g., CMSIS-NN) |
Memory Overhead | High (requires full FP32 model & dataset) | Low (requires only scale/zero-point constants) |
Frequently Asked Questions
Dequantization is a critical step in the microcontroller inference pipeline, converting compressed integer data back into a usable format. These FAQs address its core mechanisms, role in optimization, and practical implementation.
Dequantization is the process of converting quantized integer values back into floating-point (or higher-precision fixed-point) numbers. It works by applying the inverse of the quantization transform: multiplying the integer value by a scaling factor (and sometimes adding a zero-point offset) to reconstruct an approximation of the original floating-point number. The fundamental operation is: float_value = (quantized_int - zero_point) * scale. This step is essential for interpreting the low-precision outputs of a quantized model or during the calibration phase to compute loss and adjust quantization parameters.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Dequantization is a core component of the quantization pipeline. These related terms define the surrounding processes, mathematical schemes, and hardware optimizations required to execute quantized models efficiently on microcontrollers.
Quantization
Quantization is the foundational model compression technique that enables dequantization. It reduces the numerical precision of a neural network's weights and activations from 32-bit floating-point (FP32) to lower-bit integers (e.g., INT8, INT4). This process decreases model size, memory bandwidth requirements, and enables the use of efficient integer arithmetic units ubiquitous in microcontrollers. The primary goal is to maintain model accuracy while achieving drastic performance gains.
- Core Process: Maps a continuous range of floating-point values to a finite set of integers.
- Trade-off: Introduces a precision loss that dequantization aims to partially reverse for interpretation.
Integer Quantization
Integer quantization is the specific form of quantization where all model parameters and layer activations are constrained to integer values (e.g., int8_t in C). This is the direct prerequisite for dequantization. It enables highly efficient inference using low-power, integer-only arithmetic logic units (ALUs) found in all microcontrollers, as opposed to requiring rare and power-hungry floating-point units (FPUs).
- Hardware Alignment: Directly maps to the native data types and operations of Cortex-M and other MCU cores.
- Dequantization Context: The integer tensors produced by this process are the inputs to the dequantization operation.
Calibration
Calibration is the statistical analysis phase that determines the parameters needed for both quantization and dequantization. A representative dataset is passed through the pre-trained FP32 model to collect the dynamic ranges (min/max) of activation tensors for each layer. These statistics are used to calculate the scaling factor and zero-point for each tensor.
- Purpose: Informs the quantization mapping and provides the constants required for accurate dequantization.
- Output: A set of layer-specific (or channel-specific) scale (s) and zero-point (z) values stored with the quantized model.
Scaling Factor & Zero-Point
These are the two critical parameters that define the linear mapping between integer and floating-point spaces, used in both quantization and dequantization.
- Scaling Factor (Scale): A floating-point value
s = (float_max - float_min) / (quant_max - quant_min). It defines the resolution of the quantization. - Zero-Point (z): An integer that represents the quantized value corresponding to the real number zero. It ensures efficient padding with zeros and handles asymmetric ranges.
Dequantization Formula: The core operation is typically float_value = scale * (int_value - zero_point). These parameters are embedded in the model metadata and used at runtime.
Symmetric vs. Asymmetric Quantization
These are the two primary schemes defining the quantization range, which directly impacts the dequantization math and efficiency.
- Symmetric Quantization: The quantization range is symmetric around zero (e.g., [-127, 127] for INT8). The zero-point is fixed at 0, simplifying the dequantization formula to
float_value = scale * int_value. This is commonly used for weights. - Asymmetric Quantization: The range is defined by actual min/max values, leading to a non-zero zero-point. This better captures skewed data (e.g., ReLU activations, which are all >=0) but adds a subtraction in the dequantization step. The formula is
float_value = scale * (int_value - zero_point).
INT8 Inference
INT8 inference is the execution paradigm where dequantization is most frequently applied. It refers to running a neural network where weights and activations are represented as 8-bit integers. This offers a 4x reduction in model size and memory bandwidth compared to FP32 and can leverage highly optimized integer SIMD instructions on modern microcontrollers.
- Performance Target: The primary efficiency goal for many TinyML deployments.
- Dequantization Role: While the core inference (convolution, matrix multiplies) uses INT8, the final layer outputs or specific intermediate results may be dequantized to FP32 for accurate post-processing (e.g., softmax, non-quantizable operations).

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us