diff --git a/src/axolotl/utils/config/models/input/v0_4_1/__init__.py b/src/axolotl/utils/config/models/input/v0_4_1/__init__.py index 442f61e34..cce0cbc76 100644 --- a/src/axolotl/utils/config/models/input/v0_4_1/__init__.py +++ b/src/axolotl/utils/config/models/input/v0_4_1/__init__.py @@ -6,7 +6,7 @@ Module for pydantic models for configuration import logging import os from enum import Enum -from typing import Any, Dict, List, Literal, Optional, Union +from typing import Any, Dict, List, Literal, Optional, Tuple, Union from pydantic import BaseModel, Field, conlist, field_validator, model_validator from transformers import SchedulerType @@ -179,7 +179,8 @@ class LoraConfig(BaseModel): peft_layers_to_transform: Optional[List[int]] = None peft: Optional[PeftConfig] = None peft_use_dora: Optional[bool] = None - peft_use_relora: Optional[bool] = None + peft_use_rslora: Optional[bool] = None + peft_layer_replication: Optional[List[Tuple[int, int]]] = None lora_on_cpu: Optional[bool] = None gptq: Optional[bool] = None diff --git a/src/axolotl/utils/models.py b/src/axolotl/utils/models.py index 0a59eb2a4..e2d33036b 100644 --- a/src/axolotl/utils/models.py +++ b/src/axolotl/utils/models.py @@ -849,7 +849,9 @@ def load_lora(model, cfg, inference=False, config_only=False): if cfg.peft_use_dora: lora_config_kwargs["use_dora"] = cfg.peft_use_dora if cfg.peft_use_rslora: - lora_config_kwargs["use_rslora"] = cfg.use_rslora + lora_config_kwargs["use_rslora"] = cfg.peft_use_rslora + if cfg.peft_layer_replication: + lora_config_kwargs["peft_layer_replication"] = cfg.peft_layer_replication lora_config = LoraConfig( r=cfg.lora_r,