Maison > Article > Périphériques technologiques > Le premier algorithme de compression de 100 milliards de modèles SparseGPT est là, réduisant les coûts de puissance de calcul tout en maintenant une grande précision
Depuis l'émergence de GPT-3 en 2020, la popularité de ChatGPT a une fois de plus mis sous les projecteurs les modèles de langage génératifs à grande échelle de la famille GPT, et ils ont montré de solides performances dans diverses tâches.
Mais l'ampleur du modèle entraîne également une augmentation des coûts de calcul et une augmentation de la difficulté de déploiement.
Par exemple, le modèle GPT‑175B occupe un total d'au moins 320 Go d'espace de stockage au format demi-précision (FP16). Lors de l'inférence, au moins cinq GPU A100 avec 80 Go d'espace de stockage sont requis.
La compression de modèle est actuellement une méthode couramment utilisée pour réduire le coût de calcul des grands modèles, mais jusqu'à présent, presque toutes les méthodes de compression GPT existantes se concentrent sur la quantification, c'est-à-dire la réduction d'un seul poids La précision de la représentation numérique.
Une autre méthode de compression de modèle est l'élagage, qui supprime les éléments du réseau, allant des poids individuels (élagage non structuré) aux composants plus granulaires tels que des lignes/colonnes entières de matrices de poids (élagage structuré). Cette approche fonctionne bien dans les modèles de vision et de langage à plus petite échelle, mais elle entraîne une perte de précision, nécessitant un recyclage approfondi du modèle pour restaurer la précision, de sorte que le coût redevient trop cher lorsqu'il s'agit de modèles à grande échelle comme GPT. . Bien qu'il existe certaines méthodes d'élagage en un seul coup qui peuvent compresser le modèle sans recyclage, elles nécessitent trop de calculs et sont difficiles à appliquer à des modèles comportant des milliards de paramètres.
Donc, pour un grand modèle de la taille de GPT-3, existe-t-il un moyen de l'élaguer avec précision tout en conservant une perte de précision minimale et en réduisant les coûts de calcul ?
Récemment, deux chercheurs de l'Institut des sciences et technologies d'Autriche (ISTA), Elias Frantar et Dan Alistarh, ont collaboré à une étude visant à proposer pour la première fois un élagage précis en un seul coup pour des échelles de modèle de 10 à 100 milliards de paramètres. . MéthodeSparseGPT.
Adresse papier : https://arxiv.org/pdf/2301.00774.pdf
SparseGPT peut élaguer le modèle de la série GPT à 50 % de parcimonie en une seule étape sans aucun recyclage. Le plus grand modèle accessible au public, le GPT-175B, réalise cet élagage en quelques heures seulement à l'aide d'un seul GPU.
De plus, SparseGPT est également très précis et peut minimiser la perte de précision. Par exemple, lors de l'exécution de SparseGPT sur les plus grands modèles open source OPT‑175B et BLOOM‑176B, une parcimonie de 60 % peut être obtenue tout en minimisant la perte de précision.
La recherche sur de très grands modèles a été très active ces dernières années, mais jusqu'à présent, il n'existe aucun modèle avec plus de 10 milliards de paramètres permettant d'obtenir une sparsification élevée très précise.
Les méthodes existantes ont des exigences de coût de calcul trop élevées. En prenant l'OBC, la méthode de post-formation la plus précise à l'heure actuelle, comme exemple, pour un modèle d'un milliard de paramètres, la compression prend plus d'une heure. La méthode de post-formation connue la plus rapide, AdaPrune, prend également quelques minutes pour élaguer un modèle comportant un milliard de paramètres, et à ce rythme, on estime qu'un modèle à l'échelle de GPT-3 nécessite des centaines d'heures (semaines) de calcul.
La plupart des méthodes d'élagage existantes telles que l'élagage d'ampleur progressive nécessitent un recyclage approfondi après l'étape d'élagage pour restaurer la précision, et les modèles à l'échelle GPT nécessitent généralement de nombreux calculs et ajustements de paramètres requis pour la formation ou le réglage fin, ce qui rend la formation basée sur le recyclage. méthodes difficiles à appliquer. Par conséquent, l’application de cette approche d’élagage progressif à l’échelle GPT n’est pas réalisable.
Ce travail de l'équipe ISTA propose la méthode SparseGPT, qui peut exécuter des modèles avec plus de 100 milliards de paramètres sur un seul GPU en quelques heures, et est suffisamment précise pour élaguer le modèle à un niveau de parcimonie de 50 %- 60% , sans réduire significativement les performances.
Au cœur de SparseGPT se trouve un nouvel algorithme de régression clairsemée approximative à grande échelle qui se généralise aux modes semi-structurés (2:4 et 4:8) et est compatible avec les méthodes de quantification de poids existantes.
La plupart des méthodes d'élagage existantes telles que l'élagage progressif nécessitent un recyclage approfondi après l'étape d'élagage pour restaurer la précision, et les modèles à l'échelle GPT souvent. Une grande quantité de calculs et d'ajustements de paramètres sont nécessaires pour la formation ou la précision. réglage, ce qui rend les méthodes basées sur la reconversion difficiles à appliquer. Par conséquent, l’application de cette approche d’élagage progressif à l’échelle GPT n’est pas réalisable.
SparseGPT est une méthode de post-formation pour les modèles à l'échelle GPT car elle n'effectue aucun réglage fin.
Il existe actuellement de nombreuses méthodes pour quantifier la post-formation des modèles à l'échelle GPT, telles que ZeroQuant, LLM.int8() et nuQmm, etc., mais la quantification d'activation peut être difficile en raison de la présence de caractéristiques anormales. GPTQ utilise des informations approximatives de second ordre pour quantifier avec précision les poids sur 2 à 4 bits, ce qui convient aux modèles les plus grands et, lorsqu'il est combiné avec des cœurs GPU efficaces, peut conduire à une accélération d'inférence 2 à 5x.
Mais comme GPTQ se concentre sur la sparsification plutôt que sur la quantification, SparseGPT est un complément à la méthode de quantification, et les deux peuvent être appliquées en combinaison.
De plus, en plus de l'élagage non structuré, SparseGPT convient également aux modèles semi-structurés, tels que le populaire format sparse n:m, qui peut atteindre une accélération dans un rapport de 2:4 sur les GPU Ampere NVIDIA.
Après avoir évalué l'effet du modèle de compression SparseGPT, les chercheurs ont découvert que la difficulté de sparsification de grands modèles de langage est proportionnelle à la taille du modèle, qui est différente de celle existante. avec la méthode Magnitude Pruning, l'utilisation de SparseGPT peut atteindre un degré plus élevé de parcimonie du modèle tout en conservant une perte de précision minimale.
Les chercheurs ont implémenté SparseGPT sur PyTorch et utilisé la bibliothèque Transformers de HuggingFace pour traiter le modèle et l'ensemble de données, le tout sur un seul GPU NVIDIA A100 avec 80 Go de mémoire. Dans de telles conditions expérimentales, SparseGPT peut réaliser une sparsification complète d'un modèle de 175 milliards de paramètres en environ 4 heures.
Les chercheurs répartissent les couches de Transformer de manière séquentielle, ce qui réduit considérablement les besoins en mémoire et améliore également considérablement la précision du traitement de toutes les couches en parallèle. Toutes les expériences de compression ont été réalisées en une seule fois, sans aucun réglage fin.
Les objets d'évaluation sont principalement des modèles de la série OPT, qui comprennent un ensemble de modèles de 125 millions à 175 milliards de paramètres, ce qui permet d'observer facilement les performances de mise à l'échelle de l'élagage par rapport à la taille du modèle. De plus, 176 milliards de variantes de paramètres de BLOOM ont été analysées.
En termes d'ensembles de données et de métriques d'évaluation, l'expérience a utilisé la perplexité de l'ensemble de tests WikiText2 original pour évaluer la précision de la méthode de compression SparseGPT. Dans le même temps, afin d'augmenter l'interprétabilité, certaines métriques de précision ZeroShot ont été. également utilisé. De plus, l’évaluation se concentre sur l’exactitude du modèle clairsemé par rapport à la référence du modèle dense, plutôt que sur des chiffres absolus.
Les chercheurs élaguent toutes les couches linéaires de l'ensemble de la série de modèles OPT (à l'exclusion des intégrations et des en-têtes standard) pour atteindre 50 % de parcimonie non structurée, 4 : 8 complète ou 2 : 4 semi-structurée complète, respectivement, les résultats sont les suivants. montré ci-dessous.
On peut constater que la précision du modèle compressé par élagage d'amplitude est mauvaise à toutes les tailles, et plus le modèle est grand, plus la précision diminue.
La tendance des modèles compressés à l'aide de SparseGPT est différente. Sous 2,7 milliards de paramètres, la perte de perplexité est
Une tendance générale est que les modèles plus grands sont plus faciles à disperser. À un niveau de parcimonie fixe, la précision relative des modèles clairsemés par rapport aux modèles denses diminue à mesure que la taille du modèle augmente. . Les auteurs pensent que cela pourrait être dû à leur degré plus élevé de paramétrage et à leur plus grande immunité globale au bruit.
Par rapport à la ligne de base du modèle dense, à l'échelle maximale, lorsque vous utilisez SparseGPT pour compresser le modèle à une parcimonie de 4:8 et 2:4, la croissance de la perplexité n'est que de 0,11 et 0,39 respectivement. Ce résultat signifie que nous pouvons atteindre une accélération 2x dans la pratique, et les GPU NVIDIA Ampere commerciaux prennent déjà en charge une parcimonie de 2:4.
L'auteur a étudié la relation entre les performances de deux milliards de modèles, OPT-175B et BLOOM-176B, et le degré de parcimonie provoqué par l'utilisation de SparseGPT. Les résultats sont présentés dans la figure ci-dessous.
On peut voir que pour le modèle OPT-175B, l'élagage d'amplitude peut atteindre jusqu'à 10 % de parcimonie, suivi d'une perte de précision importante. SparseGPT peut également atteindre 60 % de parcimonie avec une perplexité croissante.
Pour le modèle BLOOM-176B, bien que l'élagage d'amplitude puisse atteindre 30 % de parcimonie sans perte de précision significative, en comparaison, SparseGPT peut atteindre 50 % de parcimonie, soit une amélioration de 1,66x. De plus, à 80 % de parcimonie, la perplexité du modèle compressé à l'aide de SparseGPT reste toujours à un niveau raisonnable, mais lorsque l'élagage d'amplitude atteint 40 % de parcimonie d'OPT et 60 % de parcimonie de BLOOM, la perplexité est déjà > 100.
De plus, SparseGPT est capable de supprimer environ 100 milliards de poids de ces modèles, avec un impact limité sur la précision du modèle.
Enfin, cette étude montre pour la première fois qu'un modèle pré-entraîné à grande échelle basé sur Transformer peut être compressé à une parcimonie élevée grâce à un élagage de poids unique sans aucun recyclage et avec une très faible perte de précision.
Il convient de noter que la méthode de SparseGPT est locale : après chaque étape d'élagage, elle effectue des mises à jour de poids visant à préserver la relation entrée-sortie de chaque couche, et ces mises à jour sont effectuées sans aucune information de gradient global calculée dans les circonstances. . Par conséquent, le degré élevé de paramétrage des modèles GPT à grande échelle semble permettre à cette approche d'identifier directement des modèles précis et clairsemés parmi les « voisins » de modèles denses pré-entraînés.
De plus, étant donné que l'indicateur de précision (perplexité) utilisé dans l'expérience est très sensible, la sortie du modèle clairsemé généré semble être étroitement liée à la sortie du modèle dense.
Cette recherche a une grande importance positive en atténuant les limitations de puissance de calcul des grands modèles. Une direction de travail future consiste à étudier le mécanisme de réglage fin des grands modèles pour restaurer davantage la précision. formation de modèles. L’applicabilité réduira le coût de calcul de la formation de grands modèles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!