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
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 |
|
Daten |
|
Training |
|
Validierung |
|
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
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.