Silence peft target_parameters RuntimeWarning for MoE models

Wrap _get_peft_model calls with warnings.catch_warnings() to suppress
the "target_parameters were set but no parameter was matched" warning.
This fires on MoE models where expert layers use nn.Parameter naming
that peft warns about but handles correctly.
This commit is contained in:
Daniel Hanchen 2026-02-09 16:02:18 +00:00
commit 0860a0661a
2 changed files with 8 additions and 2 deletions

View file

@ -3070,7 +3070,10 @@ class FastLlamaModel:
gc.collect()
clean_gpu_cache()
model = _get_peft_model(model, lora_config)
import warnings as _w
with _w.catch_warnings():
_w.filterwarnings("ignore", message=".*target_parameters.*were set but no parameter was matched.*")
model = _get_peft_model(model, lora_config)
# Fix LoraConfig.auto_mapping is None
fix_lora_auto_mapping(model)

View file

@ -1209,7 +1209,10 @@ class FastBaseModel:
model,
use_gradient_checkpointing = use_gradient_checkpointing,
)
model = _get_peft_model(model, lora_config)
import warnings as _w
with _w.catch_warnings():
_w.filterwarnings("ignore", message=".*target_parameters.*were set but no parameter was matched.*")
model = _get_peft_model(model, lora_config)
# Apply QAT + LoRA if specified
if qat_scheme is not None:
print("Unsloth: Applying QAT to mitigate quantization degradation")