Optimum 文档
参考
并获得增强的文档体验
开始使用
参考
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 Bearer 授权的令牌。如果为 `True`,将使用运行 `huggingface-cli login` 时生成的令牌(存储在 `~/.huggingface` 中)。
创建用于训练后静态量化校准步骤的校准 `datasets.Dataset`。
quantize
< 源代码 >( 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`) — 是否删除模型前向方法未使用的列。
根据 `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 量化感知训练、剪枝和蒸馏。
描述如何根据学生和教师的输出计算蒸馏损失。
描述 Trainer 如何计算损失。默认情况下,所有模型都在第一个元素中返回损失。
将保存模型,以便您可以使用 from_pretrained()
重新加载它。仅从主进程保存。
INCModel
class optimum.intel.INCModel
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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 )