Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-15472
For citation please use:
Main Title: Materialization and reuse optimizations for machine learning workloads
Translated Title: Materialisierungs- und Wiederverwendungsoptimierungen für Machine-Learning-Workloads
Author(s): Derakhshan, Behrouz
Advisor(s): Markl, Volker
Rabl, Tilmann
Referee(s): Markl, Volker
Rabl, Tilmann
Binnig, Carsten
Müller, Klaus-Robert
Granting Institution: Technische Universität Berlin
Type: Doctoral Thesis
URI: https://depositonce.tu-berlin.de/handle/11303/16694
http://dx.doi.org/10.14279/depositonce-15472
License: https://creativecommons.org/licenses/by/4.0/
Abstract: Machine learning (ML) is becoming increasingly ubiquitous in industrial and scientific applications. The life cycle of ML applications consists of analyzing the input data, preprocessing and feature engineering, model selection and hyperparameter tuning, and deploying the models and pipelines for inference. Designing ML pipelines is an iterative process. Data scientists experiment with different preprocessing and feature engineering operations, ML models and hyperparameters, and evaluate the performance of each configuration. Furthermore, the deployed pipelines are continuously improved by retraining when new data becomes available. The iterative and continuous nature of ML workloads results in redundant and overlapping data processing and model training operations. This thesis identifies three important settings where redundant and overlapping computations result in significantly higher execution costs and waste of resources. The workloads in each setting exhibit similar types of computational redundancies. We propose a suite of techniques to optimize the execution of the workloads in each setting via materialization and reuse of the redundant and overlapping computations. Our solution is inspired by database optimization techniques, such as materialized view selection and multi-query optimization. The first setting we investigate is ML workloads in collaborative environments. In a collaborative setting, multiple data scientists collaborate and build on each other’s work to incrementally improve the design of ML pipelines. In our solution, we first estimate the materialization benefit of the generated artifacts (i. e., preprocessed data, extracted features, and trained models). Then, we materialize the artifacts with the highest benefits under a storage constraint. We base the materialization benefit on several criteria, such as computation time, size, and performance of the ML models. The second setting involves continuous training of a deployed ML pipeline. After the design and hyperparameter tuning of a pipeline, data scientists deploy the pipeline for answering prediction queries. The most common approach to maintain the model accuracy is to retrain the model on the combination of the historical data and newly available data. Our solution materializes the generated features of the pipeline. Furthermore, we introduce Proactive Training, which replaces the full retraining of the pipeline. In proactive training, we update the deployed model in-place by continuously applying iterations of mini-batch stochastic gradient descent optimization. The third identified setting is the multi-pipeline deployment and continuous training. In this setting, data scientists deploy multiple pipelines into a production environment and retrain them following a schedule. This is a common scenario for performing A/B testing or ensemble learning. After an execution, every pipeline operator generates some artifacts, i. e., computed statistics, transformed data, or ML models. Our solution employs a materialization algorithm that given a storage budget, materializes the subset of the artifacts, which minimizes the run time of the subsequent executions. Furthermore, we propose a reuse algorithm that generates an optimal execution plan. The reuse algorithm operates on three principles. First, it shares the computation of the similar operators of the ML pipelines. Second, it reuses the materialized artifacts when appropriate. Third, it recognizes a distribution shift in data and adjusts the execution plan accordingly. The outcome of the thesis is a set of techniques to efficiently execute ML workloads by leveraging the materialization and reuse of the artifacts (i. e., features, computed statistics, and ML models) in different settings. Our proposed optimization techniques can improve the execution time by up to one order of magnitude in different settings.
Maschinelles Lernen (ML) wird in industriellen und wissenschaftlichen Anwendungen zunehmend präsenter. Der Lebenszyklus von ML-Anwendungen umfasst die Analyse der zugeführten Rohdaten und deren Vorverarbeitung, Feature-Engineering, die Modellauswahl und die Abstimmung der Hyperparameter sowie den Einsatz der Modelle und Pipelines für die Inferenz. Die Entwicklung von ML-Pipelines ist ein iterativer Prozess. Datenwissenschaftler*innen experimentieren mit verschiedenen Konfigurationen, wie z.B. Vorverarbeitungsschritte, Feature-Engineering-Vorgänge, ML-Modelle und Hyperparameter, und bewerten anschließend deren Leistung. Bereits eingesetzte Pipelines werden bei Verfügbarkeit von neuen Daten neu trainiert und können damit kontinuierlich verbessert werden. Die iterative Entwicklung sowie die kontinuierliche Weiterentwicklung von ML-Workloads führt zu redundanten und sich überschneidenden Datenverarbeitungs- und Modelltrainingsoperationen. In dieser Arbeit werden drei Szenarien identifiziert, in denen redundante und überlappende Berechnungen zu deutlich höheren Ausführungskosten sowie Ressourcenverschwendung führen. Die Arbeitslasten in allen drei Szenarien weisen ähnliche Arten von Rechenredundanzen auf. Unsere Lösung nutzt eine Reihe von Techniken um die Ausführung der Arbeitslasten in jedem Szenario durch Materialisierung und Wiederverwendung der redundanten und überlappenden Berechnungen zu optimieren. Die genutzten Techniken sind inspiriert von Methoden zur Datenbankoptimierung, wie beispielsweise der Auswahl materialisierter Ansichten und der Optimierung mehrerer Abfragen. Das erste von uns untersuchte Szenario sind ML-Workloads in kollaborativen Umgebungen. In einer kollaborativen Umgebung arbeiten mehrere Datenwissenschaftler*innen zusammen und bauen ihre Arbeit aufeinander auf, um das Design von ML-Pipelines schrittweise zu verbessern. In unserer Lösung schätzen wir zunächst den Nutzen der Materialisierung einzelner generierten Artefakte (d. h. vorverarbeitete Daten, extrahierte Merkmale und trainierte Modelle). Anschließend materialisieren wir die Artefakte mit dem höchsten Nutzen unter Berücksichtigung einer Speicherbeschränkung. Der Nutzen der Materialisierung basiert auf mehreren Kriterien, wie z. B. Rechenzeit, Größe und Leistung der ML-Modelle. Das zweite Szenario umfasst das kontinuierliche Training einer eingesetzten ML-Pipeline. Nach dem Entwurf und der Abstimmung der Hyperparameter einer Pipeline setzen Datenwissenschaftler*innen die Pipeline zur Beantwortung von Vorhersageanfragen ein. Der gängigste Ansatz zur Aufrechterhaltung der Modellgenauigkeit besteht darin, das Modell anhand einer Kombination aus historischen und neuen Daten neu zu trainieren. Unsere Lösung materialisiert die generierten Merkmale der Pipeline. Darüber hinaus führen wir Proactive Training ein. Proactive Training nutzt die kontinuierlichen Iterationen der stochastischen Mini-Batch-Gradientenabstiegsoptimierung, um das eingesetzte Modell an Ort und Stelle zu aktualisieren. Das dritte identifizierte Szenario ist der Einsatz mehrerer Pipelines und kontinuierliches Training. In diesem Fall setzen Datenwissenschaftler*innen mehrere Pipelines in einer Produktionsumgebung ein und trainieren diese nach einem bestimmten Zeitplan neu. Dies ist ein gängiges Szenario für die Durchführung von A/B-Tests oder Ensemble-Learning. Nach einer Ausführung erzeugt jeder Pipeline-Operator einige Artefakte, d. h. berechnete Statistiken, transformierte Daten oder ML-Modelle. Unsere Lösung verwendet einen Materialisierungsalgorithmus, der eine Teilmenge der erzeugten Artefakte materialisiert. Dabei wählt der Algorithmus Artefakte aus, welche die Laufzeit der nachfolgenden Ausführungen minimieren, und berücksichtigt ein gegebenes Speicherbudget. Außerdem enthält unsere Lösung einen Wiederverwendungsalgorithmus, der nach drei Prinzipien arbeitet. Erstens kombiniert er die Berechnung der ähnlichen Operatoren der ML-Pipelines. Zweitens werden die materialisierten Artefakte wiederverwendet, wenn dies sinnvoll ist. Drittens erkennt er eine Verteilungsverschiebung in den Daten und passt den Ausführungsplan entsprechend an. Dadurch generiert der Wiederverwendungsalgorithmus einen optimalen Ausführungsplan. Das Ergebnis dieser Arbeit ist eine Reihe von Techniken zur effizienten Ausführung von ML-Workloads durch Nutzung von Materialisierungsverfahren und Wiederverwendung von erzeugten Artefakte (d. h. Merkmale, berechnete Statistiken und ML-Modelle) in verschiedenen Szenarien. Die von uns vorgeschlagenen Optimierungstechniken können die Ausführungszeit in den drei verschiedenen Szenarien um bis zu einer Größenordnung verbessern.
Subject(s): machine learning
materialization
reuse
data science
query optimization
maschinelles Lernen
Materialisierung
Wiederverwendung
Datenwissenschaft
Anfrageoptimierung
Issue Date: 2022
Date Available: 18-May-2022
Exam Date: 29-Mar-2022
Language Code: en
DDC Class: 004 Datenverarbeitung; Informatik
TU Affiliation(s): Fak. 4 Elektrotechnik und Informatik » Inst. Softwaretechnik und Theoretische Informatik » FG Datenbanksysteme und Informationsmanagement (DIMA)
Appears in Collections:Technische Universität Berlin » Publications

Files in This Item:
derakhshan_behrouz.pdf
Format: Adobe PDF | Size: 2.86 MB
DownloadShow Preview
Thumbnail

Item Export Bar

This item is licensed under a Creative Commons License Creative Commons