Maison > Article > Périphériques technologiques > Nvidia joue avec l'élagage et la distillation : diviser par deux les paramètres du Llama 3.1 8B pour obtenir de meilleures performances avec la même taille
L'essor des petits modèles.
Le mois dernier, Meta a lancé la série de modèles Llama 3.1, qui comprend le plus grand modèle 405B de Meta à ce jour, ainsi que deux modèles plus petits avec respectivement 70 milliards et 8 milliards de paramètres.
Llama 3.1 est considéré comme inaugurant une nouvelle ère de l'open source. Cependant, bien que les modèles de nouvelle génération soient puissants en termes de performances, ils nécessitent néanmoins une grande quantité de ressources informatiques lors de leur déploiement.
Par conséquent, une autre tendance est apparue dans l'industrie, qui consiste à développer des petits modèles de langage (SLM) qui fonctionnent assez bien dans de nombreuses tâches linguistiques et sont également très peu coûteux à déployer.
Récemment, des recherches de NVIDIA ont montré qu'un élagage structuré du poids combiné à une distillation des connaissances peut progressivement obtenir des modèles de langage plus petits à partir d'un modèle initialement plus grand. M Yann Lecun, lauréat du prix Turing et scientifique en chef en IA de Meta, a également salué la recherche.
Après l'élagage et la distillation, l'équipe de recherche de NVIDIA a raffiné Llama 3.1 8B en Llama-3.1-Minitron 4B et l'a rendu open source. Il s’agit de la première version de Nvidia de la série open source Llama 3.1.Llama-3.1-Minitron 4B surpasse les modèles open source de pointe de taille similaire, notamment Minitron 4B, Phi-2 2.7B, Gemma2 2.6B et Qwen2-1.5B.
L'article pertinent sur cette recherche a été publié dès le mois dernier.
Lien de l'article : https://www.arxiv.org/pdf/2407.14679
Titre de l'article : Modèles de langage compacts via l'élagage et la distillation des connaissancesTaille rend le modèle plus petit et plus mince, et peut être obtenu en supprimant des couches (élagage en profondeur) ou en supprimant des neurones et des têtes d'attention et en intégrant des canaux (élagage en largeur). L'élagage s'accompagne généralement d'un certain degré de recyclage pour restaurer la précision.
Il existe deux méthodes principales de distillation : la mise au point SDG et la distillation classique des connaissances. Ces deux méthodes de distillation sont complémentaires. Cet article se concentre sur les méthodes classiques de distillation des connaissances.
NVIDIA utilise une méthode qui combine l'élagage et la distillation des connaissances classiques pour construire de grands modèles. La figure ci-dessous montre le processus d'élagage et de distillation d'un seul modèle (en haut) et la chaîne d'élagage et de distillation du modèle (en bas). Le processus spécifique est le suivant : 1. NVIDIA commence avec un modèle 15B, évalue l'importance de chaque composant (couche, neurone, tête et canal d'intégration), puis trie et élague le modèle pour atteindre la taille cible : modèle 8B. 2. Utilisez ensuite la distillation du modèle pour une reconversion légère, avec le modèle original comme enseignant et le modèle élagué comme élève. 3. Après l'entraînement, prenez le petit modèle (8B) comme point de départ, taillez-le et distillez-le en un modèle 4B plus petit. Le processus de taille et de distillation du modèle 15B. Le point à noter est qu'avant d'élaguer le modèle, vous devez comprendre quelles parties du modèle sont importantes. NVIDIA propose une stratégie d'évaluation de l'importance pure basée sur l'activation qui calcule simultanément les informations dans toutes les dimensions pertinentes (profondeur, neurone, tête et canaux d'intégration), en utilisant un petit ensemble de données d'étalonnage de 1 024 échantillons, et seule la propagation vers l'avant est requise. Cette approche est plus simple et plus rentable que les stratégies qui reposent sur des informations sur les gradients et nécessitent une rétropropagation. Lors de l'élagage, vous pouvez alterner de manière itérative entre l'élagage et l'estimation de l'importance pour un axe ou une combinaison d'axes donnée. Des études empiriques montrent que l’utilisation d’une seule estimation de l’importance est suffisante et que les estimations itératives n’apportent pas d’avantages supplémentaires.La figure 2 ci-dessous montre le processus de distillation, dans lequel le modèle étudiant en couche N (le modèle élagué) est distillé à partir du modèle enseignant en couche M (le modèle original non élagué). Le modèle étudiant est appris en minimisant une combinaison de perte de sortie intégrée, de perte logit et de pertes spécifiques au codeur du transformateur mappées aux blocs étudiant S et aux blocs enseignant T. Figure 2 : Perte de formation par distillation.
Meilleures pratiques pour l'élagage et la distillationBasé sur des recherches approfondies sur l'ablation sur l'élagage et la distillation des connaissances dans des modèles de langage compacts, NVIDIA résume ses résultats d'apprentissage dans les meilleures pratiques de compression structurées suivantes.
La première consiste à ajuster la taille.Pour former un ensemble de LLM, entraînez d'abord le plus grand, puis taillez et distillez de manière itérative pour obtenir des LLM plus petits. Si vous utilisez une stratégie d'entraînement en plusieurs étapes pour entraîner le plus grand modèle, il est préférable d'élaguer et de recycler le modèle obtenu lors de la dernière étape de l'entraînement.
Réglage précis par l'enseignant Taille en profondeur uniquement
Pour réduire de 8B à 4B, NVIDIA a élagué 16 couches (50%). Ils évaluent d’abord l’importance de chaque couche ou groupe de sous-couches consécutives en les supprimant du modèle et observent une augmentation de la perte de LM ou une diminution de la précision dans les tâches en aval.
La figure 6 ci-dessous montre la précision Winogrande de chaque modèle élagué. Elle montre qu'il est préférable de supprimer les 16e à 31e couches, la 31e couche étant l'avant-dernière couche. La précision à 5 coups du modèle élagué est nettement plus élevée. avec une précision aléatoire (0,5). Nvidia a adopté cette idée et supprimé les couches 16 à 31. Figure 6 : Précision sur la tâche Winogrande lorsque 16 couches sont supprimées.
NVIDIA élague l'intégration (cachée) et les dimensions intermédiaires MLP le long de l'axe de largeur pour compresser Llama 3.1 8B. Plus précisément, ils utilisent la stratégie basée sur l'activation décrite précédemment pour calculer les scores d'importance pour chaque tête d'attention, canal d'intégration et dimension cachée du MLP. Après l'estimation de l'importance, NVIDIA a choisi
pour élaguer la dimension moyenne du MLP de 14336 à 9216.
Taille cachée de 4096 à 3072.
Retenez votre attention sur le nombre de têtes et de couches.
Il est à noter qu'après la taille à échantillon unique, la perte LM de la taille en largeur est supérieure à celle de la taille en profondeur. Cependant, après une brève période de reconversion, la tendance s’est inversée. "Accuracy Benchmark"
Plan de décroissance du cosinus
Taille globale du lot = 1152Tableau 1 : Comparaison de précision du modèle de base Minitron 4B par rapport aux modèles de base d’échelle similaire.
Pour vérifier si le modèle distillé peut devenir un modèle d'instruction puissant, NVIDIA a utilisé NeMo-Aligner pour affiner le modèle Llama-3.1-Minitron 4B.
Performance Benchmarks NVIDIA a optimisé les modèles Llama 3.1 8B et Llama-3.1-Minitron 4B à l'aide de NVIDIA TensorRT-LLM, une boîte à outils open source pour optimiser l'inférence LLM.
Les deux figures suivantes montrent les demandes de débit par seconde de différents modèles avec une précision FP8 et FP16 dans différents cas d'utilisation, exprimées sous la forme de la combinaison longueur de séquence d'entrée/longueur de séquence de sortie (ISL/OSL) de la taille de lot de 32 pour le 8B. modèle et La taille du lot du modèle 4B est une combinaison longueur de séquence d'entrée/longueur de séquence de sortie (ISL/OSL) de 64, grâce aux poids plus petits permettant une taille de lot plus grande sur un GPU NVIDIA H100 80 Go.
La variante Llama-3.1-Minitron-4B-Depth-Base est la plus rapide, avec un débit moyen d'environ 2,7 fois celui de Llama 3.1 8B, tandis que la variante Llama-3.1-Minitron-4B-Width-Base a un débit moyen débit d’environ 1,8 fois celui de Llama 3.1 8B. Le déploiement dans FP8 améliore également les performances des trois modèles d'environ 1,3 fois par rapport au BF16.
GPU de 80 Go.
Conclusion
L'élagage et le raffinement des connaissances classiques sont une méthode très rentable pour obtenir progressivement des LLM de plus petites tailles, atteignant une précision plus élevée qu'une formation à partir de zéro dans tous les domaines. Il s'agit d'une approche plus efficace et plus économe en données que le réglage fin des données synthétiques ou la pré-formation à partir de zéro. Llama-3.1-Minitron 4B est la première tentative de NVIDIA d'utiliser la série open source Llama 3.1 de pointe. Pour utiliser le réglage fin SDG de Llama-3.1 avec NVIDIA NeMo, consultez la section /sdg-law-title-Generation sur GitHub.https://github.com/NVlabs/Minitron
https:// huggingface.co/nvidia/Llama-3.1-Minitron-4B-Width-Base
https://huggingface.co/nvidia/Llama-3.1-Minitron-4B-Depth-BaseCe 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!