PEFT 文档

配置

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

配置

PeftConfigMixin 是用于存储 PeftModel 的适配器配置的基础配置类,而 PromptLearningConfig 是用于软 prompt 方法(p-tuning、prefix tuning 和 prompt tuning)的基础配置类。这些基础类包含用于从 Hub 保存和加载模型配置、指定要使用的 PEFT 方法、要执行的任务类型以及模型配置(如层数和注意力头数)的方法。

PeftConfigMixin

class peft.config.PeftConfigMixin

< >

( task_type: typing.Optional[peft.utils.peft_types.TaskType] = None peft_type: typing.Optional[peft.utils.peft_types.PeftType] = None auto_mapping: typing.Optional[dict] = None )

参数

  • peft_type (Union[~peft.utils.config.PeftType, str]) — 要使用的 Peft 方法的类型。

这是 PEFT 适配器模型的基础配置类。它包含所有 PEFT 适配器模型通用的方法。此类继承自 PushToHubMixin,其中包含将模型推送到 Hub 的方法。方法 save_pretrained 会将适配器模型的配置保存在目录中。方法 from_pretrained 将从目录加载适配器模型的配置。

check_kwargs

< >

( **kwargs )

在初始化配置实例之前检查 kwargs。

子类可以覆盖此方法以添加特定检查。

from_json_file

< >

( path_json_file: str **kwargs )

参数

  • path_json_file (str) — json 文件的路径。

从 json 文件加载配置文件。

from_peft_type

< >

( **kwargs )

参数

  • kwargs (配置关键字参数) — 传递给配置初始化的关键字参数。

此方法从一组 kwargs 加载适配器模型的配置。

适当的配置类型由 peft_type 参数确定。如果未提供 peft_type,则实例化调用类类型。

from_pretrained

< >

( pretrained_model_name_or_path: str subfolder: typing.Optional[str] = None **kwargs )

参数

  • pretrained_model_name_or_path (str) — 保存配置的目录或 Hub 仓库 ID。
  • kwargs (附加关键字参数,可选) — 传递给 push_to_hub 方法的附加关键字参数。

此方法从目录加载适配器模型的配置。

save_pretrained

< >

( save_directory: str **kwargs )

参数

  • save_directory (str) — 将在其中保存配置的目录。
  • kwargs (附加关键字参数,可选) — 传递给 push_to_hub 方法的附加关键字参数。

此方法将适配器模型的配置保存在目录中。

to_dict

< >

( )

以字典形式返回适配器模型的配置。

PeftConfig

class peft.PeftConfig

< >

( task_type: typing.Union[str, peft.utils.peft_types.TaskType, NoneType] = None peft_type: typing.Union[str, peft.utils.peft_types.PeftType, NoneType] = None auto_mapping: typing.Optional[dict] = None base_model_name_or_path: typing.Optional[str] = None revision: typing.Optional[str] = None inference_mode: bool = False )

参数

  • task_type (Union[~peft.utils.config.TaskType, str]) — 要执行的任务类型。
  • inference_mode (bool, 默认为 False) — 是否在推理模式下使用 Peft 模型。

这是存储 PeftModel 配置的基础配置类。

PromptLearningConfig

class peft.PromptLearningConfig

< >

( task_type: typing.Union[str, peft.utils.peft_types.TaskType, NoneType] = None peft_type: typing.Union[str, peft.utils.peft_types.PeftType, NoneType] = None auto_mapping: typing.Optional[dict] = None base_model_name_or_path: typing.Optional[str] = None revision: typing.Optional[str] = None inference_mode: bool = False num_virtual_tokens: int = None token_dim: int = None num_transformer_submodules: typing.Optional[int] = None num_attention_heads: typing.Optional[int] = None num_layers: typing.Optional[int] = None )

参数

  • num_virtual_tokens (int) — 要使用的虚拟 token 的数量。
  • token_dim (int) — 基础 Transformer 模型的隐藏层嵌入维度。
  • num_transformer_submodules (int) — 基础 Transformer 模型中 Transformer 子模块的数量。
  • num_attention_heads (int) — 基础 Transformer 模型中注意力头的数量。
  • num_layers (int) — 基础 Transformer 模型中的层数。

这是存储 PrefixTuningPromptEncoderPromptTuning 配置的基础配置类。

< > Update on GitHub