← Derniers articles
🤖 machine learning

Accelerating GPU Inference of Large Language Models with Moderately Unstructured Sparse Weight Matrices

Cet article propose un nouveau format de stockage matriciel à trois couches et un noyau SpMM hybride qui exploitent conjointement les cœurs sparse et CUDA pour permettre l'inférence de LLM modérément non structurés sur des GPU modernes, atteignant la première accélération au niveau du noyau par rapport à la multiplication de matrices denses et surpassant les méthodes de pointe telles que SpInfer et FlashLLM.

Auteurs originaux : Tao Lu, Haoyu Wang, Zonghui Wang, Keshen Xiang, Jiaheng Zhang, Wenzhi Chen

Publié 2026-07-13
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Tao Lu, Haoyu Wang, Zonghui Wang, Keshen Xiang, Jiaheng Zhang, Wenzhi Chen

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous possédez une bibliothèque de livres massive (un Grand Modèle de Langage ou LLM) capable d'écrire des histoires, de répondre à des questions et de coder. Pour faire fonctionner ces livres, un robot super rapide (le GPU) doit lire des millions de pages de chiffres (les poids) pour déterminer le mot suivant. Le problème ? Le robot est tellement occupé à lire qu'il se fatigue et que cela coûte cher à exploiter.

Les scientifiques ont tenté une astuce ingénieuse : ils ont jeté les pages ennuyeuses et sans importance pour rendre la bibliothèque plus légère. C'est ce qu'on appelle l'« élagage » (pruning). Mais attention : si vous jetez trop de pages, l'histoire devient bizarre et n'a plus de sens. Le point d'équilibre se situe lorsqu'on garde environ la moitié des pages (50 % de densité/sparsity).

Le Gros Problème
On pourrait penser qu'une bibliothèque plus légère serait plus rapide à lire, n'est-ce pas ? Pas tout à fait. La machine de lecture du robot (le GPU) est conçue pour lire des pages denses et complètes très rapidement. Lorsque les pages sont éparpillées et qu'il manque des morceaux (densité non structurée), le robot s'embrouille. Il passe tellement de temps à chercher les pages manquantes et à organiser les fragments qu'il devient en réalité plus lent que s'il avait simplement lu la bibliothèque lourde et complète. Les outils existants pour cette lecture « éparpillée » étaient soit trop lents, soit nécessitaient que le robot fasse des calculs supplémentaires qui annulaient les gains de vitesse.

La Nouvelle Solution : Un Système de Classement à Trois Couches
Les auteurs de cet article ont construit un tout nouveau système de classement pour aider le robot à lire ces pages éparpillées plus efficacement. Ils appellent cela un format à « trois couches », et cela fonctionne comme un bibliothécaire super organisé :

  1. La couche « Sparse-TC » (La section VIP) : Le bibliothécaire saisit d'abord les pages qui correspondent à un motif net et pré-approuvé (comme chaque 4e page contenant 2 notes importantes). Celles-ci vont directement vers les bras de lecture spécialisés et les plus rapides du robot (Sparse Tensor Cores). Pas besoin de chercher !
  2. La couche « Slot-Filling » (La pièce du puzzle) : Qu'en est-il des notes supplémentaires qui ne correspondaient pas au motif VIP ? Au lieu de les jeter ou d'en faire une liste désordonnée, le bibliothécaire les fourre dans les espaces vides laissés par les pages VIP. Pour garder une trace de l'endroit où elles se trouvent sans écrire un énorme carnet d'adresses, ils utilisent un code de « Distance Différentielle Parallèle ». Voyez cela comme une carte au trésor qui dit simplement : « Le prochain indice est à 3 pas vers la droite », plutôt que d'écrire l'adresse complète à chaque fois. Cela économise énormément d'espace et est facile à décoder rapidement.
  3. La couche « Résiduelle » (Le tiroir à bric et broc) : Une infime fraction de notes (moins de 1 %) est tout simplement trop étrange pour s'insérer nulle part. Elles vont dans un classeur classique et ancien (format CSR). Comme il y en a très peu, le robot ne voit pas d'inconvénient à vérifier ce tiroir.

Le Super-Pipeline
La véritable magie ne réside pas seulement dans le système de classement ; c'est la façon dont le robot travaille pendant la lecture. Les auteurs ont conçu un flux de travail où le robot fait trois choses exactement en même temps :

  • Il saisit le prochain bloc de pages de l'étagère de mémoire principale (Global Memory).
  • Il décode les indices de la carte au trésor « 3 pas vers la droite » (en utilisant des cœurs standards).
  • Il calcule les chiffres pour les pages VIP (en utilisant les cœurs spécialisés rapides).

En superposant ces tâches, le robot ne reste jamais inactif en attendant des données. C'est comme un chef qui coupe les légumes, remue la marmite et dresse la table en même temps, plutôt que de faire une chose à la fois.

Les Résultats : Plus Rapide qu'Avant
Lorsqu'ils ont testé cela sur un robot moderne et ultra-rapide (un GPU NVIDIA H100 avec 80 Go de mémoire), les résultats ont été impressionnants.

  • Vitesse : Leur méthode est la première à être réellement plus rapide que la lecture de la bibliothèque lourde et complète. Elle est jusqu'à 1,64 fois plus rapide que le meilleur outil précédent (SpInfer) au niveau du noyau (kernel).
  • De bout en bout : Pour l'ensemble du processus de génération de texte, elle est jusqu'à 1,41 fois plus rapide que FlashLLM.
  • Mémoire : Elle a également économisé environ 21,4 % de l'espace mémoire par rapport à la lecture de la bibliothèque complète.

Ce qu'elle ne fait pas
Les auteurs précisent soigneusement ce que cela n'est pas. Cela ne fonctionne pas de manière optimale lorsque la bibliothèque est presque vide (densité très faible de 90 %+), car dans ces cas-là, les anciennes méthodes sont toujours meilleures. De plus, cela est optimisé pour la phase de « décodage » (où le robot écrit un mot à la fois), qui est la tâche la plus courante. Lorsque le robot doit lire un énorme bloc de texte d'un seul coup (la phase de « prefill »), cette nouvelle méthode peut être légèrement plus lente que les outils de lecture standard, mais c'est un scénario spécifique qu'ils ne cherchent pas à corriger pour le moment.

En résumé, en organisant les pages éparpillées dans un système intelligent à trois couches et en gardant le robot constamment occupé, ils ont réussi à rendre les chatbots IA plus rapides et moins coûteux à exploiter sans les rendre moins intelligents.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →