Machine Learning Services werden von vielen Providern in unterschiedlichen Ausübungen offeriert. Eine Vielzahl von Datenanalytikern entwickeln Machine Learning Modelle, die jedoch bei der Auswahl des geeigneten Machine Learning Service auf eine schwierige Entscheidung stoßen. Diese Arbeit bewertet die marktführenden Cloud-fähigen Machine Learning Services. Dabei handelt es sich um die Anbieter Amazon Web Services, Google Cloud und Microsoft Azure. Hierzu wird die Vorgehensweise einer Prototypentwicklung angewandt. Der Prototyp bedient sich dabei dem Anwendungsfall einer Sentiment Analyse gestreamter Twitter Daten. Unter Verwendung des Frameworks TensorFlow wird der Prototyp auf den ausgewählten Machine Learning Services in mehreren Versuchen trainiert.
In einer Nutzwertanalyse werden die Services auf unterschiedliche Kriterien geprüft. Das Ergebnis der Evaluierung ist die Entscheidung für den Cloud Provider Amazon Web Services. Amazon stellt mit einem AWS Deep Learning AMI die optimalen Bedingungen bereit, um eine Machine Learning Applikation mit GPU-Beschleunigung effizient zu entwickeln. Neben Amazon Web Services stellt Microsoft Azure eine weitere Option dar, die in der Analyse ebenfalls vorteilhafte Merkmale aufweist.
Die drei Säulen zukünftiger IT-Technologien bilden Big Data, Cloud Computing und Machine Learning. Eine Kombination der Technologien leitet eine neue Ära der Künstlichen Intelligenz ein - Deep Learning. Personen und Prozesse generieren stetig neue Daten und lassen das Datenvolumen wachsen. Was zunächst als große Herausforderung galt, wandelte sich schnell in eine Chance die Machine Learning Methoden mit diesen großen Datenmengen zu füttern. Nach dem Mooreschen Gesetz verdoppelt sich die Komplexität integrierter Schaltkreise regelmäßig, wodurch die Machine Learning Modelle auf leistungsfähigen Prozessoren eingesetzt werden können.
Inhaltsverzeichnis
1. Motivation
2. Theoretische Grundlagen
2.1. Big Data
2.2. Cloud Computing
2.3. Machine Learning
2.3.1. Deep Learning
2.3.2. Künstliche Neuronale Netze
2.3.3. Machine Learning in der Praxis
2.4. Google TensorFlow
2.4.1. Tensoren
2.4.2. Graphen/Dataflowgraphen
2.4.3. Operationen
2.4.4. Sessions
2.4.5. Variablen
2.4.6. Initialisierung
2.4.7. Netzwerkarchitektur
2.4.8. Kostenfunktion
2.4.9. Hyperparameter
2.4.10. Optimierer
2.4.11. Training
2.4.12. TensorBoard
3. Konzeption des Prototyps
3.1. Zielbestimmung
3.2. Sentiment Analyse
3.2.1. Use Cases
3.3. Konzeption eines ausgewählten Use Cases
3.4. Anforderungen
4. Implementierung des Prototyps
4.1. Systemarchitektur
4.1.1. Systemkontext
4.1.2. Systemkomponenten
4.2. Realisierung der Big Data Stream Komponente
4.2.1. Apache Flink Framework
4.2.2. Beschreibung der Twitter-Datenquelle
4.2.3. Apache Kafka
4.2.4. Datenverarbeitung
4.3. Realisierung der Machine Learning Komponente
4.3.1. Beschreibung der Datenquellen
4.3.2. Vorverarbeitung der Daten
4.3.3. Definition des neuronalen Netzes
4.3.4. Training des neuronalen Netzes
4.3.5. Optimierungsverfahren
4.3.6. Graph in TensorBoard
4.4. Interaktion beider Komponenten
4.4.1. Aufbau der Front-End Applikation
5. Services
5.1. Machine Learning as a Service
5.1.1. Definition von MLaaS
5.1.2. Möglichkeiten mit MLaaS
5.1.3. Auswahl der MLaaS Provider
5.2. Google Cloud Platform
5.2.1. Produkte und APIs
5.2.2. Kosten
5.2.3. Maschinentypen
5.2.4. Verwendung der Google Cloud ML Engine
5.2.5. Monitoring des Jobs
5.2.6. Trainingsergebnis
5.3. Amazon Web Services
5.3.1. AWS Deep Learning AMI
5.3.2. Kosten
5.3.3. Verwendung des Deep Learning AMIs
5.3.4. Trainingsergebnis
5.4. Microsoft Azure
5.4.1. Azure Virtual Maschines
5.4.2. Kosten
5.4.3. Verwendung der Azure NC Virtual Machine
5.4.4. Trainingsergebnis
6. Evaluation der Services
6.1. Definition der Bewertungskriterien
6.2. Bewertung der Machine Learning Services
6.2.1. Statistische Bewertungskriterien
6.2.2. Erfahrungsbasierte Bewertungskriterien
6.2.3. Quellenbasierte Bewertungskriterien
6.3. Evaluierung der Services
6.3.1. Grundlagen der Nutzwertanalyse
6.3.2. Durchführung der Nutzwertanalyse
6.4. Fazit und Ausblick
Zielsetzung & Themen
Diese Arbeit zielt darauf ab, die führenden Cloud-basierten Machine Learning Services (Amazon Web Services, Google Cloud Platform und Microsoft Azure) im Hinblick auf ihre Eignung für Deep-Learning-Anwendungen systematisch zu bewerten. Durch die Implementierung eines Prototypen, der eine Sentiment-Analyse auf Twitter-Daten durchführt, werden die Services unter vergleichbaren Bedingungen trainiert und evaluiert.
- Vergleich und Evaluierung von MLaaS-Anbietern (AWS, GCP, Azure)
- Entwicklung einer Machine-Learning-Pipeline (Deep Learning mit TensorFlow)
- Technische Analyse von Cloud-Infrastrukturen und Service-Architekturen
- Durchführung einer Nutzwertanalyse zur Entscheidungsunterstützung
- Optimierung von Trainingsprozessen unter Cloud-Bedingungen
Auszug aus dem Buch
2.3.1. Deep Learning
Als Teilbereich des Machine Learning wurde dem Deep Learning eine große Bedeutung im Einfluss unserer Zukunft zugesprochen. Erst die Weiterentwicklung vom Maschinellen Lernen zum Deep Learning erhöht das Potential in dieser Technologie und macht sie interessant. Was zunächst als große Herausforderung galt, wandelte sich schnell in eine große Chance, die entwickelten Deep Learning Technologien mit noch größeren Datenmengen und Softwarearchitekturen einzusetzen. Es gibt immer leistungsfähigere Hardware, die durch den Einsatz von Parallelverarbeitung der Daten die Rechenoperationen schneller durchführen kann.
Da sich nach dem Mooreschen Gesetz die Komplexität integrierter Schaltkreise regelmäßig verdoppelt, werden die Prozessoren leistungsfähiger. Clouddienstleister bieten derartige Prozessoren und Infrastrukturen als Serivces an, sodass jeder in der Lage ist mit wenig Budget Machine Learning unter Eingabe großer Datenmengen und unter Verwendung von GPUs zu betreiben.
Beim Deep Learning werden künstliche neuronale Netze, die auch deep neural networks genannt werden, verwendet um einen noch effektiveren Lernfortschritt zu erhalten, wie es beim Machine Learning der Fall ist. Man kann also sagen, dass das sich am Beginn seiner Entwicklung befindende Deep Learning auf dem Ansatz des Maschinellen Lernens aufbaut und es sich um eine weitere Lernmethode im Rahmen des Maschine Learnings handelt. Im Gegensatz zum Maschinellen Lernen teilt das Deep Learning den Lernprozess in beliebig viele geordnete Ebenen ein.
Zusammenfassung der Kapitel
1. Motivation: Einleitung in die Relevanz von Deep Learning und die Notwendigkeit einer Evaluierung von Cloud-basierten ML-Services.
2. Theoretische Grundlagen: Erläuterung der Kernkonzepte von Big Data, Cloud Computing und Machine Learning, inklusive einer detaillierten Einführung in das Framework TensorFlow.
3. Konzeption des Prototyps: Definition der Zielbestimmung, des gewählten Use-Cases (Sentiment Analyse von Twitter-Daten) und der Anforderungen an das System.
4. Implementierung des Prototyps: Technische Beschreibung der Systemarchitektur, der Realisierung der Daten-Pipeline (Big Data & ML) und der Netzarchitektur.
5. Services: Detaillierte Darstellung der Cloud-Anbieter, ihrer Preismodelle und der Vorgehensweise zur Implementierung des Prototyps auf den jeweiligen Plattformen.
6. Evaluation der Services: Durchführung und Auswertung der Nutzwertanalyse sowie abschließendes Fazit und Ausblick.
Schlüsselwörter
Machine Learning, Deep Learning, Cloud Computing, Sentiment Analyse, TensorFlow, Big Data, Amazon Web Services, Google Cloud Platform, Microsoft Azure, Prototyping, Nutzwertanalyse, GPU-Beschleunigung, Künstliche Neuronale Netze, Twitter-API, Datenverarbeitung
Häufig gestellte Fragen
Worum geht es in dieser Bachelorarbeit grundsätzlich?
Die Arbeit bewertet die marktführenden Cloud-basierten Machine-Learning-Dienste (AWS, Google Cloud, Azure) im Hinblick auf ihre Leistungsfähigkeit bei der Entwicklung und dem Training von Deep-Learning-Modellen.
Was sind die zentralen Themenfelder der Arbeit?
Die zentralen Felder umfassen Cloud Computing, Big Data, die Funktionsweise neuronaler Netze, das Framework TensorFlow und die praktische Evaluation von ML-Services in der Cloud.
Was ist das primäre Ziel der Forschungsarbeit?
Das primäre Ziel ist es, Entwicklern und Datenanalytikern eine Entscheidungsgrundlage für die Auswahl des optimalen Cloud-Providers zu bieten, basierend auf einer objektiven Nutzwertanalyse.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine Prototypentwicklung angewandt, bei der ein einheitliches Deep-Learning-Modell (Sentiment Analyse) auf verschiedenen Cloud-Plattformen trainiert und anschließend mittels einer Nutzwertanalyse evaluiert wird.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die theoretischen Grundlagen, die Konzeption und Implementierung des Prototyps (inkl. Data-Streaming mit Apache Flink und ML mit TensorFlow) sowie die detaillierte Evaluierung der gewählten Services.
Welche Begriffe charakterisieren diese Arbeit besonders?
Charakterisierende Begriffe sind MLaaS (Machine Learning as a Service), TensorFlow, Deep Learning, Cloud-Infrastruktur, Skalierbarkeit und Test-Accuracy.
Warum wurde TensorFlow als Framework für den Prototypen ausgewählt?
TensorFlow wurde gewählt, da es ein führendes Open-Source-Framework für maschinelle Intelligenz ist und auf allen untersuchten Cloud-Plattformen umfassende Unterstützung bietet.
Welches Ergebnis liefert die Nutzwertanalyse am Ende der Arbeit?
Die Nutzwertanalyse ergibt, dass Amazon Web Services mit dem Deep Learning AMI den höchsten Nutzwert erzielt, wobei auch Microsoft Azure aufgrund seiner Performance und Kosteneffizienz eine starke Alternative darstellt.
- Arbeit zitieren
- Kevin Widholm (Autor:in), 2018, Bewertung von aktuellen Machine Learning Services basierend auf Big Data und Cloud, München, GRIN Verlag, https://www.grin.com/document/1035067