PEFT 文档

模型合并

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

以开始使用

模型合并

PEFT 提供了一些用于 合并 LoRA 适配器 的内部实用工具,使用 TIES 和 DARE 方法。

peft.utils.merge_utils.prune

< >

( tensor: 张量 density: 浮点数 method: 字面量 rescale: 布尔值 = False ) torch.Tensor

参数

  • tensor (torch.Tensor) —要修剪的张量。
  • density (float) —要保留的值的比例。应在 [0,1] 之间。
  • method (str) —用于修剪的方法。应为以下之一 [“magnitude”, “random”]。
  • rescale (bool) —是否要重新调整结果的比例,以保留原始张量的预期值。

返回

torch.Tensor

已修剪的张量。

根据 method 修剪任务张量的值。

peft.utils.merge_utils.calculate_majority_sign_mask

< >

( tensor: 张量 method: 字面量 = 'total' ) torch.Tensor

参数

  • tensor (torch.Tensor) —要从中获取掩码的张量。
  • method (str) —用于获取掩码的方法。应为以下之一 [“total”, “frequency”]。

返回

torch.Tensor

多数符号掩码。

获取跨任务张量的多数符号掩码。任务张量在维度 0 上堆叠。

peft.utils.merge_utils.disjoint_merge

< >

( task_tensors: 张量 majority_sign_mask: 张量 ) torch.Tensor

参数

合并后的张量。

使用不相交合并的方式合并任务张量。

peft.utils.merge_utils.task_arithmetic

< >

( task_tensors: List weights: Tensor ) torch.Tensor

参数

  • weights (torch.Tensor) — 任务张量的权重。

返回

torch.Tensor

合并后的张量。

使用 task arithmetic 合并任务张量。

peft.utils.merge_utils.ties

< >

( task_tensors: List weights: Tensor density: float majority_sign_method: Literal = 'total' ) torch.Tensor

参数

  • weights (torch.Tensor) — 任务张量的权重。
  • density (float) — 要保留的值的比例。 应该在 [0,1] 之间。
  • majority_sign_method (str) — 用于获取多数符号掩码的方法。 应该是 [“total”, “frequency”] 之一。

返回

torch.Tensor

合并后的张量。

使用 ties 合并任务张量。

peft.utils.merge_utils.dare_linear

< >

( task_tensors: List weights: Tensor density: float ) torch.Tensor

参数

  • weights (torch.Tensor) — 任务张量的权重。
  • density (float) — 要保留的值的比例。 应该在 [0,1] 之间。

返回

torch.Tensor

合并后的张量。

使用 dare linear 合并任务张量。

peft.utils.merge_utils.dare_ties

  • weights (torch.Tensor) — 任务张量的权重。
  • density (float) — 要保留的值的比例。应在 [0,1] 中。
  • majority_sign_method (str) — 用于获取多数符号掩码的方法。应为以下之一: [“total”, “frequency”]。

返回

torch.Tensor

合并后的张量。

使用 dare ties 合并任务张量。

< > 在 GitHub 上更新