• 文档 >
  • torchao.quantization
快捷方式

torchao.quantization

主要量化 API

quantize_

使用 config 量化模型中的线性模块的权重,模型会原地修改

autoquant

Autoquantization 是一个过程,用于识别在某些潜在 qtensor 子类集上量化模型每个层的最快方法。

quantize_ 的推理 API

Int4WeightOnlyConfig

用于对线性层应用 uint4 仅权重非对称每组量化的配置,使用 "tensor_core_tiled" 布局通过 tinygemm 内核加速

Float8DynamicActivationInt4WeightConfig

用于对线性层应用 float8 动态每行量化和 int4 每组权重量化的配置(目前仅支持 group_size 128,因为底层内核仅支持 128 及以上,且没有更大的好处)

Float8DynamicActivationFloat8WeightConfig

用于对线性层的激活和权重应用 float8 动态对称量化的配置。

Float8WeightOnlyConfig

用于对线性层应用 float8 仅权重对称每通道量化的配置。

Float8StaticActivationFloat8WeightConfig

用于对

Int8DynamicActivationInt4WeightConfig

用于对线性层应用 int8 动态每 token 非对称激活量化和 int4 每组权重对称量化的配置。这用于为 executorch 后端生成模型,但目前 executorch 尚未支持从该流程量化模型的降低。

GemliteUIntXWeightOnlyConfig

应用仅权重 4 或 8 位整数量化,并利用 gemlite triton 内核及其关联的权重打包格式。

Int8WeightOnlyConfig

用于对线性层应用 int8 仅权重对称每通道量化的配置。

Int8DynamicActivationInt8WeightConfig

用于对线性层应用 int8 动态对称每 token 激活和 int8 每通道权重量化的配置。

UIntXWeightOnlyConfig

用于对线性层应用 uintx 仅权重非对称每组量化的配置,使用 uintx 量化,其中 x 是由 dtype 指定的位数

FPXWeightOnlyConfig

ebits:指数位数和 mbits:尾数位数定义的亚字节浮点数据类型,例如。

量化原语

choose_qparams_affine

参数输入:

fp32, bf16, fp16 输入 Tensor

choose_qparams_affine_with_min_max

choose_qparams_affine() 运算符的变体,它直接传递 min_val 和 max_val,而不是从单个输入派生它们。

quantize_affine

参数输入:

原始 float32, float16 或 bfloat16 Tensor

dequantize_affine

参数输入:

量化张量,应与 dtype 参数的数据类型匹配

safe_int_mm

执行安全的整数矩阵乘法,考虑 torch.compile、cublas 和回退情况的不同路径。

int_scaled_matmul

执行带缩放的整数矩阵乘法。

MappingType

浮点数如何映射到整数

ZeroPointDomain

枚举,指示零点是在整数域还是浮点域

TorchAODType

PyTorch 核心中尚不存在的数据类型的占位符。

其他

to_linear_activation_quantized

swap_linear_with_smooth_fq_linear

将模型中的线性层替换为其 SmoothFakeDynamicallyQuantizedLinear 等效项。

smooth_fq_linear_to_inference

通过计算每个 SmoothFakeDynamicallyQuantizedLinear 层的 smoothquant 比例来准备模型进行推理。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源