Συντάχθηκε 09-07-2025 07:30
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 17/07/2025 10:00
Λήξη: 17/07/2025 11:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Μιχαήλ Κρατημένου
με θέμα
Μια Εργαλειοθήκη Κλιμακώσιμης Προ-επεξεργασίας και Νευρωνικής Εκπαίδευσης με Tensorflow και Dask
A Toolkit for Scalable Preprocessing and Neural Learning with Tensorflow and Dask
Εξεταστική Επιτροπή
Επίκουρος Καθηγητής Νικόλαος Γιατράκος (επιβλέπων)
Καθηγητής Αντώνιος Δεληγιαννάκης
Καθηγητής Γεώργιος Χαλκιαδάκης
Περίληψη
Στις σύγχρονες εφαρμογές που βασίζονται σε εντατική χρήση δεδομένων, ιδιαίτερα σε εκείνες που περιλαμβάνουν νευρωνική μάθηση, ο όγκος και η ταχύτητα των εισερχόμενων δεδομένων θέτουν σημαντικές προκλήσεις για την προεπεξεργασία και ανάλυση σε πραγματικό χρόνο. Αυτή η διατριβή αντιμετωπίζει την απουσία λύσεων που βασίζονται σε Python για τη σύνοψη ροών δεδομένων, εισάγοντας μια παράλληλη, κλιμακωτή εργαλειοθήκη για συνόψεις δεδομένων, που υλοποιείται χρησιμοποιώντας το Apache Dask. Σε αντίθεση με τις υπάρχουσες μηχανές δεδομένων συνόψεων, η προσέγγισή μας ενσωματώνεται άψογα στα οικοσυστήματα Python και είναι άμεσα συμβατή με αγωγούς μάθησης που βασίζονται στο TensorFlow. Παρουσιάζουμε μια συλλογή πιθανοκρατικών δομών δεδομένων, όπως τα Bloom Filters, το HyperLogLog και το PrioritySampler, οι οποίες διατηρούν συνόψεις μεγάλων ροών δεδομένων χρησιμοποιώντας υπογραμμική μνήμη. Αυτές οι δομές υποστηρίζουν βασικές λειτουργίες όπως η add, η merge και η estimate και υλοποιούνται ειδικά για να επιτρέπουν αποτελεσματικό παράλληλο υπολογισμό μέσω του Dask. Η εργαλειοθήκη είναι περαιτέρω ενσωματωμένη στο SuBiTO, ένα Bayesian πλαίσιο βελτιστοποίησης για κλιμακωτή μάθηση, προκειμένου να βελτιστοποιηθεί η απόδοσή του. Αυτή η βελτιστοποίηση φαίνεται στις πειραματικές αξιολογήσεις, όπου η μηχανή μας βελτιώνει σημαντικά τον χρόνο εκτέλεσης των εργασιών προεπεξεργασίας δεδομένων σε κατανεμημένα περιβάλλοντα, επιταχύνοντας τη συντήρηση των συνόψεων. Στη συνέχεια, μόνο συνοπτικές περιλήψεις δεδομένων τροφοδοτούνται σε νευρωνικούς αγωγούς μάθησης για να επιτευχθεί η κατάλληλη ισορροπία μεταξύ της ακρίβειας εκπαίδευσης και της ταχύτητας εκπαίδευσης. Αυτή η εργασία παρέχει τόσο μια βασική εργαλειοθήκη όσο και μια ολοκληρωμένη διαδρομή μεταξύ του νευρωνικού αγωγού μάθησης και του βήματος προεπεξεργασίας των συνόψεων, προσφέροντας μια ισχυρή βάση για μελλοντική εργασία σε κλιμακώσιμα συστήματα σύνοψης δεδομένων που βασίζονται σε Python.
Abstract
In modern data-intensive applications, particularly those involving neural learning, the volume and velocity of incoming data pose significant challenges for real-time preprocessing and analysis. This thesis addresses the absence of Python-based solutions for stream summarization by introducing a parallel, scalable toolkit for data synopses, implemented using Apache Dask. Unlike existing synopses data engines, our approach is seamlessly integrated into Python ecosystems and is directly compatible with TensorFlow-based learning pipelines. We present an aggregation of probabilistic data structures, such as Bloom Filters, HyperLogLog and PrioritySampler, which maintain summaries of large data streams using sublinear memory. These structures support essential operations like add, merge, and estimate and are specifically implemented to allow efficient parallel computation via Dask. The toolkit is further embedded into SuBiTO, a Bayesian optimization framework for scalable learning, in order to optimize its performance. This optimization is shown in the experimental evaluations, where our engine significantly improves the runtime of data preprocessing tasks in distributed environments, by accelerating the synopses maintenance. Then, only concise data summaries are fed into neural learning pipelines to achieve appropriate balance between training accuracy and training speed. This work provides both a foundational toolkit and an integrated path between the neural learning pipeline and the preprocessing summarization step, offering a strong basis for future work in scalable, Python-based data summarization systems.