mindformers.pet.pet_config.LoraConfig
- class mindformers.pet.pet_config.LoraConfig(lora_rank: int = 8, lora_alpha: int = 16, lora_dropout: float = 0.01, lora_a_init: str = 'normal', lora_b_init: str = 'zero', param_init_type: str = 'float16', compute_dtype: str = 'float16', target_modules: str = None, exclude_layers: str = None, freeze_include: List[str] = None, freeze_exclude: List[str] = None, **kwargs)[源代码]
LoRA算法的配置信息,用于设置LoRA模型运行时的参数。
- 参数:
lora_rank (int, 可选) - LoRA矩阵的行(列)数。默认值:
8
。lora_alpha (int, 可选) - lora_rank中的一个常量。默认值:
16
。lora_dropout (float, 可选) - 丢弃率,大于等于0且小于1。默认值:
0.01
。lora_a_init (str, 可选) - LoRA A矩阵的初始化策略。参考 (LoRA A矩阵的初始化策略)。默认值:
normal
。lora_b_init (str, 可选) - LoRA B矩阵的初始化策略。参考 (LoRA B矩阵的初始化策略)。默认值:
zero
。param_init_type (str, 可选) - 初始化张量中的数据类型。默认值:
float16
。compute_dtype (str, 可选) - 数据的计算类型。默认值:
float16
。target_modules (str, 可选) - 需要使用LoRA算法替换的层。默认值:
None
。exclude_layers (str, 可选) - 不需要使用LoRA算法替换的层。默认值:
None
。freeze_include (List[str], 可选) - 待冻结的模块列表。默认值:
None
。freeze_exclude (List[str], 可选) - 不需要冻结的模块列表。当freeze_include和freeze_exclude中的某一项冲突时,匹配该项的模块将不会被处理。默认值:
None
。
- 返回:
LoraConfig实例。
样例:
>>> from mindformers.pet.pet_config import LoraConfig >>> config = LoraConfig(target_modules='.*wq|.*wk|.*wv|.*wo') >>> print(config) {'pet_type': 'lora', 'lora_rank': 8, 'lora_alpha': 16, 'lora_dropout': 0.01, 'lora_a_init': 'normal', 'lora_b_init' : 'zero', 'param_init_type': mindspore.float16, 'compute_dtype': mindspore.float16, 'target_modules': '.*wq|.*wk|.*wv|.*wo', 'exclude_layers': None , 'freeze_include': None, 'freeze_exclude': None}