Νέα

Η Apple επιτρέπει στα μεγάλα μοντέλα να μάθουν να είναι τεμπέληδες: φτύστε το πρώτο κουπόνι πιο γρήγορα και διατηρήστε την ακρίβεια

2024-08-02

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Αναφορά Machine Heart

Τμήμα Σύνταξης Machine Heart

Το να είσαι τεμπέλης σε κάνει να δουλεύεις καλύτερα.

Το Llama 3.1 μόλις κυκλοφόρησε, το έχετε δοκιμάσει ακόμα; Ακόμα κι αν ο υπολογιστής σας είναι η πιο πρόσφατη κορυφαία προδιαγραφή, ενδέχεται να εξακολουθείτε να αντιμετωπίζετε σημαντική καθυστέρηση κατά την εκτέλεση της μικρότερης έκδοσης 8B. Προκειμένου να βελτιωθεί η συλλογιστική αποτελεσματικότητα του μοντέλου, οι ερευνητές έχουν καταλήξει σε μια ποικιλία μεθόδων, αλλά πολλές από αυτές θα κάνουν το μοντέλο να θυσιάσει κάποια ακρίβεια.

Πρόσφατα, μια ερευνητική ομάδα από την Apple και τη Meta AI πρότεινε μια νέα μέθοδο που μπορεί να αυξήσει την ταχύτητα συμπερασμάτων του σταδίου προπλήρωσης του Llama 2 σε περισσότερες από 2 φορές, διασφαλίζοντας παράλληλα ότι η ακρίβεια του 3.1 παρέχει κάποια έμπνευση. Ονομάζουν αυτή την προσέγγιση LazyLLM, που σημαίνει Lazy Large Language Model.



Τίτλος εργασίας: LazyLLM: Dynamic Token Pruning for Efficient Long Context LLM Inference

Διεύθυνση χαρτιού: https://arxiv.org/abs/2407.14057

Πώς λοιπόν κάνουν το LLM να είναι τεμπέλης; Για να κατανοήσουμε τη μέθοδό τους, πρέπει πρώτα να γνωρίζουμε ποια είναι η τυπική διαδικασία συμπερασμάτων LLM που βασίζεται σε προτροπές. Με απλά λόγια, η διαδικασία χωρίζεται σε δύο στάδια: προπλήρωση και αποκωδικοποίηση, όπως φαίνεται στο Σχήμα 1.



Στο στάδιο προ-πληθυσμού, το μοντέλο υπολογίζει και αποθηκεύει την κρυφή μνήμη KV κάθε διακριτικού στη γραμμή εντολών και προβλέπει το πρώτο διακριτικό. Ονομάζουμε τον χρόνο που δαπανάται στη φάση προ-πληθυσμού "time to first token (TTFT)".

Το στάδιο της προπλήρωσης ακολουθεί το στάδιο της αποκωδικοποίησης. Σε αυτό το στάδιο, το μοντέλο χρησιμοποιεί ξανά το αποθηκευμένο KV για να αποκωδικοποιήσει επαναληπτικά το επόμενο διακριτικό μέχρι να ικανοποιηθεί το κριτήριο διακοπής.

Κατά τη φάση προ-πληθυσμού, όλα τα επίπεδα του Transformer χρησιμοποιούν όλα τα διακριτικά στο μήνυμα. Το TTFT μπορεί να είναι αργό όταν η προτροπή είναι μεγάλη, επειδή το τρέχον καλύτερο LLM που βασίζεται σε μετασχηματιστές είναι τόσο βαθύ όσο και ευρύ και το κόστος της υπολογιστικής προσοχής αυξάνεται τετραγωνικά με τον αριθμό των διακριτικών στο μήνυμα. Για παράδειγμα, το Llama 2 (έκδοση 7Β) στοιβάζει 32 επίπεδα Transformers και η διάσταση του μοντέλου είναι 4096. Σε αυτήν την περίπτωση, το TTFT απαιτεί 21 φορές το χρόνο τοίχου κάθε επόμενου βήματος αποκωδικοποίησης, το οποίο αντιπροσωπεύει περίπου το 23% του συνολικού χρόνου παραγωγής στο σημείο αναφοράς LongBench.

Επομένως, για να καταστεί αποτελεσματική η εξαγωγή συμπερασμάτων LLM, η βελτιστοποίηση του TTFT είναι ένα πολύ κρίσιμο βήμα.

Αν και η βελτιστοποίηση συμπερασμάτων LLM είναι μια ενεργή ερευνητική περιοχή, πολλές μέθοδοι εστιάζουν στη βελτίωση της ταχύτητας συμπερασμάτων του σταδίου αποκωδικοποίησης. Οι ερευνητές έχουν δώσει λίγη προσοχή στη βελτίωση του TTFT. Ορισμένα ερευνητικά αποτελέσματα που βασίζονται σε συμπίεση μπορούν να βελτιώσουν έμμεσα το TTFT μειώνοντας το μέγεθος του LLM.

Μια άλλη ερευνητική κατεύθυνση είναι η βελτίωση του TTFT υπό την αρχιτεκτονική του στατικού μετασχηματιστή. Για αυτήν την ερευνητική κατεύθυνση, προκύπτει φυσικά ένα ερώτημα: Είναι όλα τα prompt token απαραίτητα κατά τη δημιουργία του πρώτου διακριτικού;

Το Σχήμα 2 δείχνει τα αποτελέσματα της ανάλυσης LLM στο σημείο αναφοράς LongBench.



Μπορεί να φανεί ότι για το πρώτο διακριτικό που δημιουργήθηκε, οι βαθμολογίες προσοχής των διακριτικών εισόδου είναι πολύ αραιές, γεγονός που δείχνει ότι πολλά διακριτικά στη γραμμή εντολών εισόδου είναι περιττά και ακόμη και αν αφαιρεθούν, δεν θα επηρεάσουν την πρόβλεψη του επόμενου ένδειξη. Αυτή η παρατήρηση είναι η βάση για το προτεινόμενο LazyLLM της ομάδας.

Τα πλεονεκτήματα του LazyLLM περιλαμβάνουν μεγάλο εύρος εφαρμογών, δεν χρειάζεται εκπαίδευση και καλά αποτελέσματα. Το Σχήμα 3 συγκρίνει το τυπικό LLM και το LazyLLM.



LazyLLM

Το Σχήμα 4 δείχνει το συνολικό πλαίσιο του LazyLLM.



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

Προοδευτικό συμβολικό κλάδεμα

Ορισμένες προηγούμενες μελέτες έχουν χρησιμοποιήσει επιτυχώς το κλάδεμα συμβολικών για τη βελτιστοποίηση του συμπεράσματος LLM. Ωστόσο, αυτές οι μέθοδοι πρέπει να συγκεντρώνουν πλήρεις χάρτες προσοχής των πρώτων ελάχιστων μαρκών που έχουν προβλεφθεί, προκειμένου να αναλυθεί η σημασία των ταχυδρομικών κουπονιών πριν ξεκινήσει το κλάδεμα. Επομένως, δεν είναι κατάλληλα για τη μείωση του TTFT, επειδή πρέπει να υπολογίσουν όλες τις κρυφές μνήμες KV κατά τη φάση προπλήρωσης.

Συγκριτικά, το LazyLLM είναι "πολύ τεμπέλης" και θα υπολογίζει μόνο τα κουπόνια που είναι σημαντικά για την πρόβλεψη του επόμενου διακριτικού ξεκινώντας από την πρώτη επανάληψη του συμπεράσματος (βήμα προπλήρωσης).

Στην πρώτη επανάληψη, μια βασική πρόκληση ήταν ο καθορισμός της σημασίας κάθε διακριτικού. Εμπνευσμένη από προηγούμενες έρευνες που έδειξαν ότι οι κρυφές καταστάσεις των διακριτικών εξελίσσονται καθώς περνούν μέσα από τα επίπεδα του Transformer, η λύση της ομάδας είναι να χρησιμοποιήσει κλάδεμα διακριτικών στρώμα-στρώμα σε κάθε βήμα παραγωγής. Συγκεκριμένα, χρησιμοποιούν τον χάρτη προσοχής κάθε επιπέδου για να προσδιορίσουν τη σημασία του διακριτικού εισόδου στο διακριτικό που πρόκειται να προβλεφθεί.

Μετά τον υπολογισμό του βαθμού εμπιστοσύνης του διακριτικού, ένα άλλο δύσκολο πρόβλημα είναι να καθοριστεί το όριο για το κλάδεμα του διακριτικού.

Συγκεκριμένα, για διαφορετικά επίπεδα και διαφορετικές εργασίες, αυτό το όριο μπορεί να αλλάξει καθώς αλλάζει η βαθμολογία προσοχής. Η λύση της ομάδας είναι να χρησιμοποιήσει τη στρατηγική επιλογής του top-k εκατοστημόριου. Συγκεκριμένα, εάν η βαθμολογία εμπιστοσύνης ενός διακριτικού είναι μικρότερη από το kth εκατοστημόριο στο διακριτικό εισόδου, αυτό κλαδεύεται. Μόλις κλαδευτεί ένα κουπόνι, δεν συμμετέχει πλέον στον υπολογισμό όλων των επόμενων στρωμάτων.

Δηλαδή, τα tokens που χρησιμοποιούνται από τα επόμενα επίπεδα είναι ένα υποσύνολο των tokens που χρησιμοποιήθηκαν από τα προηγούμενα επίπεδα.

Αργότερα πειράματα δείχνουν ότι όταν η θέση του στρώματος κλαδέματος και ο αριθμός των κλαδευμένων κουπονιών είναι διαφορετικά, η απόδοση θα αλλάξει επίσης. Συγκεκριμένα, για το ίδιο επίπεδο Transformer, καθώς όλο και περισσότερα tokens αφαιρούνται με κλάδεμα, η απόδοση του μοντέλου θα μειωθεί σταδιακά.

Βρήκαν επίσης ότι σε σύγκριση με το κλάδεμα στα πρώτα στρώματα, επιτεύχθηκε καλύτερη απόδοση όταν το κλάδεμα εκτελούνταν σε μεταγενέστερα στρώματα, υποδεικνύοντας ότι τα μεταγενέστερα στρώματα είναι λιγότερο ευαίσθητα στο συμβολικό κλάδεμα. Για καλύτερη εξισορρόπηση της ταχύτητας και της ακρίβειας, η ομάδα χρησιμοποίησε προοδευτικό κλάδεμα όπως φαίνεται στο Σχήμα 4, διατηρώντας περισσότερα κουπόνια στα πρώτα στρώματα και στη συνέχεια μειώνοντας σταδιακά τον αριθμό των μαρκών καθώς ρέουν στα μεταγενέστερα στρώματα.

Aux Cache (βοηθητική κρυφή μνήμη)

Δεν υπάρχει κρυφή μνήμη KV στο στάδιο προ-πληθυσμού και κάθε διακριτικό αναπαρίσταται σε μια κρυφή κατάσταση. Επομένως, το προοδευτικό κλάδεμα συμβολικών μπορεί να επιτευχθεί αφαιρώντας την κρυφή κατάσταση των κλαδευμένων μαρκών. Ωστόσο, η επέκταση του προοδευτικού κλαδέματος συμβολικών στα επόμενα βήματα αποκωδικοποίησης δεν είναι απλή. Ο λόγος είναι ότι κάθε βήμα αποκωδικοποίησης χρησιμοποιεί το buffer KV που υπολογίζεται στο στάδιο της προπλήρωσης για να υπολογίσει την προσοχή. Εφόσον το LazyLLM εκτελεί προοδευτικό κλάδεμα διακριτικών στο στάδιο προ-πληθυσμού, το KV ενός διακριτικού που κλαδεύεται σε ένα συγκεκριμένο επίπεδο δεν θα εμφανίζεται στη μνήμη cache KV του επόμενου επιπέδου.

Ως υπενθύμιση, το πλαίσιο LazyLLM επιτρέπει σε κάθε βήμα παραγωγής να επιλέξει ένα διαφορετικό υποσύνολο διακριτικών από την πλήρη ακολουθία διακριτικών εισόδου σε κάθε βήμα, ανεξάρτητα από το αν έχουν κλαδευτεί σε προηγούμενα βήματα. Για παράδειγμα, στο επόμενο βήμα αποκωδικοποίησης, κλαδευμένα διακριτικά που δεν υπάρχουν στην κρυφή μνήμη KV μπορούν να επιλεχθούν ξανά για υπολογισμό της προσοχής. Σε αυτήν την περίπτωση, το μοντέλο δεν μπορεί να ανακτήσει την κρυφή μνήμη KV για αυτά τα διακριτικά.

Μια διαισθητική λύση σε αυτό είναι να περάσετε τα διακριτικά από την αρχή του Μετασχηματιστή. Ωστόσο, αυτό έχει ως αποτέλεσμα τη διπλή καταμέτρηση του ίδιου διακριτικού και τελικά επιβραδύνει τη συνολική ταχύτητα παραγωγής.

Για να λύσει αυτό το πρόβλημα, η ομάδα εισήγαγε μια άλλη προσωρινή μνήμη εκτός από την αρχική κρυφή μνήμη KV: Aux Cache (βοηθητική κρυφή μνήμη).

Εάν τα KV που έχουν κλαδευτεί διακριτικά (όπως τα T4 και T7 στο Σχήμα 4) δεν εμφανίζονται στην κρυφή μνήμη KV των επόμενων επιπέδων, οι κρυφές καταστάσεις τους θα αποθηκευτούν από το Aux Cache για ανάκτηση σε επόμενες επαναλήψεις.

Όπως φαίνεται στο Σχήμα 4, σε κάθε βήμα αποκωδικοποίησης, κάθε στρώμα μετασχηματιστή ανακτά πρώτα την κρυφή μνήμη KV των προηγούμενων διακριτικών (εάν υπάρχει). Για εκείνα τα διακριτικά που δεν βρίσκονται στην κρυφή μνήμη KV, οι κρυφές καταστάσεις τους ανακτώνται απευθείας από το Aux Cache του προηγούμενου επιπέδου χωρίς να χρειάζεται να περάσουν ξανά από το προηγούμενο επίπεδο. Το Aux Cache διασφαλίζει ότι κάθε διακριτικό υπολογίζεται το πολύ μία φορά σε κάθε επίπεδο Transformer και επίσης διασφαλίζει ότι το LazyLLM είναι ταχύτερο από το τυπικό LLM στην πιο αργή του κατάσταση.

πείραμα

Η ομάδα δοκίμασε αυτή τη νέα «τεμπέλη» προσέγγιση σε δύο μεγάλα μοντέλα γλώσσας: το Llama 2 7B και το XGen 7B. Το πρότυπο LLM για σύγκριση είναι το ίδιο δημοσίως δημοσιευμένο μοντέλο προεκπαιδευμένου σημείου ελέγχου χωρίς καμία πρόσθετη εκπαίδευση.

Το πειραματικό σημείο αναφοράς είναι το LongBench, ένα σημείο αναφοράς πολλαπλών εργασιών για κατανόηση μεγάλου περιεχομένου. Το σημείο αναφοράς LongBench περιέχει 16 σύνολα δεδομένων και περιλαμβάνει 6 εργασίες, συμπεριλαμβανομένων Q&A ενός εγγράφου, Q&A πολλαπλών εγγράφων, σύνοψης, εκμάθησης λίγων λήψεων, εργασιών σύνθεσης και συμπλήρωσης κώδικα.

Η μέτρηση αξιολόγησης είναι η αποτελεσματικότητα και η αποδοτικότητα κάθε μεθόδου όσον αφορά την επιτάχυνση TTFT έναντι της αντιστάθμισης ακρίβειας.

αποτέλεσμα

Ο Πίνακας 1 δίνει τα αποτελέσματα επιτάχυνσης και ακρίβειας TTFT για το LazyLLM, το τυπικό LLM και άλλες βασικές μεθόδους.



Σε αυτόν τον πίνακα, η γραμμή βάσης αναφέρεται σε τυπικό συμπέρασμα LLM. Το Random token drop αναφέρεται στην εκτέλεση τυχαίου κλαδέματος σε μάρκες. Το κλάδεμα στατικού διακριτικού αναφέρεται στην εκτέλεση κλαδέματος μίας χρήσης στο διακριτικό εισόδου με βάση τη μέθοδο προσοχής των προηγούμενων στρωμάτων του μετασχηματιστή κατά τη διάρκεια του σταδίου προγεμίσματος. Η Prompt Compression είναι η μέθοδος prompt compression, η οποία χρησιμοποιεί το LLM για να αφαιρέσει τον πλεονασμό στο περιβάλλον εισαγωγής.

Όπως φαίνεται από τον Πίνακα 1, το LazyLLM υπερτερεί συνολικά στην επιτάχυνση TTFT, ενώ η μείωση της ακρίβειας είναι βασικά αμελητέα. Πρέπει να σημειωθεί ότι η χρήση του LLM για τη συμπίεση των προτροπών απαιτεί πολλούς υπολογισμούς. Επομένως, παρόλο που το Prompt Compression κάνει τα συμπεράσματα πιο γρήγορα, το πραγματικό TTFT του είναι μεγαλύτερο από το τυπικό LLM.

Επίδραση στη συνολική ταχύτητα κατασκευής

Για να αξιολογήσει τον αντίκτυπο της νέας μεθόδου στη συνολική ταχύτητα παραγωγής, η ομάδα ανέλυσε το ποσοστό των prompt tokens που χρησιμοποιούνται στους υπολογισμούς και την επιτάχυνση παραγωγής, βλέπε Πίνακα 2.



Μπορεί να φανεί ότι η αναλογία των διακριτικών που χρησιμοποιούνται στους υπολογισμούς του LazyLLM είναι πάντα μικρότερη από 100%, πράγμα που δείχνει ότι το LazyLLM δεν έχει εξαντλήσει όλα τα διακριτικά στη γραμμή εντολών στο τέλος της γενιάς, αλλά θεωρητικά το μοντέλο μπορεί να χρησιμοποιήσει όλα τα διακριτικά. Αυτό μπορεί να προσφέρει πρόσθετη επιτάχυνση στη συνολική διαδικασία παραγωγής για διαφορετικές εργασίες.

Πτώση ποσοστών σε διαφορετικά επίπεδα

Η ομάδα ανέλυσε επίσης τον αντίκτυπο της θέσης του στρώματος κλαδέματος και τον αριθμό των κλαδευμένων κουπονιών. Τα αποτελέσματα φαίνονται στο Σχήμα 6.



Μπορεί να φανεί ότι όταν το κλάδεμα εκτελείται στο ίδιο στρώμα μετασχηματιστή, όσο λιγότερα κουπόνια απομένουν, τόσο χειρότερη είναι η απόδοση του μοντέλου. Αυτό είναι επίσης συνεπές με τη διαισθητική κατανόησή μας. Επιπλέον, σε σύγκριση με την εκτέλεση κλαδέματος στο προηγούμενο στρώμα του Transformer, το κλάδεμα στα νεότερα στρώματα θα έχει ως αποτέλεσμα καλύτερη απόδοση, γεγονός που δείχνει ότι τα τελευταία στρώματα είναι λιγότερο ευαίσθητα στο κλάδεμα συμβολικών.

Με βάση αυτές τις παρατηρήσεις, μπορεί να ειπωθεί ότι η αποτελεσματικότητα του προοδευτικού συμβολικού κλαδέματος έχει αποδειχθεί.

Προοδευτική ανάπτυξη KV

Τέλος, η ομάδα προσπάθησε επίσης να κατανοήσει τα εσωτερικά του μοντέλου χρησιμοποιώντας τη λογική κλαδέματος συμβολικών. Συγκεκριμένα, θέλουν να γνωρίζουν την αθροιστική αναλογία χρήσης των κουπονιών προτροπής και την αντίστοιχη αναλογία που δεν χρησιμοποιείται. Αυτή η "αθροιστική χρήση διακριτικού" μπορεί να οριστεί ισοδύναμα ως το μέγεθος της κρυφής μνήμης KV σε κάθε βήμα. Το Σχήμα 7 δείχνει τη αθροιστική χρήση αυτών των κουπονιών προτροπής σε κάθε στάδιο του LazyLLM.



Αυτό το αποτέλεσμα υποστηρίζει την υπόθεση ότι πολλά διακριτικά δεν θα επιλεγούν ποτέ από το μοντέλο (παρόλο που το μοντέλο θα μπορούσε θεωρητικά να χρησιμοποιήσει όλα τα διακριτικά στην προτροπή.

Λαμβάνοντας υπόψη ότι το μοντέλο μπορεί ακόμα να διατηρήσει την ακρίβεια της εκτέλεσης εργασιών, μπορεί να συναχθεί το συμπέρασμα ότι το μοντέλο μπορεί να απορρίψει αποτελεσματικά διακριτικά που δεν επηρεάζουν την ποιότητα εξόδου.