Ressourcen/Modelltraining/Evaluierung

Konzept

Testfragen: Warum „zurückbehalten“ wichtig ist

Ein Teil Ihrer Konversationen, den die Datenaufbereitung vor allem anderen zurückbehält, damit eine Evaluierung dem trainierten Modell Fragen stellen kann, die es noch nie gesehen hat. Dies ist der einzige saubere Weg, um echte Verbesserungen von bloßem Auswendiglernen zu unterscheiden.

Kapitel 85 Min. Lesezeit4 Quellen

Was es ist

Ein feinabgestimmtes Modell hat Ihre Trainingsantworten viele Male gelesen. Wenn Sie ihm eine dieser Fragen erneut stellen, kann es die Antwort fast Wort für Wort reproduzieren. Das wirkt wie Können, ist aber Auswendiglernen: Es sagt Ihnen nichts darüber, wie das Modell mit dem nächsten Kunden umgehen wird, dessen Frage es noch nie gesehen hat.

Das Test-Set ist die Lösung und eine der ältesten Regeln im maschinellen Lernen: Halten Sie einige Beispiele vollständig vom Training fern und bewerten Sie das Modell nur anhand dieser. Große Sprachmodelle machen diese Regel wichtiger, nicht unwichtiger. Studien zu öffentlichen Benchmarks haben wiederholt Modelle identifiziert, die während des Trainings Testelemente gesehen haben und dadurch höhere Punktzahlen erzielten — ein Problem, das als Datenkontamination oder Leakage bekannt ist.

Funktionsweise

wie die Datenaufbereitung das Test-Set erstellt
dataset has ≥ 10 conversations?   no  →  no test set
                                  yes →  test = 10% of conversations (at least 3)
                                         random, but fixed for this prep

each assistant reply in a test conversation  →  one question
  asked with the conversation up to that point
  reference answer = the reply itself
reply identical to a training reply          →  dropped
  1. Zuerst beiseitegelegt. Bevor die Validierung abgespalten oder etwas für das Training geschrieben wird, wählt die Datenaufbereitung 10 % der Konversationen aus, mindestens jedoch 3. Datensätze mit weniger als 10 Konversationen erhalten kein Test-Set.
  2. Zufällig, aber pro Aufbereitung festgelegt. Die Auswahl erfolgt zufällig, sodass sie nicht auf einfache oder schwierige Konversationen verzerrt ist. Sie bleibt für diese Aufbereitung gleich, sodass bei einer erneuten Evaluierung dieselben Fragen gestellt werden.
  3. Eine Frage pro Antwort. Jede Antwort des Assistenten in einer Testkonversation wird zu einer Frage, die zusammen mit dem bisherigen Verlauf der Konversation gestellt wird. Die Antwort selbst ist die Referenzantwort.
  4. Keine versteckten Kopien. Eine Testantwort, die Wort für Wort mit einer Trainingsantwort übereinstimmt — dieselbe Standardantwort in einer anderen Konversation —, wird verworfen, da das Modell sie faktisch bereits gesehen hat.
  5. Verlässt niemals das System. Testkonversationen befinden sich weder in der Trainings- noch in der Validierungsdatei und werden niemals an den Anbieter gesendet.
Zurückgehaltener Test10% · zuerst beiseitegelegt
Daraus gelernt
nein
An den Anbieter gesendet
nein

Hat sich das Modell wirklich verbessert?

Validierungaus dem Rest
Daraus gelernt
nein
An den Anbieter gesendet
ja

Eine zweite Meinung, wenn es kein Test-Set gibt

Trainingalles andere
Daraus gelernt
ja
An den Anbieter gesendet
ja

Nur eine Plausibilitätsprüfung: Ergebnisse sind optimistisch

Eine anschauliche Aufbereitung von 30 Konversationen. Das Test-Set wird zuerst gezogen und verlässt Scalata nie; die Validierung geht an den Anbieter, damit dieser das Training überwachen kann; aus dem Training lernt das Modell. Nur die erste Spalte ist ein sauberer Test.

Warum die Validierung kein reiner Test ist

Aus Validierungskonversationen wird nicht gelernt, warum also nicht anhand dieser bewerten? Weil der Anbieter die Validierungsdatei erhält und sie während des Trainings verwendet, um den Validierungsverlust zu berechnen und den Durchlauf zu überwachen. Die Daten haben Ihre Hände verlassen, und jede Entscheidung, die durch die Beobachtung dieser Zahlen getroffen wird — welcher Durchlauf beibehalten wird, wie viele Epochen —, stimmt das Ergebnis ein wenig auf genau diese Fragen ab. Die Validierung ist eine gute zweite Meinung; sie ist keine Blindprüfung.

Woher Evaluate seine Fragen bezieht

QuelleWährend des Trainings gesehen?Verwenden für
Zurückgehaltener TestNeinBeurteilung, ob sich das Modell wirklich verbessert hat
ValidierungVom Anbieter eingesehen, aber nicht daraus gelerntEine zweite Meinung, wenn kein Test-Set vorhanden ist
TrainingsstichprobeJa, daraus gelerntNur eine Plausibilitätsprüfung; die Ergebnisse sind optimistisch

Evaluate verwendet die erste verfügbare Quelle in dieser Reihenfolge. Ein Ergebnis aus einer Trainingsstichprobe ist eine Obergrenze: Wenn das abgestimmte Modell nicht einmal bei Fragen gewinnt, die es gelernt hat, wird es dies bei neuen Fragen erst recht nicht tun; wenn es gewinnt, wissen Sie immer noch nicht, mit welchem Vorsprung.

Praxisbeispiel: ein Datensatz mit 120 Konversationen (zur Veranschaulichung)
  1. Der Datensatz umfasst 120 Konversationen, daher legt die Datenaufbereitung 10 % beiseite: 12 Konversationen, zufällig ausgewählt und für diese Aufbereitung festgelegt.
  2. Diese 12 Konversationen enthalten 31 Antworten des Assistenten. Jede davon wird zu einer Frage, die zusammen mit dem bisherigen Verlauf der Konversation gestellt wird, wobei die Antwort als Referenzantwort dient.
  3. Zwei Antworten stimmen Wort für Wort mit Antworten in den Trainingskonversationen überein — eine Standardantwort zum Zurücksetzen eines Passworts. Sie werden verworfen: Es bleiben 29 Testfragen.
  4. Die restlichen 108 Konversationen gehen in den üblichen Validierungs-Split und das Training über. Keine der beiden Dateien enthält eine Testkonversation, und der Anbieter erhält diese niemals.
  5. Nach dem Training stellt Evaluate die 29 Testfragen. Zum Vergleich: Ein Datensatz mit 25 Konversationen würde 3 beiseitelegen (das Minimum), und einer mit 9 hätte kein Test-Set, sodass Evaluate auf Validierungsfragen zurückgreifen würde.

Optimale Nutzung

  • Geben Sie ihm Raum. Ein Testdatensatz von 29 Fragen ist nützlich, aber klein: Bei dieser Größe ist eine Erfolgsquote von 60 % immer noch mit keinerlei Verbesserung vereinbar. Mehr Konversationen im Datensatz bedeuten mehr Testfragen und ein fundierteres Urteil.
  • Halten Sie Testkonversationen aus späterem Training heraus. Wenn Sie diese in einen anderen Datensatz kopieren und damit trainieren, hat das nächste Modell sie bereits gesehen und seine Evaluierung fällt schmeichelhaft aus.
  • Vergleichen Sie Gleiches mit Gleichem. Eine neue Aufbereitung zieht ihren eigenen Testdatensatz heran. Wenn Sie Modelle vergleichen, verwenden Sie die Testfragen einer einzigen Aufbereitung für alle.
  • Nehmen Sie Warnungen ernst. Eine Evaluierung anhand einer Trainingsstichprobe ist aus gutem Grund als solche gekennzeichnet: Betrachten Sie sie als Plausibilitätsprüfung, nicht als Endergebnis.

Fragenquellen

Zurückbehaltener TestTypisch 10 % der Konversationen, mindestens 3; erfordert 10+ Konversationen#

Fragen aus der Datenaufbereitung von Konversationen, die zurückbehalten wurden. Nie für das Training verwendet, nie für die Validierung genutzt, nie an den Anbieter gesendet: der saubere Test und der Standard.

ValidierungTypisch die Ausweichlösung, wenn kein Testdatensatz vorhanden ist#

Fragen aus der Validierungsaufteilung. Nicht daraus gelernt, aber vom Anbieter während der Trainingsüberwachung gesehen. Wird verwendet, wenn die Aufbereitung keinen Testdatensatz enthält.

TrainingsstichprobeTypisch nur, wenn keine der anderen existiert#

Eine Stichprobe von Fragen, mit denen das Modell trainiert wurde. Der letzte Ausweg, versehen mit einer Warnung: Die Ergebnisse sind optimistisch und zeigen nur, dass nichts schwerwiegend fehlerhaft ist.

Häufige Fehler

  • Die Evaluierung anhand von Trainingsfragen und die Interpretation des Ergebnisses als reale Leistung.
  • Die Behandlung von Validierungsergebnissen als ebenso rein wie die Ergebnisse zurückgehaltener Tests.
  • Das Kopieren von Testkonversationen in einen späteren Trainingsdatensatz, sodass das nächste Modell diese bereits gesehen hat.
  • Eine Handvoll Testfragen als endgültiges Urteil zu bezeichnen: Bei kleinen Test-Sets ist eine große Differenz erforderlich, um aussagekräftig zu sein.
  • Der Vergleich von Modellen, die jeweils mit dem Test-Set einer anderen Aufbereitung evaluiert wurden.

Quellen und weiterführende Literatur

Externe Quellen werden in einem neuen Tab geöffnet.

  1. 01Training, validation, and test data setsWikipedia · en.wikipedia.orgDie dreifache Aufteilung und warum der Testdatensatz erst am Ende verwendet wird.
  2. 02Leakage (machine learning)Wikipedia · en.wikipedia.orgWie Informationen aus den Testdaten in das Training einfließen und die Bewertungen künstlich in die Höhe treiben.
  3. 03NLP Evaluation in trouble: On the Need to Measure LLM Data Contamination for each BenchmarkSainz et al., 2023 · arXiv · arxiv.orgWarum Kontamination die Evaluierungsergebnisse unzuverlässig macht und warum sie überprüft werden muss.
  4. 04Time Travel in LLMs: Tracing Data Contamination in Large Language ModelsGolchin & Surdeanu, 2023 · arXiv · arxiv.orgErkennen, wann ein Modell Testbeispiele auswendig gelernt hat, indem man es auffordert, diese zu vervollständigen.

Verwandeln Sie wochenlange Expertenarbeit in Minuten

Erfahren Sie, wie Scalata zu Ihrem Team, Ihren Daten und Ihren Kontrollen passt.

Vertrieb kontaktieren