Sie nutzen GPT-4o und Claude über deren APIs. Die Kosten pro Token sind vorhersehbar. Die Latenz ist akzeptabel. Aber Sie stoßen immer wieder auf dieselbe Hürde: Das Modell versteht Ihre Domäne nicht gut genug, und Sie können es sich nicht leisten, sich durch Prompt-Engineering da herauszuarbeiten.
Fine-Tuning löst dieses Problem. Nicht durch Magie. Indem Sie einem Modell 100–1.000 Beispiele genau dessen zeigen, was Sie von ihm erwarten, und dann seine Gewichte an Ihre Spezifikationen anpassen. Ich habe AlgoVestas Trading-Signal-Klassifikator auf Basis von feinabgestimmtem Llama 3 8B entwickelt, und er senkt unsere Inferenzkosten um 70 % im Vergleich zu GPT-4, während die Genauigkeit in unserer Domäne mithalten kann.
Hier ist, was wirklich zählt: Datenqualität schlägt Datenmenge, Sie brauchen eine Baseline, bevor Sie abstimmen, und die Bereitstellung ist, wo die meisten Leute scheitern.
Wann Fine-Tuning wirklich Sinn macht
Fine-Tuning ist nicht die Antwort auf „Mein Prompt funktioniert nicht“. Beheben Sie zuerst den Prompt. Chain-of-Thought, Retrieval oder eine Systemnachricht lösen das Problem normalerweise zu 1/100 der Kosten.
Fine-Tuning, wenn:
- Sie mehr als 100 gelabelte Beispiele für Ihre spezifische Aufgabe haben (weniger hilft nicht viel)
- Das Basisverhalten des Modells nahe dran ist, aber nicht ganz richtig – Sie passen an, überschreiben nicht
- Sie ein konsistentes Ausgabeformat oder domänenspezifische Terminologie benötigen, mit denen generische Modelle Schwierigkeiten haben
- Inferenzkosten oder Latenz eine harte Einschränkung darstellen (kleinere, abgestimmte Modelle schlagen größere, generische auf Ihrer Aufgabe)
Sie sollten NICHT fine-tunen, wenn Sie versuchen, faktisches Wissen hinzuzufügen, das das Modell nicht hat. Verwenden Sie stattdessen RAG. Wenn Sie versuchen, das Modell „hilfreicher“ oder „freundlicher“ zu machen, überarbeiten Sie Ihren Prompt. Fine-Tuning ist keine Persönlichkeitstransplantation.
Datenaufbereitung: Die 80/20 des Prozesses
Verbringen Sie hier die meiste Zeit. Schlechte Daten ruinieren alles nachgelagert.
Ihr Trainingsdatensatz benötigt: Eingabe, erwartete Ausgabe und idealerweise ein Label für die Zuverlässigkeit (einige Beispiele sind repräsentativer als andere). Für die Klassifizierung ist dies unkompliziert. Für die Generierung (Textzusammenfassung, E-Mail-Entwurf) ist es chaotischer – eine Eingabe kann mehrere korrekte Ausgaben haben.
Das Format hängt vom Modell und Framework ab. Die Fine-Tuning-API von OpenAI benötigt JSONL:
{