Amazon SageMaker ist ein vollständig verwalteter Service, mit dem Entwickler und Datenwissenschaftler Machine Learning-Modelle erstellen, trainieren und implementieren können.
Amazon Sagemaker umfasst drei Module: Build, Train und Deploy. Das Modul "Build" bietet eine gehostete Umgebung, in der Sie mit Ihren Daten arbeiten, mit Algorithmen experimentieren und Ihr Ergebnis visualisieren können. Das Modul "Train" ermöglicht das Trainieren und Optimieren des Modells in großem Maßstab und zu niedrigen Kosten mit nur einem Klick. Das Modul "Deploy" bietet Ihnen eine verwaltete Umgebung, in der Sie Modelle hosten und hinsichtlich Inferenz sicher und mit geringer Latenz testen können.
Entwicklung
Mit Amazon SageMaker Ground Truth können Sie im Handumdrehen dank Machine Learning höchst genaue Schulungsdatensätze zusammenstellen und die Kosten für die Datenkennzeichnung um bis zu 70 Prozent senken. Erfolgreiche Machine-Learning-Modelle werden mit gekennzeichneten Daten trainiert, um dem Modell beizubringen, wie es richtige Entscheidungen trifft. Dieser Prozess dauert oft mehrere Monate und erfordert die Arbeit zahlreicher Menschen. SageMaker Ground Truth bietet eine innovative Lösung zur Verringerung der Kosten und der Komplexität. Gleichzeitig wird Machine Learning mit einem menschlichen Kennzeichnungsverfahren, dem aktiven Lernen, kombiniert, was die Genauigkeit der Datenkennzeichnung erhöht.
Amazon SageMaker bietet vollständig verwaltete Instances mit Jupyter-Notebooks zur Erkundung und Vorverarbeitung von Trainingsdaten. Diese Notebooks sind vorab mit CUDA- und cuDNN-Treibern für bekannte Deep Learning-Plattformen, Anaconda-Paketen und Bibliotheken für TensorFlow, Apache MXNet, PyTorch und Chainer geladen.
Amazon SageMaker bietet leistungsstarke, skalierbare Machine Learning-Algorithmen, die für Geschwindigkeit, Skalierung und Genauigkeit optimiert sind. Diese Algorithmen können Trainings für Datensätze im Petabyte-Bereich durchführen und bieten eine bis zu 10-fache Leistung im Vergleich zu anderen Implementierungen. Sie können überwachte Algorithmen nutzen, bei denen die richtigen Antworten während des Trainings bekannt sind, und das Modell bei Fehlern entsprechend anweisen. Amazon SageMaker enthält überwachte Algorithmen wie XGBoost und lineare/logistische Regression oder Klassifikation, um Problemen im Zusammenhang mit Empfehlungen und Zeitreihenvorhersagen zu begegnen. Amazon SageMaker unterstützt zudem unüberwachtes Lernen (d. h. die Algorithmen müssen die richtigen Antworten selbst ermitteln), wie bei der k-Means-Clusteranalyse und der Hauptkomponentenanalyse (Principal Component Analysis, PCA), um Probleme wie die Ermittlung von Kundengruppen anhand des Kaufverhaltens zu lösen.
Amazon SageMaker konfiguriert und optimiert TensorFlow, Apache MXNet, Chainer, PyTorch, Scikit-learn und SparkML automatisch, sodass Sie diese Frameworks ohne vorherige Einrichtung verwenden können. In den kommenden Monaten werden außerdem weitere gängige Frameworks ergänzt. Sie können jedoch jederzeit beliebige Frameworks in Amazon SageMaker verwenden, indem Sie es in einen Docker-Container integrieren und diesen in der Amazon EC2 Container Registry speichern.
Neben dem klassischen überwachten und unüberwachten Lernen unterstützt Amazon SageMaker auch das verstärkende Lernen. Bei SageMaker sind jetzt vollständig verwaltete Algorithmen für das verstärkende Lernen integriert, darunter einige der neuesten und leistungsstärksten Algorithmen der akademischen Literatur. SageMaker unterstützt verstärkendes Lernen in zahlreichen Frameworks, darunter TensorFlow und MXNet, sowie in neueren Frameworks, die von Grund auf für das verstärkende Lernen ausgelegt sind, wie Intel Coach oder Ray RL. Unterstützt werden mehrere 2D- und 3D-Physics-Simulationsumgebungen, darunter auch Umgebungen, die auf der Open-Source-Schnittstelle OpenGym basieren. Darüber hinaus ermöglicht SageMaker RL das Trainieren mit virtuellen 3D-Umgebungen, die mit Amazon Sumerian und Amazon RoboMaker erstellt wurden. Um Ihnen den Einstieg zu erleichtern, bietet SageMaker auch zahlreiche Beispiel-Notebooks und Tutorials.
Die Open-Source-Docker-Container Apache MXNet und Tensorflow, die in Amazon SageMaker verwendet werden, sind auf Github verfügbar. Sie können diese Container in Ihre lokale Umgebung herunterladen und das Amazon SageMaker Python-SDK zum Testen Ihrer Skripts verwenden, bevor Sie sie in Amazon SageMaker-Schulungs- oder -Hosting-Umgebungen bereitstellen. Wenn Sie bereit sind, von lokalen Testläufen zu Produktions-Training und -Hosting zu wechseln, müssen Sie lediglich eine einzige Codezeile ändern.
Trainieren
Wenn Sie für ein Training in Amazon SageMaker bereit sind, müssen Sie lediglich den Speicherort der Daten in Amazon S3 sowie den Typ und die Menge der benötigten Amazon SageMaker ML-Instances angeben und können das Training anschließend mit nur einem Mausklick in der Konsole starten. Amazon SageMaker richtet einen verteilten Datenverarbeitungscluster ein, führt das Training durch, gibt das Ergebnis in Amazon S3 aus und löst den Cluster nach Ende des Trainings wieder auf.
Amazon SageMaker kann das Modell automatisch optimieren, indem Tausende verschiedene Kombinationen von Algorithmusparametern angepasst werden, um die genauesten Vorhersagen zu erzielen, die mit dem Modell möglich sind.
Dank Amazon SageMaker Neo ist es möglich, dass Machine-Learning-Modelle einmal trainiert und dann überall in der Cloud und am Edge ausgeführt werden können. Normalerweise ist es äußerst schwierig, Machine-Learning-Modelle so zu optimieren, dass sie auf mehreren Plattformen ausführbar sind: Entwickler müssen die Modelle für die jeweilige Hardware- und Softwarekonfiguration jeder Plattform nämlich manuell anpassen. Dieser Zeit- und Arbeitsaufwand entfällt mit Neo durch die automatische Optimierung von TensorFlow-, MXNet-, PyTorch-, ONNX- und XGBoost-Modellen für die Bereitstellung auf ARM-, Intel- und Nvidia-Prozessoren. In Kürze wird auch die Hardware von Cadence, Qualcomm und Xilinx unterstützt. Sie können über die SageMaker-Konsole auf SageMaker Neo zugreifen und mit nur wenigen Klicks ein Modell erstellen, das für die Cloud-Instance oder das Edge-Gerät optimiert ist. Optimierte Modelle können mit bis zu doppelter Geschwindigkeit ausgeführt werden und verbrauchen weniger als ein Hundertstel des Speicherplatzes von traditionellen Modellen.
Mit Amazon SageMaker Search können Sie die relevantesten Modelltrainingsläufe von möglicherweise Hunderten oder Tausenden von Amazon SageMaker-Modellschulungsaufträgen im Handumdrehen finden und bewerten. Aktuell ist die Betaversion von SageMaker Search über die AWS Management Console und die AWS SDK-APIs für Amazon SageMaker verfügbar.
Bereitstellen
Sie können das Modell mit nur einem Mausklick auf automatisch skalierbaren Amazon ML-Instances in mehreren Availability Zones bereitstellen, um eine hohe Redundanz zu erzielen. Sie müssen lediglich den Typ der -Instance sowie die gewünschte Mindest- und Höchstzahl angeben und Amazon SageMaker übernimmt den Rest. Der Service startet die Instances, stellt das Modell bereit und richtet den sicheren HTTPS-Endpunkt für die Anwendung ein. Die Anwendung muss lediglich einen API-Aufruf an diesen Endpunkt enthalten, um mit niedriger Latenz und hohem Durchsatz Erkenntnisse zu gewinnen. Mithilfe dieser Architektur können Sie die neuen Modelle in Ihre Anwendungsdokumente integrieren, da Modelländerungen keine Änderungen am Anwendungscode mehr erfordern.
Amazon SageMaker kann auch A/B-Tests von Modellen durchführen. Sie können den Endpunkt so konfigurieren, dass der Datenverkehr auf bis zu 5 verschiedene Modelle verteilt wird, und den Anteil der Aufrufe zur Erkenntnisgewinnung je Modell festlegen. Diese Einstellungen können spontan geändert werden, sodass Sie äußerst flexibel experimentieren und das Modell ermitteln können, das unter realen Bedingungen die genauesten Ergebnisse erzielt.
Amazon SageMaker übernimmt die Verwaltung der Produktions-Datenverarbeitungsinfrastruktur (Zustandsprüfungen durchführen, Sicherheitspatches einspielen und andere routinemäßige Wartungsaufgaben). Dabei sind die Überwachungs- und Protokollierungsfunktionen von Amazon CloudWatch integriert.
Durch die Batch-Transformation können Sie anhand von großen oder kleinen Daten-Batches Prognosen erstellen. Es ist dabei nicht erforderlich, den Datensatz in einzelne Blöcke zu unterteilen oder Echtzeitendpunkte zu verwalten. Sie können mit einer einfachen API Prognosen für eine große Anzahl von Datensätzen anfordern und diese Daten leicht und schnell umwandeln.
Mit Amazon SageMaker können Sie Inferenz-Pipelines bereitstellen, um unformatierte Eingabedaten weiterzugeben und die Vorverarbeitung, Voraussagen und Nachverarbeitung bei Echtzeit- und Stapel-Interferenz-Anforderungen auszuführen. Inferenz-Pipelines können aus jedem beliebigen Machine-Learning-Framework, integrierten Algorithmus oder aus benutzerdefinierten Containern bestehen, die auf Amazon SageMaker nutzbar sind. Sie können Pipelines für die Funktionsdatenverarbeitung und das Funktionsengineering mit einer Suite an Funktionsumwandlern erstellen, die in den SparkML- und Scikit-learn-Framework-Containern in Amazon SageMaker verfügbar sind. Diese Pipelines können Sie dann als Teil der Inferenz-Pipelines bereitstellen, um Datenverarbeitungscode wiederzuverwenden und die Verwaltung von Machine-Learning-Prozessen zu vereinfachen.
Weitere Informationen zu den Amazon SageMaker-Preisen