Pipelines in der Produktion testen

Glückwunsch! Sie haben Ihren globalen Univision-Vorhersagedienst bereitgestellt. Der Prädiktor soll rund um die Uhr ohne Probleme funktionieren. Sie stellen schnell fest, dass Sie Ihre ML-Pipeline überwachen müssen. Es mag schwierig erscheinen, alle Komponenten zu überwachen. Sehen wir uns jedoch zuerst die Anforderungen und Lösungen an.

Nach Trainingsportion suchen

Abweichungen zwischen Training und Bereitstellung bedeuten, dass sich die Eingabedaten zwischen Training und Bereitstellung unterscheiden. In der folgenden Tabelle werden die beiden wichtigsten Arten von Abweichungen beschrieben:

Typ Definition Beispiel Lösung
Schemaabweichung Trainings- und Bereitstellungseingabedaten entsprechen nicht demselben Schema. Das Format oder die Verteilung der Bereitstellungsdaten ändert sich, während das Modell weiterhin mit alten Daten trainiert wird. Verwenden Sie dasselbe Schema, um Trainings- und Bereitstellungsdaten zu validieren. Prüfe, ob Statistiken, die nicht von deinem Schema geprüft wurden, separat geprüft werden, z. B. der Anteil an fehlenden Werten
Featureabweichung Die erstellten Daten unterscheiden sich zwischen Training und Bereitstellung. Der Feature Engineering-Code unterscheidet sich je nach Training und Bereitstellung und generiert somit verschiedene Engineering-Daten. Ähnlich wie bei Schemaabweichungen wenden Sie dieselben statistischen Regeln auf das Training und die Bereitstellung technischer Daten an. Erfassen Sie die Anzahl der erkannten verzerrten Merkmale und das Verhältnis der verzerrten Beispiele pro Element.

Modelllaufzeit in der gesamten Pipeline überwachen

Wenn sich die Bereitstellungsdaten mit der Zeit weiterentwickeln, aber Ihr Modell nicht regelmäßig neu trainiert wird, sinkt die Modellqualität. Verfolgen Sie die Zeit seit dem erneuten Training des Modells mit neuen Daten und legen Sie einen Schwellenwert für das Alter von Benachrichtigungen fest. Sie sollten nicht nur das Alter des Modells bei der Bereitstellung überwachen, sondern auch das Alter des Modells in der gesamten Pipeline überwachen, um Pipelinestände zu erkennen.

Testen, ob die Modellgewichte und -ausgaben numerisch stabil sind

Während des Modelltrainings sollten Ihre Gewichtungen und Ebenenausgaben nicht NaN oder Inf sein. Schreiben Sie Tests, um NaN- und Inf-Werte Ihrer Gewichtungen und Ebenenausgaben zu prüfen. Außerdem sollten Sie testen, dass mehr als die Hälfte der Ausgaben einer Ebene nicht null ist.

Modellleistung überwachen

Dein Vorhersage-Tool für die Darstellung von Einhörnern war beliebter als erwartet. Sie erhalten viele Vorhersageanfragen und noch mehr Trainingsdaten. Sie finden dies großartig, bis Sie feststellen, dass Ihr Modell immer mehr Arbeitsspeicher und Zeit zum Trainieren benötigt. So behalten Sie die Leistung Ihres Modells im Blick:

  • Verfolgen Sie die Modellleistung nach Code-, Modell- und Datenversion. So können Sie die genaue Ursache für Leistungseinbußen bestimmen.
  • Testen Sie die Trainingsschritte pro Sekunde für eine neue Modellversion mit der vorherigen Version und mit einem festen Schwellenwert.
  • Speicherlecks finden Sie, indem Sie einen Schwellenwert für die Arbeitsspeichernutzung festlegen.
  • API-Antwortzeiten überwachen und deren Perzentile verfolgen Auch wenn die API-Antwortzeiten außerhalb Ihrer Kontrolle liegen, können langsame Antworten potenziell reale Messwerte verursachen.
  • Überwachen Sie die Anzahl der Abfragen, die pro Sekunde beantwortet werden.

Qualität des Live-Modells anhand bereitgestellter Daten testen

Sie haben Ihr Modell validiert. Aber was ist, wenn sich reale Szenarien wie Einhornverhalten nach der Aufzeichnung der Validierungsdaten ändern? Dann verschlechtert sich die Qualität des bereitgestellten Modells. Das Testen der Qualität bei der Bereitstellung ist jedoch schwierig, da reale Daten nicht immer gekennzeichnet sind. Wenn Ihre Bereitstellungsdaten nicht gekennzeichnet sind, sollten Sie die folgenden Tests in Betracht ziehen:

  • Labels mithilfe von Prüfern erstellen

  • Untersuchen Sie Modelle, die in Vorhersagen eine erhebliche statistische Verzerrung zeigen. Weitere Informationen finden Sie unter Klassifizierung: Gewichtung der Vorhersage.

  • Verfolgen Sie reale Messwerte für Ihr Modell. Wenn Sie beispielsweise Spam klassifizieren, vergleichen Sie Ihre Vorhersagen mit von Nutzern gemeldeten Spam.

  • Beseitigen Sie mögliche Abweichungen zwischen Trainings- und Bereitstellungsdaten, indem Sie eine neue Modellversion für einen Bruchteil Ihrer Abfragen bereitstellen. Wenn Sie Ihr neues Bereitstellungsmodell validieren, stellen Sie alle Abfragen schrittweise auf die neue Version um.

Denken Sie bei diesen Tests daran, sowohl die plötzliche als auch die langsame Verschlechterung der Vorhersagequalität zu beobachten.