Vision-Language SFT (Überwachte Feinabstimmung)
Dieses Skill setzt voraus, dass die finetuning-method-selection
bereits hierher weitergeleitet hat: Die Datenform besteht aus
Bild+Text-Demonstrationen, nicht aus Präferenzpaaren
oder einem verifizierbaren Belohnungssignal, und die Basis ist ein
Vision-Language-Modell und kein reines Textmodell. lora-qlora-recipes
deckt das reine Text-LoRA/QLoRA-Rezept ab, das dieses Skill für den
Vision-Tower und Projektor spezialisiert; lesen Sie dieses Skill zuerst,
wenn die LoRA-Grundlagen (Rang, Alpha, Ziel-
Module) noch nicht vertraut sind.
Eingabe: ein Bild+Text-Datensatz und ein bereits aus dem
Modellkatalog ausgewähltes VLM-Basismodell.
Ausgabeformat: eine validierte Adapterkonfiguration —
welche Komponenten eingefroren sind, LoRA-Zielmodule
und ein min_pixels/max_pixels-Budget — die
llm-finetuning-training-engineer direkt konsumiert,
wenn er ein ausführbares Skript generiert.
Kurzreferenz
| Situation | Standard |
|---|---|
| Verhalten auf vertrauten Bildern anpassen | Eingefrorener Tower+Projektor, LoRA r=8–16, α=16–32 |
| Visuelle Domänenverschiebung | Letzte 6 ViT-Layer auftauen, Vision-LR 5–10x niedriger |
| Passt nicht in bf16 beim Zielrang | QLoRA — nur eingefrorener Vision-Tower |
fast_inference=True | finetune_vision_layers=False |
| Loss normal, Eval verbessert sich nicht | Zuerst die beiden Stillen Killer unten prüfen |
Das Konsens-Rezept
Frieren Sie den Vision-Tower und den Projektor ein. Legen Sie
LoRA nur auf das LLM, all-linear (die gleiche
Attention + MLP-Zielliste wie bei Text-only-SFT —
siehe lora-qlora-recipes), mit r=8–16,
α=16–32. Dies ist der etablierte Standard für
die Anpassung des Verhaltens eines VLM, ohne dessen Sehvermögen zu beeinträchtigen.
- Der Vision-Tower und der Projektor bleiben standardmäßig eingefroren. Sie codieren bereits eine allgemeine visuelle Repräsentation; ein erneutes Training ist selten notwendig und birgt Risiken, ohne für die meisten Aufgaben einen Mehrwert zu schaffen.
- Der LoRA-Rang liegt niedriger als der allgemeine Text-only-Standard (r=8–16 hier vs. r=16–32 für Text-only-SFT), da der reine LLM-Adapter das Verhalten anpasst, kein neues visuelles Wissen injiziert.
- QLoRA ist nur mit einem eingefrorenen Vision-Tower erlaubt. Die Quantisierung der Basis bei gleichzeitigem Auftauen und Trainieren von Vision-Layern ist nicht unterstützt und instabil — behandeln Sie dies als harte Paarungsregel, nicht als einstellbaren Parameter. Wenn der Vision-Tower aufgetaut werden muss, lassen Sie QLoRA fallen und verwenden Sie stattdessen bf16-LoRA.
# Tower + Projektor einfrieren; LoRA nur auf LLM
for name, param in model.named_parameters():
if "vision_tower" in name or "projector" in name:
param.requires_grad = False
target_modules = [
"q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj",
] # Nur LLM, all-linear — r=8-16, alpha=16-32
Wann auftauen
Das Auftauen von Vision-Layern ist eine bewusste Eskalation, keine Standardentscheidung — greifen Sie nur darauf zurück, wenn die Domänenverschiebung visuell, nicht textuell ist.
- Nur bei visueller Domänenverschiebung auftauen. Wenn die Aufgabe darin besteht, neues Verhalten auf Bildern zu lehren, die der Tower bereits versteht (Diagramme, Alltagsfotos), dann ist das eingefrorene Tower-Rezept oben ausreichend. Tauen Sie auf, wenn die visuelle Domäne selbst dem Tower nicht vertraut ist — Satellitenbilder, medizinische Scans, dichte technische Diagramme — und das eingefrorene Tower-Rezept ein Plateau erreicht.
- Die letzten 6 ViT-Layer sind der Sweet Spot. Das Auftauen der letzten sechs Vision-Transformer-Layer (nicht des gesamten Towers) ergab gemessene +1,7 Punkte auf DocVQA bei ~1,75x Trainingskosten gegenüber der eingefrorenen Basislinie. Behandeln Sie sechs Layer als die Obergrenze, die es wert ist, bezahlt zu werden; weiter zu gehen verbraucht Rechenleistung ohne entsprechendes Ergebnis.
- Die Vision-LR muss 5–10x niedriger sein als die LLM-LR, wenn sie aufgetaut ist. Die vortrainierte Repräsentation des Vision-Towers ist empfindlicher als der Adapter des LLM; die gleiche LR für beide riskiert, die visuelle Repräsentation schneller zu überschreiben, als der LLM-Adapter kompensieren kann.
- Hoher LoRA-Rang auf der Patch-Embedding-Schicht riskiert NaN. Wenn Patch-Embedding in der aufgetauten Menge ist, halten Sie seinen Rang niedrig und beobachten Sie den Loss der frühen Schritte genau — eine der empfindlichsten Stellen, um LoRA in einem VLM anzuwenden.
Die beiden Stillen Killer
Beide produzieren einen Lauf, der ohne Fehler trainiert und ohne zu lernen: Die Loss-Kurve sieht normal aus, das Modell verbessert sich nicht, und keiner wirft eine Ausnahme — beide benötigen eine explizite Prüfung vor dem Training, und nicht nur ein sauberes Trainingsprotokoll.
- Bild-Tag/Count-Mismatch. Jeder Bild-Platzhalter-Token im templatierten Text muss
1:1 auf ein tatsächlich an den Collator übergebenes Medienelement abbilden. Ein
Mismatch (ein Platzhalter, null oder zwei Bilder angehängt; oder ein Bild ohne
Platzhalter) führt bei den meisten Collatoren zu keinem Fehler —
es richtet Bild und Text stillschweigend falsch aus, und das Modell
"trainiert, lernt aber nichts." Validieren Sie die
1:1-Platzhalter-zu-Medien-Zuordnung vor Trainingsbeginn
für jedes Beispiel, nicht nur für eine Stichprobe.
Vollständiges Validierungs-Checklisten-Detail:
references/collators-and-pitfalls.md. min_pixels/max_pixelsAuflösungsbudget. Dieses Paar ist der mit Abstand wichtigste Hyperparameter für Qualität und Speicher bei VLM SFT — wichtiger als Rang, Alpha oder LR. Zu niedrig verkleinert Bilder stillschweigend unter das, was die Aufgabe benötigt (kleiner Dokumententext wird unlesbar, auch wenn das Training "erfolgreich" ist); zu hoch sprengt das Aktivierungsspeicherbudget oder erzwingt eine zu kleine Batchgröße für stabiles Training. Setzen Sie es bewusst pro Datensatz fest, verlassen Sie sich nicht auf einen Framework-Standard.
Unsloth-Spezifika
UnslothVisionDataCollatorist der Collator, den Unsloth für VLM SFT erwartet — er behandelt die Bild-Tag-Ausrichtung und den pro-Architektur-Processor-Vertrag, der inreferences/collators-and-pitfalls.mdbeschrieben ist. Ersetzen Sie keinen Text-only-Collator für VLM-Daten.finetune_vision_layers=Falseist erforderlich, wennfast_inference=True. vLLM kann keine LoRA-Adapter auf Vision-Layern bedienen, daher schlägt ein Fast-Inference-Setup, das auch Vision-Layer auftaut, zur Serve-Zeit fehl, selbst wenn das Training erfolgreich ist. Wenn das Rezept das Auftauen der letzten 6 ViT-Layer vorsieht (siehe "Wann auftauen" oben), ist Fast Inference für diesen Lauf vom Tisch — wählen Sie eines oder das andere, nicht beides.
Modellauswahl
Die Wahl des Basis-VLM liegt außerhalb des Rahmens dieses Skills —
sie befindet sich an einer Stelle, dem Modellkatalog unter
finetuning-method-selection's
references/model-catalog.md. Dieses Skill und seine
Referenzen beschreiben Rezepte nur nach Architekturfamilie,
niemals durch die Empfehlung eines Modells gegenüber einem anderen.
VLM Reinforcement Learning (VLM-GRPO) ist in diesem Plugin nur als Referenz
enthalten — die fragmentierten Tools und die für VLM-RL spezifischen
Reward-Hacking-Fehlermodi werden in grpo-rlvr-training behandelt,
nicht hier. Der Umfang dieses Skills endet bei der überwachten Feinabstimmung.
Fehlermodi
Der immer wiederkehrende Fehler in jedem Abschnitt oben
ist, eine saubere Loss-Kurve als Beweis dafür zu behandeln, dass der Lauf
gesund ist. Eine normal aussehende Kurve ist konsistent
mit sowohl einem funktionierenden Lauf als auch einem der beiden
stillen Killer, da das Modell in beiden Fällen auf irgendetwas trainiert —
nur nicht auf dem ausgerichteten Bild-Text-Signal, wenn ein Killer vorhanden ist. Ein flacher Eval-Score
neben einer normalen Loss-Kurve bedeutet, die Checkliste in references/collators-and-pitfalls.md
erneut durchzugehen, bevor Sie irgendeinen Hyperparameter anfassen.
Referenzen
references/collators-and-pitfalls.md— pro- Architektur-Collator-Tabelle, Datensatzformat-Beispiele mit Bildplatzhaltern, eine Validierungs-Checkliste vor dem Training und das zweistufige Projektor-Ausrichtungsrezept als fortgeschrittenes Muster.
Verwandte Skills: finetuning-method-selection leitet hierher
weiter; lora-qlora-recipes deckt die grundlegenden Text-only-LoRA-Konzepte ab, die dieses Skill spezialisiert;
grpo-rlvr-training behandelt VLM-RL (nur als Referenz);
dataset-curation deckt die Bild+Text-Datensatzvorbereitung ab, die dieses Skill nicht behandelt.