Περίληψη
Η διατριβή μελετά την εφαρμογή του δηλωτικού προτύπου στην περιοχή της ανάλυσης δεδομένων. Η έννοια του δηλωτικού προγραμματισμού συνήθως συνοψίζεται στη φράση "περιέγραψε τι κάνει το πρόγραμμα παρά πώς το κάνει". Καθώς η υιοθέτηση της επιστήμης δεδομένων μεγαλώνει με γοργούς ρυθμούς, έχει προκύψει η ανάγκη εκδημοκρατισμού των εργασιών ανάλυσης δεδομένων καθιστόντας την ανάπτυξη τους πιο προσιτή και λιγότερο κουραστική μέσω γλωσσών υψηλού επιπέδου. Εμπνεόμενοι από την επιτυχία του δηλωτικού προτύπου στα συστήματα σχεσιακών βάσεων δεδομένων, οι ερευνητές έχουν ξεκινήσει πρόσφατα να εξερευνούν αν η χρήση δηλωτικών γλωσσών στον τομέα της ανάλυσης δεδομένων, με έμφαση στους αλγορίθμους μηχανικής μάθησης, μπορεί να παρέχει ένα άλμα παραγωγικότητας για τους προγραμματιστές. Το πρώτο μέρος της διατριβής διεξάγει μία λεπτομερή επισκόπηση των τρέχοντων συστημάτων στις περιοχές της ανάλυσης δεδομένων και της μηχανικής μάθησης που αυτοχαρακτηρίζονται ως δηλωτικά. Τα κύρια χαρακτηριστικά των προγρ ...
Η διατριβή μελετά την εφαρμογή του δηλωτικού προτύπου στην περιοχή της ανάλυσης δεδομένων. Η έννοια του δηλωτικού προγραμματισμού συνήθως συνοψίζεται στη φράση "περιέγραψε τι κάνει το πρόγραμμα παρά πώς το κάνει". Καθώς η υιοθέτηση της επιστήμης δεδομένων μεγαλώνει με γοργούς ρυθμούς, έχει προκύψει η ανάγκη εκδημοκρατισμού των εργασιών ανάλυσης δεδομένων καθιστόντας την ανάπτυξη τους πιο προσιτή και λιγότερο κουραστική μέσω γλωσσών υψηλού επιπέδου. Εμπνεόμενοι από την επιτυχία του δηλωτικού προτύπου στα συστήματα σχεσιακών βάσεων δεδομένων, οι ερευνητές έχουν ξεκινήσει πρόσφατα να εξερευνούν αν η χρήση δηλωτικών γλωσσών στον τομέα της ανάλυσης δεδομένων, με έμφαση στους αλγορίθμους μηχανικής μάθησης, μπορεί να παρέχει ένα άλμα παραγωγικότητας για τους προγραμματιστές. Το πρώτο μέρος της διατριβής διεξάγει μία λεπτομερή επισκόπηση των τρέχοντων συστημάτων στις περιοχές της ανάλυσης δεδομένων και της μηχανικής μάθησης που αυτοχαρακτηρίζονται ως δηλωτικά. Τα κύρια χαρακτηριστικά των προγραμματιστικών τους μοντέλων, καθώς και οι τεχνικές βελτιστοποίησης που χρησιμοποιούνται σε αυτά τα συστήματα, αναλύονται μέσω συγκεκριμένων παραδειγμάτων κώδικα. Με βάση αυτά τα χαρακτηριστικά η διατριβή παρέχει μία κατηγοριοποίηση ενός μεγάλου εύρους συστημάτων στην προαναφερθείσα περιοχή και προτείνει ένα σύνολο επιθυμητών ιδιοτήτων για ένα σύστημα ανάλυσης δεδομένων/μηχανικής μάθησης που το καθιστούν πιο κοντά στους στόχους του δηλωτικού προτύπου. Το δεύτερο μέρος της διατριβής επικεντρώνεται στην έκφραση αλγορίθμων μηχανικής μάθησης με γλώσσες επερωτήσεων βάσεων δεδομένων και στην αποδοτική μεταγλώττιση και εκτέλεση τους με εξειδικευμένους λύτες μαθηματικής βελτιστοποίησης και πλατφόρμες μηχανικής μάθησης. Οι προτεινόμενες προσεγγίσεις βασίζονται στο πρότυπο "μοντέλο+λύτης", όπου υπάρχει μια περιγραφή της συνάρτησης κόστους του μοντέλου μηχανικής μάθησης και ένας αλγόριθμος επίλυσης που παρέχει τη βέλτιστη λύση για αυτή. Αρχικά, η διατριβή εξερευνεί τη χρήση της Datalog ως μία δηλωτική γλώσσα για γράψει κανείς μέρη ενός γραμμικού αλγορίθμου μηχανικής μάθησης, ο οποίος στη συνέχεια μετατρέπεται σε μία/ένα χαμηλού επιπέδου αναπαράσταση/μορφότυπο δεδομένων και καταναλώνεται από έναν αλγόριθμο γραμμικού προγραμματισμού. Η δεύτερη προσέγγιση προτείνει μία μέθοδο μετάφρασης συναρτήσεων κόστους μοντέλων μηχανικής μάθησης γραμμένων σε SQL σε τελεστές γραμμικής άλγεβρας όπως αυτοί παρέχονται από ένα εξειδικευμένο σύστημα μηχανικής μάθησης, για παράδειγμα το TensorFlow. Αυτή η προσέγγιση επεκτείνει την πρώτη ως προς το ότι καλύπτει μη γραμμικά μοντέλα μηχανικής μάθησης και παράγει αυτόματα κώδικα που χρησιμοποιεί πρωταρχικά στοιχεία μιας πλατφόρμας μηχανικής μάθησης παρά έναν μορφότυπο δεδομένων. Και στις δύο περιπτώσεις η υπολογισθείσα λύση αποθηκεύεται πίσω στη βάση δεδομένων, γεγονός που επιτρέπει την παραγωγή μελλοντικών προβλέψεων σε δεδομένα ελέγχου μέσα στη βάση δεδομένων. Στα πλαίσια αυτών των προσεγγίσεων, προτείνονται τεχνικές για την αυτοματοποίηση και βελτιστοποίηση της μεταφοράς δεδομένων μεταξύ δομών της βάσης δεδομένων (σχέσεις) και εκείνων της πλατφόρμας μηχανικής μάθησης (πολυδιάστατες συστοιχίες). Η διατριβή επιδεικνύει τις προτεινόμενες προσεγγίσεις μέσω πρότυπων συστημάτων, τα οποία υλοποιούν μια απ' άκρη σ' άκρη ροή εργασιών που ξεκινά στη βάση δεδομένων, προωθεί την εκπαίδευση του μοντέλου σε μια βιβλιοθήκη μηχανικής μάθησης, και αποθηκεύει τα υπολογεισθέντα βάση πίσω στη βάση δεδομένων. Παρουσιάζονται πειράματα σχετικά με τη διαδικασία μετάφρασης και τις τεχνικές βελτιστοποίησης μεταφοράς δεδομένων σε δημοφιλείς αλγορίθμους μηχανικής μάθησης, συμπεριλαμβανομένων των Γραμμική Παλινδρόμηση, Factorization Machines και Λογιστική Παλινδρόμηση, και σε διαφορετικά σύνολα δεδομένων.
περισσότερα
Περίληψη σε άλλη γλώσσα
The thesis studies the application of the declarative paradigm on the area of data analytics. Declarative programming is usually summarized in the phrase "describe what the program computes rather than how to compute it". As the adoption of data science grows rapidly, a need for democratizing data analysis tasks by making their development more approachable and less tedious through high-level languages has emerged. Inspired by the success of the declarative paradigm in relational database systems, researchers have recently started exploring whether the use of declarative languages in the domain of data analytics with a focus on machine learning (ML) algorithms can provide a productivity leap for developers. The first part of the thesis conducts a detailed survey of current systems in the area of data analytics and machine learning describing themselves as declarative. The main characteristics of their programming models, as well as the optimization techniques used in these systems, are ...
The thesis studies the application of the declarative paradigm on the area of data analytics. Declarative programming is usually summarized in the phrase "describe what the program computes rather than how to compute it". As the adoption of data science grows rapidly, a need for democratizing data analysis tasks by making their development more approachable and less tedious through high-level languages has emerged. Inspired by the success of the declarative paradigm in relational database systems, researchers have recently started exploring whether the use of declarative languages in the domain of data analytics with a focus on machine learning (ML) algorithms can provide a productivity leap for developers. The first part of the thesis conducts a detailed survey of current systems in the area of data analytics and machine learning describing themselves as declarative. The main characteristics of their programming models, as well as the optimization techniques used in these systems, are analyzed through specific code examples. Based on these characteristics the thesis provides a classification of a wide range of systems in the aforementioned area and proposes a set of desired properties for a data analytics/ML system, in order to follow the objectives of the declarative paradigm closer. The second part of the thesis focuses on the expression of ML algorithms with database query languages and on their efficient compilation and execution on specialized mathematical optimization solvers and ML frameworks. The proposed approaches are based on the "model + solver" paradigm, where there is a description of the objective function (a.k.a. loss or cost function) of a machine learning model and a solver that provides the optimal solution for it. First, the thesis explores the use of Datalog as a declarative language to write the components of a linear machine learning algorithm, which is then transformed to a lower-level data representation/format consumed by a linear programming solver. The second approach proposes a method for translating objective functions of ML models written in SQL to linear algebra operators as provided by an ML specialized system, such as TensorFlow. This approach extends on the previous one in that it covers non-linear ML models and it automatically generates code using the primitives of an ML framework, rather than a data format. In both cases the computed solution is stored back to the database, which allows for generating future predictions on test data inside the database. In the context of these approaches, techniques for automating and optimizing data movement between the structures of the database (relations) and the ones of the ML framework (tensors) are proposed. The thesis demonstrates the proposed approaches through prototype systems implementing an end-to-end workflow that starts in the database, pushes the training of the model to an ML library/solver, and stores the computed weights back in the database. Experiments regarding the translation process and data movement optimization techniques on popular machine learning algorithms, including Linear Regression, Factorization Machines and Logistic Regression, and different datasets are presented.
περισσότερα