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(默认)