SliceGPT: Komprimieren großer Sprachmodelle durch das Löschen von Zeilen und Spalten
SliceGPT: Compress Large Language Models by Deleting Rows and Columns
January 26, 2024
Autoren: Saleh Ashkboos, Maximilian L. Croci, Marcelo Gennari do Nascimento, Torsten Hoefler, James Hensman
cs.AI
Zusammenfassung
Große Sprachmodelle sind zum Eckpfeiler der natürlichen Sprachverarbeitung geworden, doch ihr Einsatz ist mit erheblichen Kosten in Bezug auf Rechen- und Speicherressourcen verbunden. Sparsifizierung bietet eine Lösung, um diese Ressourcenbeschränkungen zu mildern, und neuere Arbeiten haben gezeigt, dass trainierte Modelle nachträglich sparsifiziert werden können. Bestehende Sparsifizierungstechniken stehen vor Herausforderungen, da sie zusätzliche Datenstrukturen benötigen und mit aktueller Hardware nur begrenzte Beschleunigung bieten. In diesem Artikel stellen wir SliceGPT vor, ein neues nachträgliches Sparsifizierungsschema, das jede Gewichtsmatrix durch eine kleinere (dichte) Matrix ersetzt und dadurch die Einbettungsdimension des Netzwerks reduziert. Durch umfangreiche Experimente zeigen wir, dass SliceGPT bis zu 25 % der Modellparameter (einschließlich Einbettungen) für die Modelle LLAMA2-70B, OPT 66B und Phi-2 entfernen kann, während jeweils 99 %, 99 % und 90 % der Zero-Shot-Aufgabenleistung des dichten Modells erhalten bleiben. Unsere geschnittenen Modelle laufen auf weniger GPUs und sind schneller, ohne dass zusätzliche Code-Optimierungen erforderlich sind: Auf 24GB Consumer-GPUs reduzieren wir den gesamten Rechenaufwand für Inferenz auf LLAMA2-70B auf 64 % des dichten Modells; auf 40GB A100-GPUs reduzieren wir ihn auf 66 %. Wir bieten eine neue Erkenntnis, die rechnerische Invarianz in Transformernetzwerken, die SliceGPT ermöglicht, und hoffen, dass sie zukünftige Wege zur Reduzierung des Speicher- und Rechenbedarfs für vortrainierte Modelle inspirieren und ermöglichen wird. Der Code ist verfügbar unter: https://github.com/microsoft/TransformerCompression
English
Large language models have become the cornerstone of natural language
processing, but their use comes with substantial costs in terms of compute and
memory resources. Sparsification provides a solution to alleviate these
resource constraints, and recent works have shown that trained models can be
sparsified post-hoc. Existing sparsification techniques face challenges as they
need additional data structures and offer constrained speedup with current
hardware. In this paper we present SliceGPT, a new post-training sparsification
scheme which replaces each weight matrix with a smaller (dense) matrix,
reducing the embedding dimension of the network. Through extensive
experimentation, we show that SliceGPT can remove up to 25% of the model
parameters (including embeddings) for LLAMA2-70B, OPT 66B and Phi-2 models
while maintaining 99%, 99% and 90% zero-shot task performance of the dense
model respectively. Our sliced models run on fewer GPUs and run faster without
any additional code optimization: on 24GB consumer GPUs we reduce the total
compute for inference on LLAMA2-70B to 64% of that of the dense model; on 40GB
A100 GPUs we reduce it to 66%. We offer a new insight, computational invariance
in transformer networks, which enables SliceGPT and we hope it will inspire and
enable future avenues to reduce memory and computation demands for pre-trained
models. Code is available at:
https://github.com/microsoft/TransformerCompression