Quantization scale and zero-point are the two parameters in affine quantization that define a linear transformation for converting between floating-point and integer values. The scale (s) is a positive floating-point number that determines the step size, or the amount of real value each integer step represents. The zero-point (z) is an integer that corresponds exactly to the real value zero in the floating-point domain, ensuring that zero can be represented without error, which is critical for operations like padding and ReLU activations.
Glossary
Quantization Scale and Zero-Point

What is Quantization Scale and Zero-Point?
The fundamental parameters that define the linear mapping between floating-point and integer number systems during neural network quantization.
Together, they enable the mapping formula: real_value = scale * (integer_value - zero-point). The scale is calculated from the observed range (min, max) of the tensor being quantized. The zero-point is chosen to align the integer and real number lines, making the transformation asymmetric. This is distinct from symmetric quantization, where the zero-point is forced to 0. Proper calibration of these parameters on a representative dataset minimizes quantization error, enabling efficient INT8 or INT4 inference on NPUs and other accelerators with integer-only arithmetic units.
Key Characteristics of Scale and Zero-Point
The scale and zero-point are the fundamental parameters in affine quantization that define a linear, reversible mapping between floating-point and integer domains, enabling efficient integer-only inference.
Symmetric vs. Asymmetric Quantization
A comparison of the two primary methods for defining the linear mapping between floating-point and integer number systems in neural network quantization.
| Feature | Symmetric Quantization | Asymmetric Quantization |
|---|---|---|
Core Principle | Quantization range is symmetric around zero. | Quantization range is offset to match the data distribution. |
Zero-Point (Z) | Typically fixed at 0. | A non-zero integer representing the quantized value for real zero. |
Mathematical Mapping | Q = round(R / S) | Q = round(R / S) + Z |
Range Utilization | Potentially inefficient if data is not symmetric. | Efficient; can map the full integer range to the exact min/max of the data. |
Integer Arithmetic Complexity | Simpler; zero-point of 0 eliminates many addition operations. | More complex; requires additional zero-point addition/subtraction in operations. |
Hardware Support | Universally supported; simpler to implement in fixed-function units. | Widely supported, but may require more logic or specialized instructions. |
Typical Use Case | Weights (often symmetric around zero). Activations after ReLU. | General activations with skewed distributions (e.g., after non-zero biases). |
Accuracy Impact | May introduce clipping error if data range is not symmetric. | Generally higher accuracy for asymmetric data, minimizing clipping error. |
Framework and Hardware Implementation
Quantization scale and zero-point are the core parameters of affine quantization, defining the linear mapping between floating-point and integer domains. Their implementation is critical for efficient execution on modern NPUs and AI accelerators.
Affine Transformation Formula
The mathematical relationship is defined by the affine transformation: real_value = scale * (quantized_value - zero_point). The scale is a positive floating-point number that determines the resolution of the mapping. The zero-point is an integer within the quantized range (e.g., 0-255 for INT8) that corresponds exactly to the real value of zero, allowing for efficient representation of asymmetric data distributions.
Symmetric vs. Asymmetric Quantization
This distinction is defined by the zero-point:
- Symmetric Quantization: Zero-point is forced to 0. The quantization range is symmetric around zero (e.g.,
[-127, 127]for INT8). This simplifies arithmetic but is inefficient if the tensor's value distribution is not symmetric. - Asymmetric Quantization: Zero-point is calculated from the observed min/max values. This allows the quantized range to precisely match the tensor's distribution, minimizing clipping error. It is the standard method for activations, which often have skewed, non-zero-centered distributions (e.g., after a ReLU activation).
Calibration for Parameter Determination
Scale and zero-point are not guessed; they are calibrated using a representative dataset. Common algorithms include:
- Min-Max:
scale = (float_max - float_min) / (quant_max - quant_min);zero_point = quant_min - round(float_min / scale). Simple but sensitive to outliers. - Entropy / KL Divergence: Selects parameters to minimize the information loss between the original and quantized distributions, often yielding higher accuracy.
- Percentile: Uses a percentile (e.g., 99.99%) of the observed range to mitigate outlier effects. Calibration is a one-time, offline process for static quantization.
Hardware Acceleration with Integer Units
The primary purpose of these parameters is to enable integer-only inference. NPUs contain dedicated integer arithmetic logic units (ALUs) that are faster and more power-efficient than floating-point units. The scale and zero-point allow the core computation, such as a matrix multiplication Y = X * W, to be performed entirely in the integer domain using adjusted formulas. The final integer result is then dequantized back to floating-point only if necessary for downstream layers or output.
Granularity: Per-Tensor vs. Per-Channel
Quantization parameters can be shared at different granularities, trading accuracy for complexity:
- Per-Tensor: A single scale and zero-point for an entire tensor. Simple but can lead to high error if the tensor's channels have widely varying ranges.
- Per-Channel: A unique scale and zero-point for each output channel of a weight tensor (common for convolutions and linear layers). This dramatically improves accuracy by adapting to each filter's distribution but requires more parameter storage and slightly more complex hardware support.
Framework Support and APIs
Major ML frameworks provide explicit APIs for handling these parameters:
- PyTorch:
torch.quantize_per_tensor(),torch.quantize_per_channel(). TheQuantizedTensorobject storesint_repr,scale, andzero_point. - TensorFlow / TFLite: The
TFLiteConvertercalculates parameters during conversion. The flatbuffer model format stores them for each relevant tensor. - ONNX: Uses
QuantizeLinearandDequantizeLinearoperators in the graph, which explicitly carry scale and zero-point as inputs. These abstractions allow developers to define quantization schemes that are later executed by optimized backends like TensorRT, OpenVINO, or vendor-specific NPU SDKs.
Frequently Asked Questions
Quantization scale and zero-point are the fundamental parameters that enable efficient integer computation by defining a linear mapping between floating-point and integer number systems. This FAQ addresses common questions about their role, calculation, and impact on model performance.
Quantization scale and zero-point are the two parameters in affine quantization that define a linear transformation between floating-point (FP32) and integer (INT8) value ranges. The scale (a floating-point number) determines the size of each integer step in the original floating-point space, while the zero-point (an integer) represents the integer value that corresponds exactly to the real number zero in the floating-point range. This mapping is expressed as real_value = scale * (quantized_value - zero_point). Together, they allow a continuous range of high-precision values to be represented by a discrete set of low-bit integers with minimal information loss.
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
Quantization scale and zero-point are core parameters within affine quantization. The following terms define the broader ecosystem of techniques and concepts for optimizing numerical precision in neural networks.
Affine Quantization
Affine quantization is the linear mapping method that uses a scale factor (s) and a zero-point (z) to convert between floating-point and integer domains. The formula is: Q = round(R / s) + z, where R is the real value and Q is the quantized integer. This method is asymmetric, allowing the quantized range to better fit data distributions that are not centered on zero, which is common for activations after a ReLU function.
Symmetric Quantization
Symmetric quantization is a simplified linear mapping where the quantized range is forced to be symmetric around zero. This is achieved by setting the zero-point to 0. The mapping formula becomes Q = round(R / s). It simplifies computation by eliminating the zero-point addition in certain operations but can be less accurate if the original data distribution is significantly offset from zero, leading to wasted quantization bins.
Quantization Granularity
Quantization granularity defines the scope over which a single set of quantization parameters (scale and zero-point) is shared. Common levels include:
- Per-tensor: One scale/zero-point for an entire tensor. Simple but less accurate.
- Per-channel: Unique parameters for each output channel of a weight tensor (e.g., in Conv2D layers). Higher accuracy, common for weights.
- Per-token/Per-axis: Unique parameters for specific dimensions, such as per token in sequence data. Granularity trades off between model accuracy, memory for parameters, and computational overhead.
Calibration Dataset
A calibration dataset is a small, representative subset of the training data (typically 100-1000 samples) used during Post-Training Quantization (PTQ). Its purpose is to run inference on the FP32 model to collect the statistical range (min/max) or histogram of activation tensors. These statistics are used to calculate the optimal scale and zero-point parameters for each tensor, ensuring the integer range is properly allocated without requiring model retraining.
Quantized Tensor
A quantized tensor is a data structure that stores integer values (e.g., INT8) alongside its associated quantization parameters: the scale (a floating-point number) and the zero-point (an integer). It enables efficient storage and computation using integer arithmetic. During operations, the hardware or runtime uses these parameters to interpret the integers. For example, a framework like PyTorch stores these as torch.quint8 or torch.qint8 dtypes.
Integer-Only Inference
Integer-only inference is an execution paradigm where the entire forward pass of a neural network is computed using integer arithmetic, without any floating-point operations. This is enabled by using affine quantization with pre-computed scales and zero-points, and by reformulating operations like matrix multiplication to work directly on integers. It is critical for deployment on low-power NPUs, microcontrollers, and edge devices that lack efficient FPUs, maximizing speed and energy efficiency.

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