Entwicklung mit Amazon SageMaker

Mit Amazon SageMaker ist es ganz einfach, große ML-Modelle (Machine Learning) zu entwickeln und für das Training vorzubereiten. Die Anwendung bietet alles Notwendige, um Trainingsdaten zu kennzeichnen, um auf Notebooks zuzugreifen und sie gemeinsam zu nutzen und um die integrierten Algorithmen und Frameworks zu verwenden.

Funktionen

Zusammenarbeit mit Notebooks

Amazon SageMaker Studio Notebooks sind One-Click-Jupyter-Notebooks mit elastischer Datenverarbeitung, die sich schnell hochfahren lassen. Die Notebooks enthalten alles Notwendige zum Ausführen oder Neuerstellen eines Machine Learning-Workflows und sind in Amazon SageMaker Studio integriert. In den Notebooks sind alle gängigen CUDA- und cuDNN-Treiber, Anaconda-Pakete und Framework-Bibliotheken bereits geladen.

In der Notebook-Umgebung können Sie die eigenen Daten untersuchen und visualisieren und die Ergebnisse in wiederverwendbaren Workflows dokumentieren. Innerhalb des Notebooks können Sie Ihre in Amazon S3 gespeicherten Daten einbeziehen. Mit AWS Glue können Sie außerdem mühelos Daten aus Amazon RDS, Amazon DynamoDB und Amazon Redshift zur Analyse in S3 verschieben.

Ohne elastische Notebooks müssen Sie zur Anzeige, Ausführung oder gemeinsamen Nutzung eines Notebooks eine Rechen-Instance hochfahren, die das Notebook antreibt. Benötigen Sie mehr Rechenleistung, müssen Sie eine neue Instance hochfahren, das Notebook übertragen und die alte Instance herunterfahren. Und da das Notebook in der Regel an die Rechen-Instance gekoppelt ist und üblicherweise auf der Workstation eines Benutzers existierte, besteht keine einfache Möglichkeit, Notebooks gemeinsam zu nutzen und zusammen zu iterieren.

Mit SageMaker Studio Notebooks werden diese Schwierigkeiten ad acta gelegt. Sie verlieren keine Zeit mehr damit, die alte Instance herunterzufahren und die Arbeit in einer neuen Instance wiederherzustellen. So können Sie viel schneller mit der Entwicklung eines Modells beginnen.

Sie können ein Notebook erstellen oder importieren oder eines der zahlreichen vorgefertigten Notebooks verwenden, die für verschiedene Anwendungsfälle in SageMaker mitgeliefert werden. Nach dem Start können Sie den Umfang der Rechenressourcen (einschließlich GPU-Ressourcen) ohne Unterbrechung erhöhen und verringern. Außerdem wird der Status automatisch gespeichert, sodass Sie beim nächsten Öffnen des Notebooks genau dort weitermachen können, wo Sie aufgehört haben.

SageMaker Studio Notebooks können problemlos mit Kollegen geteilt werden, damit diese Ihre Ergebnisse visualisieren und reproduzieren können.

Notebooks

Erstellung genauer Trainingsdatensätze

Mit Amazon SageMaker Ground Truth können Sie im Handumdrehen dank Machine Learning sehr genaue Trainingsdatensä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 die menschliche Kennzeichnung mit einem Machine-Learning-Prozess, dem sogenannten aktiven Lernen, kombiniert, was die Genauigkeit der Datenkennzeichnung erhöht.

Funktionsweise

Vollständig verwaltete Datenverarbeitung im großen Maßstab

Ziemlich oft werden Datenverarbeitungs- und Analyse-Workloads für das Machine Learning auf einer selbstverwalteten Infrastruktur ausgeführt, die bei Änderung der Geschäftsanforderungen nur schwer zuzuteilen und zu skalieren ist. Der Einsatz verschiedener diesbezüglicher Tools ist ziemlich umständlich, was zu einer suboptimalen Leistung und erhöhten Kapital- und Betriebskosten führt. Amazon SageMaker Processing meistert diese Schwierigkeiten, indem es die Benutzerfreundlichkeit, Skalierbarkeit und Zuverlässigkeit von SageMaker erhöht und die selbstverwaltete Ausführung großer Datenverarbeitungs-Workloads ermöglicht. Mit SageMaker Processing können Sie eine Verbindung zu vorhandenen Speicher- oder Dateisystem-Datenquellen herstellen, die zur Ausführung von Aufgaben erforderlichen Ressourcen hochfahren, die Ausgabe in persistentem Speicher aufbewahren sowie Protokolle und Metriken bereitstellen. Außerdem können Sie eigene Container und Frameworks Ihrer Wahl einsetzen und Datenverarbeitungs- und Analyse-Workloads ausführen lassen.

Integrierte, leistungsstarke Algorithmen

Amazon SageMaker bietet leistungsstarke, skalierbare Machine-Learning-Algorithmen, die für Geschwindigkeit, Skalierung und Genauigkeit optimiert sind. Die Algorithmen können Trainings mit Datensätzen in Petabyte-Größe durchführen. Sie können überwachte Algorithmen nutzen, bei denen die richtigen Antworten während des Trainings bekannt sind, und das Modell bei Fehlern entsprechend anweisen. SageMaker enthält überwachte Algorithmen wie XGBoost und lineare/logistische Regression oder Klassifikation, um Problemen im Zusammenhang mit Empfehlungen und Zeitreihenvorhersagen zu begegnen. 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 Principal Component Analysis (PCA, Hauptkomponentenanalyse), um Probleme wie die Ermittlung von Kundengruppen anhand des Kaufverhaltens zu lösen.

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. Es stehen viele weitere Algorithmen zur Verfügung, die sofort einsatzbereit sind.

Algorithmus Beschreibung
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.
IP-Einblicke Ein Algorithmus zur Erkennung böswilliger Benutzer oder zur Ermittlung von Nutzungsmustern von IP-Adressen.
K-Means-Clusteranalyse Hierbei handelt es sich um einen der einfachsten ML-Algorithmen; mit seiner Hilfe werden Gruppen in nicht gekennzeichneten Daten ermittelt.
K-Nearest Neighbor (k-NN) Ein indexbasierter Algorithmus zur Behebung von klassifizierungs- und regressionsbasierten Problemen.
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.
Object2Vec Ein neural-einbettender Algorithmus zur Berechnung der nächsten Nachbarn und zur Visualisierung natürlicher Cluster.
Objekterkennung Erkennt, klassifiziert und platziert Rahmen um mehrere Objekte in einem Bild.
Principal Component Analysis (PCA, Hauptkomponentenanalyse) 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.
Semantische Segmentierung Partitioniert ein Bild, um interessante Plätze durch die Kennzeichnung der einzelnen Pixel des Bildes zu identifizieren.
Sequence2Sequence Dieser allgemeine Codierer/Decodierer für Text wird u. a. häufig bei maschinellen Übersetzungen und Textzusammenfassungen eingesetzt.

Weitere Informationen »

Darüber hinaus können Sie über einen Docker-Container ein eigenes Framework oder einen eigenen Algorithmus verwenden oder aus Hunderten von Algorithmen und vortrainierten Modellen auswählen, die in AWS Marketplace verfügbar sind. 

Umfassende Framework-Unterstützung

Amazon SageMaker unterstützt viele beliebte Frameworks für Deep Learning wie u. a. TensorFlow, Apache MXNet, PyTorch und Chainer. Diese Frameworks werden automatisch konfiguriert und sind auf eine hohe Leistung ausgelegt. Diese Frameworks müssen nicht manuell eingerichtet werden und können innerhalb der integrierten Container verwendet werden. Außerdem können Sie ein bevorzugtes Framework in SageMaker verwenden, indem Sie es in einen Docker-Container integrieren und diesen in der Amazon EC2 Container Registry speichern.

Weitere Informationen »

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 SageMaker Python-SDK zum Testen Ihrer Skripts verwenden, bevor Sie sie in SageMaker-Trainings- 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. 

Verstärkendes Lernen

Neben dem klassischen überwachten und unüberwachten Lernen unterstützt Amazon SageMaker auch das verstärkende Lernen. In SageMaker sind 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.

Machine Learning fällt größtenteils in die Kategorie "überwachtes Lernen". Für diese Methode ist eine große Menge an gekennzeichneten Trainingsdaten erforderlich, aber die erstellten Modelle können ausgereifte Entscheidungen treffen. Das ist der gängige Ansatz mit Computer-Visions-, Rede- und Sprachmodellen. Eine weitere gängige, aber seltener genutzte Kategorie von Machine Learning wird als "unüberwachtes Lernen" bezeichnet. Dabei versuchen Algorithmen, eine verborgene Struktur in nicht gekennzeichneten Daten zu erkennen. Das Trainieren eines unüberwachten Modells ist deutlich einfacher, dafür kann das Modell nicht so ausgereifte Entscheidungen treffen. Unüberwachte Modelle werden häufig genutzt, um Anomalien in Daten zu erkennen, z. B. ungewöhnliche Schwankungen der Temperatur oder Anzeichen eines Netzwerk-Eindringversuchs.

Mit dem verstärkenden Lernen ist ein dritter, ergänzender Machine-Learning-Ansatz aufgekommen. Er unterscheidet sich stark von den anderen Trainingsmodellen. Das verstärkende Lernen erfordert praktisch keine gekennzeichneten Trainingsdaten, kann die menschliche Ausgereiftheit aber dennoch erreichen (und in einigen Fällen übertreffen). Der größte Vorteil des verstärkenden Lernens besteht darin, dass es lernen kann, eine komplexe Serie an Verhaltensweisen so zu modellieren, dass ein bestimmtes Ergebnis herauskommt, anstatt einfach eine einzige Entscheidung zu treffen. Zu den gängigsten Anwendungen des verstärkenden Lernens gehört heute das Trainieren autonomer Fahrzeuge, zu einem Ziel zu navigieren.

Eine einfache Möglichkeit, die Funktionsweise des verstärkenden Lernens zu verstehen, ist die Vorstellung eines einfachen Videospiels, bei dem eine Figur durch ein Labyrinth laufen und dabei Fahnen sammeln und Feinden aus dem Weg gehen muss. Statt eines menschlichen Spielers steuert der Algorithmus die Figur und spielt Millionen von Spielrunden. Der Algorithmus muss zunächst lediglich wissen, dass sich die Figur nach oben, unten, rechts und links bewegen kann und mit Punkten für Erfolge belohnt wird. Dann lernt er, wie er spielen muss, um die höchstmögliche Punktzahl zu erreichen. Er eignet sich Verhaltensweisen an, die den Punktestand verbessern (z. B. das Einsammeln von Fahnen oder das Nutzen von Punktestand-Multiplikatoren) und Strafabzüge verhindern (z. B. durch das Treffen auf einen Feind). Im Laufe der Zeit können Algorithmen für das verstärkende Lernen fortschrittliche Spielstrategien lernen, z. B., dass sie den unteren Teil des Labyrinths zuerst leeren, wann und wie sie einen Bonus verwenden und wie sie das Verhalten von Feinden ausnutzen können.

Das verstärkende Lernen kann die Leistungsstärke traditioneller Machine-Learning-Methoden drastisch verbessern. Beispielsweise wurden das verstärkende und das überwachte Lernen miteinander kombiniert, um individuelle Behandlungen in der Gesundheitspflege zu realisieren, die Lieferketten in der Fertigung zu optimieren, die Leistung von Windkraftanlagen zu steigern, selbstfahrende Autos zu steuern, Roboter sicher zu betreiben und sogar personalisierte Kurse und Lernpläne für Studierende zu schaffen.

Ressourcen

Eine schrittweise Anleitung zum Erstellen von ML-Modellen

Erfahren Sie, wie ML-Modelle in Amazon SageMaker entwickelt werden.

Beispiel-Notebooks für Amazon SageMaker

Auf GitHub finden Sie ein umfassendes Repository an Beispiel-Notebooks für Amazon SageMaker.

Entwicklung sicherer Machine-Learning-Umgebungen
 
Erkunden Sie die Sicherheitsmerkmale von Amazon SageMaker.