Bereitstellen mit Amazon SageMaker

Amazon SageMaker bietet alles, was Sie benötigen, um Machine-Learning-Modelle in der Produktion bereitzustellen und die Modellqualität zu überwachen. So können Sie einfach Vorhersagen generieren.

Funktionen

Modellüberwachung

Machine-Learning-Modelle werden üblicherweise anhand von historischen Daten trainiert und evaluiert, aber ihre Qualität verschlechtert sich, nachdem sie in der Produktion bereitgestellt werden. Das liegt daran, dass die Verteilung der Daten, die für Vorhersagen an die Modelle gesendet werden, von der Datenverteilung während des Trainings abweichen kann. Die Aussagekraft der Vorhersageergebnisse kann sich im Laufe der Zeit verändern und es können Fehler eingeführt werden, die die Modellqualität beeinträchtigen. Um das zu verhindern, müssen Sie die Modellqualität in der Produktion überwachen, Probleme schnell identifizieren und Abhilfemaßnahmen treffen, z. B. Modelle prüfen oder neu trainieren. Hierfür sind die Erstellung sicherer Tools zum Speichern vorhersagebezogener Daten und die anschließende Implementierung verschiedener statistischer Methoden zum Analysieren dieser Daten und Evaluieren der Modellqualität erforderlich. Schließlich müssen Sie Abweichungen bei der Modellqualität erkennen, um die richtigen Abhilfemaßnahmen zu treffen. Wer keine weiteren Tools erstellen möchte, kann Modelle in regelmäßigen Abständen neu trainieren; dies kann jedoch teuer sein.

Amazon SageMaker Model Monitor macht es überflüssig, Tools zur Überwachung von Modellen in der Produktion zu erstellen und zu ermitteln, wann Abhilfemaßnahmen getroffen werden müssen. SageMaker Model Monitor überwacht kontinuierlich die Qualität von Machine-Learning-Modellen in der Produktion und benachrichtigt Sie, wenn es Abweichungen bei der Modellqualität gibt.

SageMaker Model Monitor analysiert die erfassten Daten regelmäßig anhand integrierter Regeln oder Ihrer eigenen benutzerdefinierten Regeln, um zu ermitteln, ob Regelverletzungen vorliegen. Mit den integrierten Regeln können Tabellendaten analysiert und häufig auftretende Probleme erkannt werden, beispielsweise Ausreißer bei den Vorhersagedaten, Abweichungen bei der Datenverteilung im Vergleich zum Trainingsdatensatz und Veränderungen bei der Vorhersagegenauigkeit, basierend auf Beobachtungen in der realen Welt. SageMaker Model Monitor kann innerhalb von SageMaker Studio verwendet werden. Sie können Metriken an Amazon CloudWatch ausgeben und so Alarme zum Prüfen oder Neutrainieren von Modellen einrichten. Sie können die Alarme aufrufen, um zu verstehen, welche Daten die Abweichung verursachen. Anschließend können Sie die Trainingsdaten entsprechend anpassen. Die Vorhersageanfragen und -antworten werden für alle in SageMaker bereitgestellten Modelle sicher gespeichert, ohne dass Codeänderungen erforderlich sind.

Model Monitor

Bereitstellung mit einem Klick

Mit Amazon SageMaker können Sie Ihr geschultes Modell mit einem einzigen Klick in der Produktion bereitstellen, sodass Sie Vorhersagen für Echtzeit- oder Batch-Daten erstellen können. Sie können das Modell mit nur einem Mausklick auf Auto Scaling Amazon ML-Instances in mehreren Availability Zones bereitstellen, um eine hohe Redundanz zu erzielen. Geben Sie einfach den Instance-Typ sowie die gewünschte maximale und minimale Anzahl an, und SageMaker kümmert sich um den Rest. SageMaker startet die Instances, stellt Ihr Modell bereit und richtet den sicheren HTTPS-Endpunkt für Ihre Anwendung ein. Ihre Anwendung muss lediglich einen API-Aufruf für diesen Endpunkt enthalten, um eine niedrige Latenz und einen hohen Inferenzdurchsatz zu erzielen. Mit dieser Architektur können Sie Ihre neuen Modelle in wenigen Minuten in Ihre Anwendung integrieren, da für Modelländerungen keine Änderungen des Anwendungscodes mehr erforderlich sind.

Batch Transform

Die Verarbeitung von Datenstapeln für nicht in Echtzeit erfolgende Vorhersagen erfolgt meist, indem große Datensätze in kleinere Datenblöcke zerlegt und Echtzeit-Endpunkte verwaltet werden. Dies kann teuer und fehleranfällig sein. Durch die Funktion Batch Transform von Amazon SageMaker entfallen diese beiden Tätigkeiten. Mit Batch Transform können Sie Vorhersagen anhand großer oder kleiner Batch-Datensätze durchführen. Sie können mit einer einfachen API Vorhersagen für eine große Zahl von Datensätzen anfordern und die Daten schnell und einfach umwandeln. Die Größe der Daten kann zwischen ein paar Byte und einigen Petabyte liegen.

Einmal trainieren, überall bereitstellen

Zum Erreichen einer hohen Inferenzleistung für verschiedene Edge-Geräte ist es normalerweise erforderlich, Wochen oder Monate mit der manuellen Optimierung eines Modells für jedes Zielgerät zu verbringen, da jede Hardwarekonfiguration ganz spezielle Funktionen und Einschränkungen umfasst. Mit Amazon SageMaker Neo können Sie Ihre Machine-Learning-Modelle einmal trainieren und sie dann überall in der Cloud und im Edge bereitstellen.

SageMaker Neo nutzt Machine Learning zur automatischen Optimierung eines trainierten Modells, das bis zu zweimal schneller ausgeführt wird und weniger als ein Zehntel des Arbeitsspeichers benötigt, ohne dass es zu Einbußen bei der Genauigkeit für die Zielbereitstellungsumgebung kommt. Sie beginnen mit einem Machine-Learning-Modell, das mit MXNet, TensorFlow, PyTorch oder XGBoost erstellt und mit SageMaker trainiert wurde. Anschließend wählen Sie die Zielhardwareplattform, in der das Modell bereitgestellt werden soll. Mit einem einzigen Klick kompiliert SageMaker Neo dann das trainierte Modell zu einer ausführbaren Datei. Der Compiler verwendet ein neuronales Netzwerk, um alle spezifischen Leistungsoptimierungen zu erkennen und anzuwenden, damit Ihr Modell auf der Zielhardwareplattform am effizientesten ausgeführt wird. Das Modell kann dann dazu eingesetzt werden, Vorhersagen in der Cloud oder im Edge durchzuführen. Mit AWS IoT Greengrass lassen sich lokale Rechen- und ML-Interferenzfunktionen im Edge nutzen.

Zur Vereinfachung von Edge-Bereitstellungen unterstützt Greengrass durch Neo optimierte Modelle, sodass Sie diese mit Over-the-Air-Updates direkt im Edge bereitstellen können. Neo ist auch in Form von Open-Source-Code als Neo-AI-Projekt unter der Apache-Softwarelizenz erhältlich, sodass Entwickler die Software für verschiedene Geräte und Anwendungen anpassen können.

2-FACHE

LEISTUNG

1/10

DER GRÖSSE DES URSPRÜNGLICHEN FRAMEWORKS

Integration mit Kubernetes

Kubernetes ist ein Open Source-System, mit dem die Bereitstellung, Skalierung und Verwaltung von Containeranwendungen automatisiert wird. Viele Kunden möchten die vollständig verwalteten Funktionen von Amazon SageMaker für Machine Learning nutzen. Gleichzeitig sollen jedoch die Plattform- und Infrastrukturteams weiterhin Kubernetes zur Orchestrierung und Verwaltung von Pipelines verwenden können. SageMaker erfüllt diese Anforderung, indem Kubernetes-Benutzer Modelle in SageMaker mithilfe der SageMaker-Kubeflow-Operatoren und -Pipelines trainieren und bereitstellen können. Kubernetes-Benutzer können mit den Operatoren und Pipelines aus Kubeflow nativ auf vollständig verwaltete SageMaker-ML-Tools und -Engines zugreifen. Damit entfällt das manuelle Verwalten und Optimieren der ML-Infrastruktur in Kubernetes; zugleich behalten Sie die Kontrolle über die Gesamtorchestrierung mithilfe von Kubernetes. Durch die SageMaker-Operatoren und -Pipelines für Kubernetes können Sie von einem vollständig verwalteten Service für Machine Learning in Kubernetes profitieren, ohne Workloads zu migrieren.

Datenverarbeitung über das Training hinaus

ML-Workloads in der realen Welt erfordern gewöhnlich mehr als Training und Vorhersage. Daten müssen vor- und nachverarbeitet werden, oft in mehreren Schritten. Möglicherweise müssen Sie das Training und die Bereitstellung mithilfe einer Abfolge von Algorithmen vornehmen, die für Vorhersagen aus Rohdaten zusammenarbeiten müssen. Mit SageMaker können Sie Inferenz-Pipelines bereitstellen, um rohe Eingabedaten zu übergeben und die Vorverarbeitung, Voraussagen und Nachverarbeitung von Echtzeit- und Stapel-Interferenz-Anfragen auszuführen. Inferenz-Pipelines können aus jedem beliebigen Machine-Learning-Framework, integrierten Algorithmus oder aus benutzerdefinierten Containern bestehen, die mit Amazon SageMaker nutzbar sind. Sie können Pipelines für Merkmalsdatenverarbeitung und Feature Engineering mit verschiedenen Merkmalsumwandlern erstellen, die in den SparkML- und Scikit-learn-Framework-Containern in Amazon SageMaker verfügbar sind. Diese können Sie dann als Teil der Inferenz-Pipelines bereitstellen, um Datenverarbeitungscode wiederzuverwenden und die Verwaltung von Machine-Learning-Prozessen zu vereinfachen.

Multi-Model Endpoints

Unternehmen trainieren Machine-Learning-Modelle immer öfter mit individuellen Benutzerdaten. So trainieren beispielsweise Musik-Streaming-Dienste angepasste Modelle anhand des Musikverlaufs individueller Benutzer, um die Musikempfehlungen zu personalisieren, oder Taxiservices trainieren angepasste Modelle anhand der Verkehrsmuster der jeweiligen Stadt, um die Wartezeiten für Fahrgäste zu prognostizieren. Das Erstellen angepasster ML-Modelle für jeden Anwendungsfall führt zu einer höheren Inferenzgenauigkeit, die Kosten für die Bereitstellung und Verwaltung der Modelle steigen jedoch erheblich. Die Herausforderungen werden noch größer, wenn nicht alle Modelle mit derselben Rate abgerufen werden, jedoch jederzeit verfügbar sein müssen.

Amazon SageMaker Multi-Model Endpoints bietet eine skalierbare und kosteneffektive Möglichkeit, eine große Zahl angepasster Machine-Learning-Modelle bereitzustellen. Sie können mit SageMaker Multi-Model Endpoints mehrere Modelle mit einem Klick auf einem einzigen Endpunkt bereitstellen und sie mithilfe eines einzigen Containers übermitteln. Geben Sie einfach den Instance-Typ sowie die gewünschte maximale und minimale Anzahl an. SageMaker kümmert sich um den Rest. SageMaker startet die Instances, stellt Ihr Modell bereit und richtet den sicheren HTTPS-Endpunkt für Ihre Anwendung ein. Ihre Anwendung muss lediglich einen API-Aufruf mit dem Zielmodell für diesen Endpunkt enthalten, um eine niedrige Latenz und einen hohen Inferenzdurchsatz zu erzielen.

Verlagern von ML-Modellen in die Produktion

Erfahren Sie, wie Sie mit SageMaker ML-Modelle in der Produktion bereitstellen

Bereitstellen trainierter Keras- oder TensorFlow-Modelle mit Amazon SageMaker

Erfahren Sie, wie Sie ein trainiertes Keras- oder TensorFlow-Modell mit Amazon SageMaker bereitstellen

Automatisieren benutzerdefinierter ML-Modelle mit Amazon SageMaker

Folgen Sie diesen Beispielen auf GitHub und automatisieren Sie das Erstellen, Trainieren und Bereitstellen benutzerdefinierter ML-Modelle.