Produktion

So bereiten Sie Ihre ML-Pipelines für die Produktion vor:

  • Rechenressourcen für Ihre Pipelines bereitstellen
  • Logging, Monitoring und Benachrichtigungen implementieren

Computing-Ressourcen bereitstellen

Für die Ausführung von ML-Pipelines sind Rechenressourcen wie RAM, CPUs und GPUs/TPUs erforderlich. Ohne ausreichende Rechenleistung können Sie Ihre Pipelines nicht ausführen. Achten Sie daher darauf, dass Sie ein ausreichendes Kontingent erhalten, um die erforderlichen Ressourcen bereitzustellen, die für die Ausführung Ihrer Pipelines in der Produktion benötigt werden.

  • Bereitstellungs-, Trainings- und Validierungspipelines Für diese Pipelines sind TPUs, GPUs oder CPUs erforderlich. Je nach Anwendungsfall können Sie das Training und die Bereitstellung auf unterschiedlicher Hardware durchführen oder dieselbe Hardware verwenden. Beispielsweise kann das Training auf CPUs und die Bereitstellung auf TPUs erfolgen oder umgekehrt. Im Allgemeinen ist es üblich, das Training auf leistungsstärkerer Hardware durchzuführen und die Bereitstellung auf weniger leistungsstarker Hardware.

    Berücksichtigen Sie bei der Auswahl der Hardware Folgendes:

    • Kann ich auf weniger teurer Hardware trainieren?
    • Kann die Leistung durch den Wechsel zu anderer Hardware gesteigert werden?
    • Welche Größe hat das Modell und welche Hardware optimiert seine Leistung?
    • Welche Hardware ist basierend auf der Architektur Ihres Modells ideal?
  • Datenpipelines Für Datenpipelines ist ein Kontingent für RAM und CPU  Sie müssen schätzen, wie viel Kontingent Ihre Pipeline zum Generieren von Trainings- und Test-Datasets benötigt.

Möglicherweise weisen Sie nicht jeder Pipeline ein Kontingent zu. Stattdessen können Sie Kontingent zuweisen, das von Pipelines gemeinsam genutzt wird. Prüfen Sie in solchen Fällen, ob Sie genügend Kontingent haben, um alle Ihre Pipelines auszuführen, und richten Sie Monitoring und Benachrichtigungen ein, um zu verhindern, dass eine einzelne, fehlerhafte Pipeline das gesamte Kontingent verbraucht.

Kontingent schätzen

Um das Kontingent zu schätzen, das Sie für die Daten- und Trainingspipelines benötigen, suchen Sie nach ähnlichen Projekten, auf denen Sie Ihre Schätzungen basieren können. Um das Kontingent für die Bereitstellung zu schätzen, versuchen Sie, die Abfragen pro Sekunde des Dienstes vorherzusagen. Diese Methoden bieten eine Baseline. Wenn Sie in der Experimentierphase mit der Entwicklung eines Prototyps für eine Lösung beginnen, erhalten Sie eine genauere Schätzung des Kontingents.

Berücksichtigen Sie bei der Schätzung des Kontingents nicht nur das Kontingent für Ihre Produktionspipelines, sondern auch für laufende Tests.

Wissen testen

Wenn Sie Hardware für die Bereitstellung von Vorhersagen auswählen, sollten Sie immer leistungsstärkere Hardware als die zum Trainieren des Modells verwendete Hardware wählen.
Falsch
Korrekt. Für das Training ist in der Regel leistungsstärkere Hardware erforderlich als für die Bereitstellung.
Richtig

Logging, Monitoring und Benachrichtigungen

Das Protokollieren und Überwachen des Verhaltens eines Produktionsmodells ist entscheidend. Eine robuste Monitoring-Infrastruktur bestätigt, dass Ihre Modelle zuverlässige, qualitativ hochwertige Vorhersagen liefern.

Gute Protokollierungs- und Überwachungspraktiken helfen, Probleme in ML-Pipelines proaktiv zu erkennen und potenzielle Auswirkungen auf das Unternehmen zu minimieren. Sollten doch einmal Probleme auftreten, werden Teammitglieder durch Benachrichtigungen informiert. Ausführliche Logs erleichtern die Diagnose der Ursache des Problems.

Sie sollten Logging und Monitoring implementieren, um die folgenden Probleme mit ML-Pipelines zu erkennen:

Pipeline Überwachen
Wird ausgeliefert
  • Abweichungen oder Drifts in den Bereitstellungsdaten im Vergleich zu den Trainingsdaten
  • Abweichungen oder Drifts bei Vorhersagen
  • Probleme mit Datentypen, z. B. fehlende oder beschädigte Werte
  • Kontingentnutzung
  • Messwerte für die Modellqualität
Daten
  • Abweichungen und Drift bei Feature-Werten
  • Abweichungen und Veränderungen bei Labelwerten
  • Probleme mit Datentypen, z. B. fehlende oder beschädigte Werte
  • Kontingentnutzungsrate
  • Kontingentlimit wird bald erreicht
Training
  • Trainingszeit
  • Fehler beim Training
  • Kontingentnutzung
Validierung
  • Verzerrung oder Drift in den Test-Datasets

Außerdem sollten Sie Logging, Monitoring und Benachrichtigungen für Folgendes einrichten:

  • Latenz. Wie lange dauert es, bis eine Vorhersage erstellt wird?
  • Ausfälle. Liefert das Modell keine Vorhersagen mehr?

Wissen testen

Was ist der Hauptgrund für das Logging und Monitoring Ihrer ML-Pipelines?
Probleme proaktiv erkennen, bevor sie sich auf Nutzer auswirken
Kontingent- und Ressourcennutzung im Blick behalten
Mögliche Sicherheitsprobleme erkennen
Alle oben genannten Optionen
Korrekt. Durch das Protokollieren und Überwachen Ihrer ML-Pipelines können Sie Probleme verhindern und diagnostizieren, bevor sie ernst werden.

Modell bereitstellen

Für die Bereitstellung von Modellen sollten Sie Folgendes dokumentieren:

  • Genehmigungen, die erforderlich sind, um die Bereitstellung zu starten und die Einführung zu beschleunigen.
  • So stellen Sie ein Modell in der Produktion bereit.
  • Wo das Modell bereitgestellt wird, z. B. ob es Staging- oder Canary-Umgebungen gibt.
  • Was Sie tun können, wenn eine Bereitstellung fehlschlägt.
  • So führen Sie ein Rollback für ein Modell durch, das sich bereits in der Produktion befindet.

Nachdem Sie das Modelltraining automatisiert haben, sollten Sie auch die Validierung und Bereitstellung automatisieren. Durch die Automatisierung von Bereitstellungen wird die Verantwortung verteilt und die Wahrscheinlichkeit verringert, dass eine Bereitstellung durch eine einzelne Person eingeschränkt wird. Außerdem werden potenzielle Fehler reduziert, Effizienz und Zuverlässigkeit gesteigert und Bereitschaftsdienste und SRE-Support ermöglicht.

Normalerweise stellen Sie neue Modelle für eine Teilmenge von Nutzern bereit, um zu prüfen, ob sie sich wie erwartet verhalten. Wenn ja, fahren Sie mit der Bereitstellung fort. Wenn nicht, führen Sie ein Rollback der Bereitstellung durch und beginnen Sie mit der Diagnose und dem Debuggen der Probleme.