


Un modèle de langage avec 10 milliards de paramètres ne peut-il pas fonctionner ? Un médecin chinois du MIT a proposé la quantification SmoothQuant, qui a réduit de moitié les besoins en mémoire et augmenté la vitesse de 1,56 fois !
Bien que les modèles de langage à grande échelle (LLM) aient de fortes performances, le nombre de paramètres peut facilement atteindre des centaines de milliards et la demande en équipement informatique et en mémoire est si importante que les entreprises ordinaires ne peuvent pas se le permettre.
La quantification est une opération de compression courante qui sacrifie une partie des performances du modèle en échange d'une vitesse d'inférence plus rapide et de moins de besoins en mémoire en réduisant la précision des pondérations du modèle (comme 32 bits à 8 bits).
Mais pour les LLM comportant plus de 100 milliards de paramètres, les méthodes de compression existantes ne peuvent pas maintenir la précision du modèle, ni fonctionner efficacement sur le matériel.
Récemment, des chercheurs du MIT et de NVIDIA ont proposé conjointement une solution de quantification post-entraînement à usage général (GPQ, quantification post-entraînement à usage général) SmoothQuant, qui peut implémenter efficacement 8 bits pour les grands modèles de langage Weights, quantification des activations 8 bits (W8A8), maintient la précision du modèle sans formation.
Lien papier : https://arxiv.org/pdf/2211.10438.pdf
Lien code : https://github.com/mit-han-lab/smoothquant
Étant donné que l'activation est plus difficile à quantifier que le poids, SmoothQuant migre l'activation la plus difficile à quantifier vers le poids via une transformation mathématique équivalente, permettant ainsi un traitement fluide des valeurs aberrantes d'activation.
SmoothQuant est capable de quantifier les poids et les activations dans différentes couches de tous les LLM jusqu'à INT8, y compris OPT-175B, BLOOM-176B et GLM-130B.
Par rapport aux méthodes existantes qui effectuent uniquement une optimisation du poids ou une quantification des activations à précision mixte, SmoothQuant a une efficacité matérielle plus élevée, atteignant une accélération de 1,56 fois, et les besoins en mémoire ne représentent que la moitié du LLM d'origine, et il n'y a presque pas perte de précision .
SmoothQuant a également une conception conviviale pour le matériel. Les chercheurs ont intégré SmoothQuant dans le cadre de service LLM FasterTransformer pour obtenir une vitesse d'inférence plus rapide Par rapport à la précision du FP16, seulement la moitié du nombre de GPU sont nécessaires
Le premier. L'auteur de l'article, Xiao Guangxuan, est doctorant en première année au MIT EECS et est titulaire d'un baccalauréat de l'École d'informatique et de technologie de l'Université Tsinghua.
L'instructeur Song Han est professeur agrégé au MIT EECS. Il est diplômé d'un doctorat de l'Université de Stanford. Son principal domaine de recherche est l'apprentissage profond efficace. Il a déjà proposé une technologie de compression profonde, qui peut réduire la taille des réseaux neuronaux. ordre de grandeur sans perte de précision.
SmoothQuant
La quantification consiste à mapper des valeurs de haute précision à des valeurs discrètes de moindre précision. Dans cet article, les chercheurs se concentrent principalement sur une quantification uniforme d'entiers plus efficace pour le matériel, en particulier INT8.
Les opérations de quantification peuvent être effectuées à différentes granularités, telles que la quantification par tenseur est appliquée à l'ensemble de la matrice de poids, la quantification par jeton est appliquée à chaque jeton lors de l'activation et la quantification par canal est appliquée à chacun des canaux de sortie des poids.
En observant les résultats de quantification de l'activation, les chercheurs ont conclu plusieurs schémas :
1. La quantification est plus difficile à quantifier que le poids.
La répartition des poids est relativement plus uniforme et plus plate. Les résultats de recherches antérieures ont prouvé que la réduction du poids des grands modèles de langage à INT8 ou même INT4 a peu d'impact sur la précision.
2. Les valeurs aberrantes sont la principale difficulté de la quantification de l'activation.
Les valeurs aberrantes lors de l'activation sont généralement environ 100 fois supérieures aux valeurs normales, ce qui entraîne une très faible efficacité des bits/niveaux de quantification dans les canaux sans valeurs aberrantes.
3. Les valeurs anormales sont corrigées dans un certain canal.
Les valeurs aberrantes n'apparaîtront que dans une petite partie des canaux, mais s'il y a une valeur aberrante dans un canal, la valeur aberrante peut apparaître dans tous les jetons.
La variance de tous les canaux dans un jeton donné sera grande (certains canaux seront très grands, mais la plupart seront petits), mais la variance d'un canal donné dans tous les degrés de jeton sera faible (exceptionnel Le canal de valeur sera très large).
Étant donné que les valeurs aberrantes ont les caractéristiques d'une occurrence continue et d'une faible variance au sein de chaque canal, si la quantification par canal est effectuée sur les activations, l'erreur de quantification sera beaucoup plus petite que la quantification par tenseur.
Grâce à une expérience simple, les résultats ont une fois de plus vérifié les idées des chercheurs. Lorsqu'elle est quantifiée à INT8, la précision par canal est bien supérieure à la quantification par tenseur et par jeton, et est différente de la précision de base du FP16. . Pas beaucoup.
Les chercheurs ont lissé l'activation de l'entrée en utilisant un facteur de lissage par canal. Pour maintenir l’équivalence mathématique des couches linéaires, les poids doivent également être mis à l’échelle inversement.
Depuis l'entrée, surcharge d'appel de noyau mise à l'échelle supplémentaire. Dans d'autres cas, par exemple lorsque l'entrée provient d'un ajout résiduel, une mise à l'échelle supplémentaire peut être ajoutée à la branche résiduelle.
Déplacer la difficulté de quantification des activations aux poids
L'objectif de Smooth est de choisir un facteur de lissage par canal qui rend l'opération inverse plus facile à quantifier.
Afin de réduire l'erreur de quantification, les bits de quantification effectifs de tous les canaux doivent être augmentés. Lorsque l'amplitude maximale de tous les canaux est la même, le nombre total de bits de quantification effectifs sera le plus grand.
Par conséquent, l'un des choix de facteurs de lissage les plus directs est la valeur maximale de chaque canal dans l'entrée, ce qui peut garantir qu'après le partitionnement, tous les canaux d'activation ont la même valeur maximale, permettant ainsi une quantification plus facile.
Mais il convient de noter que la plage d'activation est dynamique et différente pour différents échantillons d'entrée. Les chercheurs ont donc utilisé des échantillons d’étalonnage de l’ensemble de données de pré-formation pour estimer la taille des canaux d’activation.
Étant donné que cette formule transfère toutes les difficultés de quantification aux poids, on peut constater que dans ce cas, l'erreur de quantification des poids sera importante, entraînant une forte diminution de la précision.
D'un autre côté, il est également possible de pousser toute la difficulté de quantification depuis les poids jusqu'aux activations en choisissant sj = 1/ max(|Wj|). De même, les performances du modèle sont également médiocres en raison d’erreurs de quantification d’activation excessives. Par conséquent, la difficulté de quantification doit être divisée entre les poids et les activations pour les rendre faciles à quantifier.
Les chercheurs ont introduit une force de transfert d'hyperparamètres α pour contrôler la difficulté de transfert des activations aux poids.
On constate que pour la plupart des modèles, tels que les modèles OPT et BLOOM, α=0,5 est un bon point d'équilibre qui peut répartir uniformément la difficulté de quantification, notamment en utilisant le même quantificateur pour les poids et les activations.
Cette formule garantit que les poids et activations des canaux correspondants ont des valeurs maximales similaires et partagent ainsi la même difficulté de quantification.
Pour certains autres modèles avec des valeurs aberrantes d'activation relativement importantes, comme le GLM-130B avec 30 % de valeurs aberrantes, ce qui est plus difficile pour la quantification d'activation, vous pouvez choisir un α plus grand (comme 0,75), qui sera plus Beaucoup de la difficulté de quantification est transférée aux poids.
SmoothQuant est appliqué au bloc Transformer
La couche linéaire reprend la plupart des paramètres et calculs du modèle LLM. Par défaut, SmoothQuant met à l'échelle les activations d'entrée de toutes les couches linéaires du transformateur et quantifie les couches linéaires avec W8A8, ce qui permet la quantification de l'opérateur BMM dans le calcul de l'attention.
Dans le processus, INT8 est d'abord utilisé pour quantifier les entrées et les poids d'opérateurs à forte intensité de calcul tels que BMM dans la couche linéaire et la couche d'attention, tandis que les opérations d'autres éléments légers tels que Softmax et LayerNorm le sont, en gardant le activation comme FP16, une telle conception permet d’équilibrer la précision et l’efficacité de l’inférence.
Partie expérimentale
Les chercheurs ont sélectionné trois modèles de langage à grande échelle pour évaluer SmoothQuant, notamment OPT, BLOOM et GLM-130B ; et ont utilisé sept tâches zéro-shot, dont LAMBADA, HellaSwag, PIQA, WinoGrande, OpenBookQA, RTE, COPA. et coll.
Les résultats expérimentaux montrent que SmoothQuant peut résoudre le problème de quantification de très grands LLM, dont les activations sont plus difficiles à quantifier.
SmoothQuant peut correspondre à la précision du FP16 sur tous les ensembles de données d'évaluation, tandis que les lignes de base W8A8, ZeroQuant et Outlier Suppression produisent des résultats presque aléatoires.
Et SmoothQuant peut quantifier sans perte tous les LLM ouverts avec plus de 100 milliards de paramètres
Les étages O1 et O2 de SmoothQuant maintiennent avec succès la précision en virgule flottante, tandis que l'étage O3 (statique par tenseur) réduit la précision moyenne de 0,8 %, probablement en raison à la différence entre les statistiques collectées statiquement et les statistiques d'activation pour des échantillons d'évaluation réels.
Néanmoins, SmoothQuant-O1 peut égaler la précision du FP16, tandis que SmoothQuant-O3 ne réduit la précision que de 1 %, ce qui est nettement meilleur que la ligne de base.
SmoothQuant est non seulement efficace pour les très grands LLM avec plus de 100 B de paramètres, mais donne également des résultats stables pour les plus petits LLM. SmoothQuant peut fonctionner à toutes les échelles de modèles OPT et correspond à la précision FP16 de la quantification INT8.
Pour démontrer les améliorations de vitesse et les économies de mémoire de SmoothQuant-O3 intégré à PyTorch et FasterTransformer, nous avons mesuré la latence de bout en bout de génération de tous les états cachés pour un lot de 4 phrases à la fois, également connu sous le nom de l'étape de contexte et a enregistré l'utilisation maximale de la mémoire GPU au cours de ce processus.
En raison du manque de prise en charge par Huggingface du parallélisme des modèles, les chercheurs ont uniquement mesuré les performances de l'implémentation PyTorch de SmoothQuant sur un seul GPU et ont donc sélectionné OPT-6.7B, OPT-13B et OPT-30B pour évaluation.
Dans la bibliothèque FasterTransformer, SmoothQuant peut être connecté de manière transparente à l'algorithme Tensor Parallelism. Les chercheurs ont donc testé les benchmarks mono-GPU et multi-GPU de SmoothQuant sur OPT-13B, OPT-30B, OPT-66B et OPT-175B.
Les résultats expérimentaux menés sur le serveur GPU NVIDIA A100 80 Go montrent que SmoothQuant est toujours plus rapide que la ligne de base FP16 en termes de latence d'inférence et d'utilisation maximale de la mémoire basée sur l'implémentation de PyTorch. Lorsque la longueur de séquence est de 256, elle obtient 1,51 fois sur OPT-30B. augmentation de la vitesse.
Vous pouvez également constater une tendance selon laquelle plus le modèle est grand, plus l'accélération est évidente, mais LLM.int8() est presque toujours plus lent que la ligne de base FP16, ce qui est également dû à l'énorme surcharge de mix- représentation d'activation de précision.
En termes de mémoire, SmoothQuant et LLM.int8() peuvent presque réduire de moitié l'utilisation de la mémoire du modèle FP16, tandis que SmoothQuant économise un peu plus de mémoire car il utilise entièrement INT8 GEMM.
Par rapport à l'implémentation FP16 de l'OPT par FasterTransformer, SmoothQuant-O3 peut réduire davantage la latence d'exécution de l'OPT-13B et de l'OPT-30B lors de l'utilisation d'un seul GPU, jusqu'à 1,56 fois.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Imaginez un modèle d'intelligence artificielle qui non seulement a la capacité de surpasser l'informatique traditionnelle, mais qui permet également d'obtenir des performances plus efficaces à moindre coût. Ce n'est pas de la science-fiction, DeepSeek-V2[1], le modèle MoE open source le plus puissant au monde est ici. DeepSeek-V2 est un puissant mélange de modèle de langage d'experts (MoE) présentant les caractéristiques d'une formation économique et d'une inférence efficace. Il est constitué de 236B paramètres, dont 21B servent à activer chaque marqueur. Par rapport à DeepSeek67B, DeepSeek-V2 offre des performances plus élevées, tout en économisant 42,5 % des coûts de formation, en réduisant le cache KV de 93,3 % et en augmentant le débit de génération maximal à 5,76 fois. DeepSeek est une entreprise explorant l'intelligence artificielle générale

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

Boston Dynamics Atlas entre officiellement dans l’ère des robots électriques ! Hier, l'Atlas hydraulique s'est retiré "en larmes" de la scène de l'histoire. Aujourd'hui, Boston Dynamics a annoncé que l'Atlas électrique était au travail. Il semble que dans le domaine des robots humanoïdes commerciaux, Boston Dynamics soit déterminé à concurrencer Tesla. Après la sortie de la nouvelle vidéo, elle a déjà été visionnée par plus d’un million de personnes en seulement dix heures. Les personnes âgées partent et de nouveaux rôles apparaissent. C'est une nécessité historique. Il ne fait aucun doute que cette année est l’année explosive des robots humanoïdes. Les internautes ont commenté : Les progrès des robots ont fait ressembler la cérémonie d'ouverture de cette année à des êtres humains, et le degré de liberté est bien plus grand que celui des humains. Mais n'est-ce vraiment pas un film d'horreur ? Au début de la vidéo, Atlas est allongé calmement sur le sol, apparemment sur le dos. Ce qui suit est à couper le souffle

Les performances de JAX, promu par Google, ont dépassé celles de Pytorch et TensorFlow lors de récents tests de référence, se classant au premier rang sur 7 indicateurs. Et le test n’a pas été fait sur le TPU présentant les meilleures performances JAX. Bien que parmi les développeurs, Pytorch soit toujours plus populaire que Tensorflow. Mais à l’avenir, des modèles plus volumineux seront peut-être formés et exécutés sur la base de la plate-forme JAX. Modèles Récemment, l'équipe Keras a comparé trois backends (TensorFlow, JAX, PyTorch) avec l'implémentation native de PyTorch et Keras2 avec TensorFlow. Premièrement, ils sélectionnent un ensemble de

L’IA change effectivement les mathématiques. Récemment, Tao Zhexuan, qui a prêté une attention particulière à cette question, a transmis le dernier numéro du « Bulletin de l'American Mathematical Society » (Bulletin de l'American Mathematical Society). En se concentrant sur le thème « Les machines changeront-elles les mathématiques ? », de nombreux mathématiciens ont exprimé leurs opinions. L'ensemble du processus a été plein d'étincelles, intense et passionnant. L'auteur dispose d'une équipe solide, comprenant Akshay Venkatesh, lauréat de la médaille Fields, le mathématicien chinois Zheng Lejun, l'informaticien de l'Université de New York Ernest Davis et de nombreux autres universitaires bien connus du secteur. Le monde de l’IA a radicalement changé. Vous savez, bon nombre de ces articles ont été soumis il y a un an.

La dernière vidéo du robot Optimus de Tesla est sortie, et il peut déjà fonctionner en usine. À vitesse normale, il trie les batteries (les batteries 4680 de Tesla) comme ceci : Le responsable a également publié à quoi cela ressemble à une vitesse 20 fois supérieure - sur un petit "poste de travail", en sélectionnant et en sélectionnant et en sélectionnant : Cette fois, il est publié L'un des points forts de la vidéo est qu'Optimus réalise ce travail en usine, de manière totalement autonome, sans intervention humaine tout au long du processus. Et du point de vue d'Optimus, il peut également récupérer et placer la batterie tordue, en se concentrant sur la correction automatique des erreurs : concernant la main d'Optimus, le scientifique de NVIDIA Jim Fan a donné une évaluation élevée : la main d'Optimus est l'un des robots à cinq doigts du monde. le plus adroit. Ses mains ne sont pas seulement tactiles

La détection de cibles est un problème relativement mature dans les systèmes de conduite autonome, parmi lesquels la détection des piétons est l'un des premiers algorithmes à être déployés. Des recherches très complètes ont été menées dans la plupart des articles. Cependant, la perception de la distance à l’aide de caméras fisheye pour une vue panoramique est relativement moins étudiée. En raison de la distorsion radiale importante, la représentation standard du cadre de délimitation est difficile à mettre en œuvre dans les caméras fisheye. Pour alléger la description ci-dessus, nous explorons les conceptions étendues de boîtes englobantes, d'ellipses et de polygones généraux dans des représentations polaires/angulaires et définissons une métrique de segmentation d'instance mIOU pour analyser ces représentations. Le modèle fisheyeDetNet proposé avec une forme polygonale surpasse les autres modèles et atteint simultanément 49,5 % de mAP sur l'ensemble de données de la caméra fisheye Valeo pour la conduite autonome.

Le FP8 et la précision de quantification inférieure en virgule flottante ne sont plus le « brevet » du H100 ! Lao Huang voulait que tout le monde utilise INT8/INT4, et l'équipe Microsoft DeepSpeed a commencé à exécuter FP6 sur A100 sans le soutien officiel de NVIDIA. Les résultats des tests montrent que la quantification FP6 de la nouvelle méthode TC-FPx sur A100 est proche ou parfois plus rapide que celle de INT4, et a une précision supérieure à celle de cette dernière. En plus de cela, il existe également une prise en charge de bout en bout des grands modèles, qui ont été open source et intégrés dans des cadres d'inférence d'apprentissage profond tels que DeepSpeed. Ce résultat a également un effet immédiat sur l'accélération des grands modèles : dans ce cadre, en utilisant une seule carte pour exécuter Llama, le débit est 2,65 fois supérieur à celui des cartes doubles. un
