Entwicklung

Verwaltete Notebooks für Erstellungsmodelle

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-Pakete und Bibliotheken für TensorFlow, Apache MXNet, Chainer und PyTorch geladen.

Das gängige Open-Source-Notebook-Format Jupyter ermöglicht mit nur einem Mausklick Zugriff auf eine vollständig verwaltete Notebook-Umgebung für maschinelles Lernen.

In diesen Notebook-Workspaces können Sie Ihre Daten erkunden und die Ergebnisse mithilfe beliebter Bibliotheken, Frameworks und Schnittstellen in wiederverwendbaren Workflows dokumentieren. Innerhalb des Notebooks können Sie Ihre eigenen, bereits in Amazon S3 gespeicherten Daten verwenden. Mit AWS Glue können Sie außerdem mühelos Daten aus Amazon RDS, Amazon DynamoDB und Amazon Redshift zur Analyse in S3 verschieben. Sie können eigene Notebooks erstellen oder importieren oder eines der zahlreichen vordefinierten und bereits in Amazon SageMaker geladenen Notebooks verwenden. Diese vordefinierten Notebooks stehen für alle integrierten Machine Learning-Algorithmen zur Verfügung. Darüber hinaus stehen Ihnen Notebook-Vorlagen zur Verfügung, die Ihnen die ersten Schritte mit gängigen ML-Anwendungen und erweiterten Funktionen von Amazon SageMaker erleichtern.

Vorlagen für gängige ML-Anwendungen

Vorlagen für erweiterte SageMaker-Funktionen

Zeitreihenprognosen

Bringen Sie Ihre eigenen TensorFlow, MXNet und Chainer Container mit

Gezieltes Direktmarketing

Verwendung eigener scikits, R-Algorithmen oder Modelle

Vorhersage von Kundenabwanderung

Datenaufteilung bei verteilten Trainings

Integrierte, leistungsstarke Algorithmen

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 stellt Ihnen die gängigsten Machine Learning-Algorithmen automatisch zur Verfügung. Sie müssen lediglich Ihre Datenquelle angeben und können dann sofort k-Means-Clusteranalysen zur Datensegmentierung, Factorization Machines für Empfehlungen, Zeitreihenprognosen, lineare Regressionen oder PCAs durchführen.  

BlazingText Word2Vec Die BlazingText-Implementierung des Algorithmus Word2Vec ermöglicht die Skalierung und Beschleunigung der Generierung von Worteinbettungen aus einer Vielzahl von Dokumenten.
DeepAR Dies ist ein Algorithmus, der präzise Prognosen generiert. Hierfür lernt er mithilfe rekurrenter neuraler Netzwerke (RNNs) Muster aus zahlreichen zugehörigen Zeitreihen.
Factorization Machines Dieses Modell kann alle Interaktionen zwischen Merkmalen auch anhand sehr kleiner Datenmengen abschätzen.
Gradient Boosted Trees (XGBoost) XGBoost, kurz für "Extreme Gradient Boosting", ist eine optimierte, verteilte Gradient Boosting-Bibliothek.
Bildklassifikation (ResNet) Dies ist ein gängiges neuronales Netz zur Entwicklung von Bildklassifikationssystemen.
K-Means-Clusteranalyse Dies ist einer der einfachsten ML-Algorithmen, der zur Ermittlung von Gruppen in Daten ohne Text verwendet wird.

Latent Dirichlet Allocation (LDA)

Dieses Modell eignet sich sehr gut zur automatischen Ermittlung der Hauptthemen in einer Gruppe von Textdateien.
Lineares Lernen (Klassifikation) Bei der linearen Klassifikation wird anhand der Merkmale eines Objekts die Gruppe ermittelt, der das Objekt angehört.
Lineares Lernen (Regression) Mithilfe der linearen Regression wird die lineare Beziehung zwischen zwei Variablen vorhergesagt.
Neural Topic Modeling (NTM) Dieser Ansatz zum Erlernen von Themen anhand von Text- und Bilddatensätzen basiert auf neuronalen Netzen.
Hauptkomponentenanalyse (Principal Component Analysis, PCA) Dieser häufig bei der Vorverarbeitung von Daten verwendete Algorithmus reduziert eine Tabelle oder Matrix mit einer großen Anzahl von Merkmalen auf eine kleinere Anzahl repräsentativer Merkmale.
Random Cut Forest Ein nicht überwachter Algorithmus für maschinelles Lernen zur Erkennung von Anomalien.
Seqence2Sequence Dieser Codierer/Decodierer für allgemeine Zwecke kann für Text verwendet werden, der häufig bei maschineller Übersetzung, Textzusammenfassung usw. Anwendung findet.
k-Nearest-Neighbor (kNN) Ein nichtparametrisches Modell, das sich für Klassifikations- und Regressionsprobleme eignet.
Objekterkennung
Erkennt, klassifiziert und platziert Rahmen um mehrere Objekte in einem Bild.

Diese Algorithmen wurden so optimiert, dass sie die 10-fache Leistung herkömmlicher Implementierungen erzielen. Möglich ist dies unter anderem dadurch, dass die Algorithmen aufgrund ihrer Implementierung bereits analysierte Daten nicht erneut analysieren müssen. Auf herkömmliche Weise implementierte Algorithmen referenzieren häufig dieselben Datensätze mehrmals. Bei kleinen Datensätzen ist dies nicht weiter problematisch; bei größeren Datensätzen kann das Training dadurch jedoch erheblich verlangsamt werden. Indem nur ein einziger Durchgang erforderlich ist, sind effiziente und kostengünstige Trainings mit Datensätzen im Petabyte-Bereich möglich.

Breite Framework-Unterstützung

Amazon SageMaker konfiguriert und optimiert TensorFlow, Apache MXNet, Chainer und PyTorch 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.

Lokale Tests und Prototypenentwicklung

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

Training mit nur einem Mausklick

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.

Das Trainieren von Modellen ist mit Amazon SageMaker besonders einfach: Sie müssen lediglich den Speicherort der Daten in S3 angeben und Amazon SageMaker führt den Algorithmus für einen Trainingscluster aus, der innerhalb eines eigenen softwaredefinierten Netzwerks isoliert und Ihren Anforderungen entsprechend konfiguriert ist. Wählen Sie einfach den Instance-Typ aus – einschließlich P3-GPU-Instances, die sich ideal für schnelle und effiziente Trainings eignen – und Amazon SageMaker erstellt den Cluster in einer automatisch skalierbaren Gruppe. Außerdem können Sie jedem Knoten EBS-Volumes zuordnen, die Datenpipelines einrichten und das Training mit Ihren eigenen TensorFlow-, MXNet-, Chainer- oder PyTorch-Skripten, Amazon-eigenen Algorithmen oder Ihren eigenen Algorithmen aus dem Container starten. Nach Ende des Trainings werden die Ergebnisse in S3 ausgegeben und der Cluster wird automatisch wieder aufgelöst.

Um die Skalierung von Trainings zu erleichtern, haben wir das Training von Datenströmen aus S3 optimiert. Über die API können Sie angeben, ob alle Daten an jeden Knoten im Cluster gesendet werden sollen oder ob Amazon SageMaker die Verteilung der Daten auf die Knoten den Anforderungen des Algorithmus entsprechend verwalten soll.

In Verbindung mit den integrierten Algorithmen kann die mit Amazon SageMaker mögliche Skalierbarkeit von Trainings die Zeit und Kosten von Trainingsläufen erheblich reduzieren.

Automatische Modelloptimierung

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.

Die Optimierung des Modells für maximale Präzision erfordert zwei wesentliche Schritte: die Anpassung der Dateneingaben an das Modell (z. B. Logarithmus einer Zahl) und die Anpassung der Parameter des Algorithmus. Diese werden als Hyperparameter bezeichnet und die Ermittlung der richtigen Werte kann schwierig sein. In der Regel wird mit einem zufälligen Wert begonnen, der wiederholt angepasst wird, um die Auswirkungen jeder Änderung zu beobachten. Abhängig von der Anzahl der Hyperparameter im Modell kann dieser Zyklus sehr lange dauern.

Amazon SageMaker bietet für Schulungen optionales automatische Modelloptimierung an. Das vereinfacht diesen Prozess. Amazon SageMaker greift bei der Optimierungs Ihres Modells für Machine Learning auf Machine Learning-Modelle zurück. Dazu erlernt der Algorithmus die Auswirkungen verschiedener Datentypen auf das Modell und wendet dieses Wissen auf zahlreiche Kopien des Modells an, um schnell das bestmögliche Ergebnis zu ermitteln. Als Entwickler oder Datenwissenschaftler müssen Sie sich daher nur mit den gewünschten Anpassungen an den Eingabedaten für das Modell beschäftigen und können somit zahlreiche Aspekte des Trainings ignorieren.

Geben Sie zu Beginn der besten Modelloptimierung einfach über die API an, wie viele Trainings Sie planen. Amazon SageMaker kümmert sich um den Rest.

Bereitstellen

Bereitstellung mit nur einem Mausklick

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.

Automatische A/B-Tests

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.

Vollständig verwaltetes Hosting mit Auto Scaling

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.

Batch-Transformation

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.

 

Weitere Informationen zu den Amazon SageMaker-Preisen

Zur Seite mit den Preisen
Sind Sie startbereit?
Registrieren
Haben Sie Fragen?
Kontakt