From 0d8b67b706aa81fe5d3aeebeb8dbafc3cba4ead1 Mon Sep 17 00:00:00 2001 From: Roland Tannous Date: Wed, 18 Feb 2026 00:32:21 +0000 Subject: [PATCH] fix: normalize target_modules [all-linear] list to string for Unsloth/PEFT compatibility --- studio/backend/core/training/trainer.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/studio/backend/core/training/trainer.py b/studio/backend/core/training/trainer.py index a3abd4bd17..72eadd53e7 100644 --- a/studio/backend/core/training/trainer.py +++ b/studio/backend/core/training/trainer.py @@ -254,6 +254,12 @@ class UnslothTrainer: print(f"Configuring LoRA adapters (r={lora_r}, alpha={lora_alpha})...\n") print(f"Gradient checkpointing: {use_gradient_checkpointing} (type: {type(use_gradient_checkpointing).__name__})\n") + # Normalize ["all-linear"] (list from frontend/YAML) → "all-linear" (string) + # Unsloth/PEFT expect the string form for this shorthand + if target_modules == ["all-linear"]: + target_modules = "all-linear" + print(f" Normalized target_modules from list to string: '{target_modules}'") + # Branch based on vision vs text if self.is_vlm: # Vision model LoRA