适配器训练
与训练适配器相关的类和方法。
- class adapters.training.AdapterArguments(train_adapter: bool = False, load_adapter: Optional[str] = '', adapter_config: Optional[str] = 'seq_bn', load_lang_adapter: Optional[str] = None, lang_adapter_config: Optional[str] = None)
与适配器训练相关的参数子集。
- Parameters
train_adapter (bool) - 是否训练适配器而非完整模型。
load_adapter (str) – 从Hub加载预训练好的适配器模块。
adapter_config (str) - 适配器配置。可以是一个配置字符串或文件路径。
load_lang_adapter (str) – 从Hub加载的预训练语言适配器模块。
lang_adapter_config (str) - 语言适配器配置。可以是标识符或文件路径。
- adapters.training.setup_adapter_training(model, adapter_args: AdapterArguments, adapter_name: str, adapter_config_kwargs: Optional[dict] = None, adapter_load_kwargs: Optional[dict] = None)
基于给定的适配器参数设置模型以进行适配器训练。
- Parameters
model (_type_) – 要训练的模型实例。
adapter_args (AdapterArguments) – 用于配置的适配器参数。
adapter_name (str) – 要添加的适配器名称。
- Returns
一个包含已加载适配器名称的元组。
- Return type
元组[str, str]
- class adapters.trainer.AdapterTrainer(model: Union[PreTrainedModel, Module] = None, args: TrainingArguments = None, data_collator: Optional[DataCollator] = None, train_dataset: Optional[Union[Dataset, IterableDataset, datasets.Dataset]] = None, eval_dataset: Optional[Union[Dataset, Dict[str, Dataset], datasets.Dataset]] = None, tokenizer: Optional[PreTrainedTokenizerBase] = None, processing_class: Optional[Union[PreTrainedTokenizerBase, BaseImageProcessor, FeatureExtractionMixin, ProcessorMixin]] = None, model_init: Optional[Callable[[], PreTrainedModel]] = None, compute_metrics: Optional[Callable[[EvalPrediction], Dict]] = None, callbacks: Optional[List[TrainerCallback]] = None, optimizers: Tuple[Optional[Optimizer], Optional[LambdaLR]] = (None, None), preprocess_logits_for_metrics: Optional[Callable[[Tensor, Tensor], Tensor]] = None, adapter_names: Optional[List[List[str]]] = None, **kwargs)
- create_optimizer()
设置优化器。
我们提供了一个合理的默认设置,效果良好。如果您想使用其他设置,可以通过Trainer初始化中的optimizers传递一个元组,或者在子类中重写此方法。
- class adapters.trainer.AdapterTrainerCallback(trainer)
- on_step_end(args: TrainingArguments, state: TrainerState, control: TrainerControl, **kwargs)
在训练步骤结束时触发的事件。如果使用梯度累积,一个训练步骤可能需要处理多个输入。
- on_train_begin(args: TrainingArguments, state: TrainerState, control: TrainerControl, **kwargs)
在训练开始时触发的事件。
- class adapters.trainer.Seq2SeqAdapterTrainer(model: Union[PreTrainedModel, Module] = None, args: TrainingArguments = None, data_collator: Optional[DataCollator] = None, train_dataset: Optional[Union[Dataset, IterableDataset, datasets.Dataset]] = None, eval_dataset: Optional[Union[Dataset, Dict[str, Dataset], datasets.Dataset]] = None, tokenizer: Optional[PreTrainedTokenizerBase] = None, processing_class: Optional[Union[PreTrainedTokenizerBase, BaseImageProcessor, FeatureExtractionMixin, ProcessorMixin]] = None, model_init: Optional[Callable[[], PreTrainedModel]] = None, compute_metrics: Optional[Callable[[EvalPrediction], Dict]] = None, callbacks: Optional[List[TrainerCallback]] = None, optimizers: Tuple[Optional[Optimizer], Optional[LambdaLR]] = (None, None), preprocess_logits_for_metrics: Optional[Callable[[Tensor, Tensor], Tensor]] = None, adapter_names: Optional[List[List[str]]] = None, **kwargs)