Was synthetische Daten sind
Die besten Trainingsdaten sind echte Unterhaltungen mit Ihren Nutzern. Oft gibt es davon zu wenige, sie decken nur die einfachen Fälle ab, oder der Assistent, den Sie trainieren möchten, existiert noch gar nicht. Synthetische Daten schließen diese Lücke: Ein leistungsfähiges Modell schreibt Beispielunterhaltungen, die das gewünschte Verhalten zeigen, und ein kleineres oder kostengünstigeres Modell wird anschließend damit trainiert.
Dies ist mittlerweile eine Standardmethode. Für das Self-Instruct-Paper (2022) ließ man GPT-3 eigene Anweisungen und Antworten schreiben, filterte ungültige sowie nahezu identische heraus und führte ein Fine-Tuning von GPT-3 mit dem Ergebnis durch: eine absolute Verbesserung von 33 % beim Super-NaturalInstructions-Benchmark. Stanfords Alpaca (2023) nutzte dieselbe Idee, um 52.000 Demonstrationen für weniger als 500 $ zu erstellen. UltraChat generierte 1,5 Millionen mehrstufige Dialoge, und Microsofts phi-1 zeigte, dass ein Code-Modell mit 1,3 Milliarden Parametern, das teilweise mit synthetischen Lehrbüchern trainiert wurde, 50,6 % beim HumanEval-Benchmark erreichen konnte.
Das Risiko: Der Schüler kopiert den Autor
Ein Modell, das mit den Texten eines anderen Modells trainiert wird, übernimmt dessen Gewohnheiten ebenso getreu wie dessen Wissen. Wenn jeder generierte Nutzer mit „Hallo, ich habe eine Frage zu…“ beginnt, kann das trainierte Modell nur mit höflichen, gut formulierten Fragen umgehen. Wenn der Autor niemals etwas ablehnt, wird auch der Schüler dies nicht tun. Forschungen zum wiederholten Training von Modellen mit generiertem Text (Shumailov und Kollegen, 2023) haben gezeigt, dass die seltenen Fälle — die Ränder der Verteilung — als Erstes verschwinden. Bei guten synthetischen Daten geht es daher hauptsächlich um zwei Dinge: Vielfalt, damit auch seltene und unbequeme Fälle abgedeckt sind, und Kontrolle, damit Sie entscheiden, wie ein gutes Ergebnis aussieht.
Wie der Dataset Builder funktioniert
Das Briefing beschreibt, was erstellt werden soll. Der Geltungsbereich legt fest, was der Assistent abdeckt und, ebenso wichtig, was nicht: Out-of-Scope-Chats, bei denen der Assistent höflich ablehnt oder weiterleitet, bringen dem Modell bei, wo seine Aufgabe endet. Ziel und Handlungsstrang definieren, was eine gute Antwort erreicht und wer der Assistent ist — Tonalität, Persona, Regeln. Die Zielgruppe gibt an, wer die Nutzer sind, was wiederum die Fragen prägt. Anweisungen umfassen alles Weitere („immer mit einem nächsten Schritt enden“, „niemals Preise nennen“). Danach folgen die Anzahlen und Limits: wie viele Chats, Runden pro Chat, die längste Antwort, die längste Nutzernachricht und die Sprache. Optionale Dokumente liefern Ihre Fakten.
1. Tarif. Bevor ein Chat geschrieben wird, erstellt das Modell einen Tarif: eine Liste von Szenarien, jeweils mit einem Thema, einem Benutzertyp, einem Schwierigkeitsgrad (einfach, schwer, Randfall oder außerhalb des Zuständigkeitsbereichs) und der Absicht des Nutzers, plus der Angabe, wie viele Chats jedes Szenario erhält. Die vorherige Planung sorgt für Vielfalt: Ohne sie neigt ein Modell, das um 100 Chats gebeten wird, dazu, 100 Versionen derselben drei Fragen zu schreiben. Sie lesen den Tarif, bearbeiten oder löschen Zeilen und fügen eigene hinzu, bevor irgendetwas geschrieben wird.
| Thema | Benutzertyp | Schwierigkeitsgrad | Intention | Chats |
|---|---|---|---|---|
| Meldung eines Wasserrohrbruchs | erstmaliger Anspruchsteller | einfach | eine Hausratsschadenmeldung starten | 8 |
| Anspruch wegen verspäteter Meldung abgelehnt | frustrierter Kunde, kurz angebunden | schwierig | Gründe verstehen und Widerspruch einlegen | 9 |
| Schaden durch zwei Policen abgedeckt | Vermieter | Grenzfall | herausfinden, welche Police zahlt | 8 |
| Senden von Fotos und Belegen | älterer Kunde, unsicher mit Apps | einfach | Nachweise hochladen | 7 |
| Klage gegen den Nachbarn von oben | Anspruchsteller | außerhalb des Anwendungsbereichs | Rechtsberatung einholen | 8 |
2. Generieren. Sobald Sie den Tarif genehmigen, werden die Chats im Hintergrund geschrieben, wobei jeder auf die Teile Ihrer Dokumente zurückgreift, die zu seinem Szenario passen. Sie können den Vorgang jederzeit pausieren, fortsetzen oder abbrechen, und der Builder zeigt eine grobe Schätzung der verbleibenden Zeit an.
3. Prüfungen. Jeder Chat wird bei Eingang überprüft. Die Struktur muss stimmen: Nutzer und Assistent wechseln sich ab, beginnend mit dem Nutzer und endend mit einer Antwort des Assistenten. Modelle schreiben oft eine Runde mehr oder weniger als gefordert; solche Chats werden behalten und gekürzt, da sie immer noch gute Beispiele sind. Nur fehlerhafte Chats — falsche Rollen, leere Nachrichten — werden verworfen und neu geschrieben. Andere Probleme lösen eine Markierung aus: Der Chat wird behalten, aber für Ihre Überprüfung gekennzeichnet.
Eine Markierung ist eine Frage, kein Urteil: Eine Verweigerung ist in einem Out-of-Scope-Szenario genau richtig und überall sonst ein Warnsignal.
4. Überprüfen, dann hinzufügen. Sie lesen die Chats, filtern nach Szenario oder Markierung, bearbeiten oder löschen beliebige davon und fügen sie einem neuen oder bestehenden Datensatz hinzu. Dort werden sie als Synthetisch gekennzeichnet, sodass sie stets von echten Chats unterschieden werden können. Das erneute Hinzufügen desselben Builds fügt nur das hinzu, was noch nicht vorhanden ist.
- Briefing. Ein Versicherungs-Schadensassistent für Hausrat-Policen. Out of Scope: Rechtsberatung und alles über andere Versicherer. Zielgruppe: Versicherungsnehmer, teils gestresst, teils nicht an Apps gewöhnt. 40 Chats, gemischte Turns, Antworten bis zu 400 Token, zwei Help-Center-Artikel als Dokumente.
- Plan. Themen auf Auto: 40 ÷ 8 = 5 Szenarien, von einem einfachen „Rohrbruch melden“ bis zu einem Out-of-Scope-Szenario „Kann ich meinen Nachbarn verklagen?“. Sie fügen ein sechstes, schwieriges Szenario hinzu – ein versehentlich doppelt eingereichter Schaden – und verschieben 2 Chats dorthin.
- Generieren. Der Builder schätzt einige Minuten. Sie pausieren nach den ersten Chats, um diese zu lesen, und setzen dann fort.
- Prüfungen. 40 Chats treffen ein: 3 werden auf die angeforderten Turns gekürzt, 1 fehlerhafter Chat wird neu geschrieben, 2 werden als mögliche Verweigerungen markiert (beide im Out-of-Scope-Szenario, also korrekt) und 1 als unbelegt.
- Überprüfung. Sie korrigieren die unbelegte Antwort anhand des Artikels, löschen einen belanglosen Chat und fügen dem Datensatz 39 Chats neben 120 echten hinzu.
Wie Sie ihn richtig einsetzen
- Mischen Sie diese mit echten Daten, sofern vorhanden. Synthetische Chats sind sauberer als echte, und ein Modell, das ausschließlich darauf trainiert wurde, kann durch unstrukturierte Eingaben aus dem Konzept gebracht werden. Fordern Sie im Briefing knappe, mit Tippfehlern versehene und frustrierte Nutzeranfragen an.
- Überprüfen Sie eine Stichprobe, insbesondere die schwierigen und systemfremden Szenarien: Hier irrt sich das generierende Modell bei der idealen Antwort am häufigsten.
- Verwenden Sie das leistungsstärkste Modell, das Ihnen zur Verfügung steht, um die Daten zu generieren. Das trainierte Modell kann bestenfalls das Niveau des generierenden Modells erreichen.
- Fundieren Sie die Daten mit Dokumenten, wann immer die Antworten von Ihren Fakten abhängen, sodass die Antworten Ihre Richtlinien anstelle des Allgemeinwissens des Modells nutzen.
- Behalten Sie echte Chats für die Evaluierung zurück. Wenn Sie ein auf synthetischen Chats trainiertes Modell mit weiteren synthetischen Chats testen, wird dessen tatsächliche Leistungsfähigkeit überschätzt.
Einstellungen
Wie viele Szenarien der Tarif enthält. Auto wählt etwa eines pro 8 Chats, mindestens 5 und höchstens 60; oder Sie legen eine genaue Anzahl fest. Mehr Themen sorgen für mehr Vielfalt und weniger Chats pro Thema; weniger Themen gehen tiefer auf die jeweilige Situation ein.
Wie viele Wechsel zwischen Nutzer und Assistent jeder Chat hat: 1 bis 4 oder gemischt. Single-Turn-Chats lassen sich schnell schreiben und überprüfen; Multi-Turn-Chats bringen dem Modell bei, früher Gesagtes zu nutzen. Gemischt kommt der realen Nutzung meist am nächsten.
Die längste Antwort des Assistenten, in Token. Stellen Sie dies auf die Länge ein, in der das trainierte Modell antworten soll: Der Schüler lernt sowohl die Länge als auch den Inhalt. Längere Limits machen den Build langsamer, wenn auch unterproportional, da Antworten das Limit selten ausschöpfen.
Die längste Benutzernachricht in Zeichen. Echte Nutzer fassen sich oft kurz; ein niedriges Limit hält die generierten Fragen kurz und realistisch, statt lang und übermäßig detailliert.
Optionale Hilfeseiten, Handbücher oder Richtlinien, damit die Antworten auf Ihren Fakten basieren. Ohne Dokumente verlässt sich das Modell auf sein Allgemeinwissen, das in Bezug auf Ihr Produkt falsch oder veraltet sein kann.
Markierungen
Einem anderen Chat im Build sehr ähnlich. Behalten Sie einen und löschen oder schreiben Sie den anderen neu; Beinahe-Kopien gewichten ein Beispiel über und verringern die Vielfalt.
Eine Antwort über dem Ausgabe-Token-Limit oder eine Benutzernachricht über dem Zeichenlimit. Kürzen Sie diese, da das Modell sonst längere Antworten lernt, als Sie angefordert haben.
Eine Nachricht ohne Text. Löschen Sie den Chat oder schreiben Sie die fehlende Nachricht; eine leere Antwort lehrt nichts und eine leere Frage lehrt das Modell, nichts zu antworten.
Eine Antwort, die wie eine Verweigerung aussieht („Dabei kann ich nicht helfen“). In Out-of-Scope-Szenarien erwartet; andernfalls ein Warnsignal, da das Training damit das Modell lehrt, Fragen zu verweigern, die es beantworten sollte.
Nur wenn Dokumente verwendet wurden: eine Antwort, die möglicherweise nicht auf Ihren Dokumenten basiert und sich eher auf das Allgemeinwissen des Modells als auf Ihre Fakten stützt. Gleichen Sie diese mit dem Dokument ab und korrigieren Sie sie.
Häufige Fehler
- Das Weglassen von Szenarien außerhalb des Zuständigkeitsbereichs, sodass das trainierte Modell alles beantwortet, einschließlich der Dinge, die es nicht sollte.
- Hunderte von Chats zu schreiben, ohne den Tarif zu lesen, und dann festzustellen, dass alle dasselbe fragen.
- Ausschließlich mit synthetischen Chats zu trainieren, obwohl echte existieren; das Modell ist dann mit echten, unstrukturierten Eingaben überfordert.
- Das Ignorieren von Markierungen bei schwierigen und Randfall-Szenarien, bei denen der Autor am häufigsten falsch liegt.
- Die Evaluierung eines mit synthetischen Chats trainierten Modells anhand weiterer synthetischer Chats.
- Das Schreiben mit einem schwächeren Modell als dem, das Sie trainieren werden; der Schüler kann bestenfalls mit dem Autor gleichziehen.
Quellen und weiterführende Literatur
Externe Quellen werden in einem neuen Tab geöffnet.
- 01Self-Instruct: Aligning Language Models with Self-Generated InstructionsWang et al., 2022 · arXiv · arxiv.orgEin Modell, das seine eigenen Trainingsanweisungen schreibt, mit Filterung nach ungültigen und nahezu identischen.
- 02Alpaca: A Strong, Replicable Instruction-Following ModelStanford CRFM, 2023 · crfm.stanford.edu52.000 generierte Demonstrationen für unter 500 $ und die Grenzen des Ergebnisses.
- 03Enhancing Chat Language Models by Scaling High-quality Instructional ConversationsDing et al., 2023 · arXiv · arxiv.orgUltraChat: Generierung von 1,5 Millionen vielfältigen mehrstufigen Unterhaltungen.
- 04Textbooks Are All You NeedGunasekar et al., 2023 · arXiv · arxiv.orgphi-1: Wie viel sorgfältig generierte Daten für ein kleines Modell bewirken können.
- 05The Curse of Recursion: Training on Generated Data Makes Models ForgetShumailov et al., 2023 · arXiv · arxiv.orgWarum seltene Fälle verschwinden, wenn Modelle nur aus den Ausgaben anderer Modelle lernen.