PEFT documentation
Fusão de modelos
Fusão de modelos
O PEFT fornece vários utilitários internos para mesclar adaptadores LoRA com os métodos TIES e DARE.
peft.utils.merge_utils.prune
< source >( tensor: Tensordensity: floatmethod: typing.Literal['magnitude', 'random']rescale: bool = False ) → torch.Tensor
Parâmetros
- tensor (
torch.Tensor) — O tensor a ser podado. - density (
float) —A fração de valores a serem preservados. Deve estar em [0,1]. - method (
str) — O método a ser usado para o pruning. Deve ser um de [“magnitude”, “random”]. - rescale (
bool) —Se deve reescalar o resultado para preservar o valor esperado do tensor original.
Retorna
torch.Tensor
O tensor podado.
Prune os valores dos tensors de tarefa com base no method.
peft.utils.merge_utils.calculate_majority_sign_mask
< source >( tensor: Tensormethod: typing.Literal['total', 'frequency'] = 'total' ) → torch.Tensor
Obtenha a máscara do sinal da maioria entre os tensores de tarefa. Os tensores de tarefa são empilhados na dimensão 0.
peft.utils.merge_utils.disjoint_merge
< source >( task_tensors: Tensormajority_sign_mask: Tensor ) → torch.Tensor
Mescle os tensores de tarefa usando a mesclagem disjunta.
peft.utils.merge_utils.task_arithmetic
< source >( task_tensors: listweights: Tensor ) → torch.Tensor
Mescle os tensores da tarefa usando task arithmetic.
peft.utils.merge_utils.ties
< source >( task_tensors: listweights: Tensordensity: floatmajority_sign_method: typing.Literal['total', 'frequency'] = 'total' ) → torch.Tensor
Parâmetros
- task_tensors(
List[torch.Tensor]) —Os tensors de tarefa a serem mesclados. - weights (
torch.Tensor) — Os pesos dos tensores da tarefa. - density (
float) —A fração de valores a serem preservados. Deve estar em [0,1]. - majority_sign_method (
str) — O método a ser usado para obter a máscara de sinal da maioria. Deve ser um dos valores [“total”, “frequency”].
Retorna
torch.Tensor
O tensor mesclado.
Mescle os tensores da tarefa usando ties.
peft.utils.merge_utils.dare_linear
< source >( task_tensors: listweights: Tensordensity: float ) → torch.Tensor
Mescle os tensores da tarefa usando dare linear.
peft.utils.merge_utils.dare_ties
< source >( task_tensors: listweights: Tensordensity: floatmajority_sign_method: typing.Literal['total', 'frequency'] = 'total' ) → torch.Tensor
Parâmetros
- task_tensors(
List[torch.Tensor]) —Os tensors de tarefa a serem mesclados. - weights (
torch.Tensor) — Os pesos dos tensores da tarefa. - density (
float) —A fração de valores a serem preservados. Deve estar em [0,1]. - majority_sign_method (
str) — O método a ser usado para obter a máscara de sinal da maioria. Deve ser um dos valores [“total”, “frequency”].
Retorna
torch.Tensor
O tensor mesclado.
Mescle os tensores da tarefa usando dare ties.