nouvelles

Nvidia joue avec l'élagage et la distillation : diviser par deux les paramètres du Llama 3.1 8B et obtenir de meilleures performances avec la même taille

2024-08-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Rapport sur le cœur de la machine

Editeurs : Du Wei, Chen Chen, Zenan

L’essor des petits modèles.

Le mois dernier, Meta a publié 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 suffisamment 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é combiné à une distillation des connaissances permet d'obtenir progressivement des modèles de langage plus petits à partir d'un modèle initialement plus grand.



Yann LeCun, lauréat du prix Turing et scientifique en chef de l'IA chez Meta, a également aimé et republié l'étude.

Après élagage et distillation, l'équipe de recherche de NVIDIA a affiné Llama 3.1 8B en Llama-3.1-Minitron 4B et l'a rendu open source. Il s'agit du premier travail de NVIDIA dans 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.



Le document relatif à cette recherche a été publié dès le mois dernier.



  • Lien papier : https://www.arxiv.org/pdf/2407.14679
  • Titre de l'article : Modèles de langage compacts via l'élagage et la distillation des connaissances

taille et distillation

L'élagage rend le modèle plus petit et plus mince, et peut être réalisé 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 modèle vaste et 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 construit de grands modèles en combinant l'élagage avec la distillation classique des connaissances. 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 (couches, neurones, têtes et canaux d'intégration), puis trie et élague le modèle à 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, utilisez 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.

Une chose à 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 alternez 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

La figure 2 ci-dessous montre le processus de distillation, dans lequel le modèle d'étudiant en couche N (le modèle élagué) est distillé à partir du modèle d'enseignant en couche M (le modèle original non élagué). Le modèle étudiant est appris en minimisant la combinaison de la perte de sortie intégrée, de la perte logit et de la perte spécifique à l'encodeur du transformateur mappée au bloc étudiant S et au bloc enseignant T.



Figure 2 : Perte de formation par distillation.

Meilleures pratiques d’élagage et de distillation

Sur la base de 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ée suivantes.

L’un est le redimensionnement.

  • Pour former un ensemble de LLM, le plus grand est formé en premier, puis élagué et distillé de manière itérative pour obtenir des LLM plus petits.
  • Si une stratégie de formation en plusieurs étapes est utilisée pour former 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 formation.
  • Élaguez le modèle source disponible le plus proche de la taille cible.

La seconde est la taille.

  • Donnez la priorité à l’élagage en largeur plutôt qu’à l’élagage 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 une seule fois, car l’estimation de l’importance itérative ne présente aucun avantage.

La troisième est de se recycler.

  • Recyclez-vous uniquement en utilisant la perte de distillation au lieu d’un entraînement régulier.
  • Lorsque la profondeur est considérablement réduite, utilisez le logit, les états intermédiaires et la distillation intégrée.
  • Lorsque la profondeur ne diminue pas de manière significative, une distillation logit uniquement est utilisée.

Llama-3.1-Minitron : Mettre en pratique les meilleures pratiques

Meta a récemment lancé la puissante famille de modèles open source Llama 3.1 qui rivalise 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.

Fort de 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 :

  • Perfectionnement des enseignants
  • Taille en profondeur uniquement
  • Taille en largeur uniquement
  • Référence de précision
  • Évaluation des performances

Perfectionnement des enseignants

Afin de corriger le biais de distribution de l'ensemble de données d'origine sur lequel la formation du modèle était basée, NVIDIA a d'abord affiné le modèle 8B non élagué sur son ensemble de données (jetons 94B). 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.

Taille en profondeur uniquement

Afin de passer de 8B à 4B, NVIDIA a supprimé 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 suppression de 1, 2, 8 ou 16 couches. Par exemple, le tracé rouge de la couche 16 indique qu'une perte de LM se produit si les 16 premières couches sont supprimées. La couche 17 signifie que si la première couche est conservée et que les couches 2 à 17 sont supprimées, une perte LM se produit également. Nvidia observe : Les couches de début et de fin sont les plus importantes.



Figure 5 : L’importance de l’élagage en profondeur uniquement des couches intermédiaires.

Cependant, NVIDIA observe que cette perte de LM n'est pas nécessairement 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 couches 16 à 31, où la couche 31 est l'avant-dernière couche. La précision à 5 coups du modèle élagué est nettement supérieure à la 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.

Taille en largeur uniquement

NVIDIA élague les dimensions d'intégration (cachées) et 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 avoir estimé l'importance, NVIDIA a choisi

  • Élaguez la dimension intermédiaire MLP de 14336 à 9216.
  • Élaguez la taille cachée de 4096 à 3072.
  • Recycler l'attention sur le numéro de tête et le nombre de couches.

Il convient de mentionner qu'après la taille d'un échantillon unique, la perte de 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.

Référence de précision

NVIDIA distille le modèle en utilisant les paramètres suivants

  • Taux d'apprentissage maximal = 1e-4
  • Taux d'apprentissage minimum = 1e-5
  • Préchauffage linéaire en 40 étapes
  • schéma de désintégration du cosinus
  • Taille globale du lot = 1 152

Le tableau 1 ci-dessous montre la comparaison des performances des variantes du modèle Llama-3.1-Minitron 4B (élagage en largeur et élagage en profondeur) avec le modèle Llama 3.1 8B original et d'autres modèles de taille similaire sur des tests de référence 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 de taille similaire.

Afin de 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 effectué une évaluation 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 devenir un modèle d'instruction fiable et que ses performances sont meilleures que celles des autres SLM de base.



Tableau 2 : Comparaison de la précision des modèles de base Minitron 4B alignés avec des modèles alignés de taille similaire.

Évaluation des performances

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 avec une précision FP8 et FP16 pour différents modèles dans différents cas d'utilisation, exprimées sous la forme d'une combinaison longueur de séquence d'entrée/longueur de séquence de sortie (ISL/OSL) avec une taille de lot de 32 pour le modèle 8B et le modèle 4B La taille du lot 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 de à propos de Lama 3.1 1,8x 8B. Le déploiement dans FP8 améliore également les performances de ces trois modèles d'environ 1,3 fois par rapport à BF16.





Figure 8 : Combinaison : Llama 3.1 8B à BS=32, modèle Llama-3.1-Minitron 4B à BS=64 1x GPU H100 80 Go.

en 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 la plus avancée. Pour utiliser le réglage fin SDG pour Llama-3.1 avec NVIDIA NeMo, consultez la section /sdg-law-title-Generation sur GitHub.

Pour plus d’informations, consultez les ressources suivantes :

  • 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

https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b-model/