Fine-Tuning kleiner VLMs
Blog|

Fine-Tuning kleiner VLMs

S
Sereact5 Min. Lesedauer
Fine-Tuning small VLMs

Kleine Vision-Language-Modelle produktionsreif machen

Bei Sereact entwickeln wir die KI, die Industrieroboter im laufenden Produktivbetrieb steuert: mehr als 200 Systeme in ganz Europa und über eine Milliarde reale Picks. Das ist die Folge einer bewussten Entscheidung, aus realen Deployments statt aus Labordemos zu lernen: unvorhersehbare Ausrichtungen, wechselnde Verpackungen, sich änderndes Licht, jede Woche neue SKUs und ein hartes Durchsatzbudget an jeder Zelle.

Über die Planungsseite haben wir viel geschrieben: Cortex 2.0 ergänzt ein World Model, damit ein Roboter mehrere mögliche Aktionen abwägen und schlechte ausschließen kann, bevor er sich bewegt. Doch Planung ist immer nur so gut wie das, was ihr das Wahrnehmungsmodell liefert: Wenn das Vision-Language-Modell am Anfang des Stacks die Szene falsch liest, rettet kein nachgelagertes Reasoning die Situation. Dieser Beitrag zeigt daher, wie man ein kompaktes VLM so genau bekommt, dass es diese Pipeline trägt, schnell nachtrainierbar bleibt, wenn sich die Fläche verändert, und schnell genug ist, um mit der Linie Schritt zu halten. Im Benchmark gewinnt meist das größere Modell, doch in der Fabrikhalle verschwindet dieser Vorteil oft – und alle drei Ziele zugleich zu erreichen, hängt davon ab, wie trainiert wird.

Motivation

Fine-Tuning erfüllt mehrere Aufgaben, und es lohnt sich, sie zu trennen, weil kein einzelner Trainingsdurchlauf sie alle abdeckt:

  • Modalitäts-Alignment. Ein reines Sprachmodell und ein Vision Encoder werden unabhängig voneinander vortrainiert und haben keine gemeinsame Basis. Die visuellen Features bedeuten dem Sprachmodell nichts, solange wir nicht die Brücke zwischen beiden bauen.
  • Domänenanpassung. Ein Allzweckmodell deckt jede einzelne Domäne nur dünn ab. Fine-Tuning bringt es auf die Lagerdaten, die es tatsächlich sehen wird.
  • Aufgabenkompetenz. Zu benennen, was im Bild ist, ist nicht dasselbe wie darüber zu schlussfolgern.
  • Verlässliche Präzision. Pretraining und Instruction-Tuning bringen Sie bis „meistens richtig“; daraus „nachprüfbar exakt“ zu machen, ist ein eigenes Ziel.
  • Effizienz der Iteration. Reale Deployments verändern sich laufend: eine neue SKU, anderes Licht, ein umgebautes Layout. Ein Rezept, das sich in Stunden erneut fahren lässt, ist ein Asset; eines, das man sich nur quartalsweise leisten kann, ist eine Last.

Wir teilen die Arbeit deshalb in drei Stufen auf, von denen jede das Ziel übernimmt, für das sie am besten geeignet ist: den Vision Encoder mit dem Sprachmodell verbinden, damit es sehen kann; Aufgabenkompetenz mit direkter Supervision aufbauen; und schließlich mit nachprüfbaren Rewards die kritischen Antworten exakt machen. Die Reihenfolge zählt: Jede Stufe leistet Arbeit, auf die die nächste angewiesen ist. Auf unserer Holdout-Suite über Picking, Kitting und Inspektion steigt die Exact-Match-Genauigkeit von ~84 % nach Stufe 2 auf ~93 % nach Stufe 3.

Dreistufige Trainingspipeline: Vision und Sprache ausrichten, die vollständige Aufgabe lehren und RL mit nachprüfbaren Rewards

Eine Anmerkung zu den Daten

Alle drei Stufen werden auf Daten trainiert, die aus der Flotte selbst stammen: echte Frames aus echten Zellen. Genau das hält das Modell ehrlich in Bezug auf die Ausrichtungen, Verpackungen und Lichtverhältnisse, denen es tatsächlich begegnen wird. Rohframes allein reichen allerdings nicht, da die meisten weder Instruktion noch Zielausgabe tragen. Nach dem von LLaVA [1] eingeführten Rezept ergänzen wir das Bildmaterial der Flotte um Instruktions- und Antwortdaten, die ein stärkeres Teacher-Modell erzeugt: Wir fordern es auf, aus einer Szene genau die Art von Frage-Antwort-Paar oder Reasoning-Trace zu machen, die eine Stufe benötigt. Das Verhältnis verschiebt sich über die Stufen: Stufe 1 ist bei den Rohbildern am größten, aber am günstigsten zu labeln (nur Captions, einige Millionen Paare), Stufe 2 ist kleiner, dafür reichhaltiger und am teuersten (einige Hunderttausend Instruktions-Antwort-Paare mit Reasoning-Traces), und Stufe 3 ist am kleinsten (einige Zehntausend Prompts), da hier jeweils nur ein berechnetes, nachprüfbares Ziel nötig ist und keine ausformulierte Antwort.

Beispiele für die Aufgabenfamilie, auf der diese Stufen trainieren:

Picking

Kitting

Retourenbearbeitung

Den Abstand mit einem kleineren Modell schließen

Ein kleines VLM hält mit der Linie Schritt und lässt sich schnell nachtrainieren, wann immer sich die Aufgabe verschiebt – was in einem realen Deployment ständig passiert. Ein größeres Modell mag im Benchmark gewinnen, doch wenn es nicht in der Zeit antworten kann, die die Linie erlaubt, ist es hier unbrauchbar, ganz gleich, wie gut sein Score ist. Das Ziel ist ein Modell, das klein und schnell läuft und bei den Aufgaben, auf die es ankommt, dennoch ungefähr das Niveau eines sehr viel größeren erreicht.
Der Haken ist die Kapazitätsdichte. Ein kleines Modell hat weniger Raum, um sowohl allgemeine Wahrnehmung als auch das spezifische Reasoning einer Aufgabe zu halten. Unsauber trainiert schafft es entweder die Verbindung von Vision zu Sprache nicht oder es memoriert die einfachen Fälle und zerbricht an den schweren. In der richtigen Reihenfolge trainiert, kann es den Abstand jedoch weitgehend schließen – und genau dafür stehen die drei Stufen unten, jede auf eine andere typische Schwachstelle kleiner Modelle gerichtet.

Stufe 1: Vision und Sprache ausrichten

Wir beginnen mit zwei Teilen, die nie darauf trainiert wurden, miteinander zu sprechen: einem vortrainierten Vision Encoder, der ein Bild in visuelle Features überführt, und einem reinen Sprachmodell, das bislang ausschließlich Wort-Tokens verarbeitet hat. Das Modell ist als Pipeline verschaltet. Der Vision Encoder erzeugt Features aus dem Bild, ein Projector bildet diese Features in den Token-Embedding-Raum des Sprachmodells ab, und das Sprachmodell liest sie anschließend, als wären sie Wörter, und erzeugt Text. Die Textinstruktion wird tokenisiert und direkt in das Sprachmodell gegeben, wo sie sich mit den visuellen Tokens zu einer gemeinsamen Sequenz verbindet. Dieses zweistufige Rezept folgt LLaVA [1].

Der Projektionsadapter beginnt bedeutungslos: Die visuellen Tokens, die er erzeugt, entsprechen nichts im Vokabular des Sprachmodells. Stufe 1 trainiert diesen Projector und sonst nichts. Vision Encoder und Sprachmodell bleiben eingefroren, da beide bereits starke Allzweckfähigkeiten mitbringen; die einzigen Parameter, die sich bewegen, sind die des Projectors, θ={θproj}\theta = \{\theta_{\text{proj}}\}, unter dem gewöhnlichen überwachten Next-Token-Ziel:

Lalign=(x,y)tlogpθ(yty<t,ximage,xprompt),θ={θproj}\mathcal{L}_{\text{align}} = -\sum_{(x,y)} \sum_t \log p_{\theta}(y_t \mid y_{<t}, x_{\text{image}}, x_{\text{prompt}}), \theta = \{\theta_{\text{proj}}\}
Eine offene, teilweise gefüllte Kit-Box mit an den Seiten bereitgestellten Quellartikeln

Ausgerichtet:
„Eine offene, teilweise gefüllte Kit-Box mit an den Seiten bereitgestellten Quellartikeln.“

Nicht ausgerichtet:
„Ein versiegelter Verkaufskarton, versandfertig.“

Die Daten sind bewusst einfach: ein Prompt wie „beschreibe das Bild“, gepaart mit einer Caption. Die einzige Aufgabe des Projectors ist es, visuelle Features in Tokens zu überführen, die das eingefrorene Sprachmodell bereits versteht – faktisch ein für dieses Modell kompatibler visueller Tokenizer.

Die Stufe ist günstig und risikoarm, doch sie zu überspringen vergiftet alles Weitere: Solange der Projector nicht ausgerichtet ist, schlussfolgert das Sprachmodell über visuelle Tokens, die ihm nichts bedeuten, und alles darauf Aufgebaute erbt diese Verwirrung.

Picking – Stufe 1

Picking – Stufe 1

Kitting – Stufe 1

Kitting – Stufe 1

Retouren / Inspektion – Stufe 1

Retouren / Inspektion – Stufe 1

Stufe 2: Die schwierigeren Aufgaben end-to-end lehren

Sobald der Projector das Modell sehen lässt, erhöhen Sie den Schwierigkeitsgrad. Der Vision Encoder bleibt eingefroren, doch nun trainieren Projector und Sprachmodell gemeinsam, sodass die trainierbaren Parameter zu θ={θproj,θLM}\theta = \{\theta_{\text{proj}}, \theta_{\text{LM}}\} werden. Das Modell beschreibt nicht mehr nur Szenen, sondern beantwortet echte Fragen.

Der Unterschied zu Stufe 1 liegt vor allem in den Daten. Die Prompts sind nun die Fragen, die das Deployment tatsächlich stellt („wie viele Behälter sind im Bild“, „ist dieser Behälter leer“, „welcher Platz muss noch gefüllt werden“), und die Zielausgabe ist eine kurze Gedankenkette gefolgt von der Antwort. Die Zielausgabe y=(c,a)y = (c, a) teilt sich in einen Reasoning-Trace c=(y1,,ym)c = (y_1, \dots, y_m) und die finale Antwort a=(ym+1,,yT)a = (y_{m+1}, \dots, y_T) auf, und wir überwachen beide Teile unterschiedlich, weil es unterschiedliche Arten von Zielen sind.

Die Antwort wird genau wie in Stufe 1 überwacht, mit dem gewöhnlichen Next-Token-Loss über die Antwortspanne:

LSFT=tlogpθ(yty<t,x)\mathcal{L}_{\text{SFT}} = -\sum_{t} \log p_{\theta}(y_t \mid y_{<t}, x)

Der Trace braucht eine leichtere Hand. Viele Traces führen zur selben Antwort; das Modell zu zwingen, den exakten Wortlaut des Teachers zu reproduzieren, überfittet dessen Formulierung. Und wenn ein Beispiel einen leeren oder trivialen Trace trägt, würde der einfache Loss dem Modell beibringen, dass ausgelassenes Reasoning das Ziel ist.

Wir verfolgen die Rate gültiger Reasoning-Traces neben der Genauigkeit, statt der Genauigkeit allein zu vertrauen [2].

In dieser Stufe erwirbt das Modell die Kompetenz, die die Aufgabe tatsächlich verlangt. Sie ist die datenhungrigste der drei, bleibt aber gewöhnliches überwachtes Lernen und damit stabil und vorhersagbar. Am Ende haben Sie ein Modell, das sehen kann und in der Aufgabenfamilie breit einsatzfähig ist – mit zwei Grenzen, die zur letzten Stufe überleiten. Supervised Fine-Tuning (SFT) bringt dem Modell das Imitieren bei: Es reproduziert die Antworten des Teachers gut auf Daten, die dem Trainingsset ähneln, generalisiert aber schlecht auf den Long Tail, den die Fläche tatsächlich hervorbringt. Und jede neue SFT-Runde zieht das gesamte Modell in Richtung der neuen Aufgabe und erodiert das bereits Gelernte (katastrophales Vergessen). Weil es nur imitiert, ist es dort nicht verlässlich präzise, wo es genau eine richtige Antwort gibt und „nah dran“ nicht genügt. Stufe 3 umgeht all das: Einen nachprüfbaren Reward zu optimieren, statt feste Tokens zu imitieren, macht die kritischen Antworten präzise und führt das Modell über bloßes Nachahmen hinaus zu übertragbarem Reasoning – ohne alles andere zu überschreiben.

Picking – Stufe 2

Picking – Stufe 2

Kitting – Stufe 2

Kitting – Stufe 2

Retouren / Inspektion – Stufe 2

Retouren / Inspektion – Stufe 2

Stufe 3: Reinforcement Learning mit nachprüfbaren Rewards

Die letzte Stufe zielt auf genau diese Präzision. Statt ein eigenes Reward Model zu lernen, berechnen wir den Reward direkt daraus, ob die Antwort richtig ist. Das Weglassen des gelernten Reward Models ist es, was diese Stufe im Budget eines kleinen Modells bezahlbar hält.

Der Optimizer ist GRPO (Group Relative Policy Optimization) [3]. Die Policy πθ\pi_\theta (das kleine VLM selbst) zieht pro Prompt eine Gruppe von GG Kandidaten, bewertet jeden gegen das nachprüfbare Ziel und standardisiert die Rewards innerhalb der Gruppe, sodass die Gruppe selbst die Baseline liefert:

A^i=rimean(r1:G)std(r1:G)\hat{A}_i = \frac{r_i - \text{mean}(r_{1:G})}{\text{std}(r_{1:G})}

Dieser Advantage treibt ein geclipptes Policy-Gradient-Update an – dasselbe Surrogat wie bei PPO, nur mit der Gruppen-Baseline anstelle eines gelernten Critics. Mit dem tokenweisen Importance-Ratio

ρi,t(θ)=πθ(yi,tx,yi,<t)πθold(yi,tx,yi,<t)\rho_{i,t}(\theta) = \frac{\pi_{\theta}(y_{i,t} \mid x, y_{i,<t})}{\pi_{\theta_{\text{old}}}(y_{i,t} \mid x, y_{i,<t})}, lautet das Ziel
J(θ)=E[1iyii=1Gt=1yimin(ρi,t(θ)A^i,clip(ρi,t(θ),1εlow,1+εhigh)A^i)]\mathcal{J}(\theta) = \mathbb{E} \left[ \frac{1}{\sum_i |y_i|} \sum_{i=1}^{G} \sum_{t=1}^{|y_i|} \min \left( \rho_{i,t}(\theta) \hat{A}_i, \text{clip} \left( \rho_{i,t}(\theta), 1 - \varepsilon_{\text{low}}, 1 + \varepsilon_{\text{high}} \right) \hat{A}_i \right) \right]

Da alle Kandidaten denselben Advantage A^i\hat{A}_i teilen, wird der gesamte Reasoning-Trace hinter einer guten Antwort verstärkt, nicht nur das letzte Token. Wir setzen DAPO [3] statt reinem GRPO ein: Es entkoppelt den Clip-Bereich (εlow,εhigh\varepsilon_{\text{low}}, \varepsilon_{\text{high}}), um die Exploration am Leben zu halten, verzichtet auf die Normalisierungen, die längere Ausgaben bevorzugen, und aggregiert den Loss auf Token-Ebene. Das trainiert stabiler und hält die Ausgaben kurz – und genau das hält das ausgerollte Modell schnell.

Der Reward rir_i hängt vom Antworttyp der Aufgabe ab, und die beiden Fälle sind es wert, explizit genannt zu werden. Gibt es genau eine eindeutige Antwort – eine Kategorie, ein Ja/Nein, ein diskretes Label –, ist der Reward ein Indikator, der nur bei exakter Übereinstimmung auslöst:

ri=1[y^i=y]={1y^i=y0otherwiser_i = \mathbb{1}[\hat{y}_i = y] = \begin{cases} 1 & \hat{y}_i = y \\ 0 & \text{otherwise} \end{cases}

Ist die Antwort eine numerische oder messbare Größe, verschenkt Alles-oder-nichts Signal. Der Reward skaliert stattdessen damit, wie nah die Vorhersage am Ziel landet, gibt Teilanerkennung für Nähe und ein stärkeres Signal für Exaktheit, bei einer Toleranz τ\tau:

ri=max(0,1y^iyτ)r_i = \max\left(0, 1 - \frac{|\hat{y}_i - y^*|}{\tau}\right)

In beiden Fällen kommt die Supervision aus der Aufgabe selbst, nicht von einem menschlichen Bewerter oder einem gelernten Proxy: Die Funktion, die das Modell bewertet, ist dieselbe, mit der Sie es im Produktivbetrieb prüfen würden.

Picking – Stufe 3

Picking – Stufe 3

Kitting – Stufe 3

Kitting – Stufe 3

Retouren / Inspektion – Stufe 3

Retouren / Inspektion – Stufe 3

Warum die Reihenfolge zählt

Die drei Stufen sind nicht austauschbar. Zuerst das Alignment, denn Reasoning auf fehlausgerichteten Features ist Reasoning über das Falsche. Dann die breite überwachte Kompetenz, denn RL schärft eine bereits vorhandene Fähigkeit, kann aber keine aus dem Nichts erzeugen. Zuletzt RL mit nachprüfbaren Rewards, denn seine Aufgabe ist es, „meistens richtig“ in „verlässlich exakt“ zu verwandeln – bei den Fällen, die eine prüfbare Antwort haben.

In dieser Reihenfolge ausgeführt, leistet jede Stufe Arbeit, auf die die nächste angewiesen ist, und keine muss eine Aufgabe übernehmen, für die sie schlecht geeignet ist. Das Ergebnis ist ein kleines Modell, das sauber ausgerichtet ist, auf der realen Aufgabe schlussfolgert und die Präzision erreicht, die ein industrieller Anwendungsfall tatsächlich verlangt – trainiert und betrieben zu Kosten, die zum Deployment passen, statt gegen es zu arbeiten.

Fazit

Kleine VLMs produktionsreif zu machen, ist keine Frage cleveren Verkleinerns. Es geht darum, das Training so zu staffeln, dass ein kompaktes Modell seine begrenzte Kapazität gut einsetzt: Vision und Sprache ausrichten, Aufgabenkompetenz mit direkter Supervision aufbauen und dann mit nachprüfbaren Rewards die kritischen Antworten präzise machen. Das gelernte Reward Model in dieser letzten Stufe wegzulassen, ist kein Kompromiss – es ist der Schritt, der die gesamte Pipeline effizient genug hält, um so oft nachzutrainieren, wie es ein reales Deployment verlangt.

Referenzen

[1] Liu, Li, Wu, Lee. Visual Instruction Tuning (LLaVA). NeurIPS 2023. arXiv:2304.08485.

[2] Twist, Yannakoudakis, Zhang. Reasoning-Trace Collaps: Evaluating the Loss of Explicit Reasoning During Fine-Tuning 2026. arXiv:2605.21127.

[3] Shao et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. 2024. arXiv:2402.03300.

[4] Yu et al. DAPO:An Open-Source LLM Reinforcement Learning System at Scale. NeurIPS 2025. arXiv:2503.14476.

Ressourcen zum Artikel

Inhalte und Assets aus diesem Beitrag abrufen

Textinhalt

Kopieren Sie den vollständigen Artikeltext in die Zwischenablage, um ihn bequem zu lesen oder zu teilen.

Bildmaterial

Laden Sie alle in diesem Artikel verwendeten hochauflösenden Bilder als ZIP-Datei herunter.

Neueste Artikel