Απασχολημένες GPU: Η μέθοδος δειγματοληψίας και διοχέτευσης επιταχύνει τη βαθιά εκμάθηση σε μεγάλα γραφήματα Το PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Απασχολημένες GPU: Η μέθοδος δειγματοληψίας και διοχέτευσης επιταχύνει τη βαθιά εκμάθηση σε μεγάλα γραφήματα

Τα γραφήματα, ένας δυνητικά εκτεταμένος ιστός κόμβων που συνδέονται με ακμές, μπορούν να χρησιμοποιηθούν για την έκφραση και την ανάκριση σχέσεων μεταξύ δεδομένων, όπως κοινωνικές συνδέσεις, οικονομικές συναλλαγές, κίνηση, ενεργειακά δίκτυα και μοριακές αλληλεπιδράσεις. Καθώς οι ερευνητές συλλέγουν περισσότερα δεδομένα και δημιουργούν αυτές τις γραφικές εικόνες, οι ερευνητές θα χρειαστούν πιο γρήγορες και αποτελεσματικές μεθόδους, καθώς και περισσότερη υπολογιστική ισχύ, για να πραγματοποιήσουν βαθιά μάθηση σε αυτές, με τον τρόπο των νευρωνικών δικτύων γραφημάτων (GNN).  

Τώρα, μια νέα μέθοδος, που ονομάζεται SALIENT (Sampling, sLIcing, and data movemeNT), που αναπτύχθηκε από ερευνητές του MIT και της IBM Research, βελτιώνει την απόδοση εκπαίδευσης και συμπερασμάτων αντιμετωπίζοντας τρία βασικά σημεία συμφόρησης στον υπολογισμό. Αυτό μειώνει δραματικά το χρόνο εκτέλεσης των GNN σε μεγάλα σύνολα δεδομένων, τα οποία, για παράδειγμα, περιέχουν στην κλίμακα 100 εκατομμυρίων κόμβων και 1 δισεκατομμυρίου άκρων. Επιπλέον, η ομάδα διαπίστωσε ότι η τεχνική κλιμακώνεται καλά όταν προστίθεται υπολογιστική ισχύς από μία σε 16 μονάδες γραφικής επεξεργασίας (GPU). Η εργασία παρουσιάστηκε στο πέμπτο συνέδριο για τη μηχανική μάθηση και τα συστήματα.

«Αρχίσαμε να εξετάζουμε τις προκλήσεις που αντιμετωπίζουν τα τρέχοντα συστήματα κατά την κλιμάκωση τεχνικών μηχανικής εκμάθησης τελευταίας τεχνολογίας για γραφήματα σε πραγματικά μεγάλα σύνολα δεδομένων. Αποδείχθηκε ότι έπρεπε να γίνει πολλή δουλειά, επειδή πολλά από τα υπάρχοντα συστήματα πέτυχαν καλή απόδοση κυρίως σε μικρότερα σύνολα δεδομένων που ταιριάζουν στη μνήμη GPU», λέει ο Tim Kaler, ο κύριος συγγραφέας και μεταδιδάκτορας στο MIT Computer Science. και Εργαστήριο Τεχνητής Νοημοσύνης (CSAIL).

Με τον όρο τεράστια σύνολα δεδομένων, οι ειδικοί εννοούν κλίμακες όπως ολόκληρο το δίκτυο Bitcoin, όπου ορισμένα μοτίβα και σχέσεις δεδομένων θα μπορούσαν να εξηγήσουν τις τάσεις ή το κακό παιχνίδι. «Υπάρχουν σχεδόν ένα δισεκατομμύριο συναλλαγές Bitcoin στο blockchain και αν θέλουμε να εντοπίσουμε παράνομες δραστηριότητες μέσα σε ένα τέτοιο κοινό δίκτυο, τότε αντιμετωπίζουμε ένα γράφημα τέτοιας κλίμακας», λέει ο συν-συγγραφέας Jie Chen, ανώτερος ερευνητής και διευθυντής. της IBM Research και του MIT-IBM Watson AI Lab. «Θέλουμε να δημιουργήσουμε ένα σύστημα που να είναι σε θέση να χειρίζεται τέτοιου είδους γραφήματα και να επιτρέπει την επεξεργασία να είναι όσο το δυνατόν πιο αποτελεσματική, επειδή κάθε μέρα θέλουμε να συμβαδίζουμε με τον ρυθμό των νέων δεδομένων που παράγονται».

Οι συγγραφείς Kaler και Chen περιλαμβάνουν τον Nickolas Stathas MEng '21 του Jump Trading, ο οποίος ανέπτυξε το SALIENT ως μέρος της μεταπτυχιακής του εργασίας. πρώην ασκούμενη στο MIT-IBM Watson AI Lab και μεταπτυχιακή φοιτήτρια του MIT Anne Ouyang. MIT CSAIL μεταδιδακτορικός Αλέξανδρος-Σταύρος Ηλιόπουλος; MIT CSAIL Research Scientist Tao B. Schardl; και Charles E. Leiserson, τον Edwin Sibley Webster καθηγητή Ηλεκτρολόγων Μηχανικών στο MIT και ερευνητή στο MIT-IBM Watson AI Lab.     

Για αυτό το πρόβλημα, η ομάδα υιοθέτησε μια προσέγγιση προσανατολισμένη στα συστήματα κατά την ανάπτυξη της μεθόδου της: SALIENT, λέει ο Kaler. Για να γίνει αυτό, οι ερευνητές εφάρμοσαν αυτό που θεωρούσαν σημαντικές, βασικές βελτιστοποιήσεις στοιχείων που ταιριάζουν σε υπάρχοντα πλαίσια μηχανικής μάθησης, όπως το PyTorch Geometric και η βιβλιοθήκη βαθιών γραφημάτων (DGL), τα οποία είναι διεπαφές για την κατασκευή ενός μοντέλου μηχανικής μάθησης. Ο Σταθάς λέει ότι η διαδικασία είναι σαν να ανταλλάσσουμε κινητήρες για να φτιάξουμε ένα πιο γρήγορο αυτοκίνητο. Η μέθοδός τους σχεδιάστηκε για να ταιριάζει σε υπάρχουσες αρχιτεκτονικές GNN, έτσι ώστε οι ειδικοί του τομέα να μπορούν εύκολα να εφαρμόσουν αυτήν την εργασία στα καθορισμένα πεδία τους για να επιταχύνουν την εκπαίδευση μοντέλων και να πειράζουν τις γνώσεις κατά την εξαγωγή συμπερασμάτων πιο γρήγορα. Το κόλπο, αποφάσισε η ομάδα, ήταν να κρατήσει όλο το υλικό (CPU, σύνδεσμοι δεδομένων και GPU) απασχολημένο ανά πάσα στιγμή: ενώ η CPU δειγματίζει το γράφημα και προετοιμάζει μικρές παρτίδες δεδομένων που στη συνέχεια θα μεταφερθούν μέσω της σύνδεσης δεδομένων , η πιο κρίσιμη GPU εργάζεται για να εκπαιδεύσει το μοντέλο μηχανικής μάθησης ή το συμπέρασμα συμπεριφοράς. 

Οι ερευνητές ξεκίνησαν αναλύοντας την απόδοση μιας συνήθως χρησιμοποιούμενης βιβλιοθήκης μηχανικής μάθησης για GNN (PyTorch Geometric), η οποία έδειξε εκπληκτικά χαμηλή χρήση των διαθέσιμων πόρων GPU. Εφαρμόζοντας απλές βελτιστοποιήσεις, οι ερευνητές βελτίωσαν τη χρήση της GPU από 10 σε 30 τοις εκατό, με αποτέλεσμα 1.4 έως δύο φορές βελτίωση της απόδοσης σε σχέση με τους δημόσιους κώδικες αναφοράς. Αυτός ο γρήγορος βασικός κώδικας θα μπορούσε να εκτελέσει ένα πλήρες πέρασμα σε ένα μεγάλο σύνολο δεδομένων εκπαίδευσης μέσω του αλγόριθμου (μια εποχή) σε 50.4 δευτερόλεπτα.                          

Αναζητώντας περαιτέρω βελτιώσεις στην απόδοση, οι ερευνητές ξεκίνησαν να εξετάσουν τα σημεία συμφόρησης που εμφανίζονται στην αρχή του αγωγού δεδομένων: τους αλγόριθμους για τη δειγματοληψία γραφημάτων και την προετοιμασία μίνι παρτίδων. Σε αντίθεση με άλλα νευρωνικά δίκτυα, τα GNN εκτελούν μια λειτουργία συνάθροισης γειτονιάς, η οποία υπολογίζει πληροφορίες για έναν κόμβο χρησιμοποιώντας πληροφορίες που υπάρχουν σε άλλους κοντινούς κόμβους στο γράφημα — για παράδειγμα, σε ένα γράφημα κοινωνικού δικτύου, πληροφορίες από φίλους φίλων ενός χρήστη. Καθώς ο αριθμός των επιπέδων στο GNN αυξάνεται, ο αριθμός των κόμβων στους οποίους πρέπει να απευθυνθεί το δίκτυο για πληροφορίες μπορεί να εκραγεί, υπερβαίνοντας τα όρια ενός υπολογιστή. Οι αλγόριθμοι δειγματοληψίας γειτονιάς βοηθούν επιλέγοντας ένα μικρότερο τυχαίο υποσύνολο κόμβων προς συλλογή. Ωστόσο, οι ερευνητές διαπίστωσαν ότι οι τρέχουσες υλοποιήσεις αυτού ήταν πολύ αργές για να συμβαδίσουν με την ταχύτητα επεξεργασίας των σύγχρονων GPU. Σε απάντηση, εντόπισαν ένα μείγμα δομών δεδομένων, αλγοριθμικών βελτιστοποιήσεων και ούτω καθεξής που βελτίωσαν την ταχύτητα δειγματοληψίας, βελτιώνοντας τελικά τη λειτουργία δειγματοληψίας μόνο κατά περίπου τρεις φορές, λαμβάνοντας τον χρόνο εκτέλεσης ανά εποχή από 50.4 σε 34.6 δευτερόλεπτα. Βρήκαν επίσης ότι η δειγματοληψία, με κατάλληλο ρυθμό, μπορεί να γίνει κατά τη διάρκεια της εξαγωγής συμπερασμάτων, βελτιώνοντας τη συνολική ενεργειακή απόδοση και απόδοση, ένα σημείο που είχε παραβλεφθεί στη βιβλιογραφία, σημειώνει η ομάδα.      

Σε προηγούμενα συστήματα, αυτό το βήμα δειγματοληψίας ήταν μια προσέγγιση πολλαπλών διεργασιών, δημιουργώντας επιπλέον δεδομένα και περιττή μετακίνηση δεδομένων μεταξύ των διεργασιών. Οι ερευνητές έκαναν τη μέθοδο SALIENT πιο ευκίνητη δημιουργώντας μια ενιαία διαδικασία με ελαφριά νήματα που διατηρούσαν τα δεδομένα της CPU σε κοινόχρηστη μνήμη. Επιπλέον, το SALIENT εκμεταλλεύεται μια κρυφή μνήμη σύγχρονων επεξεργαστών, λέει ο Σταθάς, παραλληλίζοντας το χαρακτηριστικό slicing, το οποίο εξάγει σχετικές πληροφορίες από τους κόμβους ενδιαφέροντος και τους γύρω γείτονες και άκρες τους, μέσα στην κοινή μνήμη της κρυφής μνήμης του πυρήνα της CPU. Αυτό μείωσε και πάλι τον συνολικό χρόνο εκτέλεσης ανά εποχή από 34.6 σε 27.8 δευτερόλεπτα.

Το τελευταίο σημείο συμφόρησης που αντιμετώπισαν οι ερευνητές ήταν η διοχέτευση mini-batch μεταφοράς δεδομένων μεταξύ της CPU και της GPU χρησιμοποιώντας ένα βήμα προανάκτησης, το οποίο θα προετοίμαζε δεδομένα λίγο πριν χρειαστούν. Η ομάδα υπολόγισε ότι αυτό θα μεγιστοποιούσε τη χρήση εύρους ζώνης στη σύνδεση δεδομένων και θα έφερνε τη μέθοδο σε τέλεια χρήση. Ωστόσο, είδαν μόνο περίπου το 90 τοις εκατό. Εντόπισαν και διόρθωσαν ένα σφάλμα απόδοσης σε μια δημοφιλή βιβλιοθήκη PyTorch που προκάλεσε περιττές επικοινωνίες μετ' επιστροφής μεταξύ της CPU και της GPU. Με αυτό το σφάλμα διορθώθηκε, η ομάδα πέτυχε χρόνο εκτέλεσης 16.5 δευτερολέπτων ανά εποχή με το SALIENT.

«Η δουλειά μας έδειξε, νομίζω, ότι ο διάβολος κρύβεται στις λεπτομέρειες», λέει ο Kaler. «Όταν δίνετε μεγάλη προσοχή στις λεπτομέρειες που επηρεάζουν την απόδοση κατά την εκπαίδευση ενός νευρωνικού δικτύου γραφημάτων, μπορείτε να επιλύσετε έναν τεράστιο αριθμό προβλημάτων απόδοσης. Με τις λύσεις μας, καταλήξαμε να βρεθούμε σε πλήρη συμφόρηση από τον υπολογισμό της GPU, που είναι ο ιδανικός στόχος ενός τέτοιου συστήματος».

Η ταχύτητα του SALIENT αξιολογήθηκε σε τρία τυπικά σύνολα δεδομένων ogbn-arxiv, ogbn-products και ogbn-papers100M, καθώς και σε ρυθμίσεις πολλών μηχανημάτων, με διαφορετικά επίπεδα fanout (ποσότητα δεδομένων που θα ετοίμαζε η CPU για την GPU) και σε διάφορες αρχιτεκτονικές, συμπεριλαμβανομένης της πιο πρόσφατης τελευταίας τεχνολογίας, του GraphSAGE-RI. Σε κάθε ρύθμιση, το SALIENT ξεπέρασε τις επιδόσεις του PyTorch Geometric, κυρίως στο μεγάλο σύνολο δεδομένων ogbn-papers100M, που περιείχε 100 εκατομμύρια κόμβους και πάνω από ένα δισεκατομμύριο άκρες Εδώ, ήταν τρεις φορές πιο γρήγορο, σε μία GPU, από τη βελτιστοποιημένη γραμμή βάσης που δημιουργήθηκε αρχικά για αυτή η δουλειά; με 16 GPU, το SALIENT ήταν επιπλέον οκτώ φορές ταχύτερο. 

Ενώ άλλα συστήματα είχαν ελαφρώς διαφορετικό υλικό και πειραματικές ρυθμίσεις, επομένως δεν ήταν πάντα μια άμεση σύγκριση, το SALIENT εξακολουθούσε να τα ξεπερνά. Μεταξύ των συστημάτων που πέτυχαν παρόμοια ακρίβεια, οι αντιπροσωπευτικοί αριθμοί απόδοσης περιλαμβάνουν 99 δευτερόλεπτα χρησιμοποιώντας μία GPU και 32 CPU και 13 δευτερόλεπτα χρησιμοποιώντας 1,536 CPU. Αντίθετα, ο χρόνος εκτέλεσης του SALIENT χρησιμοποιώντας μία GPU και 20 CPU ήταν 16.5 δευτερόλεπτα και ήταν μόλις δύο δευτερόλεπτα με 16 GPU και 320 CPU. "Αν κοιτάξετε τους κατώτατους αριθμούς που αναφέρει η προηγούμενη εργασία, ο χρόνος εκτέλεσης των 16 GPU (δύο δευτερόλεπτα) είναι μια τάξη μεγέθους ταχύτερος από άλλους αριθμούς που έχουν αναφερθεί προηγουμένως σε αυτό το σύνολο δεδομένων", λέει ο Kaler. Οι ερευνητές απέδωσαν τις βελτιώσεις της απόδοσής τους, εν μέρει, στην προσέγγισή τους να βελτιστοποιήσουν τον κώδικά τους για ένα μόνο μηχάνημα πριν μεταβούν στην κατανεμημένη ρύθμιση. Ο Σταθάς λέει ότι το μάθημα εδώ είναι ότι για τα χρήματά σας, «είναι πιο λογικό να χρησιμοποιείτε το υλικό που έχετε αποτελεσματικά και στο άκρο του, προτού αρχίσετε να κλιμακώνεστε σε πολλούς υπολογιστές», κάτι που μπορεί να προσφέρει σημαντική εξοικονόμηση κόστους και εκπομπών άνθρακα που μπορεί να έρθει με την εκπαίδευση μοντέλων.

Αυτή η νέα ικανότητα θα επιτρέψει τώρα στους ερευνητές να αντιμετωπίσουν και να σκάψουν βαθύτερα σε όλο και μεγαλύτερα γραφήματα. Για παράδειγμα, το δίκτυο Bitcoin που αναφέρθηκε προηγουμένως περιείχε 100,000 κόμβους. το σύστημα SALIENT μπορεί να χειριστεί ένα γράφημα 1,000 φορές (ή τρεις τάξεις μεγέθους) μεγαλύτερο.

«Στο μέλλον, δεν θα εξετάζουμε απλώς την εκτέλεση αυτού του συστήματος εκπαίδευσης νευρωνικών δικτύων γραφημάτων στους υπάρχοντες αλγόριθμους που εφαρμόσαμε για την ταξινόμηση ή την πρόβλεψη των ιδιοτήτων κάθε κόμβου, αλλά θέλουμε επίσης να κάνουμε πιο εις βάθος εργασίες, όπως π.χ. εντοπισμός κοινών μοτίβων σε ένα γράφημα (μοτίβα υπογραφών), [που] μπορεί να είναι πραγματικά ενδιαφέρον για την ένδειξη οικονομικών εγκλημάτων», λέει ο Chen. «Θέλουμε επίσης να εντοπίσουμε κόμβους σε ένα γράφημα που είναι παρόμοιοι με την έννοια ότι πιθανώς θα αντιστοιχούσαν στον ίδιο κακό παράγοντα σε ένα οικονομικό έγκλημα. Αυτές οι εργασίες θα απαιτούσαν την ανάπτυξη πρόσθετων αλγορίθμων και πιθανώς και αρχιτεκτονικών νευρωνικών δικτύων».

Αυτή η έρευνα υποστηρίχθηκε από το MIT-IBM Watson AI Lab και εν μέρει από το Ερευνητικό Εργαστήριο Πολεμικής Αεροπορίας των ΗΠΑ και τον Επιταχυντή Τεχνητής Νοημοσύνης της Πολεμικής Αεροπορίας των ΗΠΑ.

Σφραγίδα ώρας:

Περισσότερα από Σύμβουλοι Blockchain