• 文件 >
  • 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 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源