量化
FuriosaAIQuantizer
处理 huggingface.co/models 上共享模型的 FuriosaAI 量化过程。
计算量化范围。
fit
< 源代码 >( dataset: 数据集 calibration_config: CalibrationConfig batch_size: int = 1 )
执行校准步骤并计算量化范围。
from_pretrained
< 源代码 > ( model_or_path: Union file_name: Optional = None )
从模型路径实例化一个 FuriosaAIQuantizer
。
get_calibration_dataset
< 源代码 > ( dataset_name: str num_samples: int = 100 dataset_config_name: Optional = None dataset_split: Optional = None preprocess_function: Optional = None preprocess_batch: bool = True seed: int = 2016 use_auth_token: bool = False )
参数
- dataset_name (
str
) — Hugging Face Hub 上的数据集库名称或包含要加载用于校准步骤的数据文件的本地目录的路径。 - num_samples (
int
, 可选, 默认为 100) — 组成校准数据集的样本最大数量。 - dataset_config_name (
Optional[str]
, 可选) — 数据集配置的名称。 - dataset_split (
Optional[str]
, 可选) — 要使用哪个数据集拆分来执行校准步骤。 - preprocess_function (
Optional[Callable]
, 可选) — 加载数据集后应用于每个示例的处理函数。 - preprocess_batch (
bool
, 可选, 默认值:True
) —preprocess_function
是否应该进行批处理。 - seed (
int
, 可选, 默认值: 2016) — 打乱校准数据集时使用的随机种子。 - use_auth_token (
bool
, 可选, 默认值:False
) — 是否使用运行transformers-cli login
时生成的令牌(对于某些数据集如 ImageNet 而言是必要的)。
创建用于训练后静态量化校准步骤的校准 datasets.Dataset
。
partial_fit
< 源代码 > ( dataset: 数据集 calibration_config: CalibrationConfig batch_size: int = 1 )
执行校准步骤并收集量化范围,但不计算它们。
quantize
< 源代码 > ( quantization_config: QuantizationConfig save_dir: Union file_suffix: Optional = 'quantized' calibration_tensors_range: Optional = None )
参数
- quantization_config (
QuantizationConfig
) — 包含与量化相关的参数的配置。 - file_suffix (
Optional[str]
, 可选, 默认值为"quantized"
) — 用于保存量化模型的文件后缀。 - calibration_tensors_range (
Optional[Dict[NodeName, Tuple[float, float]]]
, 可选) — 字典,将节点名称映射到它们的量化范围,仅在应用静态量化时使用和需要。
根据 quantization_config
中定义的优化规范量化模型。