
MaskLLM
NVIDIA Research · Programmation · Autres
MaskLLM est une méthode d'élagage open source signée NVIDIA Research qui apprend des masques de parcimonie N:M pour réduire les modèles de langage et baisser le coût d'inférence sans perdre beaucoup de précision.

À propos de MaskLLM
What Is MaskLLM
MaskLLM est une méthode de recherche pour compresser les grands modèles de langage. Elle appartient à la famille des outils d'élagage qui retirent les paramètres inutiles, et elle s'appuie sur la parcimonie semi-structurée, aussi appelée parcimonie N:M. Le principe est simple : dans chaque bloc de M poids consécutifs, on n'en garde que N. Un motif 2:4 conserve deux poids sur quatre, ce qui divise par deux le volume que le matériel doit déplacer.
Ce qui distingue MaskLLM, c'est la façon dont il choisit les poids à garder. Les méthodes plus anciennes reposent sur une règle fixe, comme supprimer les plus petits poids ou utiliser une estimation statistique. MaskLLM traite le choix du masque comme quelque chose que le modèle apprend. Il modélise les motifs N:M sous forme de distribution de probabilité et l'entraîne avec une technique d'échantillonnage appelée Gumbel Softmax, ce qui permet au modèle de trouver de meilleurs masques sur un vaste jeu de données. Les poids restent gelés pendant l'apprentissage des masques, et c'est précisément ce qui rend la parcimonie 2:4 « sans perte » pour une tâche donnée.
L'intérêt pratique se lit dans les chiffres. Selon NVIDIA, le modèle dense LLaMA-2 7B affiche une perplexité de 5,12 sur Wikitext, tandis que les méthodes d'élagage antérieures la poussent au-delà de 10. MaskLLM descend à 6,72 ou 6,78 en apprenant seulement les masques, poids gelés. Le projet est open source sous licence NVIDIA, donc chercheurs et ingénieurs peuvent l'exécuter eux-mêmes. Il faut toutefois du matériel avec un vrai GPU et des compétences en apprentissage automatique.
Getting Started
- Installez les paquets Python, puis lancez le script qui télécharge un masque déjà calculé depuis Hugging Face
- Chargez le modèle visé, par exemple LLaMA-2 7B ou LLaMA-3 8B, dans PyTorch
- Appliquez le masque téléchargé et mesurez la précision avec le script de perplexité fourni
- Pour un travail sur mesure, montez l'environnement Megatron-LM, préparez vos données et entraînez un nouveau masque sur votre domaine
Informations sur le produit
Aperçu des tarifs, des plateformes compatibles et des performances de MaskLLM.
Idéal pour
Les utilisateurs, tâches et cas d'usage où cet outil convient le mieux.
Utilisateurs
- Chercheurs en apprentissage automatique
- Ingénieurs ML qui déploient des modèles
- Étudiants et universitaires
- Développeurs de frameworks et d'outils
Tâches
- Élagage de modèles de langage
- Compression en un seul passage
- Parcimonie propre à un domaine
- Transfert de parcimonie
- Comparaison de méthodes d'élagage
Cas d'usage
- Une équipe qui sert un modèle 7B sur peu de GPU
- Une recherche qui doit reproduire des chiffres publiés
- Un modèle bon en général mais faible sur une niche
- Bâtir un pipeline de compression pour une famille de modèles
- Étudier des limites de licence ou de confidentialité
Fonctionnalités clés
Masques N:M apprenables
Au lieu de noter chaque poids à la main, MaskLLM apprend le masque. Il traite l'ensemble des motifs N:M valides comme une distribution et échantillonne pendant l'entraînement, si bien que le modèle converge vers les meilleurs masques pour un jeu de données. Cette étape apprenable constitue la vraie différence avec les méthodes en un seul passage, qui choisissent un masque une fois et s'arrêtent là.
Échantillonnage Gumbel Softmax
La méthode emprunte une technique d'échantillonnage discret pour rendre le choix du masque entraînable de bout en bout. Gumbel Softmax laisse les gradients traverser ce qui serait sinon un choix dur, tout ou rien. C'est ce qui permet d'optimiser la distribution sur les masques N:M avec de vraies données plutôt que de l'estimer.
Masques déjà calculés pour les modèles Hugging Face
Le projet livre des masques prêts à l'emploi, donc vous pouvez essayer sans rien entraîner. Des masques sont publiés pour LLaMA-2 7B, LLaMA-3 8B et LLaMA-3.1 8B, chacun entraîné sur un sous-ensemble de C4, et un script les télécharge depuis Hugging Face puis les applique aux modèles officiels pour l'évaluation.
Parcimonie semi-structurée 2:4
MaskLLM vise la parcimonie N:M, le plus souvent le motif 2:4 qui garde deux valeurs non nulles sur quatre poids consécutifs. Ce format compte parce qu'il colle à l'accélération matérielle : le modèle réduit ne prend pas seulement moins de place, il peut aussi tourner plus vite sur le bon GPU.
Transfert de motifs parcimonieux
Le même modèle de probabilité qui apprend un masque peut le déplacer d'un domaine à un autre. Une fois une distribution de masques entraînée, elle s'adapte à une tâche ou un jeu de données nouveau avec moins d'effort que repartir de zéro, ce que les auteurs appellent la transférabilité. C'est utile quand un modèle doit rester affûté dans plusieurs contextes.
Pipeline d'entraînement Megatron-LM
Pour les entraînements complets, MaskLLM inclut un flux Megatron-LM qui répartit un modèle LLaMA sur plusieurs GPU. Le dépôt fournit des scripts pour convertir les checkpoints, tokeniser les données, générer un masque préalable avec SparseGPT, Wanda ou l'élagage par magnitude, entraîner le masque et tronquer le checkpoint avant diffusion.
Avantages et inconvénients
Avantages
- Apprend les masques à partir des données au lieu de dépendre d'une règle d'importance fixe, ce qui améliore la précision à parcimonie égale
- Publie code, poids et masques déjà calculés sous licence ouverte, donc les résultats sont reproductibles
- Prend en charge l'apprentissage par transfert, si bien qu'une distribution de masques sert à plusieurs tâches et domaines
- Fonctionne avec des modèles connus comme LLaMA-2, LLaMA-3 et LLaMA-3.1 via Hugging Face et Megatron-LM
- Garde les poids gelés, donc la parcimonie 2:4 apprise est sans perte pour la tâche sur laquelle elle a été ajustée
Inconvénients
- Entraîner un nouveau masque exige une machine multi-GPU, et le dépôt indique environ 40 Go de mémoire par GPU pour les exécutions complètes
- C'est un artefact de recherche, pas un produit : pas de support, pas de service hébergé, pas d'API
- Les masques prêts à l'emploi couvrent quelques modèles LLaMA, donc les autres architectures obligent à entraîner le vôtre
- Le bénéfice se voit sur du matériel qui prend en charge l'accélération 2:4, ce qui limite l'apport pour les GPU anciens ou non NVIDIA
Questions fréquentes
MaskLLM est une méthode d'élagage apprenable qui ajoute une parcimonie N:M aux grands modèles de langage. Au lieu de noter chaque poids, il apprend lesquels garder en modélisant les masques comme une distribution de probabilité. NVIDIA Research l'a publié à NeurIPS 2024 et le code de MaskLLM est ouvert sur GitHub.
Contenus associés
Découvrez des outils, des compétences et des articles liés à MaskLLM.
Alternatives à MaskLLM
Base Code
Base44 (Wix) · Programmation · ProductivitéBase Code est un environnement de développement cloud partagé signé Base44. Votre équipe décrit des modifications sur un dépôt GitHub dans le chat, les vérifie en aperçu et les renvoie sous forme de pull requests.
Google EmbeddingGemma 2
Google DeepMind · Rédaction · Image · ProgrammationGoogle EmbeddingGemma 2 est un modèle ouvert de 740 millions de paramètres qui transforme texte, code, images, audio et images vidéo en vecteurs d'un même espace de 768 dimensions, sur un téléphone ou un ordinateur portable.
GitGlow
GitGlow · Programmation · ProductivitéGitGlow est un client Git de bureau qui place votre code et les modifications de vos agents IA dans une même revue, pour savoir ce qui quitte votre machine avant de livrer.
