Optimum 文档

参考

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

并获得增强的文档体验

开始使用

参考

INCQuantizer

class optimum.intel.INCQuantizer

< >

( model: typing.Union[transformers.modeling_utils.PreTrainedModel, torch.nn.modules.module.Module] eval_fn: typing.Optional[typing.Callable[[transformers.modeling_utils.PreTrainedModel], int]] = None calibration_fn: typing.Optional[typing.Callable[[transformers.modeling_utils.PreTrainedModel], int]] = None task: typing.Optional[str] = None seed: int = 42 )

处理 Neural Compressor 量化过程。

get_calibration_dataset

< >

( dataset_name: str num_samples: int = 100 dataset_config_name: typing.Optional[str] = None dataset_split: str = 'train' preprocess_function: typing.Optional[typing.Callable] = None preprocess_batch: bool = True use_auth_token: typing.Union[bool, str, NoneType] = None token: typing.Union[bool, str, NoneType] = None )

参数

  • dataset_name (str) — Hugging Face Hub 上的数据集仓库名称,或包含通用格式数据文件(可选包含读取数据文件的脚本)的本地目录路径。
  • num_samples (int, 默认为 100) — 组成校准数据集的最大样本数量。
  • dataset_config_name (str, 可选) — 数据集配置的名称。
  • dataset_split (str, 默认为 "train") — 用于执行校准步骤的数据集拆分。
  • preprocess_function (Callable, 可选) — 加载数据集后应用于每个示例的预处理函数。
  • preprocess_batch (bool, 默认为 True) — preprocess_function 是否应进行批处理。
  • use_auth_token (Optional[Union[bool, str]], 默认为 None) — 已弃用。请改用 token
  • token (Optional[Union[bool, str]], 默认为 None) — 用作远程文件 HTTP 承载授权的令牌。如果为 True,将使用运行 huggingface-cli login 时生成的令牌(存储在 ~/.huggingface 中)。

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

量化

< >

( quantization_config: ForwardRef('PostTrainingQuantConfig') save_directory: typing.Union[str, pathlib.Path] calibration_dataset: Dataset = None batch_size: int = 8 data_collator: typing.Optional[DataCollator] = None remove_unused_columns: bool = True file_name: str = None **kwargs )

参数

  • quantization_config (Union[PostTrainingQuantConfig]) — 包含量化相关参数的配置。
  • save_directory (Union[str, Path]) — 量化模型应保存的目录。
  • calibration_dataset (datasets.Dataset, 默认为 None) — 用于校准步骤的数据集,训练后静态量化需要。
  • batch_size (int, 默认为 8) — 每个批次加载的校准样本数量。
  • data_collator (DataCollator, 默认为 None) — 用于从校准数据集元素列表中形成批次的函数。
  • remove_unused_columns (bool, 默认为 True) — 是否删除模型 forward 方法未使用的列。

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

INCTrainer

class optimum.intel.INCTrainer

< >

( model: typing.Union[transformers.modeling_utils.PreTrainedModel, torch.nn.modules.module.Module] = None args: TrainingArguments = None data_collator: typing.Optional[DataCollator] = None train_dataset: typing.Optional[torch.utils.data.dataset.Dataset] = None eval_dataset: typing.Optional[torch.utils.data.dataset.Dataset] = None processing_class: typing.Union[transformers.tokenization_utils_base.PreTrainedTokenizerBase, transformers.feature_extraction_utils.FeatureExtractionMixin, NoneType] = None model_init: typing.Callable[[], transformers.modeling_utils.PreTrainedModel] = None compute_loss_func: typing.Optional[typing.Callable] = None compute_metrics: typing.Optional[typing.Callable[[transformers.trainer_utils.EvalPrediction], typing.Dict]] = None callbacks: typing.Optional[typing.List[transformers.trainer_callback.TrainerCallback]] = None optimizers: typing.Tuple[torch.optim.optimizer.Optimizer, torch.optim.lr_scheduler.LambdaLR] = (None, None) preprocess_logits_for_metrics: typing.Callable[[torch.Tensor, torch.Tensor], torch.Tensor] = None quantization_config: typing.Optional[neural_compressor.config._BaseQuantizationConfig] = None pruning_config: typing.Optional[neural_compressor.config._BaseQuantizationConfig] = None distillation_config: typing.Optional[neural_compressor.config._BaseQuantizationConfig] = None task: typing.Optional[str] = None **kwargs )

INCTrainer 支持 Intel Neural Compression 量化感知训练、剪枝和蒸馏。

compute_distillation_loss

< >

( student_outputs teacher_outputs )

根据学生和教师输出计算蒸馏损失。

计算损失

< >

( model inputs return_outputs = False num_items_in_batch = None )

Trainer 如何计算损失。默认情况下,所有模型都在第一个元素中返回损失。

save_model

< >

( output_dir: typing.Optional[str] = None _internal_call: bool = False )

将保存模型,以便您可以使用 from_pretrained() 重新加载。仅从主进程保存。

INCModel

class optimum.intel.INCModel

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForSequenceClassification

class optimum.intel.INCModelForSequenceClassification

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForQuestionAnswering

class optimum.intel.INCModelForQuestionAnswering

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForTokenClassification

class optimum.intel.INCModelForTokenClassification

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForMultipleChoice

class optimum.intel.INCModelForMultipleChoice

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForMaskedLM

class optimum.intel.INCModelForMaskedLM

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForCausalLM

class optimum.intel.INCModelForCausalLM

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

INCModelForSeq2SeqLM

class optimum.intel.INCModelForSeq2SeqLM

< >

( model config: PretrainedConfig = None model_save_dir: typing.Union[str, pathlib.Path, tempfile.TemporaryDirectory, NoneType] = None q_config: typing.Dict = None inc_config: typing.Dict = None **kwargs )

< > 在 GitHub 上更新