Die vier großen Player im Check

Machine Learning aus der Cloud

28.04.2016 von Björn Böttcher
Ob Predictive Analytics, die Informationsgewinnung aus neuen Datenquellen oder das Durchsuchen alter Bestandsdaten - überall werden Machine-Learning-Algorithmen eingesetzt. Doch was halten die Versprechen der großen Anbieter?

Dass Verfahren aus dem Bereich des Machine Learning immer mehr an Bedeutung gewinnen, zeigt unter anderem die aktuelle Ankündigung von Nvidia: Ein eigens für Deep Learning konzipierter Grafikprozessor betreibt demnächst den Supercomputer Nvidia DGX-1. Wer nicht so tief in die Tasche greifen möchte bei den Investitionen oder den Bedarf momentan noch nicht einschätzen kann, greift indes gerne zu Cloud-Lösungen. Amazon Web Services, Google Cloud Plattform, IBM BlueMix und Microsoft Azure sind momentan die Platzhirsche mit ihren Cloud-Plattformen und bieten mittlerweile auch "Machine Learning-as-a-Service" an.

Cloud-Giganten: Amazon Web Services
AWS Umsatz
Im Geschäftsjahr 2015 erzielte AWS einen Umsatz von rund 7,9 Milliarden Dollar. Zum Vergleich: Der Mutterkonzern Amazon verbuchte im Geschäftsjahr 2015 einen Umsatz von rund 107 Milliarden Dollar und ein Betriebsergebnis von 7,88 Milliarden Dollar.
Cloud-Ausprägungen
Die Abgrenzung von Infrastructure, Platform und Software as a Service (IaaS, PaaS, SaaS), die Experton Group sie sieht.
Weltweiter Umsatz mit Public-Cloud-Diensten
Der weltweite Umsatz mit Public-Cloud-Diensten und entsprechender Hard- und Software weist hohe zweistellige Zuwachsraten auf. Das gilt mit einem Plus von 49 Prozent vor allem für Infrastructure as a Service (IaaS).
AWS Services
Übersicht über die Services von AWS: Ausgehend von Kernservices wie Rechenleistung und Speicherressourcen aus der Cloud hat das Unternehmen seit 2007 seine Produktpalette sukzessive erweitert, im Jahr 2015 beispielsweise um Workspaces und Analytics-Applikationen.
AWS Innovationen
AWS steigert sein Angebot an Cloud-Diensten und neuen Funktionen für bestehende Services in rasantem Tempo. So kamen im Jahr 2015 an die 720 Ergänzungen des Produktportfolios hinzu.
AWS im Mittelstand
Laut einer Studie von Crisp Research setzen nicht nur Großunternehmen in Deutschland Cloud-Services von AWS ein, sondern auch mittelständische Unternehmen.
AWS versus Microsoft Azure
AWS versus Microsoft Azure: Ein Vergleich der wichtigsten Services und Funktionen
Umsatzverteilung IaaS-Markt
Umsatzverteilung bei Infrastructure-as-a-Service-Angeboten: Nach Daten der IT-Community Wikibon war AWS im ersten Halbjahr 2015 weltweiter Marktführer im Bereich IaaS-Dienste, die über eine Public Cloud bereitgestellt werden.
Amazon Workspace Application Manager
Mit dem Amazon Workspace Application Manager können Unternehmen Cloud-basierte IT-Arbeitsplätze (Amazon Workspaces) einrichten und mit den benötigten Applikationen bestücken.
Cloud Vendor Benchmark
Der Cloud Vendor Benchmark 2015 der Experton Group sieht AWS in Deutschland im Bereich IaaS-Dienste vor Microsoft. Bei Platform-as-a-Service-Angeboten ist es dagegen umgekehrt.
AWS-Nutzung
Beherrschende Position: Rund 57 Prozent aller Unternehmen und öffentlichen Einrichtungen nutzen zumindest einen Public-Cloud-Dienst von Amazon. Die Daten basieren auf einer Befragung von IT-Fachleuten und Business-Managern in Nordamerika, Europa und Asien/Pazifik.
AWS Infrastruktur
Die Cloud-Infrastruktur von AWS: Derzeit verfügt das Unternehmen über 32 Availability Zones in zwölf Weltregionen, unter anderem in Frankfurt am Main. Weitere fünf Regionen sollen 2016 hinzukommen, davon eine in Europa (Großbritannien).
AWS Marketplace
Über den Marketplace bietet AWS Applikationen und Systemsoftware aller Art an. Anwender können diese über die Amazon-Cloud nutzen.
Cloud-Markt Deutschland
Ein Umsatzwachstum von jährlich 38 Prozent prognostiziert die Marktforschungsgesellschaft Crisp Research für den Cloud-Markt Deutschland bis 2018.
AWS Architektur
Eine typische AWS-Architektur: Die Basis bildet eine virtuelle private Cloud-Umgebung, die der Nutzer über eine Web-Konsole verwaltet. Ergänzend dazu können Unternehmen Web Application Firewalls und weitere virtualisierte Sicherheitssysteme einsetzen, beispielsweise von Anbietern wie Imperva

Die passende Vorhersage

Warum brauchen wir Machine Learning-Algorithmen überhaupt? Nun, sicherlich möchte jeder von uns gerne das Leben möglichst einfach gestalten. Ein großer Schritt in diese Richtung ist die Verwendung von Machine-Learning-Algorithmen. Diese versuchen, Muster in vorhandenen Datenbeständen zu erkennen. Dabei ist es besonders wichtig, die richtigen Muster aufspüren zu wollen - denn man kann in nahezu allen Datenquellen Muster finden und auch Relationen herstellen zu anderen Ereignissen auf der Welt. Stets zu hinterfragen sind jedoch deren Plausibilität und Korrektheit. Wurden sinnvolle Muster erkannt, so kann mit Hilfe von mathematischen Modellen eine Vorhersage auf Grundlage dieser Muster für neue Daten erstellt werden. Das hilft in vielen Bereichen des Lebens und des Geschäfts. Im Leben, da wir uns nicht mehr allzu viel Mühe geben müssen bei der Suche nach neuer Musik, neuen Büchern oder Videos. Im geschäftlichen Umfeld helfen uns die Muster, den Absatz zu steigern, den Gewinn zu erhöhen oder einen besseren Service für die Kunden zu bieten.

Entwickler-Frameworks für Machine Learning
Apache Spark MLlib
Früher als Teil des Hadoop-Universums bekannt, ist Apache Spark mittlerweile ein bekanntes Machine-Learning-Framework. Sein umfangreiches Angebot an Algorithmen wird ständig überarbeitet und erweitert.
Apache Singa
Singa, seit kurzem Teil des Apache Incubator, ist ein Open-Source-Framework, das Deep-Learning-Mechanismen auf große Datenvolumen hin „trainieren“ soll. Singa stellt ein simples Programmierungsmodell für Deep-Learning-Netzwerke bereit und unterstützt dabei diverse Entwicklungsroutinen.
Caffe
Caffe umfasst ein ganzes Set von frei verfügbaren Referenzmodellen für gängige Klassifizierungsroutinen; die gewachsene Caffe-Community steuert weitere Modelle bei. Caffe unterstützt die Nvidia-Programmiertechnik CUDA, mit der Programmteile wahlweise auch durch den Grafikprozessor (GPU) abgearbeitet werden können.
Microsoft Azure ML Studio
Weil die Cloud also die ideale Umgebung für ML-Anwendungen darstellt, hat Microsoft seine Azure-Cloud mit einem eigenen ML-Service auf der Basis von „pay as you go“ ausgestattet: Mit Azure ML Studio können Nutzer KI-Modelle entwickeln und trainieren und anschließend in APIs umwandeln, um diese wiederum Anderen zur Verfügung zur stellen.
Amazon Machine Learning
Amazon Machine Learning arbeitet mit Daten, die in einer Amazon-Cloud wie S3, Redshift oder RDS liegen und kann mithilfe binärer Klassifizierungen und Multiklassen-Kategorisierung von vorgegebenen Daten neue KI-Modelle bauen.
Microsoft DMTK
Das DMTK (Distributed Machine Learning Toolkit) von Microsoft soll ML-Anwendungen über mehrere Maschinen hinweg skalieren. Es ist eher als "Out of the Box"-Lösung gedacht und weniger als Framework - entsprechend gering ist die Anzahl der unterstützten Algorithmen.
Google TensorFlow
TensorFlow basiert auf sogenannten Data-Flow-Graphen, in denen Bündel von Daten („Tensors“) durch eine Reihe von Algorithmen verarbeitet werden, die durch einen Graph beschrieben sind. Die Bewegungsmuster der Daten innerhalb des Systems heißen „Flows“. Die Graphen lassen sich mittels C++ und Python zusammenbauen und via CPU oder GPU verarbeiten.
Microsoft CNTK
Das Microsoft Computational Network Toolkit funktioniert ähnlich wie Google TensorFlow: Neuronale Netze lassen sich durch gerichtete Graphen erzeugen. Microsofts eigener Beschreibung zufolge lässt sich CNTK außerdem mit Projekten wie Caffe, Theano und Torch vergleichen – sei aber schneller und könne im Gegensatz zu den genannten gar parallel auf Prozessor- und Grafikprozessorleistung zugreifen.
Samsung Veles
Das Samsung-Framework ist dazu gedacht, Datensätze zu analysieren und automatisch zu normalisieren, bevor sie in den Produktivbetrieb übergehen – was wiederum durch eine eigene API namens REST sofort möglich ist – vorausgesetzt, die eingesetzte Hardware hat genügend Power. Der Python-Einsatz in Veles umfasst auch ein eigenes Analyse- und Visualisierungstool namens Jupyter (früher IPython) für die Darstellung einzelner Anwendungs-Cluster.
Brainstorm
Brainstorm setzt auf Python, um zwei Data-Management-APIs („Handers“ genannt) bereitzustellen – eine für CPU-Prozessing durch die Bibliothek „Numpy“ und eine für GPU-Verarbeitung via CUDA. Eine benutzerfreundliche GUI ist in Arbeit.
mlpack 2
Die neue Version der in C++ geschriebenen Machine-Learning-Bibliothek mlpack, die erstmals im Jahr 2011 erschien, bringt eine Menge Neuerungen mit – darunter neue Algorithmen und überarbeitete alte.
Marvin
Der Quellcode von Marvin ist sehr übersichtlich - die enthaltenen vortrainierten Modelle (siehe Bild) ermöglichen aber bereits eine umfangreiche Weiterentwicklung.
Neon
Neon von NervanaSystems ist ein Open-Source-Framework, das auf ein- und abschaltbaren Modulen basiert und KI-Prozesse via CPU, GPU oder Nervanas eigener Hardware ermöglicht.

Wo es zum Einsatz kommt

Die meisten Machine-Learning-Algorithmen lassen sich für die folgenden klassischen Anwendungsbereiche nutzen:

• Betrugserkennung bei Transaktionen

• Spamerkennung

• Personalisierung von Inhalten

• Dokumentenklassifizierung

• Prognose der Kundenabwanderung

• Automatisierte Lösungsempfehlung für den Kundendienst

• Sentiment-Analysen (beispielsweise positive / negative Meinungen oder Äußerungen)

• Routing-Entscheidungen von Nachrichten

• Analyse von Upselling-Möglichkeiten

• E-Mail-Klassifizierung

• Diagnosesysteme

• Empfehlungssysteme

• ...

Dem menschlichen Hirn bald ebenbürtig: Machine Learning kommt bereits in vielen Bereichen zum Einsatz.
Foto: a-image - www.shutterstock.com

Um die Anwendungsfälle entsprechend abbilden zu können, steht eine große Toolbox von Machine Learning-Verfahren zur Verfügung. Die gängigsten Verfahren für die oben genannten Einsatzbereiche sind:

• Hauptkomponentenanalyse (PCA)

• Support Vector Machinen (SVM)

• Multi-Klassen und Multi-Label Algorithmen

• Clustering-Verfahren

• Regressionen

• Statistische Funktionen

• Textanalyse

Es stellt sich nun die spannende Frage, welche der verschiedenen Verfahren die relevanten Cloud-Player auf ihren Plattformen in welchem Modell anbieten.

Vier Anbieter – vier Strategien?

Gibt es eine einfache Nutzung von Machine Learning-Verfahren in der Cloud? Dies ist die Frage, welche uns entweder zu einem mächtigen Werkzeug verhilft oder in die Tiefen der Anbieter drängt und unsere Abhängigkeit stärkt. Amazon Machine Learning, Microsoft Azure Machine Learning, IBM Bluemix und Google Prediction API sind die vier Angebote in der Cloud, welche nutzungsbasierten Zugang zu Machine-Learning-Diensten über die Public Cloud bieten.

IBM Cloud Portfolio mit Softlayer und Bluemix
Bluemix Hybrid-Szenario
Beispiel zum Einsatz von Bluemix in einem hybriden Szenario
Public Cloud Markt
Im Public-Cloud-Markt kann IBM derzeit nicht mit den Branchenriesen Amazon Web Services und Microsoft Azure mithalten.
Bluemix Web
Bluemix Weboberfläche
Bluemix Mobile
Das Bluemix Microservice-Portfolio für mobile Anwendungen.
IBM Cloud
Open-Source-Technologien in der IBM Cloud
IBMs Cloud Portfolio
Der IBM Cloud-Portfolio-Stack
Softlayer Cloud
Die verschiedenen Softlayer Deployment-Varianten
Softlayer Web
Softlayer Weboberfläche

Auffallend ist, dass alle Anbieter einen relativ einfachen und kostengünstigen Einstieg ermöglichen. Amazon bietet eine gute User Experience, wenn es um die Nutzung von Machine Learning-Diensten geht. Der Nutzer braucht wenig Wissen aus dem Bereich des Machine Learning und kann dennoch über die Weboberfläche Modelle erstellen, welche dann in die eigenen Produkte und Lösungen integriert werden können. Bei IBM und Google sind die Predictive-Dienste ein wenig Code-lastiger und auch die Auswahl von Features und Labels erfolgt hier über die API.

AWS verfolgt beim Machine Learning einen praxis- und entwicklerbezogenen Ansatz, während IBM, Google und vor allem Microsoft mehr in Richtung der Zielgruppe Data Scientists und des modellbezogenen Zugangs gehen.
Foto: Crisp Research

Bei Microsoft funktioniert der Zugang nach einem anderen Ansatz. Hier bekommt der Nutzer ein graphisches Programmiermodell an die Hand, welches einen Zugang zu Prozessen von Machine Learning ermöglicht. Über Pipelines werden dann die einzelnen Schritte definiert und gegebenenfalls auch durch eigenen Code erweitert. Der fertige Workflow kann dann als Service gestartet werden und wartet dann, wie bei allen anderen Anbietern auch, auf frische Daten, damit das trainierte Modell seine Vorhersage treffen kann.

Cloud-Giganten: Microsoft Azure
Azure Microsoft Cloud Deutschland
Cloud-Dienste "Made in Germany" bietet Microsoft seit Mitte 2016 an. Dazu wurden zwei Rechenzentren in Frankfurt am Main und Magdeburg in Betrieb genommen.
Azure Cloud: Nadella in Deutschland
Satya Nadella, CEO von Microsoft bei der Präsentation der Deutschland-Cloud in Berlin im November 2015: "Unser Ansatz besteht darin, eine hoch skalierbare Public Cloud aufzubauen. Wir bieten unseren Kunden eine echte hybride und verteilte Computing-Plattform."
Azure Paired Region
Höhere Ausfallsicherheit durch "Paired Regions": Nutzer von Azure-Cloud-Diensten können Daten sowie Ressourcen wie Virtual Machines und Datenbanken zwischen zwei Rechenzentren von Microsoft replizieren. Beide liegen in benachbarten Regionen, etwa West- und Nordeuropa, müssen aber mindestens 300 Meilen voneinander entfernt sein.
Azure Marketplace
Ebenso wie Amazon Web Services und andere Cloud Service Provider hat Microsoft auf Azure einen Marktplatz für Produkte von Drittanbietern eingerichtet.
Microsoft Cloud Treuhändermodell
In Deutschland hat Microsoft eine separate Azure-Cloud-Infrastruktur aufgebaut. Zugriff auf die Kundendaten hat ausschließlich ein zwischengeschalteter Treuhänder, in diesem Fall T-Systems.
Alex Stüger
Alex Stüger, stellvertretender Vorsitzender der Geschäftsführung von Microsoft Deutschland: "Die Verknüpfung unserer Microsoft-Cloud-Plattform mit deutscher Infrastruktur und deutschem Datentreuhänder ist aus unserer Sicht am Markt einzigartig."

Ist Machine Learning als Dienst "Cloud-ready"?

In der Tat! Entwickler und Data Scientists können Ihre Machine-Learning-Verfahren für unterschiedliche Anwendungsszenarien direkt in der Cloud nutzen und ausführen. Je nach eigenem Bedarf bieten die Anbieter Zugriff auf die unterschiedlichen Algorithmen, die natürlich am liebsten aus den eigenen Storage-Angeboten befüllt werden.Microsoft bietet eine gute User Experience für Machine-Learning-Prozesse als graphisches Programmiermodell und ermöglicht den Eingriff an jeder Stelle der Pipeline. Damit hat Microsoft das umfangreichste und flexibelste Angebot aus dem Bereich Machine Learning.

AmazonMachine Learning versucht, Machine-Learning-Prozesse zu vermeiden und dem Entwickler eine Art Blackbox für Machine-Learning-Anwendungsszenarien anzubieten. Damit haben auch weniger erfahrene Entwickler die Möglichkeit je nach Anwendungsbereich einen entsprechenden Dienst auszugestalten und dann das Modell trainieren zu lassen und in die eigene Anwendung zu integrieren.

IBM und Googleermöglichen einen Zugang zum Machine Learning über APIs und setzen mehr Verständnis von der Materie voraus. Angemerkt sei noch, dass dieser Analyst View sich allein auf die Machine-Learning-Angebote beschränkt und beispielsweise nicht näher auf die kognitiven Dienste der Anbieter eingeht. Dies folgt in einem späteren Beitrag, der sich auch mit den definitorischen Abgrenzungen von Machine Learning, Deep Learning und Cognitive Computing auseinandersetzt.

Empfehlung für den Einstieg: Start small and scale

Zusammenfassend lässt sich konstatieren, dass es Digitalisierungsentscheider, Data Scientists und Cloud-Profis noch nie so leicht hatten, ihre dynamisch steigenden Datenmengen mit Verfahren des Machine Learning beziehungsweise der Künstlichen Intelligenz zu verarbeiten, zu analysieren und neue wertschöpfende Prozesse und Geschäftsmodelle zu etablieren. Die Einstiegshürde wird durch die Machine-Learning-Angebote der großen Public Cloud-Provider sehr niedrig gelegt. Die Angebote haben vor allem den Charme des "start small" und echter Skalierbarkeit.

Während die Berechnung des ROI (Return on Investment) für eine eigene Machine-Learning-Infrastruktur immer mit Risiken behaftet ist, lässt sich in der Cloud "gemütlich" nach oben oder unten skalieren - je nachdem wie erfolgreich die Analysen und Projekte im eigenen Unternehmen verlaufen. Trotzdem sollte man sich vor dem Einstieg noch intensiver mit den jeweiligen Plattformen und Dienste auseinandersetzen, da deren Angebote, Kostenstruktur und User Experience doch recht unterschiedlich ausfallen. (sh)