torchao.quantization¶
主要量化 API¶
使用 config 量化模型中的线性模块的权重,模型会原地修改 |
|
Autoquantization 是一个过程,用于识别在某些潜在 qtensor 子类集上量化模型每个层的最快方法。 |
quantize_ 的推理 API¶
用于对线性层应用 uint4 仅权重非对称每组量化的配置,使用 "tensor_core_tiled" 布局通过 tinygemm 内核加速 |
|
用于对线性层应用 float8 动态每行量化和 int4 每组权重量化的配置(目前仅支持 group_size 128,因为底层内核仅支持 128 及以上,且没有更大的好处) |
|
用于对线性层的激活和权重应用 float8 动态对称量化的配置。 |
|
用于对线性层应用 float8 仅权重对称每通道量化的配置。 |
|
用于对 |
|
用于对线性层应用 int8 动态每 token 非对称激活量化和 int4 每组权重对称量化的配置。这用于为 executorch 后端生成模型,但目前 executorch 尚未支持从该流程量化模型的降低。 |
|
应用仅权重 4 或 8 位整数量化,并利用 gemlite triton 内核及其关联的权重打包格式。 |
|
用于对线性层应用 int8 仅权重对称每通道量化的配置。 |
|
用于对线性层应用 int8 动态对称每 token 激活和 int8 每通道权重量化的配置。 |
|
用于对线性层应用 uintx 仅权重非对称每组量化的配置,使用 uintx 量化,其中 x 是由 dtype 指定的位数 |
|
由 ebits:指数位数和 mbits:尾数位数定义的亚字节浮点数据类型,例如。 |
量化原语¶
|
|
是 |
|
|
|
|
|
执行安全的整数矩阵乘法,考虑 torch.compile、cublas 和回退情况的不同路径。 |
|
执行带缩放的整数矩阵乘法。 |
|
浮点数如何映射到整数 |
|
枚举,指示零点是在整数域还是浮点域 |
|
PyTorch 核心中尚不存在的数据类型的占位符。 |
其他¶
将模型中的线性层替换为其 SmoothFakeDynamicallyQuantizedLinear 等效项。 |
|
通过计算每个 SmoothFakeDynamicallyQuantizedLinear 层的 smoothquant 比例来准备模型进行推理。 |