PEFT model
Last updated
Last updated
is the base model class for specifying the base Transformer model and configuration to apply a PEFT method to. The base PeftModel
contains methods for loading and saving models from the Hub, and supports the for prompt learning.
( model: PreTrainedModelpeft_config: PeftConfigadapter_name: str = 'default' )
Parameters
model () — The base transformer model used for Peft.
peft_config () — The configuration of the Peft model.
adapter_name (str
) — The name of the adapter, defaults to "default"
.
Base model encompassing various Peft methods.
Attributes:
base_model () — The base transformer model used for Peft.
peft_config () — The configuration of the Peft model.
modules_to_save (list
of str
) — The list of sub-module names to save when saving the model.
prompt_encoder () — The prompt encoder used for Peft if using .
prompt_tokens (torch.Tensor
) — The virtual prompt tokens used for Peft if using .
transformer_backbone_name (str
) — The name of the transformer backbone in the base model if using .
word_embeddings (torch.nn.Embedding
) — The word embeddings of the transformer backbone in the base model if using .
create_or_update_model_card
( output_dir: str )
Updates or create model card to include information about peft:
Adds peft
library tag
Adds peft version
Adds base model info
Adds quantization information if it was used
disable_adapter
( )
Disables the adapter module.
forward
( *args: Any**kwargs: Any )
Forward pass of the model.
from_pretrained
( model: PreTrainedModelmodel_id: Union[str, os.PathLike]adapter_name: str = 'default'is_trainable: bool = Falseconfig: Optional[PeftConfig] = None**kwargs: Any )
Parameters
model_id (str
or os.PathLike
) — The name of the PEFT configuration to use. Can be either:
A string, the model id
of a PEFT configuration hosted inside a model repo on the BOINC AI Hub.
A path to a directory containing a PEFT configuration file saved using the save_pretrained
method (./my_peft_config_directory/
).
adapter_name (str
, optional, defaults to "default"
) — The name of the adapter to be loaded. This is useful for loading multiple adapters.
is_trainable (bool
, optional, defaults to False
) — Whether the adapter should be trainable or not. If False
, the adapter will be frozen and use for inference
Instantiate a PEFT model from a pretrained model and loaded PEFT weights.
Note that the passed model
may be modified inplace.
get_base_model
( )
Returns the base model.
get_nb_trainable_parameters
( )
Returns the number of trainable parameters and number of all parameters in the model.
get_prompt
( batch_size: inttask_ids: Optional[torch.Tensor] = None )
Returns the virtual prompts to use for Peft. Only applicable when peft_config.peft_type != PeftType.LORA
.
get_prompt_embedding_to_save
( adapter_name: str )
Returns the prompt embedding to save when saving the model. Only applicable when peft_config.peft_type != PeftType.LORA
.
print_trainable_parameters
( )
Prints the number of trainable parameters in the model.
save_pretrained
( save_directory: strsafe_serialization: bool = Falseselected_adapters: Optional[List[str]] = None**kwargs: Any )
Parameters
save_directory (str
) — Directory where the adapter model and configuration files will be saved (will be created if it does not exist).
kwargs (additional keyword arguments, optional) — Additional keyword arguments passed along to the push_to_hub
method.
set_adapter
( adapter_name: str )
Sets the active adapter.
A PeftModel
for sequence classification tasks.
( modelpeft_config: PeftConfigadapter_name = 'default' )
Parameters
Peft model for sequence classification tasks.
Attributes:
cls_layer_name (str
) — The name of the classification layer.
Example:
Copied
A PeftModel
for token classification tasks.
( modelpeft_config: PeftConfig = Noneadapter_name = 'default' )
Parameters
Peft model for token classification tasks.
Attributes:
cls_layer_name (str
) — The name of the classification layer.
Example:
Copied
A PeftModel
for causal language modeling.
( modelpeft_config: PeftConfigadapter_name = 'default' )
Parameters
Peft model for causal language modeling.
Example:
Copied
A PeftModel
for sequence-to-sequence language modeling.
( modelpeft_config: PeftConfigadapter_name = 'default' )
Parameters
Peft model for sequence-to-sequence language modeling.
Example:
Copied
A PeftModel
for question answering.
( modelpeft_config: PeftConfig = Noneadapter_name = 'default' )
Parameters
Peft model for extractive question answering.
Attributes:
cls_layer_name (str
) — The name of the classification layer.
Example:
Copied
A PeftModel
for getting extracting features/embeddings from transformer models.
( modelpeft_config: PeftConfig = Noneadapter_name = 'default' )
Parameters
Peft model for extracting features/embeddings from transformer models
Attributes:
Example:
Copied
model () — The model to be adapted. The model should be initialized with the method from the 🌍 Transformers library.
config (, optional) — The configuration object to use instead of an automatically loaded configuation. This configuration object is mutually exclusive with model_id
and kwargs
. This is useful when configuration is already loaded before calling from_pretrained
. kwargs — (optional
): Additional keyword arguments passed along to the specific PEFT configuration class.
This function saves the adapter model and the adapter configuration files to a directory, so that it can be reloaded using the class method, and also used by the PeftModel.push_to_hub()
method.
model () — Base transformer model.
peft_config () — Peft config.
config () — The configuration object of the base model.
model () — Base transformer model.
peft_config () — Peft config.
config () — The configuration object of the base model.
model () — Base transformer model.
peft_config () — Peft config.
model () — Base transformer model.
peft_config () — Peft config.
model () — Base transformer model.
peft_config () — Peft config.
config () — The configuration object of the base model.
model () — Base transformer model.
peft_config () — Peft config.
config () — The configuration object of the base model.