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 承載授權的令牌。如果為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 量化感知訓練、剪枝和蒸餾。
根據學生和教師輸出計算蒸餾損失。
Trainer 如何計算損失。預設情況下,所有模型都在第一個元素中返回損失。
將儲存模型,以便您可以使用 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 )