Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε 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 |