PEFT 文档

辅助方法

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

辅助方法

PEFT 的辅助函数集合。

检查模型是否为 PEFT 模型

peft.helpers.check_if_peft_model

< >

( model_name_or_path: str ) bool

参数

  • model_name_or_path (str) — 要检查的模型 ID,可以是本地的或 Hugging Face Hub 上的。

返回

bool

如果模型是 PEFT 模型,则为 True,否则为 False。

检查模型是否为 PEFT 模型。

临时重新调整 LoraLayer 模块中的适配器比例

peft.helpers.rescale_adapter_scale

< >

( model multiplier )

参数

  • model — 包含要调整比例的 LoraLayer 模块的模型。
  • multiplier (float 或 int) — 重新调整 scaling 属性的乘数。必须是 float 或 int 类型。

Raises

ValueError

  • ValueError — 如果模型不包含任何 LoraLayer 实例,则表示该模型不支持缩放。

上下文管理器,用于临时重新调整模型中 LoRA 适配器的比例。

当上下文管理器退出时,原始比例值将被恢复。此上下文管理器适用于已直接加载 LoRA 适配器的 transformers 和 diffusers 模型。

对于 LoRA,应用此上下文管理器且乘数在 [0, 1] 范围内,与应用 wise-ft 完全等效(详见 #1940)。如果微调使用的训练数据与推理时使用的测试数据之间存在分布偏移,则可以提高模型的性能。

警告:据报告,当使用 Apple 的 MPS 后端进行 PyTorch 时,有必要在退出上下文后添加短暂的睡眠时间,然后才能完全恢复比例。

示例

>>> model = ModelWithLoraLayer()
>>> multiplier = 0.5
>>> with rescale_adapter_scale(model, multiplier):
...     outputs = model(**inputs)  # Perform operations with the scaled model
>>> outputs = model(**inputs)  # The original scaling values are restored here

上下文管理器,用于禁用 LoRA 层前向方法中的输入 dtype 转换

peft.helpers.disable_input_dtype_casting

< >

( model: Module active: bool = True )

参数

  • model (nn.Module) — 包含要调整输入 dtype 转换的 PEFT 模块的模型。
  • active (bool) — 上下文管理器是处于活动状态(默认)还是非活动状态。

上下文管理器禁用输入 dtype 转换为权重的 dtype。

目前专门用于 LoRA。

< > 更新 在 GitHub 上