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.