Optimieren eines Modells für ein einheitliches Verhalten
Das Prompt Engineering hilft Ihnen, das Verhalten des Modells zu leiten, und RAG hilft dabei, Antworten in faktenbezogenen Daten zu verankern. Manchmal erzeugt das Modell jedoch immer noch keine Antworten mit dem von Ihnen benötigten konsistenten Stil, Ton oder Format. Wenn Sie feststellen, dass das Modell Ihre Anweisungen ignoriert oder inkonsistent befolgt – auch bei detaillierten Systemmeldungen und wenigen Beispielen – kann es an der Zeit sein, das Modell zu optimieren .
Feinabstimmung ist der Prozess der Verwendung eines vortrainierten Sprachmodells und dessen Weitertraining auf einem kleineren, aufgabenspezifischen Datensatz. Dadurch werden die internen Gewichtungen des Modells so angepasst, dass sie Antworten erzeugt, die mit den Mustern in Ihren Schulungsdaten konsistent sind.
Verstehen der Feinabstimmung
Foundation-Modelle wie GPT-4o werden auf große Mengen allgemeiner Daten trainiert. Die Feinabstimmung baut auf dieser Grundlage auf, indem Sie das Modell mit zusätzlichen Beispielen trainieren, die Ihre spezifischen Anforderungen widerspiegeln. Betrachten Sie es als die Spezialisierung eines Generalisten: Das Modell behält seine breiten Sprachfähigkeiten bei, lernt jedoch, auf die besondere Weise zu reagieren, die Ihre Trainingsdaten demonstrieren.
Feinabstimmung verwendet LoRA (Low-Rank Adaptation), eine Methode, die Gewichtsänderungen mit einer niedrigeren Rangdarstellung annähert. Anstatt alle Parameter des Modells neu zu überschreiben, aktualisiert LoRA nur eine kleinere Teilmenge wichtiger Parameter. Dadurch wird das Training schneller und kostengünstiger, während die Modellqualität beibehalten wird.
Der wichtigste Vorteil des Fine-Tunings statt des Trainings eines Modells von Grund auf ist die Effizienz. Sie benötigen weniger Zeit, weniger Rechenressourcen und deutlich weniger Daten, um das Verhalten eines Modells anzupassen.
Wissen, wann eine Feinabstimmung zu verwenden ist
Feinabstimmung eignet sich für Szenarien, in denen allein durch Prompt-Engineering nicht die gewünschte Konsistenz erzielt wird. Zu den gängigen Anwendungsfällen gehören:
- Konsistenter Stil und Ton: Ihre Organisation hat eine bestimmte Markenstimme, und das Modell muss es zuverlässig über alle Interaktionen hinweg verfolgen. Das Reisebüro möchte zum Beispiel, dass jede Antwort in einem warmen, ermutigenden Ton mit kurzen Absätzen gehalten ist.
- Spezifische Ausgabeformate: Sie benötigen das Modell, um eine strukturierte Ausgabe zuverlässig zu erzeugen, z. B. JSON-Antworten nach einem definierten Schema, und nur wenige Beispiele reichen nicht aus.
- Reduzieren der Eingabeaufforderungslänge: Lange Systemnachrichten mit vielen Beispielen verbrauchen Token und erhöhen die Latenz. Durch Feinabstimmung werden diese Muster in das Modell integriert, wodurch die für jede Anfrage erforderliche Aufforderungslänge reduziert wird.
- Destillation: Sie möchten die Funktionen eines großen, teuren Modells auf ein kleineres, effizienteres Modell übertragen. Sie können z. B. Ausgaben aus einem leistungsfähigen Modell sammeln und sie verwenden, um ein kleineres Modell zu optimieren, das eine ähnliche Qualität bei niedrigeren Kosten und Latenzen erreicht.
- Verbesserung der Toolnutzung: Wenn Ihre Anwendung Toolaufrufe verwendet, kann die Feinabstimmung mit Toolbeispielen die Genauigkeit der Toolauswahl und der Parametergenerierung verbessern.
Von Bedeutung
Feinabstimmung ist eine erweiterte Funktion. Beginnen Sie immer damit, die grundlegende Leistung eines Standardmodells anhand Ihrer Anforderungen zu bewerten, bevor Sie die Feinabstimmung in Betracht ziehen. Ohne eine Basislinie ist es schwierig festzustellen, ob die Leistung des Modells verbessert oder verschlechtert wurde.
Erkunden Sie Arten der Feinabstimmung
Microsoft Foundry bietet mehrere Feinabstimmungstechniken:
- Überwachte Feinabstimmung (SFT): Trainieren Sie das Modell mit einem gekennzeichneten Datensatz aus Eingabe- und Antwortpaaren. Das Modell lernt, Ausgaben zu erzeugen, die den Mustern in Ihren Schulungsdaten entsprechen. Diese Technik funktioniert am besten, wenn klare, gut definierte Methoden zum Herangehen einer Aufgabe vorhanden sind.
- Vertiefende Feinabstimmung (RFT): Optimieren Sie das Verhalten des Modells durch iteratives Feedback, indem Sie ein Bewertungstool verwenden, um bessere Antworten inkrementell zu belohnen. RFT eignet sich gut für komplexe oder dynamische Aufgaben, bei denen es viele mögliche Lösungen gibt und Sie die Begründungsqualität des Modells verbessern möchten.
- Direkte Einstellungsoptimierung (Direct Preference Optimization, DPO): Richten Sie das Modell basierend auf den menschlichen Einstellungen aus, indem Sie bevorzugte und nicht bevorzugte Antwortpaare bereitstellen. DPO ist rechenmäßig leichter als herkömmliche Verstärkungslernansätze, während sie bei der Ausrichtung gleichermaßen effektiv sind.
Sie können auch Techniken kombinieren. Verwenden Sie beispielsweise zuerst die überwachte Feinabstimmung, um ein angepasstes Modell zu erstellen, und verwenden Sie dann DPO, um die Antworten auf Ihre spezifischen Einstellungen weiter auszurichten.
Vorbereiten von Trainingsdaten
Feinabstimmung erfordert ein Dataset mit qualitativ hochwertigen Beispielen im JSONL-Format (JSON Lines). Bei Chatabschlussmodellen besteht jedes Beispiel aus einer Unterhaltung mit System-, Benutzer- und Assistentennachrichten:
{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "What's a good beach destination in Europe?"}, {"role": "assistant", "content": "For a beautiful European beach experience, consider the Algarve in southern Portugal! It offers stunning golden cliffs, warm waters, and charming coastal towns. The best time to visit is from May through September."}]}
{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "I need a budget hotel in Tokyo."}, {"role": "assistant", "content": "Here are some great budget-friendly options in Tokyo:\n\n- **Sakura Hotel Jimbocho** - Central location, from $45/night\n- **Khaosan World Asakusa** - Near Senso-ji temple, from $35/night\n- **Imano Tokyo Ginza Hostel** - Modern design, from $40/night\n\nAll three options are close to public transit, making it easy to explore the city."}]}
Bei der Vorbereitung Ihrer Schulungsdaten:
- Fügen Sie eine konsistente Systemmeldung über Beispiele hinweg ein.
- Verwenden Sie qualitativ hochwertige, repräsentative Beispiele, die die Von Ihnen erwarteten Szenarien abdecken.
- Zielen Sie auf mindestens Hunderte von Beispielen ab; mehr ist im Allgemeinen besser.
- Stellen Sie sicher, dass die Antworten des Assistenten genau den gewünschten Stil, das Format und den gewünschten Ton widerspiegeln.
Hinweis
Das Einschließen einer Systemnachricht in Ihre Schulungsdaten ist wichtig. Wenn Sie es leer lassen, werden tendenziell Modelle mit geringerer Genauigkeit erzeugt. Verwenden Sie dieselbe Systemmeldung, wenn Sie Ihr fein abgestimmtes Modell zur Ableitung bereitstellen.
Berücksichtigen sie die Herausforderungen
Die Feinabstimmung führt zu Kosten und Komplexität, die Sie vor der Entscheidung bewerten sollten:
- Schulungskosten: Das Fine-Tuning hat Vorabkosten für das Training und laufende stündliche Kosten für das Hosting des benutzerdefinierten Modells.
- Anforderungen an die Datenqualität: Schlechte Qualität oder unrepräsentative Schulungsdaten führen zu Überanpassung, Unteranpassung oder Verzerrungen.
- Wartung: Feinabgestimmte Modelle müssen möglicherweise neu trainiert werden, wenn sich Daten ändern oder aktualisierte Basismodelle veröffentlicht werden.
- Experimentierung: Das Auffinden der richtigen Kombination von Hyperparametern (Epochen, Batchgröße, Lernrate) erfordert Tests und Iteration.
- Modellabweichung: Die Spezialisierung zu eng kann dazu führen, dass das Modell bei allgemeinen Sprachaufgaben außerhalb der fein abgestimmten Domäne weniger effektiv ist.
Für das Reisebüro bedeutet Feinabstimmung, dass jede Reaktion konsequent den Richtlinien für Markenstimme und Formatierung des Unternehmens entspricht – auch ohne umfangreiche Systemnachrichten. Aber das Team muss diesen Vorteil gegen die Kosten für die Vorbereitung von Schulungsdaten und die Aufrechterhaltung des fein abgestimmten Modells im Laufe der Zeit abwägen.