参考
INCQuantizer
class optimum.intel.INCQuantizer
< 源代码 >( model: typing.Union[transformers.modeling_utils.PreTrainedModel, torch.nn.modules.module.Module] eval_fn: typing.Union[typing.Callable[[transformers.modeling_utils.PreTrainedModel], int], NoneType] = None calibration_fn: typing.Union[typing.Callable[[transformers.modeling_utils.PreTrainedModel], int], NoneType] = None task: typing.Optional[str] = None seed: int = 42 )
处理神经压缩器量化过程。
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
。
量化
< source >( 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
中定义的优化规范量化模型。
INCTrainer
class optimum.intel.INCTrainer
< source >( 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 tokenizer: typing.Optional[transformers.tokenization_utils_base.PreTrainedTokenizerBase] = None model_init: typing.Callable[[], transformers.modeling_utils.PreTrainedModel] = None compute_metrics: typing.Union[typing.Callable[[transformers.trainer_utils.EvalPrediction], typing.Dict], NoneType] = 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 )
INCTrainer 支持英特尔神经压缩量化感知训练、剪枝和蒸馏。
给定学生和教师输出,如何计算蒸馏损失。
Trainer 如何计算损失。默认情况下,所有模型在第一个元素中返回损失。
INCModel
类 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
类 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
类 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
类 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
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 )