SliceGPT: Comprimeer Grote Taalmodellen door Rijen en Kolommen te Verwijderen
SliceGPT: Compress Large Language Models by Deleting Rows and Columns
January 26, 2024
Auteurs: Saleh Ashkboos, Maximilian L. Croci, Marcelo Gennari do Nascimento, Torsten Hoefler, James Hensman
cs.AI
Samenvatting
Grote taalmodelen zijn de hoeksteen geworden van natuurlijke taalverwerking, maar hun gebruik gaat gepaard met aanzienlijke kosten in termen van reken- en geheugenbronnen. Versparsing biedt een oplossing om deze resourcebeperkingen te verlichten, en recente studies hebben aangetoond dat getrainde modellen achteraf kunnen worden verspaard. Bestaande versparsingstechnieken kampen met uitdagingen, omdat ze aanvullende datastructuren nodig hebben en beperkte snelheidswinst bieden met de huidige hardware. In dit artikel presenteren we SliceGPT, een nieuwe versparsingsmethode na training, waarbij elke gewichtsmatrix wordt vervangen door een kleinere (dichte) matrix, waardoor de inbeddingsdimensie van het netwerk wordt verkleind. Door uitgebreide experimenten tonen we aan dat SliceGPT tot 25% van de modelparameters (inclusief inbeddingen) kan verwijderen voor LLAMA2-70B, OPT 66B en Phi-2 modellen, terwijl respectievelijk 99%, 99% en 90% van de zero-shot-taakprestaties van het dichte model behouden blijven. Onze verspaarde modellen draaien op minder GPU's en werken sneller zonder aanvullende code-optimalisatie: op 24GB consumenten-GPU's verminderen we het totale rekenwerk voor inferentie op LLAMA2-70B tot 64% van dat van het dichte model; op 40GB A100 GPU's verminderen we dit tot 66%. We bieden een nieuw inzicht, computationele invariantie in transformernetwerken, dat SliceGPT mogelijk maakt, en we hopen dat dit toekomstige wegen zal inspireren en mogelijk maken om het geheugen- en rekenverbruik van vooraf getrainde modellen te verminderen. Code is beschikbaar op: 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