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
- Zusammenfassung / Abstract
- 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. Tensor Board
- 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
- 4.1. Systemarchitektur
- 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
- 5.1. Machine Learning as a Service
- 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
Zielsetzung und Themenschwerpunkte
Die vorliegende Bachelorarbeit befasst sich mit der Evaluation von Machine Learning Services, die auf Big Data und Cloud Computing basieren. Ziel ist es, die marktführenden Cloud-fähigen Machine Learning Services zu bewerten und einen geeigneten Provider für die Entwicklung von Machine Learning Applikationen zu identifizieren. Hierfür wird ein Prototyp entwickelt, der eine Sentimentanalyse von Twitter-Daten durchführt und auf den ausgewählten Machine Learning Services trainiert wird.
- Big Data und Cloud Computing als Grundlage für Machine Learning Services
- Bewertung von Machine Learning Services der Anbieter Amazon Web Services, Google Cloud und Microsoft Azure
- Entwicklung eines Prototyps für die Sentimentanalyse von Twitter-Daten
- Einsatz des Frameworks TensorFlow für das Training des Prototyps
- Nutzwertanalyse der Machine Learning Services anhand verschiedener Kriterien
Zusammenfassung der Kapitel
Die Arbeit beginnt mit einer Motivation für die Evaluation von Machine Learning Services. In Kapitel 2 werden die theoretischen Grundlagen zu Big Data, Cloud Computing und Machine Learning erläutert. Dabei wird auch auf das Framework TensorFlow eingegangen, das für die Entwicklung des Prototyps verwendet wird. Kapitel 3 beschäftigt sich mit der Konzeption des Prototyps, einschließlich der Zielbestimmung und der Sentimentanalyse. Kapitel 4 beschreibt die Implementierung des Prototyps, wobei die Systemarchitektur, die Realisierung der Big Data Stream Komponente und die Realisierung der Machine Learning Komponente behandelt werden. Kapitel 5 präsentiert die einzelnen Machine Learning Services der Anbieter Google Cloud Platform, Amazon Web Services und Microsoft Azure. Dabei werden die Produkte, Kosten, Maschinentypen, Trainingsergebnisse und weiteren relevanten Aspekte beleuchtet. Abschließend erfolgt in Kapitel 6 die Evaluation der Services anhand verschiedener Kriterien, um den optimalen Cloud Provider für die Entwicklung von Machine Learning Applikationen zu identifizieren.
Schlüsselwörter
Machine Learning, Big Data, Cloud Computing, Sentimentanalyse, Twitter-Daten, TensorFlow, Amazon Web Services, Google Cloud Platform, Microsoft Azure, Prototypentwicklung, Nutzwertanalyse.
- Quote paper
- Kevin Widholm (Author), 2018, Bewertung von aktuellen Machine Learning Services basierend auf Big Data und Cloud, Munich, GRIN Verlag, https://www.grin.com/document/1035067