2024-08-19
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La rubrique AIxiv est une rubrique dans laquelle Machine Heart publie du contenu académique et technique. Au cours des dernières années, la rubrique Heart of the Machine AIxiv a reçu plus de 2 000 rapports, couvrant les meilleurs laboratoires des principales universités et entreprises du monde entier, favorisant efficacement les échanges et la diffusion académiques. Si vous souhaitez partager un excellent travail, n'hésitez pas à contribuer ou à nous contacter pour un rapport. Courriel de soumission : [email protected] ; [email protected] ;
Dans le domaine de l’intelligence artificielle, une augmentation des paramètres du modèle signifie souvent une amélioration des performances. Cependant, à mesure que l’échelle du modèle s’étend, les besoins en puissance de calcul et en mémoire du terminal augmentent également. La technologie de quantification à faibles bits est devenue l'une des technologies clés permettant à de grands modèles de s'exécuter efficacement sur des appareils aux ressources limitées, car elle peut réduire considérablement les coûts de stockage et de calcul et améliorer l'efficacité de l'inférence. Cependant, si le périphérique matériel ne prend pas en charge le mode de données quantifiées à bits faibles, les avantages de la quantification à bits faibles ne seront pas réalisés.
Afin de résoudre ce problème, Microsoft Research Asia a lancé un nouveau compilateur de données Ladder et l'algorithme T-MAC, qui permettent au matériel qui ne prend actuellement en charge que les calculs de précision symétrique d'exécuter directement une multiplication matricielle à précision mixte. Les résultats des tests montrent que Ladder peut atteindre une accélération maximale de 14,6 fois en prenant en charge les types de données personnalisés que le GPU ne prend pas en charge à l'origine ; T-MAC permet aux applications d'IA à grande échelle exécutées sur le processeur de s'exécuter sur le PC Surface AI équipé de la dernière version. Le chipset Qualcomm Snapdragon X Elite est deux fois plus rapide que celui de l'accélérateur dédié NPU. En outre, les chercheurs ont également conçu l'architecture matérielle LUT Tensor Core. Cette conception simplifiée permet au matériel de prendre directement en charge divers calculs à faible précision mixte, fournissant ainsi de nouvelles idées pour la conception de matériel d'intelligence artificielle.
Les grands modèles sont de plus en plus déployés sur des appareils finaux tels que les smartphones, les ordinateurs portables et les robots pour fournir des services avancés d’intelligence et de réponse en temps réel. Cependant, les grands modèles contenant des centaines de millions de paramètres imposent des exigences extrêmement élevées en matière de mémoire et de puissance de calcul des terminaux, limitant ainsi leur application à grande échelle. La technologie de quantification à faibles bits peut compresser considérablement la taille du modèle et réduire la demande en ressources informatiques. Elle est devenue un moyen efficace de déployer de grands modèles côté appareil et d'obtenir une inférence efficace.
Avec le développement de la technologie de quantification à bits faibles, les types de données sont de plus en plus diversifiés, tels que int4, int2, int1 et d'autres données à bits faibles, ce qui oblige les grands modèles à utiliser de plus en plus la multiplication matricielle à précision mixte de poids en bits faibles et de poids en bits élevés. calculs en inférence (multiplication matricielle à précision mixte, mpGEMM). Cependant, les unités informatiques matérielles existantes telles que les CPU et les GPU ne prennent généralement en charge que les modes de calcul symétriques et ne sont pas compatibles avec cette multiplication matricielle à précision mixte.
En quoi la multiplication matricielle à précision mixte diffère-t-elle de la multiplication matricielle traditionnelle ?
Dans la multiplication matricielle traditionnelle, les valeurs aux deux extrémités impliquées dans l'opération sont symétriques, comme FP16*FP16, int8*int8. Mais la quantification en bits faibles des grands modèles brise cette symétrie, rendant une extrémité de la multiplication en bits élevés et l'autre extrémité en bits faibles, comme int8*int1 ou int8*int2 implémenté dans le modèle BitNet 1 bit, et la virgule flottante nombres. Multiplication mixte avec des entiers FP16*int4.
Afin de tirer pleinement parti des avantages de la quantification à faible bit, de permettre aux périphériques matériels de prendre directement en charge la multiplication matricielle à précision mixte et de garantir un fonctionnement rapide et efficace des grands modèles sur les périphériques finaux, les chercheurs de Microsoft Research Asia se sont concentrés sur les opérateurs informatiques CPU et GPU existants et l'innovation en matière d'architecture matérielle :
Ladder : conversion sans perte de types de données personnalisés en types de données pris en charge par le matériel
Actuellement, des accélérateurs de pointe intègrent les opérations d'unités de calcul de faible puissance, telles que FP32, FP16 et même FP8, dans des architectures de nouvelle génération. Cependant, limité par la surface de la puce et le coût élevé du matériel, chaque accélérateur ne peut fournir que des types limités d'unités de calcul pour les types de données standard. Par exemple, le GPU NVIDIA V100 TENSOR CORE ne prend en charge que FP16, tandis que l'A100 a ajouté la prise en charge de int2, int4. , prise en charge int8, mais ne couvre pas les formats de données plus récents tels que FP8 ou OCP-MXFP. En outre, il existe un écart entre l'itération rapide des grands modèles et la lenteur des mises à niveau matérielles, ce qui fait que de nombreux nouveaux types de données ne sont pas pris en charge par le matériel, ce qui affecte à son tour l'accélération et le fonctionnement des grands modèles.
Les chercheurs de Microsoft Research Asia ont découvert que même si l'accélérateur matériel ne dispose pas d'instructions de calcul pour les types de données personnalisés, son système de mémoire peut les convertir en blocs de données opaques de largeur fixe pour stocker des types de données arbitraires. Dans le même temps, la plupart des types de données personnalisés peuvent être convertis sans perte en types de données standard de bits plus élevés pris en charge par les unités informatiques matérielles existantes. Par exemple, les tenseurs NF4 peuvent être convertis en FP16 ou FP32 pour effectuer des opérations en virgule flottante.
Sur la base de ces résultats, les chercheurs ont proposé uneUne méthode pour prendre en charge tous les types de données personnalisés en séparant le stockage des données et le calcul, et le développement du compilateur de données Ladder pour combler le fossé entre les types de données personnalisés émergents et les formats de précision inhérents pris en charge par le matériel actuel.
Ladder définit un système de types de données, comprenant des abstractions pour la conversion sans perte entre les types de données. Il peut représenter divers types de données pris en charge par les algorithmes et le matériel, et définit des règles de conversion entre les types de données. Lorsqu'il s'agit d'applications d'algorithmes à bits faibles, Ladder traduit les données à bits faibles dans le format d'exécution le plus efficace sur le matériel actuel grâce à une série d'optimisations, notamment l'optimisation du calcul et du stockage - en mappant l'algorithme aux instructions informatiques correspondantes et aux données dans différents formats. sont stockés dans différents niveaux d’unités de stockage pour réaliser les opérations les plus efficaces.
Figure 1 : Architecture du système à échelle
L'évaluation des performances d'inférence DNN exécutée sur les GPU NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090 et AMD Instinct MI250 montre que Ladder surpasse les compilateurs DNN de pointe existants en prenant en charge nativement les types de données et en prenant en charge les GPU. bien sur les types de données personnalisés qui n'étaient pas pris en charge à l'origine, avec une accélération maximale allant jusqu'à 14,6 fois.
Ladder est le premier système à prendre systématiquement en charge la représentation de données de faible précision dans des types de données personnalisés lors de l'exécution de DNN sur des accélérateurs matériels modernes.Cela offre aux chercheurs en modèles une méthode d'optimisation des types de données plus flexible et permet également aux développeurs d'architecture matérielle de prendre en charge un plus large éventail de types de données sans modifier le matériel.
T-MAC : calcul universel de multiplication matricielle à faible précision mixte sans multiplication
Afin de permettre aux périphériques matériels existants de prendre en charge différents modes de données et la multiplication matricielle à précision mixte, lors du déploiement de grands modèles côté extrémité, une approche courante consiste à quantifier inversement le modèle à bits faibles. Cependant, cette approche présente deux problèmes majeurs : premièrement, du point de vue des performances, la surcharge de conversion dans le processus de déquantification peut compenser l'amélioration des performances apportée par la quantification à bits faibles ; deuxièmement, du point de vue du développement, les développeurs doivent cibler différents objectifs ; disposition des données et noyau de calcul pour une précision mixte. Les chercheurs de Microsoft Research Asia estiment que la clé du déploiement de grands modèles quantifiés à faible bit sur les appareils réside dans la manière de briser la mise en œuvre de la multiplication matricielle traditionnelle basée sur des caractéristiques de faible bit.
Pour cela, les chercheurs ont proposé à partir des niveaux système et algorithmiqueT-MAC, une méthode basée sur une table de recherche (LUT, Look-Up Table), aide les grands modèles avec quantification à faibles bits à réaliser une inférence efficace sur le processeur.L'idée principale du T-MAC est de tirer parti de la caractéristique selon laquelle une extrémité de la multiplication matricielle à précision mixte est constituée de bits très faibles (tels que 1 bit ou 2 bits). Leurs résultats de sortie sont seulement 2 à la puissance 1 et 2 à la puissance 2 possibles. Ces résultats de sortie plus petits peuvent être calculés à l'avance et stockés dans le tableau. Pendant l'opération, les résultats doivent uniquement être lus dans le tableau, évitant ainsi les erreurs. la nécessité de calculs répétés réduit considérablement le nombre d'opérations de multiplication et d'addition.
Spécifiquement,T-MAC transforme la multiplication traditionnelle centrée sur le type de données en opérations de table de recherche basées sur les bits, permettant une solution de multiplication matricielle à précision mixte unifiée et évolutive qui réduit la taille de la table et la maintient au minimum en unités de mémoire rapides, le coût de l'accès aléatoire. les tableaux sont réduits.Cette innovation ouvre la voie au déploiement de grands modèles quantifiés à faible bit sur des appareils périphériques aux ressources limitées.
Figure 2 : Diagramme schématique du T-MAC
Lors de tests sur des modèles de langage Llama quantifiés à faible bit et BitNet à 1 bit, T-MAC a démontré des avantages significatifs en termes de performances. Sur Surface Laptop 7 équipé du dernier Qualcomm Snapdragon, le taux de génération du modèle 4 bits 7B Llama peut atteindre 20 jetons par seconde, ce qui est bien plus rapide que la vitesse de lecture humaine moyenne. Par rapport au framework Llama.cpp d'origine, il est 4 à 5 fois plus rapide et même deux fois plus rapide que l'accélérateur NPU dédié.
Même sur des appareils moins performants tels que Raspberry Pi 5, T-MAC permet au modèle 3B BitNet-b1.58 d'atteindre un taux de génération de 11 jetons par seconde. T-MAC présente également des avantages significatifs en termes de puissance, atteignant les mêmes taux de génération sur des appareils aux ressources limitées tout en ne nécessitant que 1/4 à 1/6 du nombre de cœurs du Llama.cpp d'origine.
Ces résultats montrent que T-MAC fournit une solution pratique qui rend plus efficace le déploiement de grands modèles de langage sur des appareils de périphérie utilisant des processeurs à usage général sans recourir à des GPU, permettant ainsi de déployer de grands modèles sur des appareils aux ressources limitées et de les exécuter efficacement. promouvoir l’application de grands modèles dans un plus large éventail de scénarios.
LUT Tensor Core : piloter des accélérateurs matériels de nouvelle génération avec prise en charge native de la multiplication matricielle à précision mixte
T-MAC et Ladder implémentent tous deux une prise en charge optimisée de la multiplication matricielle à précision mixte sur les architectures CPU et GPU existantes. Bien que ces innovations au niveau logiciel aient considérablement amélioré l’efficacité des calculs, elles ne sont toujours pas aussi efficaces que les accélérateurs matériels capables d’implémenter directement une table de recherche spécialisée. Les chercheurs estiment que l’approche la plus idéale consiste à repenser les accélérateurs matériels afin que les processeurs, les GPU, etc. puissent prendre en charge de manière native la multiplication matricielle à précision mixte. Cependant, cet objectif se heurte à trois défis majeurs :
Pour relever ces défis, les chercheurs de Microsoft Research Asia ont conçuLUT Tensor Core, une microarchitecture GPU Tensor Core qui utilise des tables de recherche pour effectuer directement une multiplication matricielle à précision mixte.D'une part, la conception basée sur la table de recherche simplifie l'opération de multiplication en une opération de pré-calcul de table, et les résultats peuvent être directement recherchés dans la table pour améliorer l'efficacité du calcul. D'un autre côté, cette approche simplifie également les exigences matérielles. Elle ne nécessite que des registres pour le stockage des tables et des multiplexeurs pour les recherches, sans avoir besoin de multiplicateurs ni d'additionneurs. Dans le même temps, LUT Tensor Core offre une flexibilité en matière de précision de poids grâce à une conception en série de bits et utilise la quantification de table pour obtenir une flexibilité en matière de précision d'activation.
De plus, afin de s'intégrer à la microarchitecture GPU et à la pile logicielle existantes, les chercheurs ont étendu le jeu d'instructions MMA existant dans le GPU, ajouté un ensemble d'instructions LMMA et conçu une pile logicielle similaire à cuBLAS pour l'intégration dans les GPU existants. certains frameworks DNN. Les chercheurs ont également conçu un compilateur pour la planification d’exécution de bout en bout sur des GPU dotés de LUT Tensor Cores. Ces approches innovantes permettent une adoption transparente et rapide des cœurs Tensor LUT.
Figure 3 : Présentation de la microarchitecture LUT Tensor Core
Les tests sur les modèles Llama et BitNet montrent que LUT Tensor Core peut fournir jusqu'à 6,93 fois la vitesse d'inférence et ne représente que 38,7 % de la surface du Tensor Core traditionnel. Avec presque la même précision de modèle, cela équivaut à 20,7 fois la densité de calcul et à 19,1 fois l’amélioration de l’efficacité énergétique. Alors que l’échelle et la complexité des grands modèles d’intelligence artificielle continuent de croître, LUT Tensor Core contribue à libérer davantage le potentiel des grands modèles de langage à faible bit et à promouvoir l’application de l’intelligence artificielle dans de nouveaux scénarios.
"La méthode des tables de recherche a conduit à un changement de paradigme informatique. Dans le passé, nous nous appuyions sur des opérations de multiplication et d'accumulation matricielles, mais à l'ère des grands modèles, grâce à la technologie de quantification à bits faibles, la table de recherche La méthode deviendra courante. Par rapport à l'arithmétique à virgule flottante ou à la multiplication matricielle traditionnelle, la méthode de table de recherche est plus légère et plus efficace dans le calcul, et est plus facile à développer au niveau matériel. Elle peut atteindre une densité de transistors plus élevée et fournir un plus grand débit par unité. domaine des puces, favorisant ainsi le développement de l'architecture matérielle. " a déclaré Cao Ting, chercheur en chef chez Microsoft Research Asia.
L’effet longue traîne de la quantification low-bit : apporter de nouvelles possibilités à l’intelligence incarnée
La technologie de quantification à bits faibles optimise non seulement l'efficacité de fonctionnement des grands modèles sur les appareils finaux, mais offre également un nouvel espace pour l'expansion des paramètres du modèle (Scale up) en réduisant le « volume » d'un seul paramètre. Cette capacité d'expansion des paramètres confère au modèle une plus grande flexibilité et des capacités d'expression. Comme le montre le modèle BitNet, il part d'un modèle à bits faibles et s'étend progressivement vers une formation à plus grande échelle.
Les technologies innovantes de Microsoft Research Asia telles que T-MAC, Ladder et LUT Tensor Core fournissent des solutions d'exploitation hautes performances pour divers grands modèles quantifiés à faible bit, permettant à ces modèles de fonctionner efficacement sur divers appareils et favorisant la recherche scientifique. d'un point de vue faible. Certaines de ces technologies jouent déjà un rôle dans de grands modèles de recherche tels que la recherche Bing de Microsoft et son activité publicitaire.Avec la réduction de la mémoire et des ressources informatiques, il deviendra également possible de déployer de grands modèles à faible bit sur des systèmes intelligents incorporés tels que des robots, permettant à ces dispositifs de mieux réaliser une perception dynamique et une interaction en temps réel avec l'environnement.
Actuellement, T-MAC et Ladder sont open source sur GitHub. Les développeurs concernés sont invités à tester les applications et à explorer davantage de possibilités de technologie d'intelligence artificielle avec Microsoft Research Asia.