ChatPaper.aiChatPaper

SliceGPT : Compresser les grands modèles de langage en supprimant des lignes et des colonnes

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

Résumé

Les grands modèles de langage sont devenus la pierre angulaire du traitement du langage naturel, mais leur utilisation s'accompagne de coûts substantiels en termes de ressources de calcul et de mémoire. La sparsification offre une solution pour atténuer ces contraintes de ressources, et des travaux récents ont montré que les modèles entraînés peuvent être sparsifiés a posteriori. Les techniques de sparsification existantes rencontrent des défis, car elles nécessitent des structures de données supplémentaires et offrent une accélération limitée avec le matériel actuel. Dans cet article, nous présentons SliceGPT, un nouveau schéma de sparsification post-entraînement qui remplace chaque matrice de poids par une matrice plus petite (dense), réduisant ainsi la dimension d'embedding du réseau. Grâce à des expérimentations approfondies, nous montrons que SliceGPT peut supprimer jusqu'à 25 % des paramètres du modèle (y compris les embeddings) pour les modèles LLAMA2-70B, OPT 66B et Phi-2 tout en maintenant respectivement 99 %, 99 % et 90 % des performances en tâche zero-shot du modèle dense. Nos modèles découpés fonctionnent sur moins de GPU et sont plus rapides sans aucune optimisation de code supplémentaire : sur des GPU grand public de 24 Go, nous réduisons le calcul total pour l'inférence sur LLAMA2-70B à 64 % de celui du modèle dense ; sur des GPU A100 de 40 Go, nous le réduisons à 66 %. Nous proposons une nouvelle perspective, l'invariance computationnelle dans les réseaux de transformateurs, qui permet à SliceGPT de fonctionner, et nous espérons qu'elle inspirera et permettra de futures voies pour réduire les exigences en mémoire et en calcul des modèles pré-entraînés. Le code est disponible à l'adresse suivante : 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
PDF746December 15, 2024