Lerneinheit · Verstehen durch Bauen

FunctionGemma auf den eigenen MCP nachtrainieren

Ein 550-MB-Modell lernt die elf Werkzeuge der Sim-Welten. Drei Messungen an derselben Prüfbank, ein destillierter Datensatz und ein LoRA-Lauf, der auf eine kleine Karte passt.

6 Schritte · rund 190 Minuten Bauzeit

Warum wählt ein kleines Modell aus vielen Werkzeugen so schlecht? Und was hilft dagegen wirklich?

Die erste Frage kennt jeder, der lokale Modelle betreibt. Auf die zweite hörst du meistens „besserer Prompt“, manchmal „größeres Modell“. Dieser Kurs antwortet mit einem Feintuning und zeigt an drei Messungen, was es bringt und was nicht.

Der Gegenstand

Trainiert wird gegen die Sim-Welten dieses Repos. Im mcp-Container laufen zwei fertige MCP-Server: der Kalender von Simhaven (mcp/tools/sim_calendar.ts, fünf Werkzeuge) und das CRM derselben Stadt (mcp/tools/sim_crm.ts, sechs Werkzeuge). Zusammen elf Werkzeuge mit echten Schemata, echten Pflichtfeldern und echten Aufzählungswerten.

Das ist kein Detail am Rande. Kapitel Zusammenspiel nennt drei Bedingungen, unter denen sich ein Feintuning lohnt, und alle drei müssen erfüllt sein:

BedingungWie sie hier erfüllt ist
Stabile AktionsmengeElf Werkzeuge, seit Monaten unverändert, mit Schema in zod
Protokollierte EchtfälleDie Parcours-Läufe erzeugen Traces gegen genau diese Welten
PrüfbankS1 bis S5 stehen im Kapitel ausformuliert und kommen hier als Code

Wer an einer ausgedachten Wetter-API übt, kann hinterher nicht sagen, ob ein Aufruf richtig war. Hier kannst du es.

Der Bogen

Sechs Schritte, und die Reihenfolge ist die Pointe. Warum nicht gleich trainieren? Weil Kapitel Zusammenspiel den Spezialisten „Stufe vier, nicht Stufe eins“ nennt: Wer beim Training anfängt, hat hinterher ein zweites Modell im Betrieb und weiß immer noch nicht, ob es besser geworden ist.

  1. Der Ausgangszustand. Der Agent läuft gegen den Sim-MCP mit dem großen Modell, und jede Runde wird protokolliert.
  2. Die Messlatte. Die Prüfbank S1 bis S5 als lauffähiger Code, vier Kennzahlen, erste Messung.
  3. Der rohe Spezialist. FunctionGemma als eigener Dienst davor, zweite Messung. Sie fällt schlechter aus, und das ist der Grund für Schritt vier.
  4. Der Datensatz. Paare aus Anfrage, Werkzeugliste und Aufruf, destilliert aus den Läufen des großen Modells.
  5. Der LoRA-Lauf. Ein Adapter auf 270 Millionen Parameter, dritte Messung gegen dieselbe Prüfbank.
  6. Zurück in den Harness. Spezialist als Schnellweg, großes Modell als Rückfallweg.

Was am Ende dasteht

Drei Zahlen an derselben Prüfbank, gemessen auf einem DGX Spark:

StandAufträge gelungenMedian je Anfrage
Großes Modell (qwen3.8-27b)95,2 %6,42 s
Roher Spezialist (functiongemma-270m-it)73,8 %0,20 s
Nachtrainierter Spezialist90,5 %0,16 s

Die mittlere Zeile ist die interessante. Roh antwortet das kleine Modell zweiunddreißigmal schneller und liegt einundzwanzig Punkte zurück. Nach dem Training sind aus einundzwanzig Punkten knapp fünf geworden, bei vierzigfacher Geschwindigkeit - und auf der Prüfstufe, an der es vorher am deutlichsten scheiterte, liegt es jetzt gleichauf mit dem 27B.

Was du brauchst

Eine Maschine mit einer Karte, auf die ein 270-Millionen-Parameter-Modell passt. Viel ist das nicht. In bfloat16 sind es rund 550 MB, und das Training mit LoRA kommt mit etwa vier Gigabyte aus. Dazu brauchst du ein großes Modell für die Beschriftung; ob es lokal läuft oder über eine Schnittstelle kommt, ist dem Kurs egal, kostet über die Schnittstelle aber Geld.

Gelesen haben solltest du vorher die beiden Kapitel des Bausteins Tool-Calling im Betrieb, auf denen der Kurs aufsetzt. Der Baustein Feintuning ordnet ein, was hier Handarbeit wird.

Der Fahrplan

6 Schritte, je eine Einsicht und ein lauffähiger Stand. Jeder Schritt steht auf dem vorigen.

  1. 01
    Der Ausgangszustand25 min

    Bevor irgendetwas verbessert wird, muss jede Runde nachlesbar sein. Rohausgabe, gelesener Aufruf, Ergebnis, finish_reason.

    Meilenstein Elf Werkzeuge aus den Sim-Welten stehen als Aufrufliste da, und ein Lauf des großen Modells liegt vollständig protokolliert vor.

  2. 02
    Die Messlatte35 min

    Eine Prüfbank ist kein Benchmark-Aufbau, sondern zweiundvierzig feste Erwartungswerte und eine Schleife.

    Meilenstein S1 bis S5 laufen strukturell bewertet durch, und das große Modell steht mit 95,2 % gelungener Aufträge als Messlatte fest.

  3. 03
    Der rohe Spezialist30 min

    Zweiunddreißigmal schneller und zwanzig Punkte schlechter. Und bei fehlender Pflichtangabe erfindet er sie.

    Meilenstein Der Spezialist läuft als eigener Dienst, die zweite Messung steht, und die Temperaturfrage aus Kapitel 06 ist entschieden.

  4. 04
    Den Datensatz destillieren35 min

    Die unbequemen Fälle sind die halbe Miete: kein Werkzeug nötig, Pflichtangabe fehlt. Ohne sie ruft der nachtrainierte Spezialist auf alles etwas auf.

    Meilenstein Ein Datensatz aus echten Läufen des großen Modells liegt vor, durchs Gatter gefiltert, mit S4- und S5-Fällen darin.

  5. 05
    LoRA fahren35 min

    Der Verlust läuft nur über die Antwort, und der Prompt wird mit derselben Vorlage gerendert wie im Betrieb. Wer das trennt, trainiert ein Format, das nie ankommt.

    Meilenstein Der Adapter ist trainiert, verschmolzen, hingestellt und an derselben Prüfbank gemessen.

  6. 06
    Zurück in den Harness30 min

    Der Spezialist ist der Schnellweg, das große Modell der Rückfallweg. Was den Weg entscheidet, ist das Gatter.

    Meilenstein Die Weiche steht, und die Rechnung, ab wann sich der Aufwand lohnt, ist mit den eigenen Zahlen gemacht.

FunctionGemma selbst nachtrainieren · building-agents.com