Eine Serverless-Plattform für automatisiertes Machine-Learning
Warum ich mich diesem Thema widme, und wie ich zu meiner Lösung kommen werde (20.06.2022)
Förderjahr 2021 / Stipendien Call #16 / ProjektID: 5884 / Projekt: A Serverless Platform for Automated Machine Learning

Meine Hintergründe und Motivation für dieses Thema

Mit dem Aufkommen des Cloud Computing sind viele neue Rechenparadigmen entstanden, die die Vorteile der schnellen Bereitstellung virtualisierter Ressourcen durch Cloud-Anbieter nutzen. Die beiden grundlegendsten darauf bauenden Paradigmen sind PaaS (Platform-as-a-Service) und IaaS (Infrastructure-as-a-Service), die es Entwicklern ermöglichen, Anwendungen zu entwickeln, ohne selbst eine Plattform oder die erforderliche Infrastruktur zu verwalten. Serverless Computing führt diese Idee noch weiter, indem es die die Notwendigkeit der Verwaltung von Kontext und Zustand auf Seiten des Entwicklers abschafft.

Sogenannte Serverless-Plattformen, bieten typischerweise die Ausführung von Functions-as-a-Service (FaaS) an, wie AWS Lambda, und Cloud-verwaltete Dienste für Speicherzwecke, wie Amazon S3. Die Funktionen werden durch vom Cloud-Anbieter angebotene "Trigger" gestartet und erhalten Daten von den Speicherdiensten. Für jede Anfrage an eine Serverless-Anwendung startet die Serverless-Plattform eine Instanz der Funktion, die für die Bearbeitung der Anfrage zuständig ist. Aufgrund dieser Aufteilung bietet Serverless-Computing die Möglichkeit, nur für die tatsächliche Laufzeit der Business-Logik zu bezahlen.

Die (bewusste) Unflexibilität der aktuellen Serverless-Plattformen kann jedoch ein Hindernis für die Entwicklung innovativer Software sein, weil sie für datenintensive Aufgaben nicht ideal ist. Die zwei wesentlichen Einschränkungen, die Cloud-Anbieter derzeit bei ihren serverlosen Angeboten haben, sind, dass die Datenübertragung langsam ist und dass keine spezialisierte Hardware verwendet werden kann. Diese Einschränkungen sind der Grundidee des Serverless-Computing nicht inhärent, und aktuelle Studien schlagen Optimierungen für den Umgang mit Daten in diesem Paradigma vor. Zum Beispiel können Funktionen, die auf denselben Daten arbeiten, auf der gleichen Hardware "nahe" zu diesen Daten ausgeführt werden. Um dies zu erreichen, müssen Serverless-Funktionen mit Metadaten versorgt werden, die dann vom Scheduler verwendet werden. Mit dieser Idee der Metadaten auf Funktionen kann man nicht nur die Lage der Daten berücksichtigen, man kann ebenso aussuchen auf was für einer Hardware-Plattform die Funktionen ausgeführt werden sollen (z.B. die Verfügbarkeit einer Grafikkarte voraussetzen, welche für viele ML-Anwendungen wichtig sind).

Problemfelder aktueller Serverless-Plattformen

Generell ist eine  Automatisierung des Machine-Learning ein Ziel, das sowohl von der Wissenschaft als auch von der  Industrie verfolgt wird. Allerdings scheint der Schwerpunkt der aktuellen Forschung im Bereich AutoML eher in Richtung Modellgenerierung als in Richtung Modellmanagement und Inferenz zu gehen.  Es gibt zwar Optimierungen des serverlosen Ausführungsmodells für maschinelles Lernen, aber die vorgeschlagenen Plattformen fokussieren sich entweder auf die Unterstützung spezialisierter Hardware oder auf die Entwicklung oder das Training von ML-Modellen statt auf die Inferenz.

Mein Ansatz und Ziel

Das Ziel dieser Arbeit ist es, die notwendigen Komponenten für eine Serverless-Machine-Learning-Funktionsausführung zu konzipieren und zu implementieren, die von bestehenden - akademischen oder industriellen - Serverless-Plattformen außer Acht gelassen werden. Vor allem werde ich eine Metarepräsentation für Serverless-Funktionen für Machine Learning entwickeln, die Modellparameter berücksichtigt, wie wie z. B. die Art des Modells, die Genauigkeit oder die Art der Daten, mit denen es arbeitet. Ich werde auch analysieren ob diese Repräsentation mit bereits etablierten Serverless-Plattformen kompatibel sein kann. Um die Einfachheit des Serverless-Paradigmas beizubehalten, werde ich Abstraktionen und Funktionen auf bereits bestehender Middleware einführen, um die Transparenz der Infrastruktur für Funktionsentwickler zu gewährleisten.

In Bezug auf die Modellverwaltung werde ich mehrere Speicherkonfigurationen analysieren und berücksichtigen. Insbesondere werde ich Unterschiede zwischen der Speicherung der Modelle zusammen mit den Daten, auf denen sie operieren, oder getrennt von den Daten beobachten. Die Nützlichkeit der Anbindung bestehender Speicherlösungen, wie Amazon S3, wird ebenfalls Gegenstand der Bewertung. Um eine automatische Modellauswahl für Funktionen zu ermöglichen, benötigen die Modelle zunächst ein Klassifikationsschema, das ich ebenso entwickeln werde. Nach der Klassifizierung kann das Scheduling mit Algorithmen unterschiedlicher Komplexität geschehen. Der Nutzen der Algorithmen wird ebenfalls einer empirischen Bewertung unterzogen werden.

Schema meines Ansatzes

 

Tags:

Serverless Computing Machine Learning Cloud computing Amazon Web Services
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: