mindsquare.de durchsuchen

Amazon SageMaker

Sie brauchen einen Amazon SageMaker Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?

Max-Ludwig Stadler
27. Dezember 2019

Der Amazon SageMaker ist ein von Amazon Web Services (AWS) bereitgestellter Service zur Erstellung von Machine-Learning-Modellen (ML-Modelle), die sich für Predicitive Analytics und weitere Analysen in der Cloud der Amazon Web Services eignen.

Interessant ist der Service für Developer, die Machine-Learning-Modelle erstellen (Entwicklung), in ihren Fähigkeiten individualisieren (Schulung) und dann zur Verfügung stellen (Bereitstellung). Dadurch, dass der Amazon SageMaker allgemein gebräuchliche Machine-Learning-Algorithmen anbietet, können auch Entwickler ohne entsprechende Fachkenntnisse solche Modelle entwickeln.

Exkurs: Maschinelles Lernen

Als Teilbereich der Künstlichen Intelligenz (KI) soll ML Maschinen in die Lage versetzen, vorgegebene Aufgaben umzusetzen und eigenständig aus Erfahrungen zu lernen. Solche Aufgaben können beispielsweise die Optimierung von Prozessen aufgrund erkannter Muster, die Vorhersage bestimmter Ereignisse oder die Berechnung von deren Eintrittswahrscheinlichkeiten sein. Maschinelles Lernen basiert hierbei auf dem Ansatz, Wissen aus Erfahrungswerten zu generieren. Dafür werden Lernalgorithmen eingesetzt, die mithilfe von Beispielen entsprechende Modelle zur Umsetzung von Aufgaben entwerfen. Diese Modelle können anschließend auf neue Fälle angewendet werden, die die gleiche Struktur haben. Ein typisches Beispiel vom Einsatz solcher Modelle sind Chatbots – also Roboter, die auf Basis von natürlicher Sprache textuell oder auditiv mit Kunden oder Anwendern kommunizieren können.

In diesem Webinar gebe ich Ihnen einen Überblick zum Thema maschinelles Lernen.

Datenverarbeitungsumfeld

Der Amazon SageMaker unterstützt die Client-Server-Anwendung Jupyter Notebook, dessen Name auf die drei Programmiersprachen Julia, Python und R zurückgeht. Jupyter Notebook ist eine Open-Source-Webanwendung, mit der Dokumente erstellt und geteilt werden können. Diese können Code, Gleichungen, bildliche Darstellungen oder Text enthalten.

Amazon SageMaker nutzt die Anwendung beispielsweise für verschiedene Datenverarbeitungsschritte und das Schulen von Modellen. Mithilfe der Notebook-Web-Applikation kann Code geschrieben und anschließend ausgeführt werden. Die Ergebnisse können dann entweder als Live-Berechnungen in der Cloud oder in festem Format (z. B. PDF) weitergegeben werden. Des Weiteren ist es in Jupyter mehreren Nutzern gleichzeitig möglich, Berechnungen durchzuführen und einen Code zu modifizieren.

Funktionsweise des Amazon SageMaker

Die Erstellung von Machine-Learning-Modellen mit dem Amazon SageMaker läuft immer nach dem gleichen Schema in 3 Schritten ab.

Schritt 1 – Beispieldaten generieren

Im ersten Schritt erzeugen Entwickler mit dem Amazon SageMaker Beispiel-Daten, die das Modell nutzen kann, um Fähigkeiten zu trainieren. Die Art der Daten hängt dabei davon ab, welches Ziel mithilfe des SageMakers erreicht werden soll. Wenn das Modell beispielsweise handschriftliche Zahlen erkennen soll, werden entsprechende Proben eingelesen. Die Erstellung von Beispiel-Daten läuft in 3 Schritten ab: Zunächst werden passende Daten identifiziert, dann aufbereitet und schließlich vorbereitet, bzw. gegebenenfalls transformiert. Die Verarbeitung der Daten geschieht mit Jupyter Notebook, gespeichert werden sie in einem Amazon S3-Bucket (Simple Storage Service).

Schritt 2 – Schulung

Im zweiten Schritt wird das Modell mit einem passenden Algorithmus trainiert. Hier können Entwickler aus einer Vielzahl von Algorithmen auswählen, die SageMaker teilweise selbst zur Verfügung stellt. Wie die Einspeisung passender Beispiel-Daten hängt auch die Auswahl des Algorithmus vom angestrebten Verwendungszweck des Modells ab. Wenn es handschriftliche Zahlen erkennen soll, muss ein Algorithmus ausgewählt werden, der hierzu in der Lage ist.

Folgende Optionen stehen bei der Auswahl des Algorithmus zur Verfügung:

  • Ein Amazon SageMaker-Algorithmus, der den Ziel-Anforderungen entspricht
  • Das Open-Source-Framework für Cluster Computing Apache Spark, mit der die Rechenkapazität erhöht werden kann
  • Die Übermittlung von benutzerdefiniertem Code mittels des Open-Source-Tools TensorFlow in Deep-Learning-Frameworks
  • Das Verwenden eines eigenen benutzerdefinierten Algorithmus

Um das Modell mit Jupyter Notebook schulen zu können, erstellen Entwickler einen Schulungsauftrag. Dieser muss unter anderem Datenverarbeitungsressourcen enthalten, also Machine-Learning-Compute-Instances. Je nach Größe des Schulungsdatasets reicht hier eine kleine Instance, bei größeren Projekten kann aber auch ein Cluster von GPU-Instances (Graphic Processing Unit) verwendet werden.

Nach der Schulung des Modells erfolgt die Auswertung. Dafür werden zuvor Inferenzanforderungen zuvor mithilfe des AWS Software Development Kit für Python (auch Boto genannt) oder der Python Library an das ML-Modell gesendet. Auf Grundlage dieser Anforderungen kann dann mit Jupyter Notebook ausgewertet werden, ob die Inferenzgenauigkeit des Modells den Ziel-Anforderungen genügt.

Schritt 3 – Bereitstellung

Der dritte und letzte Schritt umfasst die Bereitstellung des Modells, wofür SageMaker Hosting Services zur Verfügung stellt. Die Bereitstellung verfolgt das Ziel, Prognosen zu generieren, die sich auf das zuvor festgelegte Ziel beziehen.

Um das Modell bereitzustellen, müssen Entwickler einen HTTPS-Endpunkt erstellen und konfigurieren. Hierbei handelt es sich um eine Instanz, die Daten empfangen kann. Amazon SageMaker verwendet diese Endpunkte, um Ressourcen vorzubereiten und Modelle einzusetzen.

Nach der Bereitstellung folgt der Schritt der Validierung, mit dem festgestellt werden soll, ob das Modell die ihm gesetzten Ziele bezüglich Leistung und Genauigkeiten erreichen kann. Die Auswertung kann durch Offline-Tests mit historischen oder durch Online-Tests mit Live-Daten erfolgen.

Unser E-Book zum Thema Wie Ihr Unternehmen von Künstlicher Intelligenz (KI) profitieren kann

E-Book: Wie Ihr Unternehmen von Künstlicher Intelligenz (KI) profitieren kann

In unserem E-Book erfahren Sie die wichtigsten Inhalte rund um das Thema künstliche Intelligenz & wie Sie davon profitieren können!

Verstärkendes Lernen

Innerhalb des Amazon SageMakers gibt es die Möglichkeit, das Konzept des verstärkenden Lernens (Reinforcement Learning) anzuwenden. Diese Methode ist Teil des maschinellen Lernens und zeichnet sich dadurch aus, dass im Voraus keine Daten in das Modell eingegeben werden müssen. Stattdessen werden diese Daten in einer simulierten Umgebung in einem Verfahren erzeugt, bei dem der Agent (z. B. ein Roboter) sein Entscheidungsschema in vielen Probedurchläufen anhand des Feedbacks seiner Umgebung anpasst. Das Konzept basiert auf Modellen, die Markow-Entscheidungsprozesse (MEP) genannt werden. Jedes MEP besteht aus mehreren Zeitschritten, die sich jeweils aus den folgenden Komponenten zusammensetzen:

  • Umgebung: Der Raum, real oder simuliert, in dem das RL-Modell operiert
  • Beschaffenheit: Umfasst alle Details der Umgebung sowie die Ergebnisse der bereits ausgeführten Schritte, die für die Zukunft relevant sind
  • Aktion des RL-Modells: Ein Roboter könnte z. B. den Arm heben
  • Belohnung: Das Ziel der Aktion wird mit einer Zahl (z. B. 1), das Scheitern derselben mit einer anderen Zahl (z. B. 0) belegt. Ist das Ziel der Aktion beispielsweise das Erkennen der Farbe Rot, könnte Rot die Zahl 1 zugewiesen werden und allen anderen Farben die Zahl 0.
  • Beobachtung: Informationen über den Zustand der Umgebung, die dem RL-Modell zur Verfügung stehen

Reinforcement Learning wird zum Beispiel im Supply Chain Management, der industriellen Robotik oder der Steuerung von Fahrzeugen eingesetzt – also immer dann, wenn mit Machine Learning besonders komplexe Probleme gelöst werden sollen.

Das Amazon SageMaker-Programmiermodell

Programmierschnittstellen (APIs) direkt aus dem Code abzurufen, ist umständlich, denn um die individuellen Anforderungen zu authentifizieren, muss zusätzlicher Code geschrieben werden.
Aus diesem Grund stellt das Amazon SageMaker-Programmiermodell Alternativen zur Verfügung, die das Schreiben von Code teilweise hinfällig machen.

Die Amazon SageMaker-Konsole

Über die Benutzeroberfläche der SageMaker-Konsole lässt sich die Modellschulung und -bereitstellung durchführen. Es empfiehlt sich hier, Aufträge auszuführen, bei denen die Schulungsdaten nicht vorverarbeitet werden müssen, sodass ein integrierter Schulungsalgorithmus verwendet werden kann.

Jupyter Notebook

Auch mit JupyterNotebook ist es möglich, Modelle zu schulen und bereitzustellen. Dafür verwendet der Entwickler ein Notebook, das einen für seine Zwecke relevanten Algorithmus nutzt, und passen es an Ihre Datenquelle und Anforderungen an.

Neuer Modellschulungs- und Inferenzcode

Mithilfe des AWS Software Development Kits und der High-Level-Python-Bibliothek, die eine Vielzahl an Hilfestellungen bietet, ist es möglich, neuen Code zu schreiben, um Schulungsaufträge zu erstellen und Modelle bereitzustellen.

Integrieren von Amazon SageMaker in Apache Spark

Mithilfe der SageMaker-Spark-Bibliothek ist es Entwicklern möglich, das Apache-Spark-Framework zum Schulen und Hosten der Modelle einzusetzen.

Kosten

Die Kosten von SageMaker richten sich nach der individuellen Nutzung. Amazon berechnet den Nutzern die Ressourcen bzw. Instanzen für die Rechen-, Speicher- und Datenverarbeitungsleistungen, die sie für das Erstellen, Schulen und Bereitstellen der Modelle benötigen. Die Preise gestalten sich je nach Instanz unterschiedlich. Es handelt sich aber immer um einen Stundensatz.

Max Luwig Stadler von mindsquare

Websession: Amazon SageMaker

Sie möchten ML-Modelle bereitstellen oder haben generell Fragen zum Thema Amazon SageMaker? Vereinbaren Sie eine kostenlose Websession mit uns und stellen Sie uns Ihre Fragen.

Fazit

Der Amazon SageMaker begleitet Entwickler in 3 Schritten bei der Entwicklung, dem Training und der Bereitstellung von ML-Modellen. Die Umsetzung dieser Schritte wird durch Komponenten wie Jupyter Notebook erleichtert. Um ein Modell schulen zu können, ist die Auswahl eines geeigneten Algorithmus notwendig. Dieser hängt stark von dem Ziel, das der Entwickler mit der Erstellung des Modells erreichen möchte, ab.

Als Teilbereich des Machine Learnings gibt es noch das verstärkende Lernen, bei dem der Agent nicht aus im Vorhinein eingespeisten Daten, sondern aus dem Feedback seiner Umgebung lernt. Diese Methode eignet sich vor allem für die Lösung besonders komplexer Problemstellungen. Amazon SageMaker bietet außerdem Möglichkeiten an, die das Abrufen von Programmierschnittstellen erleichtert.

Kontaktieren Sie uns gerne, wenn Sie weitere Fragen zum Thema Amazon SageMaker haben.

Verwandte Know-Hows

Das Machine Learning Studio ist die Entwicklungsumgebung von Azure für alle Anwendungen im Bereich maschinelles Lernen. Microsoft Azure ist dabei einer der weltweit wichtigsten Cloud Computing-Anbieter, der auf dem Markt […]
Natural Language Processing (NLP) ist eine Technologie, die Computern dabei hilft, die menschliche Sprache zu verarbeiten. Die Maschine steht dabei vor einer großen Herausforderung, weil Sprache immer situationsbedingt genutzt wird […]
Im Mittelpunkt von Industrie 4.0 steht die Smart Factory. Als Produktionsumgebung funktioniert sie im besten Fall so, dass sie sich selbst ohne menschliche Eingriffe organisiert. Wichtige Voraussetzungen sind dafür cyber-physische Systeme […]

Passende Angebote zum Thema

Hand aufs Herz: Wie gehen Sie bei der Anwendungs-Entwicklung vor? Haben Sie immer die Endanwender im Fokus? Sollten Sie, denn diese müssen letztendlich mit der neuen Anwendung arbeiten können – […]
Anfrage Kursziel Sie und Ihr Team lernen Design Thinking in vollem Umfang kennen. Im Zuge dieser Schulung bearbeiten Sie alle Phasen des Innovationsansatzes und arbeiten gemeinsam im Team an einem […]
Design Thinking im gesamten Unternehmen Wir machen Sie zu Design Thinkern und unterstützen Sie, eine nachhaltige Innovationskultur in Ihrem Unternehmen zu verankern. Durch eine genaue Untersuchung Ihrer unternehmensspezifischen Bedürfnisse helfen […]
Kontakt aufnehmen
Ansprechpartner
Laura Feldkamp mindsquare Kundenservice
Laura Feldkamp Kundenservice