


Nouvelles idées pour la quantification des grands modèles open source en octets, la précision du modèle de quantification à 2 bits est comparable à celle du fp16

La rubrique AIxiv est une rubrique où des contenus académiques et techniques sont publiés sur ce site. Au cours des dernières années, la rubrique AIxiv de ce site 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. E-mail de soumission : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com
À mesure que les grands modèles de langage d'apprentissage en profondeur deviennent de plus en plus populaires, les grands modèles de langage deviennent de plus en plus grands, ce qui fait également augmenter leurs coûts d'inférence. La quantification des modèles est devenue un sujet de recherche populaire.
Récemment, ByteDance a lancé une nouvelle idée de quantification, abandonnant le paradigme de quantification traditionnel et modélisant les tâches de quantification du point de vue de l'optimisation mathématique. L'article est publié sur arXiv et le code est open source. Tous les résultats de l'article peuvent être reproduits en un seul clic. Cette idée de quantification est basée sur l'optimisation mathématique, modélisant la tâche de quantification du point de vue de l'optimisation mathématique et trouvant la solution optimale en maximisant la fonction objectif ou en minimisant la fonction de perte. Cette idée a obtenu de bons résultats dans les expériences et a obtenu des résultats satisfaisants.
Lien papier : https://arxiv.org/abs/2404.12759
Lien du projet : https://github.com/bytedance/decoupleQ
Opérateur W2 : https:// /github.com/NVIDIA/TensorRT-LLM/pull/1568
1 Contexte
Le développement rapide de la technologie à grande échelle a rendu le coût de l'inférence de plus en plus élevé. La quantification de modèles, en tant que solution technique pour réduire les coûts d'inférence, fait l'objet de plus en plus d'attention et de recherches. Cependant, dans le cadre du paradigme de quantification traditionnel, la précision du modèle chute rapidement à des bits très faibles. Sur cette base, les auteurs ont proposé une nouvelle idée de quantification, découplant les paramètres du modèle en une partie entière et une partie en virgule flottante, et modélisant la tâche de quantification du point de vue de l'optimisation mathématique, afin que le modèle puisse toujours conserver une plus grande précision. L'avantage de ceci est évident. Nous n'avons plus besoin de nous concentrer sur des questions spécifiques à la quantification, telles que la manière de traiter les canaux sensibles, la manière de gérer les valeurs aberrantes, etc. Au lieu de cela, il nous suffit de modéliser mathématiquement le problème de quantification, de trouver un fonction objectif d'optimisation appropriée, puis de résoudre cette fonction.
2. Quantification traditionnelle
Traditionnellement, notre idée de quantification pour un modèle est la suivante :
où, sont les poids à virgule flottante du modèle avant quantification s et z sont des coefficients de transformation linéaire, représentant l'échelle et ; point zéro ; α et β sont les limites supérieure et inférieure de la plage de représentation entière. Par exemple, pour la quantification int4, α = -8, β = 7 peut être pris comme la fonction d'arrondi, qui est généralement arrondie au plus proche ; entier.
sera mappé linéairement sur la plage d'intervalle de .
3.decoupleQ
En observant le rôle des équations (1) ~ (3) dans la quantification, si nous changeons notre façon de penser, nous constaterons que nous n'avons en fait pas besoin de connaître les équations (1) et (2). Après avoir quantifié un grand modèle et l'avoir livré aux étudiants en moteurs en aval, il nous suffit de connaître et (s, z) dans l'équation (3). En d’autres termes, (s,z) dans l’équation (3) peut être considéré comme le coefficient d’une transformation affine ordinaire, et il n’est pas nécessaire de conserver sa signification dans l’équation (2). Le coefficient de transformation affine peut être obtenu grâce à des méthodes d'optimisation mathématique.
En approfondissant davantage (3), nous pouvons découpler les paramètres d'un grand modèle en la partie entière et la partie à virgule flottante (s,z). Après un tel découplage, le processus de quantification du modèle peut être considéré comme un processus de résolution de la partie entière
et de la partie virgule flottante (s,z) du modèle. Nous pouvons alternativement optimiser la solution. Pour cela, la fonction objectif d’optimisation et ses contraintes doivent être déterminées.
Pour une couche linéaire, on peut construire la fonction objectif d'optimisation suivante :
où, est l'entrée de la couche,
est une matrice symétrique (si les colonnes de X ne sont pas toutes nulles, alors H est une matrice symétrique définie positive ).
D'une manière générale, afin d'améliorer la précision de la quantification, nous pouvons utiliser une quantification par canal sur les poids du modèle. Dans la quantification par canal, lors de l'optimisation de l'équation (4), chaque colonne de est optimisée indépendamment. Il suffit donc de se concentrer sur une seule des colonnes.
A ce stade, l'objectif d'optimisation peut s'écrire comme suit : (Par souci de simplicité de notation, les symboles sont redéfinis dans l'article) :
où est la fonction objectif d'optimisation
où , w est une certaine colonne de , et b est dans
colonne correspondante. Les définitions des autres symboles sont les mêmes que précédemment.
En fait, la fonction objectif d'optimisation (6) est tout à fait cohérente avec (4), est le processus de quantification inverse.
La conversion d'un problème quantitatif en un problème d'optimisation mathématique de la forme (5) est la clé pour distinguer decoupleQ des articles quantitatifs traditionnels. Cette transformation nous permet de nous concentrer uniquement sur la résolution de l'équation (5) et de ne plus avoir à nous soucier des détails de la quantification elle-même, comme les valeurs aberrantes, etc.
La solution de l'équation (5) n'est pas facile car il y a des contraintes sur , notamment la contrainte non convexe
. Dans l'article, l'auteur donne une idée de solution alternative, c'est-à-dire qu'après avoir obtenu une bonne initialisation sur (s,z) et w, résoudre itérativement (s,z) et w alternativement. Lors de la résolution de (s,z), notez que l'équation (5) est une forme quadratique sans contrainte par rapport à (s,z). Vous pouvez directement dériver la fonction objectif et rendre la dérivée nulle pour obtenir la solution analytique. Lors de la résolution de w, l'auteur adopte deux niveaux d'approximation. L'approximation du premier niveau a une convergence plus élevée, mais la solution est lente ; l'approximation du deuxième niveau échantillonne l'idée de GPTQ [1], qui a une convergence légèrement plus faible, mais la solution. est plus rapide.
Afin d'améliorer encore la précision du modèle quantifié, l'auteur a souligné qu'en plus de faire une minimisation mse au niveau de la couche, la minimisation mse peut également être effectuée au niveau du bloc, c'est-à-dire :
Dans cette étape, l'auteur au niveau du bloc de transformateur, après avoir quantifié chaque couche linéaire, fixe leur partie entière et affine la partie à virgule flottante (s, z) et les paramètres associés de la norme de couche. Les résultats expérimentaux montrent que cette étape de réglage fin peut encore améliorer la précision du modèle.
4. Implémentation de l'opérateur W2
Pour déduire le modèle quantifié, la prise en charge de l'opérateur quantifié est nécessaire. Il n'existe pas d'opérateur w2a16 prêt à l'emploi disponible dans l'industrie. Les auteurs sont basés sur l'opérateur w4 dans Tensorrt-. LLM Développement du noyau Gemm cuda de w2 pour obtenir une inférence efficace du modèle w2a16.
Le modèle de quantification lui-même est chargé et stocké dans la mémoire vidéo sous forme de poids de 2 bits, il occupera donc une quantité relativement petite de mémoire vidéo. Notre noyau cuda charge le poids de 2 bits dans le registre au moment de l'exécution, puis utilise les instructions matérielles pour le convertir efficacement au format bf16 et effectuer des opérations gemm avec activation. Étant donné que notre scénario est limité par la latence, la taille du lot lors de l'étape de génération est relativement petite. À l'heure actuelle, la multiplication matricielle est limitée par le poids de l'accès à la mémoire. Cette implémentation réduira considérablement la quantité d'accès à la mémoire et améliorera les performances du modèle. Au cours du processus de mise en œuvre, la recherche d'algorithme et SpiltK Parallel Reduction sont combinées pour améliorer encore les performances du modèle. Selon les mesures réelles, lorsque la taille du lot = 1, les performances de w2a16 Gemm sur la carte L peuvent être améliorées de 1,4x à 1,7x. par rapport à w4a16.
Lien opérateur : https://github.com/NVIDIA/TensorRT-LLM/pull/1568
5. L'auteur dans l'article Les résultats expérimentaux ASR internes de ByteDance sont donnés. , et les résultats de comparaison avec des expériences open source sont donnés :
Les résultats expérimentaux internes sont :
Dans ce tableau, l'auteur utilise le taux d'erreur de mot (WER) pour mesurer l'exactitude de l'ASR. Les auteurs ont tenté de quantifier le modèle W2A16g64 en utilisant différentes méthodes. Le wer du modèle à virgule flottante avant quantification est de 6,68 %. Après quantification à l'aide de GPTQ [1], il est de 6,83 %. Le wer de decoupleQ avec minimisation de bloc après quantification est de 6,70 %. modèle à virgule flottante avant quantification proche. Il indique également le temps nécessaire à la quantification. Le prix d’une précision de quantification élevée est que la quantification prend beaucoup de temps. Dans les affaires réelles, après avoir utilisé decoupleQ pour quantifier le modèle, la partie entière est fixe et l'ensemble de données étiqueté est utilisé pour affiner l'échelle et le zéro, et la précision du modèle est encore améliorée.
Les résultats de l'expérience de comparaison open source sont :
Ce tableau est une comparaison des résultats quantitatifs de decoupleQ et d'autres méthodes sur Llama-1/2. La perplexité (PPL) est utilisée comme indice d'évaluation. On peut voir que sous la même configuration de quantification, le PPL de deoucpleQ sera la plupart du temps inférieur à celui des autres méthodes.
6. Avantages commerciaux
La technologie de quantification decoupleQ est désormais largement utilisée dans le département vocal de ByteDance. Il a été lancé dans des modèles de génération vocale (Text-to-Speech), des modèles de reconnaissance vocale (reconnaissance vocale automatique), etc., et a été implémenté dans des produits tels que Doubao, Feishu et Douyin. Un grand nombre d'entreprises en ligne montrent que, sur la base de la quantification decoupleQ, la précision de l'inférence de W4A16 est tout à fait comparable à celle de l'inférence fp16/bf16 ; la précision est au même niveau que fp16/bf16) ). Bien que le document n'introduise que la quantification du poids uniquement, dans la pratique, une fois le poids bien quantifié, la quantification d'activation peut être beaucoup plus simple.
Par rapport aux fp16, w8fp16 et w4fp16, il a obtenu de bons effets d'accélération en termes d'accélération matérielle. En petits lots, les performances de multiplication matricielle w2 sont 5 à 6 fois supérieures à celles de fp16 et 1,5 à 1,7 fois supérieures à celles de w4. . En termes de modèles commerciaux internes, w2fp16 a une amélioration des performances de 3 à 5 fois par rapport au fp16 et une amélioration des performances de 1,25 à 1,4 fois par rapport à w4fp16. Il réduira également considérablement la mémoire occupée par le poids du modèle, offrant une meilleure mémoire. utilisation pour l'exécution. Beaucoup d'espace.
7. Résumé et discussion
Dans la section résumé et discussion, l'auteur a également souligné deux risques que decoupleQ présente actuellement :
1 decoupleQ vise à utiliser des méthodes d'optimisation mathématique pour quantifier L2. la perte avant et après est minimisée. Cependant, minimiser la perte L2 au niveau de la couche ou du bloc ne représente pas nécessairement la précision optimale du modèle final
2. Dans le processus d'optimisation des équations (5) et (7), lors de la résolution de et (s,z ; ), seule une petite partie des données d'étalonnage est résolue, ce qui permet à decoupleQ de surajuster facilement les données d'étalonnage.
Néanmoins, l'auteur a également souligné que l'idée de découpler les paramètres du modèle en partie entière et en partie virgule flottante est très significative. Si un ensemble de données étiquetées existe, nous pouvons corriger la partie entière après quantification et utiliser l'ensemble de données étiquetées pour entraîner spécifiquement (s, z) afin d'améliorer encore la précision du modèle. Cela garantit non seulement les performances de généralisation du modèle (grâce à la partie entière fixe ), mais peut également exercer sa capacité sur des sous-tâches spécifiques (grâce à la partie virgule flottante de réglage fin). Dans le métier actuel de ByteDance, une fois la version précédente du modèle quantifiée et mise en ligne, lorsque la version suivante est mise à jour, seule la partie flottante du modèle peut être entraînée.
Références :
【1】Elias Frantar, Saleh Ashkboos, Torsten Hoefler et Dan Alistarh : Quantification précise pour les transformateurs pré-entraînés génératifs, 2022. .
【2】Wenqi Shao, Mengzhao Chen, Zhaoyang Zhang, Peng Xu, Lirui Zhao, Zhiqian Li, Kaipeng Zhang, Peng Gao, Yu Qiao et Ping Luo : quantification omnidirectionnelle pour les grands modèles de langage. arXiv : 2308.13137, 2023
【3】Ji Lin, Jiaming Tang, Haotian Tang, Shang Yang, Xingyu Dang et Song Han Awq : quantification du poids prenant en compte l'activation pour la compression et l'accélération arXiv. 2306.00978, 2023.
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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Il s'agit également d'une vidéo Tusheng, mais PaintsUndo a emprunté une voie différente. L'auteur de ControlNet, LvminZhang, a recommencé à vivre ! Cette fois, je vise le domaine de la peinture. Le nouveau projet PaintsUndo a reçu 1,4kstar (toujours en hausse folle) peu de temps après son lancement. Adresse du projet : https://github.com/lllyasviel/Paints-UNDO Grâce à ce projet, l'utilisateur saisit une image statique et PaintsUndo peut automatiquement vous aider à générer une vidéo de l'ensemble du processus de peinture, du brouillon de ligne au suivi du produit fini. . Pendant le processus de dessin, les changements de lignes sont étonnants. Le résultat vidéo final est très similaire à l’image originale : jetons un coup d’œil à un dessin complet.

La colonne AIxiv est une colonne où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site 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 : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com Les auteurs de cet article font tous partie de l'équipe de l'enseignant Zhang Lingming de l'Université de l'Illinois à Urbana-Champaign (UIUC), notamment : Steven Code repair ; doctorant en quatrième année, chercheur

Si la réponse donnée par le modèle d’IA est incompréhensible du tout, oseriez-vous l’utiliser ? À mesure que les systèmes d’apprentissage automatique sont utilisés dans des domaines de plus en plus importants, il devient de plus en plus important de démontrer pourquoi nous pouvons faire confiance à leurs résultats, et quand ne pas leur faire confiance. Une façon possible de gagner confiance dans le résultat d'un système complexe est d'exiger que le système produise une interprétation de son résultat qui soit lisible par un humain ou un autre système de confiance, c'est-à-dire entièrement compréhensible au point que toute erreur possible puisse être trouvé. Par exemple, pour renforcer la confiance dans le système judiciaire, nous exigeons que les tribunaux fournissent des avis écrits clairs et lisibles qui expliquent et soutiennent leurs décisions. Pour les grands modèles de langage, nous pouvons également adopter une approche similaire. Cependant, lorsque vous adoptez cette approche, assurez-vous que le modèle de langage génère

La colonne AIxiv est une colonne où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site 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 : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com Dans le processus de développement de l'intelligence artificielle, le contrôle et le guidage des grands modèles de langage (LLM) ont toujours été l'un des principaux défis, visant à garantir que ces modèles sont à la fois puissant et sûr au service de la société humaine. Les premiers efforts se sont concentrés sur les méthodes d’apprentissage par renforcement par feedback humain (RL

Récemment, l’hypothèse de Riemann, connue comme l’un des sept problèmes majeurs du millénaire, a réalisé une nouvelle avancée. L'hypothèse de Riemann est un problème mathématique non résolu très important, lié aux propriétés précises de la distribution des nombres premiers (les nombres premiers sont les nombres qui ne sont divisibles que par 1 et par eux-mêmes, et jouent un rôle fondamental dans la théorie des nombres). Dans la littérature mathématique actuelle, il existe plus d'un millier de propositions mathématiques basées sur l'établissement de l'hypothèse de Riemann (ou sa forme généralisée). En d’autres termes, une fois que l’hypothèse de Riemann et sa forme généralisée seront prouvées, ces plus d’un millier de propositions seront établies sous forme de théorèmes, qui auront un impact profond sur le domaine des mathématiques et si l’hypothèse de Riemann s’avère fausse, alors parmi eux ; ces propositions qui en font partie perdront également de leur efficacité. Une nouvelle percée vient du professeur de mathématiques du MIT, Larry Guth, et de l'Université d'Oxford

acclamations! Qu’est-ce que ça fait lorsqu’une discussion sur papier se résume à des mots ? Récemment, des étudiants de l'Université de Stanford ont créé alphaXiv, un forum de discussion ouvert pour les articles arXiv qui permet de publier des questions et des commentaires directement sur n'importe quel article arXiv. Lien du site Web : https://alphaxiv.org/ En fait, il n'est pas nécessaire de visiter spécifiquement ce site Web. Il suffit de remplacer arXiv dans n'importe quelle URL par alphaXiv pour ouvrir directement l'article correspondant sur le forum alphaXiv : vous pouvez localiser avec précision les paragraphes dans. l'article, Phrase : dans la zone de discussion sur la droite, les utilisateurs peuvent poser des questions à l'auteur sur les idées et les détails de l'article. Par exemple, ils peuvent également commenter le contenu de l'article, tels que : "Donné à".

La colonne AIxiv est une colonne où ce site publie du contenu académique et technique. Au cours des dernières années, la rubrique AIxiv de ce site 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 : liyazhou@jiqizhixin.com ; zhaoyunfeng@jiqizhixin.com. Introduction Ces dernières années, l'application de grands modèles de langage multimodaux (MLLM) dans divers domaines a connu un succès remarquable. Cependant, en tant que modèle de base pour de nombreuses tâches en aval, le MLLM actuel se compose du célèbre réseau Transformer, qui

Montrez la chaîne causale à LLM et il pourra apprendre les axiomes. L'IA aide déjà les mathématiciens et les scientifiques à mener des recherches. Par exemple, le célèbre mathématicien Terence Tao a partagé à plusieurs reprises son expérience de recherche et d'exploration à l'aide d'outils d'IA tels que GPT. Pour que l’IA soit compétitive dans ces domaines, des capacités de raisonnement causal solides et fiables sont essentielles. La recherche présentée dans cet article a révélé qu'un modèle Transformer formé sur la démonstration de l'axiome de transitivité causale sur de petits graphes peut se généraliser à l'axiome de transitivité sur de grands graphes. En d’autres termes, si le Transformateur apprend à effectuer un raisonnement causal simple, il peut être utilisé pour un raisonnement causal plus complexe. Le cadre de formation axiomatique proposé par l'équipe est un nouveau paradigme pour l'apprentissage du raisonnement causal basé sur des données passives, avec uniquement des démonstrations.
