config#

Configuration classes for PEFT methods.

Classes

ExportPEFTConfig

An empty config.

PEFTAttributeConfig

Configuration for PEFT adapter attributes.

PEFTConfig

Default configuration for peft mode.

class ExportPEFTConfig#

Bases: ModeloptBaseConfig

An empty config.

model_config = {'extra': 'forbid', 'validate_assignment': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class PEFTAttributeConfig#

Bases: ModeloptBaseConfig

Configuration for PEFT adapter attributes.

enable: bool#
lora_a_init: <lambda>, return_type=str, when_used=always)]#
lora_b_init: <lambda>, return_type=str, when_used=always)]#
model_config = {'extra': 'forbid', 'validate_assignment': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rank: int#
scale: float#
classmethod validate_init_method(v)#

Validate initialization method is supported.

classmethod validate_rank(v)#

Validate rank is positive.

classmethod validate_scale(v)#

Validate scale is positive.

class PEFTConfig#

Bases: ModeloptBaseConfig

Default configuration for peft mode.

For adapter_cfg, later patterns override earlier ones, for example:

"adapter_cfg": {
    "*": {
        "rank": 32,
        "scale": 1,
        "enable": True,
    },
    "*output_layer*": {"enable": False},
}

If a layer name matches "*output_layer*", the attributes will be replaced with {"enable": False}.

adapter_cfg: dict[str | Callable, PEFTAttributeConfig | dict]#
adapter_name: str#
adapter_type: str#
freeze_base_model: bool#
freeze_lora_weights: bool#
model_config = {'extra': 'forbid', 'validate_assignment': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_adapter_cfg(v)#

Validate and convert adapter configurations.

classmethod validate_adapter_type(v)#

Validate adapter type.