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 上的。

返回

布尔值

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

检查模型是否为 PEFT 模型。

临时调整 LoraLayer 模块中的适配器缩放

peft.helpers.rescale_adapter_scale

< >

( model multiplier )

参数

  • model — 包含 LoraLayer 模块的模型,其缩放比例将被调整。
  • multiplier (float 或 int) — 调整 scaling 属性的乘数。必须是 float 或 int 类型。

引发

ValueError

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

一个用于临时调整模型中 LoRA 适配器缩放比例的上下文管理器。

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

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

警告:据报告,在使用苹果的 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 层前向方法中输入数据类型转换的上下文管理器

peft.helpers.disable_input_dtype_casting

< >

( model: Module active: bool = True )

参数

  • model (nn.Module) — 包含 PEFT 模块的模型,其输入数据类型转换将被调整。
  • active (bool) — 上下文管理器是否激活(默认)或未激活。

此上下文管理器禁用将输入数据类型转换为权重的数据类型。

< > 在 GitHub 上更新