Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου

Η παρούσα Μεταπτυχιακή Διπλωματική Εργασία πραγματεύεται τα Συστήματα Συστάσεων (Recommender Systems), τα οποία έχουν διαδοθεί αρκετά τα τελευταία χρόνια, ειδικά στο ηλεκτρονικό εμπόριο (e-commerce). Τα συστήματα αυτά προτείνουν στον εκάστοτε χρήστη, κατά τη διάρκεια της αναζήτησής του για ένα προϊό...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Ρήγα, Σταυρούλα
Άλλοι συγγραφείς: Δερματάς, Ευάγγελος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2019
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/12867
id nemertes-10889-12867
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic Συστήματα συστάσεων
Μηχανική μάθηση
Επιτάχυνση σε κάρτες γραφικών
Μεγάλα δεδομένα
Συνεργατικό φιλτράρισμα
Εξόρυξη γνώσης
Παράλληλος προγραμματισμός
Recommender systems
Machine learning
OpenACC
Acceleration to graphics cards
GPU
Big data
K-means
Collaborative filtering
Pearson correlation
Data mining
Parallel programming
spellingShingle Συστήματα συστάσεων
Μηχανική μάθηση
Επιτάχυνση σε κάρτες γραφικών
Μεγάλα δεδομένα
Συνεργατικό φιλτράρισμα
Εξόρυξη γνώσης
Παράλληλος προγραμματισμός
Recommender systems
Machine learning
OpenACC
Acceleration to graphics cards
GPU
Big data
K-means
Collaborative filtering
Pearson correlation
Data mining
Parallel programming
Ρήγα, Σταυρούλα
Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
description Η παρούσα Μεταπτυχιακή Διπλωματική Εργασία πραγματεύεται τα Συστήματα Συστάσεων (Recommender Systems), τα οποία έχουν διαδοθεί αρκετά τα τελευταία χρόνια, ειδικά στο ηλεκτρονικό εμπόριο (e-commerce). Τα συστήματα αυτά προτείνουν στον εκάστοτε χρήστη, κατά τη διάρκεια της αναζήτησής του για ένα προϊόν στο Διαδίκτυο, και άλλα αντικείμενα-προϊόντα, τα οποία πιθανώς να τον ενδιαφέρουν. Για τις συστάσεις αυτές, τα συστήματα αξιοποιούν είτε τη συνάφεια του προτεινόμενου προϊόντος με άλλα προϊόντα που ενδιέφεραν τον τρέχοντα χρήστη στο παρελθόν, είτε τη συνάφεια των προτιμήσεων του τρέχοντος χρήστη με τις προτιμήσεις άλλων χρηστών. Το σύστημα που υλοποιείται στην παρούσα ΜεΔΕ δεν προγραμματίζεται ρητώς για αυτές τις συστάσεις, αλλά αξιοποιεί αλγορίθμους μηχανικής μάθησης, με σκοπό να προβλέψει τα αντικείμενα που πιθανώς να ενδιαφέρουν και να προτείνει αυτά με τη μεγαλύτερη σχετικότητα. Το πρόβλημα που παρουσιάζεται στα παραπάνω συστήματα είναι οι υψηλές απαιτήσεις σε υπολογιστική ισχύ για την εξαγωγή ενός σχετικά ακριβούς αποτελέσματος, που έχει ως αποτέλεσμα την καθυστέρηση στην εξαγωγή συστάσεων, ειδικά σε real-time συστήματα που εξυπηρετούν καθημερινά εκατομμύρια χρήστες. Έτσι, αν και τα Recommender Systems δημιουργήθηκαν για να διευκολύνουν τους χρήστες στις διάφορες διαδικασίες λήψης απόφασης σε περιπτώσεις υπερφόρτωσης πληροφορίας, παρουσιάζονται συχνά προβλήματα στην προσβασιμότητα, διαχείριση και επεξεργασία αυτών των δεδομένων υψηλού όγκου, ειδικά στην εποχή των «Μεγάλων Δεδομένων» (Big Data). H λύση που συχνά επιλέγεται και επιλέχθηκε και στην παρούσα εργασία, είναι η παράλληλη επεξεργασία των δεδομένων αυτών, με τη μεταφορά υπολογιστικού φόρτου από την κεντρική μονάδα επεξεργασίας στην κάρτα γραφικών του κάθε υπολογιστή (GPU), η οποία αν αξιοποιηθεί μπορεί να φέρει θεαματικά αποτελέσματα στην επιτάχυνση των συστημάτων συστάσεων. Πιο συγκεκριμένα, στην εργασία αυτή αρχικά γίνεται μελέτη των αλγοριθμικών μεθόδων μηχανικής μάθησης για συστήματα συστάσεων και επιλέγεται η μέθοδος που θα χρησιμοποιηθεί. Έπειτα, το σύστημα υλοποιείται σε γλώσσα προγραμματισμού C για την αξιολόγηση της ακρίβειας των αποτελεσμάτων και κυρίως για τη μέτρηση της ταχύτητας του, ενώ ύστερα υλοποιείται σε μια πλατφόρμα παράλληλου προγραμματισμού. Συγκεκριμένα, αξιοποιείται η καινούρια γλώσσα παράλληλου προγραμματισμού OpenACC, με στόχο να αξιοποιηθούν και οι υπολογιστικοί πόροι της GPU, πέραν αυτών της CPU. Στο τέλος, αξιολογείται η επιτάχυνση του συστήματος, σε βάσεις δεδομένων υψηλού όγκου με κινηματογραφικές ταινίες.
author2 Δερματάς, Ευάγγελος
author_facet Δερματάς, Ευάγγελος
Ρήγα, Σταυρούλα
format Thesis
author Ρήγα, Σταυρούλα
author_sort Ρήγα, Σταυρούλα
title Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
title_short Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
title_full Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
title_fullStr Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
title_full_unstemmed Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
title_sort υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε openacc και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου
publishDate 2019
url http://hdl.handle.net/10889/12867
work_keys_str_mv AT rēgastauroula ylopoiēsēsystēmatosmēchanikēsmathēsēsgiasystaseistainiōnmeparallēloprogrammatismoseopenacckaiaxiologēsētēsepitachynsēstousebaseisdedomenōnypsēlouonkou
AT rēgastauroula implementationofamachinelearningmovierecommendersystemthroughparallelprogrammingwithopenaccandevaluationofitsaccelerationonhighvolumedatasets
_version_ 1771297315481452544
spelling nemertes-10889-128672022-09-05T20:53:06Z Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου Implementation of a machine learning movie recommender system through parallel programming with OpenACC and evaluation of its acceleration on high volume datasets Ρήγα, Σταυρούλα Δερματάς, Ευάγγελος Δερματάς, Ευάγγελος Μπερμπερίδης, Κωνσταντίνος Αντωνακόπουλος, Θεόδωρος Riga, Stavroula Συστήματα συστάσεων Μηχανική μάθηση Επιτάχυνση σε κάρτες γραφικών Μεγάλα δεδομένα Συνεργατικό φιλτράρισμα Εξόρυξη γνώσης Παράλληλος προγραμματισμός Recommender systems Machine learning OpenACC Acceleration to graphics cards GPU Big data K-means Collaborative filtering Pearson correlation Data mining Parallel programming Η παρούσα Μεταπτυχιακή Διπλωματική Εργασία πραγματεύεται τα Συστήματα Συστάσεων (Recommender Systems), τα οποία έχουν διαδοθεί αρκετά τα τελευταία χρόνια, ειδικά στο ηλεκτρονικό εμπόριο (e-commerce). Τα συστήματα αυτά προτείνουν στον εκάστοτε χρήστη, κατά τη διάρκεια της αναζήτησής του για ένα προϊόν στο Διαδίκτυο, και άλλα αντικείμενα-προϊόντα, τα οποία πιθανώς να τον ενδιαφέρουν. Για τις συστάσεις αυτές, τα συστήματα αξιοποιούν είτε τη συνάφεια του προτεινόμενου προϊόντος με άλλα προϊόντα που ενδιέφεραν τον τρέχοντα χρήστη στο παρελθόν, είτε τη συνάφεια των προτιμήσεων του τρέχοντος χρήστη με τις προτιμήσεις άλλων χρηστών. Το σύστημα που υλοποιείται στην παρούσα ΜεΔΕ δεν προγραμματίζεται ρητώς για αυτές τις συστάσεις, αλλά αξιοποιεί αλγορίθμους μηχανικής μάθησης, με σκοπό να προβλέψει τα αντικείμενα που πιθανώς να ενδιαφέρουν και να προτείνει αυτά με τη μεγαλύτερη σχετικότητα. Το πρόβλημα που παρουσιάζεται στα παραπάνω συστήματα είναι οι υψηλές απαιτήσεις σε υπολογιστική ισχύ για την εξαγωγή ενός σχετικά ακριβούς αποτελέσματος, που έχει ως αποτέλεσμα την καθυστέρηση στην εξαγωγή συστάσεων, ειδικά σε real-time συστήματα που εξυπηρετούν καθημερινά εκατομμύρια χρήστες. Έτσι, αν και τα Recommender Systems δημιουργήθηκαν για να διευκολύνουν τους χρήστες στις διάφορες διαδικασίες λήψης απόφασης σε περιπτώσεις υπερφόρτωσης πληροφορίας, παρουσιάζονται συχνά προβλήματα στην προσβασιμότητα, διαχείριση και επεξεργασία αυτών των δεδομένων υψηλού όγκου, ειδικά στην εποχή των «Μεγάλων Δεδομένων» (Big Data). H λύση που συχνά επιλέγεται και επιλέχθηκε και στην παρούσα εργασία, είναι η παράλληλη επεξεργασία των δεδομένων αυτών, με τη μεταφορά υπολογιστικού φόρτου από την κεντρική μονάδα επεξεργασίας στην κάρτα γραφικών του κάθε υπολογιστή (GPU), η οποία αν αξιοποιηθεί μπορεί να φέρει θεαματικά αποτελέσματα στην επιτάχυνση των συστημάτων συστάσεων. Πιο συγκεκριμένα, στην εργασία αυτή αρχικά γίνεται μελέτη των αλγοριθμικών μεθόδων μηχανικής μάθησης για συστήματα συστάσεων και επιλέγεται η μέθοδος που θα χρησιμοποιηθεί. Έπειτα, το σύστημα υλοποιείται σε γλώσσα προγραμματισμού C για την αξιολόγηση της ακρίβειας των αποτελεσμάτων και κυρίως για τη μέτρηση της ταχύτητας του, ενώ ύστερα υλοποιείται σε μια πλατφόρμα παράλληλου προγραμματισμού. Συγκεκριμένα, αξιοποιείται η καινούρια γλώσσα παράλληλου προγραμματισμού OpenACC, με στόχο να αξιοποιηθούν και οι υπολογιστικοί πόροι της GPU, πέραν αυτών της CPU. Στο τέλος, αξιολογείται η επιτάχυνση του συστήματος, σε βάσεις δεδομένων υψηλού όγκου με κινηματογραφικές ταινίες. This Master's thesis addresses Recommender Systems, which have been widely disseminated in recent years, especially in e-commerce. These systems suggest to the individual user, during his online search for a product on the Internet, other product items that are likely to be of interest to him. For these recommendations, the systems utilize either the relevance of the proposed product to other products, that were of interest to the current user in the past, or the relevance of the current user's preferences to the preferences of other users. The system implemented in this Thesis is not explicitly programmed for these recommendations, but utilizes machine learning algorithms, in order to predict objects of potential interest and to suggest those with the greatest relevancy-similarity. The problem presented in the above systems is the high computing power requirements for extracting a relatively accurate outcome, resulting in delay in the delivery of recommendations, especially in real-time systems that service millions of users every day. Thus, although Recommender Systems were created to facilitate users in various decision-making processes in cases of overloading information, problems of accessibility, management and processing of these high-volume datasets are often encountered, especially in the Big Data era. The solution that is often selected and chosen in this work is the parallel processing of these data, by transferring computational load from the CPU to the GPU, which if exploited can bring spectacular results to accelerating recommender systems. More specifically, this work initially studies the algorithmic machine learning methods for recommender systems and chooses the method to be used. Then, the system is implemented in C programming language to evaluate the accuracy of the results and specially to measure its speed, and then it is implemented on a parallel programming platform. Specifically, the new OpenACC parallel programming language is utilized, with the goal of exploiting the GPU's computing resources beyond those of the CPU. Finally, the acceleration of the system is evaluated in high volume databases with motion pictures. 2019-11-30T09:11:15Z 2019-11-30T09:11:15Z 2019-07-26 Thesis http://hdl.handle.net/10889/12867 gr 0 application/pdf