Float8DynamicActivationFloat8WeightConfig¶
- class torchao.quantization.Float8DynamicActivationFloat8WeightConfig(activation_dtype: dtype = torch.float8_e4m3fn, weight_dtype: dtype = torch.float8_e4m3fn, granularity: Optional[Union[PerTensor, PerRow, List[Union[PerTensor, PerRow]]]] = None, mm_config: Optional[Float8MMConfig] = None, activation_value_lb: Optional[float] = None, activation_value_ub: Optional[float] = None, kernel_preference: KernelPreference = KernelPreference.AUTO, set_inductor_config: bool = True, version: int = 2)[原始碼]¶
用於將線性層啟用和權重的 float8 動態對稱量化配置。
- 引數:
activation_dtype (torch.dtype) – 啟用量化的目標資料型別。預設為 torch.float8_e4m3fn。
weight_dtype (torch.dtype) – 權重量化的目標資料型別。預設為 torch.float8_e4m3fn。
granularity (Optional[Union[FP8Granularity, List[FP8Granularity]]]) – 量化的粒度。可以是單個粒度(應用於啟用和權重)或兩個粒度的元組(一個用於啟用,一個用於權重)。如果為 None,則預設為 PerTensor(逐張量)。目前兩種量化需要是相同的型別。並且只支援 PerTensor 和 PerRow。
mm_config (Float8MMConfig) – 矩陣乘法的配置。預設使用快速累加。
activation_value_lb (Optional[float]) – 用於計算 scale 的啟用值的下界
activation_value_ub (Optional[float]) – 用於計算 scale 的啟用值的上界
kernel_preference (KernelPreference) – 像 matmul、grouped matmul 等運算元的核心偏好。預設(KernelPreference.AUTO)會根據硬體或其他資訊為使用者選擇,此項僅需在權重中設定
set_inductor_config (bool) – 如果為 True,則將 torchinductor 設定調整為推薦值。
version (int) – 配置的版本,版本 1 使用 AffineQuantizedTensor(我們計劃棄用/拆分),版本 2 使用 Float8Tensor(預設)