aws-ai-bootcamp-17

Am 14. September fand in Bochum das eintägige AWS AI Bootcamp statt. Die Voraussetzungen zur Teilnahme zielten auf Entwickler mit ersten Erfahrungen im Bereich Maschinelles Lernen und Optimierungs-Algorithmen, doch die vielversprechende Agenda lockte auch viele Neulinge und Nicht-Developer an.

Morgens um 08:30 Uhr in Bochum im BP Gebäude waren dann tatsächlich ca. 120 Teilnehmer vor Ort, um einen Einblick in die AI Aktivitäten von Amazon zu bekommen und im Hands-On eigene neuronale Netze mit Apache mxnet zu erstellen.

Deep Learning AMI in der Praxis

Nach zwei kurzen einleitenden Vorträgen ging es dann direkt in die Praxis: Alle Teilnehmer hatten einen 50 USD Gutschein für AWS bekommen und sollten nun eine P2 oder C4 Instanz mit dem aktuellsten Deep Learning AMI von Amazon starten (in den public AMI’s nach „Deep Learning AMI Amazon Linux“ suchen und dann die neueste Version nehmen), sich per ssh aufschalten und ein Jupyter Notebook mit einem neuronalen Netz öffnen, das mit dem Python Frontend von mxnet implementiert war. Dies war für einige Teilnehmer noch etwas zu viel und am Ende des Tages hatte es immerhin etwas mehr als die Hälfte der Teilnehmer geschafft, alles zum Laufen zu bringen.

Das Jupyter Notebook enthielt ein einfaches Deep Learning Modell, mit dem auf Basis eines Trainingsdaten-Sets von Zalando die Kleidungs-Typen von Produktbildern vorhergesagt werden. Dafür standen in diesem Modell 10 verschiedene Klassen zur Verfügung (z.B. T-Shirt, Jacke, Sneaker, Sandalen, Hose, etc) und das Deep Learning Modell war sehr simpel gehalten – die Pixel der Input Bilder wurden hier einfach geflattened und durch drei Fully-Connected Layer mit 128-64-10 Neuronen geleitet (ReLu Aktivierung) und das Ergebnis am Output-Layer mit einer Softmax Funktion bestimmt. Sicher nicht die State-of-the-Art Methode für Image Classification, aber aufgrund des Einsteiger-Levels zur Demonstration erstmal geeignet.

Selber programmiert werden musste nicht, aber man konnte optional einige Parameter ändern und die Ergebnisse beobachten. Das fertig trainierte Netz wurde dann mit echten Produktbildern aus dem Amazon-Katalog gefüttert und lieferte gemessen an den Möglichkeiten des sehr einfachen Modells passable Ergebnisse für freigestellte Produktbilder. Das Notebook kann hier heruntergeladen werden. Es empfiehlt sich, das Notebook wegen der vielen Dependencies auf der AWS Deep Learning AMI zu betreiben.

Amazon Lex, Polly, Rekognition und  Machine Learning

Das nächste Thema waren die AI Services von Amazon, namentlich Amazon Lex, Amazon Polly, Amazon Rekognition und Amazon Machine Learning. Alle Details zu diesen Services sind hier beschrieben: Themenseite Amazon AI.  Besonders beeindruckt waren die Teilnehmer von der Gesichtserkennung und -wiedererkennung von Amazon Rekognition und den damit verbundenen Möglichkeiten.

Zum Lunch gab es Bootcamp-gerecht belegte Brötchen und etwas Fingerfood, danach ging es mit weiter mit Deep Learning Modellen. Am klassischen Beispiel der Erkennung von handschriftlichen Buchstaben wurden die Teilnehmer in die Unterschiede zwischen einem einfachen Multi-Layer-Perceptron Netzwerk (MLP) und einem Convolutional Neural Network herangeführt. Dazu wurde ein Notebook aus den mxnet Notebook Beispielen auf Github verwendet, welches die Handschrift-Erkennung zunächst mit einem MLP Netz durchführt und dann auf eine CNN-LeNet Architektur wechselt, welche natürlich deutlich besser performed. Das Prinzip von Convolutional Neural Networks ist in diesem Notebook anschaulich und mit vielen Bildern beschrieben, und es kann auch online angesehen werden.

Der nächste Abschnitt war für viele Teilnehmer das Highlight: Ein vortrainiertes Netzwerk für die Erkennung von Objekten in Bildern auf Basis des kompletten Imagenet Datensatzes mit mehr als 10 Millionen Bildern. Mit wenigen Zeilen Code läßt sich das trainierte Model laden und dann mit beliebigen Bildern aus dem Internet füttern. Die Ergebnisse waren wirklich recht beeindruckend und alle Teilnehmer waren sehr positiv überrascht darüber, was dieses Modell alles Out-of-the-Box erkennen kann – zumal man das Modell ja kostenfrei herunterladen und verwenden kann. Das Notebook dafür ist hier zu finden. Weitere vortrainierte Modelle kann man im Model Zoo finden.

Dann wurde es etwas theoretischer und tiefer.

Amazon Principal Solutions Architect Constantin Gonzalez erklärte detailliert und nachvollziehbar das Prinzip von Recurring Neural Networks und Long-Shot-Term-Memory (LSTM) Modellen. Er war der beste Speaker an diesem Tag und auch inhaltlich sehr sauber und tiefgehend.

Neue C5 Instanzen auf AWS

Nach der Kaffeepause kam noch eine kleine Werbe-Einlage von Intel zum Thema Prozessoren und Kernel Beschleunigung. Demnächst sollen auf AWS die neuen C5 Instanzen verfügbar sein, die mit der Math Kernel Library MKL insgesamt bis zu 100x performanter als die aktuellen C4 Instanzen sein sollen, und in vielen Bereichen mit GPU’s gleich auf oder als Allrounder sogar besser für Deep Learning geeignet sein sollen. Das wichtigste Take-Away war hier der Hinweis auf die MKL optimierten Python und Deep Learning Framework Versionen von Tensorflow, mxnet und Co, die auf den entsprechenden Instanzen um ein Vielfaches schneller sind, als die normalen Versionen. Die jeweils aktuellsten optimierten Versionen sind auf der Amazon Deep Learning AMI verfügbar (zur Erinnerung: In den public AMI’s nach „Deep Learning AMI Amazon Linux“ suchen und dann die neueste Version nehmen).

Am Ende wurde noch Amazon Machine Learning gezeigt, eine einfache Methode, um Standard-Regressions-Modelle ohne Programmierung über ein Web-Interface zu konfigurieren und als Real-Time API zur Verfügung zu stellen. Dieses Thema war für einige Teilnehmer verwirrend, denen der Unterschied von Regressions-Modellen zu Deep Learning Modellen nicht ganz klar war und die dann annahmen, hinter Amazon Machine Learning stünden auch die vorher diskutierten Deep Learning Modelle. Dem ist nicht so, aber die Optimierungs-Algorithmen der Standard Machine Learning Modelle können für viele Problemstellungen nach wie vor sehr gut eingesetzt werden können. Mehr Infos zu Amazon Machine Learning gibt es hier:(Themenseite Amazon AI)

Fazit

Insgesamt war das AWS AI Bootcamp eine interessante Veranstaltung. Es wurde etwas weniger gecoded als erwartet und etwas weniger Teilnehmer wären für ein tieferes Einsteigen sicher gut gewesen, aber es wurde ein guter Einblick in das AI Portfolio und die Möglichkeiten von Amazon bei diesem Thema gegeben. Vielen Dank für die Einladung!