PEFT documentation
Fusión de modelos
Fusión de modelos
PEFT ofrece varias utilidades internas para fusionar adaptadores LoRA con los métodos TIES y DARE.
peft.utils.merge_utils.prune
< source >( tensor: Tensordensity: floatmethod: typing.Literal['magnitude', 'random']rescale: bool = False ) → torch.Tensor
Parámetros
- tensor (
torch.Tensor) —El tensor que se va a podar. - density (
float) —La fracción de valores a conservar. Debe estar en [0,1]. - method (
str) —El método a utilizar para la poda. Debe ser uno de [“magnitude”, “random”]. - rescale (
bool) —Si se debe reescalar el resultado para preservar el valor esperado del tensor original.
Devuelve
torch.Tensor
El tensor podado.
Recorta los valores de los tensores de tareas en función del method.
peft.utils.merge_utils.calculate_majority_sign_mask
< source >( tensor: Tensormethod: typing.Literal['total', 'frequency'] = 'total' ) → torch.Tensor
Obtenga la máscara del signo mayoritario en los tensores de tareas. Los tensores de tareas se apilan en la dimensión 0.
peft.utils.merge_utils.disjoint_merge
< source >( task_tensors: Tensormajority_sign_mask: Tensor ) → torch.Tensor
Fusiona los tensores de la tarea mediante una fusión disjunta.
peft.utils.merge_utils.task_arithmetic
< source >( task_tensors: listweights: Tensor ) → torch.Tensor
Fusiona los tensores de la tarea 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]) —Los tensores de la tarea que se van a fusionar. - weights (
torch.Tensor) — Los pesos de los tensores de la tarea. - density (
float) —La fracción de valores a conservar. Debe estar en [0,1]. - majority_sign_method (
str) — El método que se utilizará para obtener la máscara de signo mayoritario. Debe ser uno de [“total”, “frequency”].
Devuelve
torch.Tensor
El tensor fusionado.
Fusiona los tensores de la tarea usando ties.
peft.utils.merge_utils.dare_linear
< source >( task_tensors: listweights: Tensordensity: float ) → torch.Tensor
Fusiona los tensores de la tarea 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]) —Los tensores de la tarea que se van a fusionar. - weights (
torch.Tensor) — Los pesos de los tensores de la tarea. - density (
float) —La fracción de valores a conservar. Debe estar en [0,1]. - majority_sign_method (
str) — El método que se utilizará para obtener la máscara de signo mayoritario. Debe ser uno de [“total”, “frequency”].
Devuelve
torch.Tensor
El tensor fusionado.
Fusiona los tensores de la tarea usando dare ties.