fix the linear path on backend
This commit is contained in:
parent
42ee6178ae
commit
58116e7e7a
2 changed files with 8 additions and 4 deletions
|
|
@ -214,7 +214,13 @@ class UnslothTrainer:
|
|||
return True
|
||||
|
||||
# LoRA/QLoRA mode - apply PEFT
|
||||
if target_modules is None or (isinstance(target_modules, list) and len(target_modules) == 0):
|
||||
# "all-linear" is a PEFT keyword that targets every linear layer
|
||||
if isinstance(target_modules, list) and "all-linear" in target_modules:
|
||||
if len(target_modules) == 1:
|
||||
target_modules = "all-linear"
|
||||
else:
|
||||
target_modules = [m for m in target_modules if m != "all-linear"]
|
||||
elif target_modules is None or (isinstance(target_modules, list) and len(target_modules) == 0):
|
||||
target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
|
||||
"gate_proj", "up_proj", "down_proj"]
|
||||
|
||||
|
|
|
|||
|
|
@ -46,9 +46,7 @@ export function buildTrainingStartPayload(
|
|||
lora_r: config.loraRank,
|
||||
lora_alpha: config.loraAlpha,
|
||||
lora_dropout: config.loraDropout,
|
||||
target_modules: adapterMethod
|
||||
? config.targetModules.filter((m) => m !== "all-linear")
|
||||
: [],
|
||||
target_modules: adapterMethod ? config.targetModules : [],
|
||||
gradient_checkpointing: config.gradientCheckpointing,
|
||||
use_rslora: config.loraVariant === "rslora",
|
||||
use_loftq: config.loraVariant === "loftq",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue