SparseDecoding: Pruning-Framework zielt auf LLM-Dekodierung
SparseDecoding ist ein neues, decoding-aware Pruning-Verfahren für Large Language Models (LLMs), das die Speicher- und Latenzkosten bei der Inferenz reduzieren soll, indem es die Verteilungsverschiebung zwischen Trainings- und Generierungsdaten adressiert und gezielt die für die Dekodierung dominier
Mit KI erstellt◆ Fakten auf einen Blick
- SparseDecoding ist ein decoding-aware Pruning-Framework für die Inferenz von Large Language Models (LLMs).
- Das Verfahren konstruiert Kalibrierungsmatrizen aus schichtweisen Aktivierungen, die während der autoregressiven Generierung des dichten Modells gesammelt werden, unter Ausschluss der Prefill-Phase.
- SparseDecoding adressiert eine Verteilungsverschiebung zwischen natürlichen Sequenzen (die für die Hessian-Berechnung verwendet werden) und den selbst generierten Tokens während der Dekodierung.
- Bestehende LLM-Pruning-Methoden, die tatsächliche Beschleunigung bringen, zielen hauptsächlich auf SpMM-Operationen ab; SparseDecoding unterstützt dagegen die SpMV-Operationen, die die Dekodierung dominieren.
- Pruning reduziert die Anzahl der von Null verschiedenen Parameter, die während der Dekodierung aus dem Speicher gelesen werden.
SparseDecoding: Pruning-Framework zielt auf LLM-Dekodierung
Für die Inferenz großer Sprachmodelle (LLMs) ist die Dekodierungsphase häufig der Flaschenhals: Sie ist memory-bound, und das Lesen der Gewichte aus dem Speicher verursacht einen erheblichen Teil der Latenz. Pruning setzt genau hier an, indem es die Zahl der von Null verschiedenen Parameter reduziert, die während der Dekodierung gelesen werden müssen. SparseDecoding, ein neues Framework, soll diesen Ansatz gezielt für die Dekodierung weiterentwickeln. Nach Angaben der Entwickler handelt es sich um ein prinzipiengeleitetes, decoding-bewusstes Pruning-Verfahren, das auf genaue und effiziente LLM-Dekodierung zugeschnitten ist.
Der Unterschied zu bisherigen Methoden liegt in der Art der unterstützten Matrixoperationen. Bestehende LLM-Pruning-Verfahren, die tatsächlich Beschleunigung bringen, zielen hauptsächlich auf SpMM-Operationen (Sparse Matrix-Matrix Multiplication) ab. In der autoregressiven Dekodierung dominieren jedoch SpMV-Operationen (Sparse Matrix-Vector Multiplication), für die diese Verfahren nur begrenzte Unterstützung bieten. SparseDecoding unterstützt diese SpMV-Operationen; da Pruning die Anzahl der aus dem Speicher zu lesenden Nicht-Null-Parameter reduziert, können dadurch die bei der Dekodierung dominierenden Speicherzugriffe verringert und die Latenz potenziell gesenkt werden. Die Autoren begründen den Fokus damit, dass die Dekodierung von SpMV-Operationen dominiert wird; eine Unterstützung dieser Operationen sei daher notwendig, um die Vorteile des Prunings in der Praxis wirksam zu machen.
Kalibrierung ohne Prefill: Aktivierungen aus der Generierung
Methodisch setzt SparseDecoding bei der Kalibrierung an. Übliche schichtweise, trainingsfreie Pruning-Ansätze berechnen die Hessian-Matrix anhand vorab gesammelter natürlicher Sequenzen. Während der Dekodierung wird das Modell jedoch mit selbst generierten Tokens gespeist. Dadurch entsteht eine Verteilungsverschiebung zwischen den natürlichen Sequenzen und den generierten Tokens; die auf natürlichen Sequenzen berechnete Hessian-Matrix unterscheidet sich von der auf generierten Sequenzen berechneten. Diese Diskrepanz führt nach Beobachtung der Autoren dazu, dass die Aktivierungsverteilung während der Generierung von der für das Pruning verwendeten abweicht, was die Leistung des beschnittenen Modells weiter beeinträchtigt.
SparseDecoding umgeht dieses Problem, indem es Kalibrierungsmatrizen aus schichtweisen Aktivierungen konstruiert, die während der autoregressiven Generierung des dichten Modells gesammelt werden – unter Ausschluss der Prefill-Phase. Damit basiert die Kalibrierung auf genau den Aktivierungen, die auch in der späteren Dekodierung auftreten, und adressiert die Verteilungsverschiebung zwischen natürlichen Sequenzen und selbst generierten Tokens.



