PEFT-Target-Module-Namen hängen von der Modellarchitektur ab; q_proj/v_proj existieren nicht in jedem Modell.
PEFT Target-modules-not-found anhand Modellarchitektur, named_modules, q_proj/v_proj, Regex, all-linear und Versionskompatibilität diagnostizieren.
PEFT-Target-Module-Namen hängen von der Modellarchitektur ab; q_proj/v_proj existieren nicht in jedem Modell.
Aktuelles PEFT unterstützt `target_modules='all-linear'` für QLoRA-artiges Training.
Selbst im Mai 2026 gab es neue PEFT-Issues zum target_modules-Parsing; Versionsunterschiede sind relevant.
Der Fehler bedeutet, dass PEFT die gewünschten Layer-Namen im Modellgraph nicht findet. Meist Architektur-/Config-Problem, nicht CUDA.
Nicht blind `q_proj/v_proj` übernehmen. `model.named_modules()` auswerten und echte Linear-/Attention-Suffixe finden.
python - <<'PY'
from collections import Counter
# model already loaded
mods=[]
for n,m in model.named_modules():
if m.__class__.__name__ in {'Linear','Conv1D'}:
mods.append(n)
print('\n'.join(mods[:200]))
print(Counter(x.split('.')[-1] for x in mods))
PY
Viele Llama-artige Modelle nutzen q/k/v/o_proj; BLOOM verwendet fused query_key_value, GPT-2 oft c_attn. Target Modules müssen zur echten Architektur passen.
Für QLoRA auf allen Linear-Layern ist `all-linear` robuster als manuelle Listen. Trotzdem model-spezifische Output-/Multimodal-Layer prüfen.
String kann Regex sein, Liste Exact-/Suffix-Matching. Komplexe Regex können sich zwischen Versionen anders verhalten.
Eine headless Klasse wie `LlamaModel` statt `AutoModelForCausalLM` kann einen anderen Graph erzeugen. Model Class und Task Type müssen zusammenpassen.
Versionen der letzten funktionierenden Umgebung sichern und Module/Config nach Update vergleichen; 2026-Issues zeigen mögliche Parsing-Regressionen.
Nach erfolgreicher Injektion Trainable-Parameter zählen und einige Layers auf LoRA-A/B prüfen. Null oder extrem hoher Anteil deutet auf falsches Targeting.
python - <<'PY'
# peft_model.print_trainable_parameters()
# for n,p in peft_model.named_parameters():
# if p.requires_grad: print(n, p.numel())
PY
Erste Wahl: offizielles Modellbeispiel, zweite: named_modules, dritte: all-linear für QLoRA. Fremde Target-Listen zuletzt.
| Architektur | Beispiel | Hinweis |
|---|---|---|
| Llama/Qwen-artig | q_proj, k_proj, v_proj, o_proj | Getrennte Projections |
| BLOOM-artig | query_key_value | Fused QKV |
| GPT-2-artig | c_attn | Conv1D/fused |
| QLoRA allgemein | all-linear | Robuster Start |
In einer funktionierenden Trainingsumgebung Pakete nicht blind aktualisieren. GPU, Treiber, CUDA/PyTorch-Runtime, Transformers, Accelerate, PEFT, TRL, bitsandbytes/Diffusers, Modellrevision und Dataset-Fingerprint pro Run protokollieren.
Nein. Das sind Namen bestimmter Architekturen; echten Modellgraph prüfen.
Nein. Gute QLoRA-Basis, aber model-spezifische Layers müssen geprüft werden.
Modellgröße, Precision, Context, Batch, LoRA/QLoRA oder Full Fine-Tuning und Multi-GPU gemeinsam bewerten.