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

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

WBOY
WBOYoriginal
2024-08-16 16:42:23903parcourir
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.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
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.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

Lien de l'article : https://www.arxiv.org/pdf/2407.14679

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
Titre de l'article : Modèles de langage compacts via l'élagage et la distillation des connaissances
  • Élagage et distillation
  • Taille 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.
La distillation de modèle est une technique permettant de transférer des connaissances d'un grand modèle complexe (souvent appelé modèle d'enseignant) vers un modèle d'étudiant plus petit et plus simple. L’objectif est de créer un modèle plus efficace qui conserve une grande partie de la puissance prédictive du modèle original plus grand tout en fonctionnant plus rapidement et en consommant moins de ressources.

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.

Recyclage par distillation classique des connaissances英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

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.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

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.
  • Élaguez le modèle source disponible le plus proche de la taille cible.
  • La seconde est la taille.
  • Priorisez la taille en largeur à la taille en profondeur, ce qui fonctionne bien pour les modèles de taille de paramètre inférieure à 15B.

Utilisez l'estimation de l'importance en un seul coup car il n'y a aucun avantage dans l'estimation de l'importance itérative.
  • La troisième est de se reconvertir.
  • Recyclage en utilisant uniquement la perte de distillation au lieu d'un entraînement régulier.

Utilisez le logit, l'état intermédiaire et la distillation intégrée lorsque la profondeur est considérablement réduite.
  • Utilisez la distillation logit uniquement lorsque la profondeur ne diminue pas de manière significative.
  • Llama-3.1-Minitron : Mettre les meilleures pratiques en action
  • Meta a récemment lancé la puissante famille Llama 3.1 de modèles open source qui rivalisent avec les modèles fermés dans de nombreux benchmarks. Les paramètres de Llama 3.1 vont d'un énorme 405B à 70B et 8B.
Grâce à l'expérience de la distillation Nemotron, NVIDIA a décidé de distiller le modèle Llama 3.1 8B en un modèle 4B plus petit et plus efficace, en prenant les mesures suivantes :

Réglage précis par l'enseignant

Taille en profondeur uniquement
    "Élagage en largeur uniquement" je suis d'abord a effectué un ensemble complet de tests sur leur ensemble de données (jeton 94B) et affiné le modèle 8B non élagué. Les expériences montrent que si le biais de distribution n’est pas corrigé, le modèle de l’enseignant fournit des conseils sous-optimaux pour l’ensemble de données lors de la distillation.
  • Élagage 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 5 ci-dessous montre les valeurs de perte LM sur l'ensemble de validation après avoir supprimé 1, 2, 8 ou 16 couches. Par exemple, le tracé rouge de la couche 16 indique la perte de LM qui se produit si les 16 premières couches sont supprimées. La couche 17 indique que la perte de LM se produit également si la première couche est conservée et que les couches 2 à 17 sont supprimées. Nvidia observe : Les couches de début et de fin sont les plus importantes. T Figure 5 : L’importance de la taille en profondeur uniquement.
  • Cependant, NVIDIA observe que cette perte de LM n'est pas forcément directement liée aux performances 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.

  • Élagage en largeur uniquement

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. 英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

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 = 1152
  • Le tableau 1 ci-dessous montre les variantes du modèle Llama-3.1-Minitron 4B (élagage en largeur et élagage en profondeur) similaires au modèle original Llama 3.1 8B, d'autres comparaison des performances de grands et petits modèles sur des benchmarks dans plusieurs domaines. Dans l’ensemble, NVIDIA a une fois de plus confirmé l’efficacité d’une stratégie d’élagage large par rapport à un élagage en profondeur qui suit les meilleures pratiques.
  •                                                                                                                                                                                                         Tableau 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.

  • Ils ont utilisé les données de formation du Nemotron-4 340B et ont été évalués sur IFEval, MT-Bench, ChatRAG-Bench et Berkeley Function Calling Leaderboard (BFCL) pour tester les capacités de suivi d'instructions, de jeu de rôle, de RAG et d'appel de fonctions. Enfin, il a été confirmé que le modèle Llama-3.1-Minitron 4B peut être un modèle de commande fiable et surpasser les autres SLM de base.

                                                                                                                                                                                                                    Tableau 2 : Comparaison de la précision du modèle de base Minitron 4B aligné avec des modèles alignés de taille similaire.
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

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.

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

                                                                                                                                                                                                                 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.
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强Pour plus d'informations, veuillez consulter les ressources suivantes :
英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强
https://arxiv.org/abs/2407.14679

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-Base

    Liens de référence :
  • https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b -modèle/

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!

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