dc.contributor.author | Καλεμκερής, Φοίβος Ευστράτιος![]() |
el |
dc.contributor.author | Kalemkeris, Phoevos![]() |
en |
dc.date.accessioned | 2023-01-13T08:26:51Z | |
dc.date.available | 2023-01-13T08:26:51Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/56657 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.24355 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.subject | Kubeflow | en |
dc.subject | Split Pipelines | en |
dc.subject | Data Migration | en |
dc.subject | Caching | en |
dc.subject | Kubernetes | en |
dc.subject | Μηχανική Μάθηση | el |
dc.subject | Ροές Εργασίας | el |
dc.subject | Μετάδοση Δεδομένων | el |
dc.title | Ενορχήστρωση για Γεωγραφικά Κατανεμημένη Εκτέλεση Ροών Εργασίας Μηχανικής Μάθησης σε Πολλαπλούς Κυβερνήτες με την Πλατφόρμα Kubeflow | el |
dc.title | Orchestration for the Geo-Distributed Execution of ML Workflows on Multiple Kubernetes Clusters with Kubeflow | en |
heal.type | bachelorThesis | |
heal.classification | Computer Engineering | en |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2022-10-17 | |
heal.abstract | Η ανάπτυξη ροών εργασίας μηχανικής μάθησης είναι μια δύσκολη και χρονοβόρα διαδικασία, ενώ η διαχείρισή αυτών στο υπολογιστικό νέφος και η μεταφορά τους ανάμεσα σε διαφορετικά περιβάλλοντα απαιτεί συχνά προηγμένες τεχνικές δεξιότητες. Το Kubeflow, ένα έργο ανοικτού κώδικα που γρήγορα αναδεικνύεται ως η de facto πλατφόρμα για εγγενείς στο νέφος (cloud-native) εργασίες μηχανικής μάθησης (MLOps), φιλοδοξεί να δώσει λύση σε αυτά τα προβλήματα, επιτρέποντας την εύκολη, φορητή και κλιμακούμενη ανάπτυξη ροών εργασίας μηχανικής μάθησης στο Kubernetes. Μέχρι τώρα, χρησιμοποιούσαμε το Kale, ένα Python εργαλείο υψηλού επιπέδου, για την ενορχήστρωση των δομικών στοιχείων του Kubeflow, εντός της ίδιας συστοιχίας (cluster). Η τρέχουσα προσέγγιση, ωστόσο, ενδεχομένως αποτυγχάνει να εξυπηρετήσει ορισμένα ενδιαφέροντα σενάρια, συνηθισμένα σε μεγάλες επιχειρήσεις, που συχνά περιλαμβάνουν ξεχωριστές συστοιχίες που στοχεύουν σε διαφορετικά στάδια ανάπτυξης (ανάπτυξη, παραγωγή) ή κύκλους ζωής ροής εργασιών μηχανικής μάθησης (προεπεξεργασία δεδομένων, εκπαίδευση μοντέλου, εξυπηρέτηση αιτημάτων), έχοντας έτσι πολύ διαφορετικές απαιτήσεις και προδιαγραφές. Κάποιες συστοιχίες μπορεί να παρέχουν πρόσβαση σε περιορισμένες υπηρεσίες όπως λίμνες δεδομένων (data lakes) και αποθετήρια αντικειμένων, ενώ άλλες μπορεί να επωφελούνται από εξειδικευμένους υπολογιστικούς πόρους (π.χ. κάρτες γραφικών, υπολογιστικές συσκευές υψηλής επίδοσης). Η παρούσα διπλωματική εργασία επικεντρώνεται στο σχεδιασμό και την υλοποίηση ενός μηχανισμού που διευκολύνει την εκτέλεση μιας ολοκληρωμένης ροής εργασίας μηχανικής μάθησης σε διάφορες τοποθεσίες, ενορχηστρώνει τα βήματά της και διαχειρίζεται τις μεταξύ τους εξαρτήσεις. Ειδικότερα, ο στόχος είναι να επιτρέψει την ανάπτυξη ενός κανονικού Kubeflow Pipeline και να προσφέρει το μηχανισμό που θα καταστήσει εφικτή την εκτέλεση των διακριτών τμημάτων αυτού σε διαφορετικές τοποθεσίες. Αυτό θα επιτρέψει ουσιαστικά στους επιστήμονες δεδομένων να εκπαιδεύουν το μοντέλο τους σε μια τοποθεσία κοντά στα δεδομένα, αξιοποιώντας οποιαδήποτε διαθέσιμη εξειδικευμένη υποδομή, και να το «σερβίρουν» σε κάποια άλλη, πιο κοντά στην τελική προβλεπτική εφαρμογή. Για να το επιτύχουμε αυτό, θα αξιοποιήσουμε τις υπάρχουσες παροχές των Kubeflow Pipelines, όπως η κρυφή μνήμη (caching), και θα αναπτύξουμε έναν μηχανισμό για τη μεταφορά των εξαρτήσεων μεταξύ των βημάτων από τη μία τοποθεσία στην επόμενη. | el |
heal.abstract | Developing Machine Learning Pipelines is a hard and time-consuming process, while managing these in the cloud and transferring them between environments often requires advanced technical skills. Kubeflow, an open-source project that is rapidly becoming the de facto cloud-native MLOps platform, aspires to provide a solution to these problems enabling the simple, portable and scalable deployment of Machine Learning Workflows on Kubernetes. Until now, we have been using Kale, a high-level pythonic Kubeflow orchestrator, to orchestrate Kubeflow components within the same EKF cluster. This means that a Data Scientist defines a workflow within their Jupyter notebook and then submits it to run in the same Kubeflow instance. The current approach, however, may fail to capture some interesting scenarios that are common in large enterprises, often involving separate clusters and deployments that target different development stages (development, production) or workflow lifecycles (process, train, serve), thus having wildly varying requirements and specifications. Some of these might provide access to limited services like data lakes, build systems and artifact repositories, while others might benefit from specialized computing resources (e.g. GPUs, HPC devices). This diploma thesis focuses on the design and implementation of a mechanism that facilitates running an end-to-end MLOps workflow across locations, orchestrating its steps and managing dependencies between them. More specifically, the goal is to allow developing a normal Kubeflow pipeline and provide the mechanism to enable running its distinct parts in different locations. This will essentially allow Data Scientists to train their model in a location close to the data, leveraging any specialized infrastructure at their disposal, and serve it in a different one, closer to the end-user predictive application. In order to achieve this, we will harness existing Kubeflow Pipelines features, like caching, and develop a mechanism to migrate inter-step dependencies between locations. | en |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.advisorName | Koziris, Nektarios | en |
heal.committeeMemberName | Πνευματικάτος, Διονύσιος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 285 σ. | el |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: