Τεχνητή νοημοσύνη
UltraFastBERT: Εκθετικά Γρηγορότερο Μοντέλο Γλώσσας

Τα μοντέλα γλώσσας και η γεννητική νοημοσύνη, διάσημα για τις ικανότητές τους, είναι ένα热 θέμα στην βιομηχανία της νοημοσύνης. Οι ερευνητές σε όλο τον κόσμο ενισχύουν την αποτελεσματικότητά τους και την ικανότητά τους. Αυτά τα συστήματα, τυπικά μοντέλα βαθιάς μάθησης, προ-εκπαιδεύονται σε εκτενές δεδομένο με ετικέτες, ενσωματώνοντας νευρωνικά δίκτυα για αυτοπροσοχή. Χρησιμοποιούν διάφορα επίπεδα – feedforward, αναδρομικά, ενσωματωμένα και προσοχή – για να επεξεργαστούν το εισερχόμενο κείμενο και να παράγουν σχετικές εξόδους.
Συνήθως, τα μεγάλα μοντέλα γλώσσας έχουν τα περισσότερα παράμετρα στα επίπεδα feedforward. Μελετές δείχνουν ότι αυτά τα μοντέλα χρησιμοποιούν μόνο ένα τμήμα των διαθέσιμων νευρώνων για τον υπολογισμό της εξόδου κατά τη διάρκεια της ερμηνείας.
Αυτό το άρθρο εισάγει το UltraFastBERT, ένα πλαίσιο βασισμένο στο BERT που αντιστοιχεί στην αποτελεσματικότητα των κορυφαίων μοντέλων BERT, αλλά χρησιμοποιεί μόνο το 0,3% των νευρώνων κατά τη διάρκεια της ερμηνείας, συγκεκριμένα 12 από 4095 σε κάθε επίπεδο. Θα εξερευνήσουμε την αρχιτεκτονική, τη λειτουργικότητα και τα αποτελέσματα του UltraFastBERT. Ας ξεκινήσουμε.
UltraFastBERT : Μια Εισαγωγή στα Εκθετικά Γρηγορότερα Μοντέλα Γλώσσας
Παραδοσιακά, ένα μοντέλο γλώσσας χρησιμοποιεί διάφορα συστατικά για να εξοπλιστεί με ικανότητες γεννήσεων περιεχομένου, συμπεριλαμβανομένων επιπέδων feedforward, αναδρομικών επιπέδων, ενσωματωμένων επιπέδων και επιπέδων προσοχής. Αυτά τα συστατικά είναι υπεύθυνα για την εκμάθηση αναγνώρισης προτύπων κατά τη διάρκεια της εκπαίδευσης και τελικά να παράγουν ακριβή έξοδο με βάση τα εισερχόμενα κείμενα. Κάθε ένα από αυτά τα συστατικά έχει κάποια παράμετρα, και στα μοντέλα γλώσσας, ένα τμήμα αυτών των παραμέτρων κατέχεται από τα επίπεδα feedforward. Ωστόσο, αυτά τα επίπεδα feedforward δεν χρησιμοποιούν το 100% των διαθέσιμων νευρώνων για να παράγουν έξοδο για κάθε εισαγωγή κατά τη διάρκεια της ερμηνείας, οδηγώντας σε σπατάλη πόρων που αυξάνει τη сложικότητα, τον χρόνο υπολογισμού και το κόστος υπολογισμού.
Στην καρδιά του, το πλαίσιο UltraFastBERT είναι μια παραλλαγή του πλαισίου BERT, χτίζει πάνω σε αυτή την έννοια και αντικαθιστά τα επίπεδα feedforward με ταχύτερα δίκτυα feedforward στη αρχιτεκτονική του, τα οποία τελικά οδηγούν στο πλαίσιο UltraFastBERT να χρησιμοποιεί μόνο το 0,3% των διαθέσιμων νευρώνων ενώ παράγει αποτελέσματα συγκρίσιμα με τα μοντέλα BERT με παρόμοιο μέγεθος και διαδικασία εκπαίδευσης, ιδιαίτερα στις καθήκοντες downstream. Λόγω των υλοποιήσεων του, τα ενδιάμεσα επίπεδα στο πλαίσιο UltraFastBERT είναι εκθετικά ταχύτερα,
Δεδομένου ενός ταχύ δίκτυου feedforward (FFF) και ενός δίκτυου feedforward (FF), κάθε ένα με n αριθμό νευρώνων, η χρονική πολυπλοκότητα μιας προς τα εμπρός διέλευσης σε ένα δίκτυο feedforward είναι O(n), ενώ η χρονική πολυπλοκότητα είναι O(log2n) για ένα ταχύ δίκτυο feedforward, και η διαφορά στη χρονική πολυπλοκότητα οφείλεται κυρίως στο γεγονός ότι σε ένα ταχύ δίκτυο feedforward, οι νευρώνες οργανώνονται σε ένα ισορροπημένο δυαδικό δέντρο, και όταν παρέχεται η εισαγωγή, το δίκτυο εκτελεί μόνο einen κλάδο του δέντρου υπό προϋποθέσεις. Επιπλέον, η διεξαγωγή ερμηνείας σε ένα ταχύ δίκτυο feedforward οδηγεί σε CMM ή Συνθήκη Πίνακα Πολλαπλασιασμού, όπου οι εισαγόμενοι πίνακες dot με τους φυσιολογικούς πίνακες βαρών ατομικά, και η έξοδος της προηγούμενης dot-προϊόντος λειτουργίας καθορίζει το βάρος των στηλών για να προχωρήσει. Ως αποτέλεσμα, το δίκτυο χρησιμοποιεί όλους τους νευρώνες μόνο για μερικές εισαγωγές, και καμία εισαγωγή δεν απαιτεί περισσότερους από μερικούς νευρώνες για να χειριστεί από το δίκτυο. Η CMM dot-προϊόντος αντίθεται με την DMM ή Πυκνή Πολλαπλασιασμό Πίνακα που υπολογίζει το dot-προϊόν όλων των εισαγωγών με όλους τους πίνακες βαρών.
Για να συνοψίσουμε, το UltraFastBERT είναι ένα πλαίσιο βασισμένο στο BERT που παρέχει αποτελέσματα συγκρίσιμα με τα κορυφαία μοντέλα γλώσσας BERT που
- Χρησιμοποιεί μόνο το 0,3% των διαθέσιμων νευρώνων κατά τη διάρκεια της ερμηνείας, και εμπλέκει μόνο 12 νευρώνες από τους 4095 νευρώνες σε κάθε επίπεδο ερμηνείας.
- Παρέχει ισχυρή απόδοση συγκρίσιμη με τα κορυφαία μοντέλα BERT υλοποιώντας στρατηγικές fine-tuning σε καθήκοντες downstream.
- Παρέχει μια εγγενή υλοποίηση του CMM ή Συνθήκη Πίνακα Πολλαπλασιασμού που αποτελεί τη βάση για το ταχύ δίκτυο feedforward, και τελικά οδηγεί σε 78x επιτάχυνση της απόδοσης όταν συγκρίνεται με την εγγενή βελτιστοποιημένη DMM ή Πυκνή Πολλαπλασιασμό Πίνακα.
Δίκτυα Feed Forward
Ένα δίκτυο feedforward είναι ένα από τα πιο απλά τεχνητά νευρωνικά δίκτυα που μετακινεί τις πληροφορίες μόνο προς τα εμπρός, από τους κόμβους εισαγωγής προς τους κόμβους εξόδου μέσω των κρυφών κόμβων. Ένα από τα κύρια χαρακτηριστικά ενός ταχύ δίκτυου feedforward είναι ότι δεν υπάρχουν βρόχοι ή κύκλοι σε τέτοια δίκτυα, και είναι απλούστερα να κατασκευαστούν σε σύγκριση με τα RNN ή Αναδρομικά Νευρωνικά Δίκτυα, και τα CNN ή Συνήθη Νευρωνικά Δίκτυα. Η αρχιτεκτονική ενός ταχύ δίκτυου feedforward αποτελείται από τρία συστατικά, δηλαδή τα επίπεδα εισαγωγής, τα κρυφά επίπεδα και τα επίπεδα εξόδου, και κάθε επίπεδο αποτελείται από μονάδες που ονομάζονται νευρώνες, και κάθε επίπεδο είναι διασυνδεμένο με το άλλο με τη βοήθεια βαρών.
Οι νευρώνες που υπάρχουν στα επίπεδα εισαγωγής λαμβάνουν εισαγωγές, και τις προωθούν στο επόμενο επίπεδο. Ο αριθμός νευρώνων σε κάθε επίπεδο εισαγωγής καθορίζεται από τη διάσταση των δεδομένων εισαγωγής. Επόμενο, έχουμε τα κρυφά επίπεδα που δεν εκτίθενται ούτε στην εισαγωγή ούτε στην έξοδο, και είναι υπεύθυνα για τις απαραίτητες υπολογιστικές λειτουργίες. Οι νευρώνες σε κάθε κρυφό επίπεδο λαμβάνουν το σταθμισμένο άθροισμα των εξόδων που παρέχονται από το προηγούμενο επίπεδο, εφαρμόζουν μια συνάρτηση ενεργοποίησης, και περνούν το αποτέλεσμα στο επόμενο επίπεδο, και η διαδικασία επαναλαμβάνεται. Τέλος, έχουμε το επίπεδο εξόδου που παράγει την έξοδο για τις δοθείσες εισαγωγές. Κάθε νευρών σε κάθε επίπεδο του ταχύ δίκτυου feedforward είναι διασυνδεμένος με κάθε νευρών στο επόμενο επίπεδο, καθιστώντας τα δίκτυα feedforward πλήρως συνδεδεμένα δίκτυα. Οι βαρές χρησιμοποιούνται για να αντιπροσωπεύσουν τη δύναμη της σύνδεσης μεταξύ των νευρώνων, και το δίκτυο ενημερώνει αυτές τις βαρές για να μάθει τα πρότυπα με την ενημέρωση των βαρών με βάση το σφάλμα που συμβαίνει στην έξοδο.
Προχωρώντας, υπάρχουν δύο κρίσιμες φάσεις στη λειτουργία ενός ταχύ δίκτυου feedforward: η φάση feedforward, και η φάση backpropagation.
Φάση Feedforward
Στη φάση feedforward, η εισαγωγή παρέχεται στο δίκτυο, και στη συνέχεια προωθείται προς τα εμπρός. Τα κρυφά επίπεδα υπολογίζουν το σταθμισμένο άθροισμα των εισαγωγών, και εισάγουν μη-γραμμικότητα στο μοντέλο με την εφαρμογή του αθροίσματος των εισαγωγών μέσω μιας συνάρτησης ενεργοποίησης όπως ReLu, Sigmoid, και TanH. Η διαδικασία επαναλαμβάνεται μέχρι οι βαρές να φτάσουν στο επίπεδο εξόδου, και το μοντέλο κάνει μια πρόβλεψη.
Φάση Backpropagation
Όταν το μοντέλο κάνει μια πρόβλεψη, υπολογίζει το σφάλμα μεταξύ της παραγόμενης εξόδου και της αναμενόμενης εξόδου. Το σφάλμα στη συνέχεια αναστρέφεται μέσω του δίκτυου, και το δίκτυο χρησιμοποιεί einen αλγόριθμο βελτιστοποίησης gradient descent για να προσαρμόσει τις βαρές σε μια προσπάθεια να ελαττώσει το σφάλμα.
UltraFastBERT : Αρχιτεκτονική και Λειτουργία
Το πλαίσιο UltraFastBERT είναι χτισμένο πάνω στην αρχιτεκτονική crammedBERT, και το πλαίσιο UltraFastBERT χρησιμοποιεί όλα τα συστατικά του πλαισίου crammedBERT εκτός από τη φύση των ενδιάμεσων επιπέδων. Αντίθετα, το πλαίσιο UltraFastBERT αντικαθιστά τον κωδικοποιητή μετασχηματισμού στις feedforward δίκτυα που περιέχονται στα ενδιάμεσα επίπεδα του πλαισίου crammedBERT με ταχύ δίκτυα feedforward. Το πλαίσιο UltraFastBERT πραγματοποιεί τις ακόλουθες αλλαγές στα αρχικά δίκτυα feedforward.
- Το πλαίσιο αφαιρεί τη διαφορά μεταξύ φύλλων και μη-φύλλων κόμβων χρησιμοποιώντας τη συνάρτηση ενεργοποίησης GeLu σε όλους τους κόμβους, και εξοπλίζοντας αυτούς τους κόμβους με βαρές εξόδου, και αφαιρώντας τις προκαταβολές εξόδου εντελώς. Μετά από αυτό, το πλαίσιο καθορίζει το μέγεθος φύλλου σε 1.
- Τέλος, το πλαίσιο επιτρέπει πολλά ταχύ δίκτυα feedforward σε παράλληλη λειτουργία με την κοινή υπολογιστική των ενδιάμεσων επιπέδων εξόδου. Το πλαίσιο διαχειρίζεται αυτήν την υπολογιστική λαμβάνοντας το άθροισμα των ατομικών δέντρων, και στη συνέχεια παρουσιάζει το άθροισμα ως το ενδιάμεσο επίπεδο εξόδου.
Προχωρώντας, κατά τη διάρκεια της εκπαίδευσης, το πλαίσιο UltraFastBERT ακολουθεί τη διαδικασία εκπαίδευσης που χρησιμοποιείται από το πλαίσιο crammedBERT, η οποία περιλαμβάνει την απενεργοποίηση της dropout κατά την προ-εκπαίδευση, και την χρήση του 1-κύκλου τριγωνικού χρονοδιαγράμματος μάθησης. Το μοντέλο στη συνέχεια fine-tune για να μεγιστοποιήσει την απόδοσή του σε eine σειρά από καθήκοντα, κυρίως του GLUE benchmark για συνολικά 5 επαναλήψεις.
Ερμηνεία
Η ερμηνεία είναι ένα σημαντικό μέρος για ένα ταχύ δίκτυο feedforward, και αυτά τα ταχύ δίκτυα feedforward σε себе αποτελούν einen μεγάλο τμήμα των μεγάλων μοντέλων γλώσσας, και είναι γνωστά για την εξαιρετική τους επιτάχυνση. Για να κατανοήσουμε αυτήν την επιτάχυνση, ας πάρουμε ένα παράδειγμα ενός από τα πιο προηγμένα μοντέλα γλώσσας, το GPT-3, στο οποίο τα δίκτυα feedforward σε κάθε επίπεδο μετασχηματισμού αποτελούνται από περισσότερους από 49.100 νευρώνες. Αν ήταν εκπαιδεύσιμο, ένα ταχύ δίκτυο feedforward (μέγιστο βάθος 15) θα μπορούσε να αντικαταστήσει το αρχικό δίκτυο feedforward. Το εισαχθέν ταχύ δίκτυο feedforward θα είχε περισσότερους από 65.000 νευρώνες, αλλά θα χρησιμοποιούσε μόνο 16 από αυτούς τους νευρώνες για ερμηνεία, που αντιστοιχεί περίπου στο 0,03% των νευρώνων που διατίθενται στο GPT-3.
Αλγόριθμος και Συμβατότητα
Το πλαίσιο UltraFastBERT χρησιμοποιεί einen ψευδο-αλγόριθμο για την ερμηνεία του ταχύ δίκτυου feedforward, και ο αλγόριθμος απεικονίζεται στην εικόνα παρακάτω.

Εδώ, το B αντιπροσωπεύει το μέγεθος της δειγμάτωσης, το H αντιπροσωπεύει το πλάτος των επιπέδων εισαγωγής, και το M αντιπροσωπεύει τις στήλες. Ένας άλλος σημαντικός λόγος ανησυχίας με τη χρήση μιας Προσέγγισης Πολλαπλασιασμού Πίνακα είναι αν καθιστά τα ταχύ δίκτυα feedforward ασύμβατα με τη διαδικασία που ήδη χρησιμοποιείται για τον Πυκνό Πολλαπλασιασμό Πίνακα και τα υπάρχοντα Πλαίσια Βαθιάς Μάθησης. Ευτυχώς, η χρήση του CMM δεν επηρεάζει την απόδοση ή εισάγει ασύμβατο, αν και αυξάνει τη σύνθετη πολυπλοκότητα.
Είναι ζωτικό να σημειωθεί ότι ως μέρος του ταχύ δίκτυου feedforward, η μονο-νηματική Πυκνή Πολλαπλασιασμός Πίνακα βασίζεται στην εκτέλεση των εντολών MAC ή Πολλαπλασιασμού και Συλλογής, και ως αποτέλεσμα, η αντικατάσταση του DMM με την προσέγγιση CMM θα ωφελήσει τους επεξεργαστές επειδή θα χρειαστούν λιγότερες εντολές MAC για να υπολογίσουν την έξοδο του επιπέδου ανά στοιχείο. Ως εκ τούτου, παρά την उपयποίηση μιας προϋπόθεσης που συνήθως συνδέεται με διακλαδώσεις, η “νευρωνική διακλάδωση” ενεργεί ως eine προσθήκη στο.offset της μνήμης για τις σχετικές οδούς στο πλαίσιο. Ως εκ τούτου, στο πλαίσιο UltraFastBERT, η πρόβλεψη κλάδου εντολής δεν είναι ποτέ πλήρως ενεργοποιημένη για να διευκολύνει την προϋπόθεση του CMM, και μόνο φορτώνει τις σχετικές στήλες του πίνακα βαρών ατομικά. Επιπλέον, καθώς το πλαίσιο thực hiện row-column dot-προϊόντα, η SIMD ή η διαδικασία διανυσματικής επεξεργασίας είναι ακόμη μια καλή επιλογή για να επιταχύνει τις υλοποιήσεις ερμηνείας για συγκεκριμένες συσκευές.
UltraFastBERT : Απόδοση και Αποτελέσματα
Θα μιλήσουμε για την απόδοση του πλαισίου UltraFastBERT για fine-tuning καθώς και για καθήκοντα ερμηνείας για να αναλύσουμε πώς το πλαίσιο αντιμετωπίζει τα κορυφαία μοντέλα γλώσσας.
Αποτελέσματα Fine-Tuning
Το ακόλουθο σχήμα δείχνει την απόδοση των διαφόρων μοντέλων στα δεδομένα δοκιμής GLUE-dev. Εδώ, το N αντιπροσωπεύει τον αριθμό των νευρώνων που διατίθενται στα πλαίσια για εκπαίδευση, “Avg” αντιπροσωπεύει τον μέσο όρο της βαθμολογίας όλων των καθηκόντων.

Όπως είναι σαφές, το πλαίσιο UltraFastBERT που έχει εκπαιδευτεί στο A6000 GPU για πάνω από 24 ώρες διατηρεί σχεδόν το 96% της προβλεπτικής απόδοσης στα καθήκοντα downstream του GLUE σε σύγκριση με το αρχικό πλαίσιο BERT. Επιπλέον, είναι επίσης σαφές ότι με την αύξηση του βάθους των ταχύ δικτύων feedforward, η απόδοση των πλαισίων μειώνεται, αν και η większość της μείωσης της απόδοσης συμβαίνει μόνο για το καθήκον CoLa. Αν το καθήκον CoLa αγνοηθεί για λίγο, το πλαίσιο UltraFastBERT επιστρέφει μια βαθμολογία προβλεπτικής απόδοσης περίπου 98,6%.
Αποτελέσματα Ερμηνείας
Σε αυτό το τμήμα, θα συγκρίνουμε την απόδοση των διαφόρων δικτύων feedforward ή ταχύ δίκτυων feedforward σε υλοποιήσεις ερμηνείας, και αυτές οι υλοποιήσεις διανέμονται σε τρία επίπεδα.
- Στο Επίπεδο 1, η υλοποίηση κατασκευάζεται χρησιμοποιώντας BLAS Level 1 ρουτίνες, δηλαδή скаλάρ-vekτορ-προϊόν και vekτορ-vekτορ dot-προϊόντα.
- Στο Επίπεδο 2, οι υλοποιήσεις χρησιμοποιούν BLAS Level 2 ρουτίνες, δηλαδή batched скаλάρ-vekτορ-προϊόν και batched матрикс-vekτορ dot-προϊόντα.
- Στο Επίπεδο 3, οι υλοποιήσεις χρησιμοποιούν την non-batched BLAS Level 3 матрикс-матριξ πολλαπλασιασμό, και αν και είναι η ταχύτερη υλοποίηση που διατίθεται για δίκτυα feedforward, τέτοιες υλοποιήσεις δεν είναι διαθέσιμες για ταχύ δίκτυα feedforward επειδή η βιβλιοθήκη δεν υποστηρίζει την διανυσματική σπarsity του CMM.
Επιπλέον, το πλαίσιο UltraFastBERT αναπτύσσει υλοποιήσεις GPU χρησιμοποιώντας είτε προσαρμοσμένες CUDA ή PyTorch πυρήνες.

Το παραπάνω πίνακας συγκρίνει την απόδοση του πλαισίου UltraFastBERT με τους προκατόχους του, τα πλαίσια BERT-βασισμένα σε όρους επιπέδων feedforward και ταχύ δίκτυων feedforward, όπου κάθε στήλη περιέχει την σχετική ταχύτητα ερμηνείας του ταχύ δίκτυου feedforward над το δίκτυο feedforward όταν χρησιμοποιούν τις ίδιες γραμμικές αλγεβρικές ρουτίνες.
Ωστόσο, είναι αξιοσημείωτο ότι οι επιταχύνσεις που αναφέρονται στον παραπάνω πίνακα προορίζονται για “δίκαιες συγκρίσεις”, δηλαδή και τα ταχύ δίκτυα feedforward και τα δίκτυα feedforward χρησιμοποιούν τις ίδιες γραμμικές αλγεβρικές ρουτίνες. Επιπλέον, στα Επίπεδα 1 και 2, οι υλοποιήσεις των ταχύ δικτύων feedforward είναι ικανές να εκτελούν την ερμηνεία 48x και 78x ταχύτερα από την ταχύτερη υλοποίηση δίκτυου feedforward, αντίστοιχα.
Τελικές Σκέψεις
Σε αυτό το άρθρο, abbiamo μιλήσει για το UltraFastBERT, eine παραλλαγή του πλαισίου BERT, χτίζει πάνω στην έννοια ότι τα επίπεδα feedforward δεν χρησιμοποιούν το 100% των διαθέσιμων νευρώνων για να παράγουν έξοδο για κάθε εισαγωγή κατά τη διάρκεια της ερμηνείας, οδηγώντας σε σπατάλη πόρων που αυξάνει τη phứcικότητα, τον χρόνο υπολογισμού και το κόστος υπολογισμού, και αντικαθιστά τα επίπεδα feedforward με ταχύτερα δίκτυα feedforward στη αρχιτεκτονική του, τα οποία τελικά οδηγούν στο πλαίσιο UltraFastBERT να χρησιμοποιεί μόνο το 0,3% των διαθέσιμων νευρώνων ενώ παράγει αποτελέσματα συγκρίσιμα με τα μοντέλα BERT με παρόμοιο μέγεθος και διαδικασία εκπαίδευσης, ιδιαίτερα στις καθήκοντες downstream.
Λόγω των υλοποιήσεων του, τα ενδιάμεσα επίπεδα στο πλαίσιο UltraFastBERT είναι εκθετικά ταχύτερα. Επιπλέον, η ισχυρή απόδοση που παρέχεται από το πλαίσιο UltraFastBERT είναι eine απόδειξη ότι τα LLMs μπορούν να παράγουν ισχυρή απόδοση με την εμπλοκή μόνο eines τμήματος των παραμέτρων τους για κάθε ερμηνεία, καθώς το πλαίσιο UltraFastBERT χρησιμοποιεί μόνο το 0,3% των διαθέσιμων νευρώνων κατά τη διάρκεια της ερμηνείας, και ακόμη καταφέρνει να επιτύχει 78x επιτάχυνση του χρόνου ερμηνείας.








