Optimum 文档

量化

您正在查看 main 版本,该版本需要从源代码安装。如果您想进行常规 pip 安装,请查看最新的稳定版本 (v1.24.0)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

量化

FuriosaAIQuantizer

class optimum.furiosa.FuriosaAIQuantizer

< >

( model_path: Path config: typing.Optional[ForwardRef('PretrainedConfig')] = None )

处理在 huggingface.co/models 上共享的模型的 FuriosaAI 量化过程。

compute_ranges

< >

( )

计算量化范围。

fit

< >

( dataset: Dataset calibration_config: CalibrationConfig batch_size: int = 1 )

参数

  • dataset (Dataset) — 用于执行校准步骤的数据集。
  • calibration_config (~CalibrationConfig) — 包含与校准步骤相关的参数的配置。
  • batch_size (int, optional, defaults to 1) — 在收集量化范围值时使用的批量大小。

执行校准步骤并计算量化范围。

from_pretrained

< >

( model_or_path: typing.Union[ForwardRef('FuriosaAIQuantizer'), str, pathlib.Path] file_name: typing.Optional[str] = None )

参数

  • model_or_path (Union[FuriosaAIModel, str, Path]) — 可以是:
    • 保存的导出的 ONNX 中间表示 (IR) 模型的路径,例如 `./my_model_directory/.
    • 或者是 FuriosaAIModelModelForXX 类,例如 FuriosaAIModelModelForImageClassification
  • file_name(Optional[str], optional) — 将默认模型文件名从 "model.onnx" 覆盖为 file_name。这允许您从同一存储库或目录加载不同的模型文件。

从模型路径实例化 FuriosaAIQuantizer

get_calibration_dataset

< >

( dataset_name: str num_samples: int = 100 dataset_config_name: typing.Optional[str] = None dataset_split: typing.Optional[str] = None preprocess_function: typing.Optional[typing.Callable] = None preprocess_batch: bool = True seed: int = 2016 use_auth_token: bool = False )

参数

  • dataset_name (str) — Hugging Face Hub 上的数据集存储库名称或包含要加载的数据文件以用于校准步骤的本地目录的路径。
  • num_samples (int, optional, defaults to 100) — 构成校准数据集的最大样本数量。
  • dataset_config_name (Optional[str], optional) — 数据集配置的名称。
  • dataset_split (Optional[str], optional) — 要使用数据集的哪个划分来执行校准步骤。
  • preprocess_function (Optional[Callable], optional) — 加载数据集后应用于每个示例的处理函数。
  • preprocess_batch (bool, optional, defaults to True) — preprocess_function 是否应该分批处理。
  • seed (int, optional, defaults to 2016) — 在对校准数据集进行洗牌时使用的随机种子。
  • use_auth_token (bool, optional, defaults to False) — 是否使用运行 transformers-cli login 时生成的令牌(对于某些数据集(如 ImageNet)是必需的)。

创建用于训练后静态量化校准步骤的校准 datasets.Dataset

partial_fit

< >

( dataset: Dataset calibration_config: CalibrationConfig batch_size: int = 1 )

参数

  • dataset (Dataset) — 用于执行校准步骤的数据集。
  • calibration_config (CalibrationConfig) — 包含与校准步骤相关的参数的配置。
  • batch_size (int, optional, defaults to 1) — 在收集量化范围值时使用的批量大小。

执行校准步骤并收集量化范围,但不计算它们。

quantize

< >

( quantization_config: QuantizationConfig save_dir: typing.Union[str, pathlib.Path] file_suffix: typing.Optional[str] = 'quantized' calibration_tensors_range: typing.Optional[typing.Dict[str, typing.Tuple[float, float]]] = None )

参数

  • quantization_config (QuantizationConfig) — 包含与量化相关的参数的配置。
  • save_dir (Union[str, Path]) — 量化模型应保存到的目录。
  • file_suffix (Optional[str], 可选, 默认为 "quantized") — 用于保存量化模型的文件后缀。
  • calibration_tensors_range (Optional[Dict[NodeName, Tuple[float, float]]], 可选) — 节点名称到其量化范围的字典映射,仅在应用静态量化时使用和需要。

根据 quantization_config 中定义的优化规范来量化模型。