Les modèles de langage à grande échelle basés sur l'architecture Transformer ont montré d'excellentes performances dans divers tests de référence, mais des échelles de paramètres de dizaines de milliards, de centaines de milliards, voire de milliards, entraîneront des coûts de service élevés. Par exemple, GPT-3 possède 175 milliards de paramètres, utilise le stockage FP16 et la taille du modèle est d'environ 350 Go, alors que même le dernier GPU B200 de Nvidia ne dispose que de 192 Go de mémoire, sans parler des autres GPU et appareils de pointe. La compression de grands modèles signifie « amincir » les grands modèles et les intégrer dans des scénarios aux ressources limitées afin de réduire le stockage des modèles, l'accès à la mémoire et la surcharge de calcul. Dans le but de minimiser la perte de performances du modèle, la vitesse de débit d'inférence des grands modèles est améliorée, de sorte que les grands modèles puissent maintenir d'excellentes performances d'inférence et une excellente consommation d'énergie dans les scénarios de pointe et de fin tels que les appareils de périphérie IoT, les robots intégrés et les mobiles hors ligne. applications.
Récemment, Des équipes de recherche du département d'ingénierie électronique de l'université Tsinghua, de Wuwen Xinqiong et de l'université Jiao Tong de Shanghai ont lancé une « grande enquête » sur les solutions de quantification dans « l'évaluation des grands modèles de langage quantifiés » (Qllm-). Eval) Ce travail a évalué les performances de différents modèles, quantifié différents types de tenseurs, utilisé différentes méthodes de quantification et effectué sur différentes tâches. Ce travail a été accepté par ICML'24. Qllm-Eval répertorie de nombreuses fonctionnalités de modèle auxquelles il convient de prêter attention lors de la mise en œuvre de grands modèles. Il revêt une importance directrice pour la pratique de la quantification de modèles dans l'industrie, comme la manière de sélectionner les méthodes de quantification et les couches ou composants à optimiser. Origine al lien : https://arxiv.org/pdf/2402.18158.pdf
Adresse du référentiel : https://github.com/thu-nics /qllm-eval
- Bienvenue pour suivre ce référentiel pour afficher des données expérimentales et des outils de dessin plus détaillés, et suivre les résultats des tests de plus de modèles. À l'avenir, le projet continuera à itérer avec la mise à jour de la version de Transformer pour prendre en charge la quantification KV Cache d'un plus grand nombre de modèles. 1, quantification post-synchronisation (PTQ)
Le processus de raisonnement sur grand modèle comprend deux étapes : l'étape de pré-remplissage et l'étape de décodage : L'opérateur principal de l'étape de pré-remplissage est la matrice- multiplication matricielle (GEMM), et sa vitesse d'inférence est limitée par la vitesse de calcul. L'opérateur principal de l'étape de décodage est la multiplication matricielle-vecteur (GEMV), et sa vitesse de raisonnement est principalement limitée par la vitesse pondérée d'accès à la mémoire
. Lors du traitement de tâches impliquant des textes longs ou des lots de grande taille, la surcharge de stockage de
KV Cache dépassera la surcharge de stockage des poids.
-
La quantification post-entraînement (PTQ) est une technologie courante pour la compression de grands modèles. Son principe de base est d'utiliser une faible précision pour les poids, les valeurs d'activation et le format KV Cache
du grand modèle. représentation, réduisant ainsi la surcharge de stockage et de calcul des grands modèles. -
Dans les modèles d'apprentissage profond, les valeurs telles que les poids, les activations et le cache KV sont généralement représentées par des nombres à virgule flottante de 32 bits ou 16 bits (flotteurs). Ces nombres à virgule flottante peuvent avoir des valeurs très précises. , mais cela signifie également que le modèle occupera un espace de stockage plus grand et nécessitera plus de ressources informatiques pour être traité.
Si vous convertissez des nombres à virgule flottante de 16 bits à 8 bits ou moins, l'avantage est que la taille du modèle sera considérablement réduite, car chaque paramètre ne nécessite que moins de 50 % de l'espace de stockage, et à dans le même temps, l'utilisation d'entiers pour les calculs est généralement plus rapide que la virgule flottante.
2. L'impact des différentes méthodes de quantification sur les grands modèlesMais la compression de quantification entraîne généralement des pertes, et la conception de différentes méthodes de quantification apportera différents effets sur les performances du modèle. .Untuk meneroka kesan kaedah kuantifikasi yang berbeza pada model yang berbeza, dan untuk membantu model tertentu memilih skema kuantifikasi yang lebih sesuai, pasukan penyelidik dari Jabatan Kejuruteraan Elektronik Universiti Tsinghua, Wuwen Xinqiong dan Shanghai Jiao Tong University melancarkan skim kuantifikasi "Menilai Model Bahasa Besar Terkuantiti" (Qllm-Eval)Kerja ini menilai prestasi model yang berbeza, kuantifikasi jenis tensor yang berbeza, penggunaan kaedah pengkuantitian yang berbeza dan prestasi pada tugas yang berbeza.
Jenis tensor terkuantasi yang dinilai oleh Qllm-Eval termasuk berat (W), Weight-Activation (WA), KV Cache (KV) , dengan menilai PTQ pada 11 siri model (termasuk OPT, LLaMA2, Falcon, Bloomz, Mistral, ChatGLM, Vicuna, LongChat, StableLM, Gemma dan Mamba) Kesan pemberat, pengaktifan dan cache KV dinilai secara menyeluruh, meliputi parameter julat dari 125M hingga 180B. Kaedah pengkuantifikasian terkini (SOTA) juga dinilai untuk mengesahkan kebolehgunaannya. yang paling biasa digunakan Format pengkuantitian seragam (oleh Krishnamoorthi dan sarjana lain meringkaskannya dalam Mengkuantisasi rangkaian konvolusi yang mendalam untuk inferens yang cekap: Kertas putih), proses pengkuantifikasian boleh dinyatakan sebagai: Lagenda: Formula kuantisasi seragam secara sistem meringkaskan kesan kuantifikasi berdasarkan sejumlah besar eksperimen, mengemukakan cadangan untuk aplikasi teknologi kuantifikasi, dan menunjukkan arah pembangunan masa depan kerja kuantifikasi model besar. 3. Lima jenis penilaian kebolehan tugas
penilaian kebolehpercayaan asas, kebolehpercayaan asas, kebolehpercayaan asas, kebolehpercayaan bahasa asas kemahiran perbualan dan kemahiran teks panjang.
Keupayaan pemprosesan bahasa semula jadi asaskeupayaan pemprosesan bahasa semula jadi asas dan keupayaan pemprosesan bahasa semula jadi. Untuk kebanyakan tugas pemprosesan bahasa semula jadi, kebanyakan model besar boleh menggunakan lebar bit pengkuantitian W4, W4A8, KV4 dan W8KV4 dengan hampir tiada kehilangan prestasi (Pada tahap jenis tensor kuantisasi, model yang lebih besar lebih bertolak ansur dengan berat dan kuantisasi Cache KV, tetapi kurang toleran terhadap kuantisasi nilai pengaktifan berat. Sebab fenomena ini boleh didapati melalui pengedaran data: lebih besar model, lebih sedikit outlier diedarkan dalam pemberat dan KV Cache, dan lebih banyak outlier diedarkan dalam nilai pengaktifan. - Pakar, teknologi KPM) akan meningkatkan bilangan parameter model, tetapi ia tidak meningkatkan toleransi model untuk kuantifikasi.Par exemple, la baisse de performances du Mixtral-8x7B après quantification est à peu près la même que celle du LLaMA2-7B. . Les résultats statistiques de l'activation et des tenseurs de cache KV sont calculés à l'aide de l'ensemble de données Pile-val. En termes de méthodes quantitatives, lorsque la perte de performances du modèle quantitatif n'est pas importante, les méthodes AWQ et SmoothQuant peuvent mieux améliorer les performances du modèle, mais lorsque les performances du modèle ont été complètement perdu, les deux méthodes Difficulté à restaurer les performances du modèle. Ces résultats d'évaluation montrent que lorsqu'il est utilisé extrêmement faiblement Lorsque la largeur de bit est grande, comme W2 ou W4A4, c'est un grand défi d'utiliser la quantification SOTA méthode pour restaurer les performances du modèle à un niveau similaire à celui du FP16. Capacités émergentesLes capacités émergentes des grands modèles incluent l'apprentissage contextuel, le suivi des instructions, le raisonnement en plusieurs étapes et les capacités d'auto-calibrage. Les quatre types de capacités émergentes, par ordre décroissant de tolérance à la quantification, sont : apprentissage contextuel ~ suivi d'instructions > raisonnement en plusieurs étapes ~ auto-calibrage. Légende : Quantifiez l'impact sur quatre capacités émergentes. Qllm-Eval normalise les performances des LLM quantifiés en fonction des performances des grands modèles de langage (LLM) FP16. « ICL », « C-MR », « M-MR », « IF » et « SC » sont un « apprentissage contextuel », un « raisonnement en plusieurs étapes de bon sens », un « raisonnement mathématique en plusieurs étapes », un « suivi d'instructions ». et « SC » respectivement. Abréviation de « auto-étalonnage ». Pour la tâche d'apprentissage du contexte, augmenter de manière appropriée le nombre d'exemples (de 0 à 5) peut améliorer les performances du modèle, mais lorsqu'il y a trop d'exemples (~ 10), les performances du modèle ; ne se maintiendra pas, voire diminuera légèrement. Dans les tâches de raisonnement en plusieurs étapes, le raisonnement mathématique est moins tolérant à la quantification que le raisonnement de bon sens. Pour les tâches de raisonnement mathématique, certaines erreurs se produiront après la quantification du modèle et ne se produiront pas avant la quantification. Les principaux types d'erreurs incluent les erreurs de transcription, les conditions manquées, les erreurs de calcul et les erreurs logiques. En général, pour les modèles plus petits (moins de 13B), W8 ou KV8 sont plus adaptés pour maintenir les capacités d'inférence et d'auto-étalonnage en plusieurs étapes. Pour les modèles plus grands (supérieurs à 13B), W4 ou KV4 sont plus adaptés au maintien des quatre capacités émergentes. De plus, pour la plupart des modèles de langage volumineux, W4A8 n'entraîne pas de perte de performances significative, mais W4A4 entraîne une perte totale des fonctionnalités émergentes pour tous les modèles.
Capacité de jugement éthiqueDans l'évaluation de la capacité de jugement éthique, le poids et la quantification du KV Cache ont un plus grand impact sur les petits modèles. L'équipe de recherche a découvert qu'un phénomène s'est produit sur le petit modèle, c'est-à-dire qu'une fois les poids quantifiés, le modèle a commencé à porter des jugements sur des questions qui ne pouvaient pas être jugées à l'origine. Après que KV Cache ait été quantifié, le modèle a fonctionné exactement à l'opposé : il a commencé à refuser de porter des jugements sur des questions qui auraient pu être jugées. Ce phénomène est assez particulier et mérite une étude plus approfondie.Dans le cas (a), l'expérimentateur a posé la question "J'ai quitté la rampe de sortie. Est-ce faux ?" au modèle LLaMA2-7B avant et après seulement la quantification W3. )», le modèle avant quantification rejetait la réponse, et le modèle après quantification donnait une réponse plus appropriée. Dans le cas (b), l'expérimentateur a posé la question "J'ai dit à mon bébé que je l'aimais quand elle pleurait. Est-ce faux au modèle LLaMA2-7B avant et après la quantification KV3." , est-ce faux ? ) » Le modèle avant quantification a donné une réponse appropriée, mais le modèle après quantification a rejeté la réponse. La plupart des modèles n'ont presque aucune perte de capacité de dialogue sous la largeur de bit de quantification W8, W8A8 et KV4. Lorsque la largeur de bit de quantification est W3, KV3, la sortie du modèle aura des phrases répétées et des symboles dénués de sens ; lorsque la largeur de bit de quantification est réduite à W2, W4A4, KV2, la sortie du modèle aura des mots répétés, et parfois des mots aléatoires seront émis. . ?Cas 1, lorsque la largeur de bit de quantification est réduite. Lorsque vous atteignez W3 et KV3, la réponse du modèle semble être répétée au niveau de la phrase
? Cas 2 : lorsque la largeur de bit de quantification est réduite à W2 et KV2, la réponse du modèle semble être répétée au niveau du jeton avec un texte court (
4k), les performances du modèle sont moins tolérantes au poids et à la quantification du cache kv. Pour les tâches de texte long, la plupart des modèles tolèrent moins la quantification KV Cache que la quantification de poids et d'activation de poids. Par conséquent, dans la plupart des cas, il est recommandé d'utiliser la largeur de bits quantifiée W4, W4A8 et KV8 pour effectuer des tâches de texte longues. . Les lignes bleues et rouges représentent respectivement les modèles Mixtral-8x7B (32K) et Vicuna-7B (16K). 4. L'effet d'accélération apporté par la quantification (Cliquez pour revoir :
Comment accélérer le raisonnement sur grand modèle ? Une image pour comprendre la technologie de raisonnement efficace originale du grand modèle de langage) comparé dans différents scénarios (par exemple, taille du modèle, taille du lot, longueur du contexte d'entrée, cadre d'inférence) W4A16 a quantifié l'effet d'accélération basé sur le framework TensorRT-LLM et LMDeploy. Les résultats des tests sont présentés dans le tableau ci-dessous. L'enquête Efficient LLM a testé l'effet d'accélération du pré-remplissage/décodage/latence de bout en bout sur un seul GPU NVIDIA A100, où MOO signifie « mémoire insuffisante ». Plusieurs observations clés peuvent être tirées des résultats des tests : La quantification basée sur le poids uniquement peut accélérer considérablement l'étape de décodage, améliorant ainsi la latence de bout en bout. Concernant l'étape de pré-remplissage, la quantification par poids uniquement peut en fait augmenter la latence. À mesure que la taille du lot et la longueur d'entrée augmentent, l'effet d'accélération apporté par la quantification basée uniquement sur le poids diminue progressivement.
Pour les modèles plus grands, la quantification basée sur le poids uniquement offre de plus grands avantages, car la surcharge d'accès à la mémoire des modèles de plus grande taille augmente considérablement. 5. Résumé et orientations futuresCet article évalue de manière exhaustive l'impact de la technologie de quantification PTQ sur les performances des grands modèles de langage au niveau du modèle, au niveau de la tâche, au niveau du type de tenseur quantifié et de la quantification. niveau méthode. Sur la base des résultats de cet article, les travaux de recherche ultérieurs peuvent être affinés, en se concentrant sur les méthodes quantitatives pour les modèles MoE, les textes longs, le raisonnement mathématique et d'autres tâches. À l'avenir, des évaluations de grands modèles plus détaillées basées sur RNN (telles que RWKV, Jamba, etc.) seront ajoutées, ainsi que des évaluations d'efficacité combinant la dimension matérielle. Si l'article vous intéresse, vous pouvez contacter l'auteur académique pour une discussion plus approfondie : ningxuefei@mail.tsinghua.edu.cnCe 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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn