Ein Trainingslauf scheitert am ersten fehlerhaften Datensatz, und meist findet er ihn, wenn Sie längst zu Hause sind. Die Prüfungen, die sich vorher lohnen, sind unglamourös und schnell: jeder Datensatz ein Objekt mit einem Nachrichten-Array, jede Nachricht mit Rolle und Inhalt, das Gespräch beginnt, wo es soll, und — das übersehen die meisten — endet mit einer Assistentennachricht, denn das ist der Zug, den der Datensatz lehrt. Zwei Nutzernachrichten hintereinander werden ebenfalls markiert, denn meist bedeuten sie zwei zusammengeklebte Datensätze. Neben den Fehlern zeigt die Größenverteilung den Ausläufer, der nicht passen wird, bevor er zum Abbruchgrund wird.
Funktionen
Jeder Befund an der Zeile, aus der er stammt
Prüft jeden Datensatz aufs Parsen und macht danach weiter
Rollen gegen die bekannte Menge geprüft, ungewöhnliche markiert
Erkennt einen Datensatz, der nicht mit einer Assistentennachricht endet
Erkennt zwei aufeinanderfolgende Züge derselben Seite
Erkennt leeren Inhalt, der validiert und nichts lehrt
Größenverteilung: Median, 90. Perzentil und Maximum
Konfigurierbarer Nachrichtenschlüssel für abweichende Formate
So verwendest du Trainingsdaten-Prüfer
Legen Sie den .jsonl-Datensatz ab oder fügen Sie ihn ein
Passen Sie den Nachrichtenschlüssel an, falls nötig
Beheben Sie die Fehler, dann die Warnungen
Vergleichen Sie die Größenverteilung mit Ihrem Kontextlimit
Beispiel
Eingabe
line 3: two user messages in a row
Ausgabe
Records: 3 · Errors: 0 · Warnings: 1
Meist ein Zeichen dafür, dass zwei Datensätze versehentlich verschmolzen sind.
Häufige Fehler & Fehlerbehebung
Ein Datensatz endet nicht mit einer Assistentennachricht. — Dieser Datensatz hat nichts zu lehren — der abschließende Assistentenzug ist das Ziel. Deshalb ein Fehler und keine Warnung.
Das Nachrichten-Array wird nicht gefunden. — Setzen Sie den Nachrichtenschlüssel auf den Namen Ihres Formats. Conversation und turns sind beide gebräuchlich.
Zwei Nutzernachrichten hintereinander werden markiert. — Meist zwei versehentlich verkettete Datensätze. Ist der doppelte Zug gewollt, ist es eine Warnung und kein Fehler.
Manche Datensätze sind riesig. — Die Perzentile zeigen den Ausläufer. Alles jenseits des Kontextlimits scheitert, und das hier zu finden ist weit billiger als mitten im Lauf.
Häufig gestellte Fragen
Welches Format wird erwartet?
Das Chat-Format: ein JSON-Objekt pro Zeile, jeweils mit einem Nachrichten-Array aus Rolle-Inhalt-Paaren. Der Schlüsselname ist konfigurierbar, die Form darin ist überall gleich.
Warum muss ein Datensatz mit einer Assistentennachricht enden?
Weil dieser Zug das ist, was der Datensatz lehrt. Ein Gespräch, das mit einer Nutzernachricht endet, hat eine Frage und keine Antwort — es gibt nichts zu lernen.
Sind die Token-Zahlen exakt?
Nein, es sind zeichenbasierte Schätzungen. Sie dienen dazu, den Ausreißer zu finden, der nicht passt, und dafür braucht es keine Präzision — die exakte Zahl liefert der Tokenizer des Anbieters.
Heißt ein sauberes Ergebnis, dass die Daten gut sind?
Es heißt, die Datei ist wohlgeformt. Ob die Beispiele das Richtige lehren, ist eine Frage über Ihre Daten, die kein Validator beantwortet.
Wird mein Datensatz hochgeladen?
Nein. Trainingsdaten sind meist die sensibelste Datei eines Teams, und all das läuft im Browser.