Un backend C++ casse les règles du batching classique pour éliminer le gaspillage mémoire et accélérer l'inférence des LLM jusqu'à 5,89 fois. Explications techniques et code à l'appui.
LE PROBLÈME : VOTRE GPU TRAVAILLE POUR RIEN
Imaginez que vous demandez à un chef de préparer 8 plats différents : un sandwich, une salade, un steak, un dessert… et qu’au lieu de cuisiner chaque plat séparément, le chef prépare 2000 portions de purée pour tout le monde. Puis il fait cuire ces 2000 portions en même temps, même si vous n’en avez besoin que de quelques cuillères. C’est exactement ce que fait votre GPU avec les séquences de texte dans un modèle de langage.
Les modèles de langage comme les LLM fonctionnent avec des tensors rectangulaires : chaque ligne doit avoir la même longueur. Si vous avez 8 documents de tailles différentes (80, 90, 110, 130, 95, 1850, 2000 et 60 tokens), PyTorch va automatiquement remplir les séquences courtes avec des zéros pour les faire correspondre à la plus longue. Résultat : le GPU passe son temps à calculer des multiplications sur des zéros, comme si on lui demandait de cuire 2000 purées alors qu’on n’a besoin que d’un sandwich.
Cette pratique s’appelle le padding et elle est partout : dans les bibliothèques comme Hugging Face, dans les serveurs d’inférence, dans les API cloud. Elle gaspille de la mémoire, de la bande passante et de l’électricité. Pire encore : elle peut provoquer des OutOfMemoryError si la séquence la plus longue est trop grande pour la VRAM disponible.
LA SOLUTION : EMBALLER LES SÉQUENCES COMME UNE GRAND-MÈRE ORGANISÉE
Le WarpGroup-Backend est une bibliothèque C++ qui casse ces règles. Au lieu de remplir les séquences courtes avec des zéros, elle les emballe ensemble comme des boîtes dans un camion de déménagement. L’objectif ? Remplir chaque
- Towards Data Science
L'indépendance de CLODCO est votre garantie.
Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.
Soutenir CLODCO


