GreenBoost : le module Linux transforme la RAM en mémoire CUDA et révolutionne l’utilisation des LLM avec NVIDIA
Le scénario local de développement de l’intelligence artificielle connaît une transformation significative avec l’arrivée de GreenBoost. Le module innovant Este pour le noyau Linux promet de surmonter l’un des principaux obstacles rencontrés par les développeurs et les chercheurs : la limitation de la mémoire vidéo (VRAM) sur les cartes NVIDIA grand public. En convertissant la RAM système en une ressource utilisable par l’architecture CUDA, GreenBoost ouvre de nouvelles portes pour exécuter des modèles de langage (LLM) complexes à grande échelle directement sur des PC courants.
L’initiative, développée par le programmeur indépendant Ferran Duarri, représente une avancée cruciale dans un environnement où le matériel haute capacité, tel que les GPU d’entreprise dotés d’une VRAM abondante, est inaccessible pour la plupart. La solution se concentre sur l’optimisation de l’utilisation des ressources existantes, permettant d’exploiter pleinement la puissance de calcul des GPU NVIDIA même avec des contraintes de VRAM, stimulant ainsi la recherche et le développement dans le domaine de l’IA open source.
La capacité d’exécuter des modèles qui nécessitaient auparavant des dizaines de gigaoctets de mémoire, tels que “glm-4.7-flash:q8_0” avec ses 31,8 Go de mémoire, sur des équipements grand public était un défi presque insurmontable. Les approches traditionnelles entraînaient souvent des goulots d’étranglement en termes de performances ou une qualité d’inférence dégradée, rendant l’interaction pratique avec ces modèles irréalisable pour de nombreux passionnés et petits développeurs.
Surmonter les barrières traditionnelles de la VRAM
Historiquement, les stratégies permettant de faire face aux pénuries de VRAM dans les GPU grand public ont été limitées. L’une des solutions les plus courantes consistait à décharger les couches excédentaires du réseau neuronal vers la mémoire système du processeur. Cependant, cette approche souffrait d’un sérieux problème de performances. Le manque de cohérence CUDA dans la mémoire du CPU nécessitait des transferts de données massifs et complexes entre le GPU et le CPU, créant un goulot d’étranglement qui pouvait réduire jusqu’à dix fois la vitesse de génération des jetons.
Une autre alternative explorée était la réduction drastique du niveau de quantification du modèle. Embora, cela a réduit la demande de mémoire et s’est accompagné d’une dégradation significative des capacités d’inférence et de raisonnement logique du LLM. Para maintient la qualité, la seule option viable était d’investir dans des GPU de niveau entreprise avec 48 Go ou plus de VRAM, une dépense qui dépasse le coût d’une station de travail complète et est hors de portée pour les développeurs individuels et les startups aux budgets limités.
L’architecture innovante à 3 niveaux de GreenBoost
GreenBoost n’est pas simplement un réglage du pilote ou une solution provisoire ; est un module de noyau Linux soigneusement conçu sous licence GPLv2. Ele agit indépendamment et en parallèle des pilotes officiels NVIDIA, intervenant directement dans la couche d’allocation mémoire CUDA. L’intervention ingénieuse du Essa permet au pilote GPU de reconnaître la RAM du système comme « mémoire externe », créant ainsi une architecture d’extension de mémoire qui fonctionne à trois niveaux distincts pour optimiser les performances et la capacité.
La première couche, connue sous le nom de T1, est la VRAM d’origine intégrée au GPU. Dans un environnement de test utilisant une GeForce RTX 5070, avec ses 12 Go de capacité et une bande passante d’environ 336 Go/s, cette couche devient le chemin critique du calcul. Ela stocke les couches actives les plus consultées pendant le processus d’inférence, garantissant ainsi une vitesse maximale pour les opérations les plus exigeantes.
Le deuxième niveau, T2, est constitué de la mémoire RAM DDR4 ou DDR5 de la carte mère. Conectada au GPU via une liaison PCIe 4.0 x16, offre un débit d’environ 32 Go/s. Le niveau Este sert de zone de stockage efficace pour les données de pondération de modèle statique et d’un cache clé-valeur (KV) substantiel, ce qui est essentiel pour que les LLM maintiennent et référencent de grands contextes, permettant à l’IA de travailler avec des informations plus complètes.
Enfin, la troisième couche de sécurité, T3, est le stockage NVMe. Alocado en tant qu’espace de swap avec une vitesse relativement plus lente d’environ 1,8 Go/s, il est mappé pour absorber tout débordement de mémoire. La couche Esta n’entre en jeu que dans des situations exceptionnelles, lorsque la VRAM et la RAM système sont complètement épuisées, offrant ainsi une protection pour éviter les pannes du système dans des scénarios d’utilisation extrêmes.
La sophistication derrière l’intégration
L’intelligence technique de GreenBoost réside dans la manière dont les composants du noyau et de l’espace utilisateur collaborent de manière transparente. Le module du noyau (`greenboost.ko`) utilise un allocateur de mémoire optimisé pour réserver un grand espace de page en DDR4, éliminant ainsi la surcharge de pagination et la fragmentation. Les espaces Esses sont exportés sous forme de descripteurs de fichiers DMA-BUF, permettant un accès direct à la mémoire.
Le GPU importe ensuite ces pages du système d’exploitation en tant que mémoire externe CUDA via l’API `cudaImportExternalMemory`. Le processus Esse amène la plate-forme CUDA à interpréter les pages physiques DDR4 comme s’il s’agissait de mémoire directement connectée à la carte graphique, masquant ainsi l’architecture de la carte mère. Le mouvement des données est ensuite géré comme un transfert DMA via le bus PCI Express 4.0, éliminant les cycles de copie inutiles par le CPU.
Dans l’espace utilisateur, la bibliothèque `libgreenboost_cuda.so` agit comme un intercepteur intelligent. Inserida dynamiquement via `LD_PRELOAD`, il intercepte les appels API comme `cudaMalloc` et `cudaFree`. Requisições de petites allocations sont transmises directement à la VRAM d’origine sans latence. Cependant, les requêtes volumineuses qui dépassent les limites de la VRAM sont redirigées vers le module GreenBoost du noyau, qui alloue la mémoire nécessaire de la RAM système et la renvoie à l’application en tant que pointeur de périphérique CUDA légitime. Moteurs d’inférence Para qui utilisent `dlopen` et `dlsym`, GreenBoost a des contre-mesures, interceptant la fonction `dlsym` elle-même et modifiant même la capacité VRAM signalée pour forcer le déchargement vers la RAM.
Synergie avec les optimiseurs et performances pratiques
GreenBoost est conçu pour fonctionner avec les dernières approches d’inférence, offrant un ensemble d’outils d’optimisation à multiples facettes. Un exemple est son intégration avec « ExLlamaV3 », un moteur d’inférence qui prend en charge nativement le chemin de la couche de cache KV fourni par GreenBoost. Isso permet au tenseur KV du modèle d’être alloué directement de `/dev/greenboost` à Python via un accès `mmap` sans copie, éliminant la surcharge d’E/S et améliorant les performances.
Pour les contextes longs dépassant 100 000 jetons, l’outil « kvpress » peut être utilisé conjointement pour réduire la surcharge sur la bande passante de la RAM système. Mais Surtout, l’intégration avec NVIDIA ModelOpt, l’outil d’optimisation officiel de NVIDIA, permet de convertir les modèles de 31,8 Go au format FP8 efficace sans avoir besoin de recyclage, réduisant ainsi la taille à moins de 16 Go. La combinaison stratégique Essa, qui alloue la VRAM aux poids des modèles et la RAM système au cache KV, a démontré des vitesses d’inférence moyennes de 10 à 25 jetons par seconde (tok/s) sur la GeForce RTX 5070, une augmentation significative par rapport à l’environnement de référence (2 à 5 tok/s).
Le défi du bus PCIe 4.0
Bien qu’il s’agisse d’une approche révolutionnaire, GreenBoost n’élimine pas les limitations physiques fondamentales du matériel. Ferran Duarri, le développeur, est transparent sur le plus gros goulot d’étranglement : la bande passante de transfert maximale du bus PCIe 4.0 x16 d’environ 32 Go/s. Enquanto la VRAM intégrée des GPU modernes offre des centaines de Go/s, voire plus de 1 To/s dans les modèles haut de gamme, la vitesse d’accès à la RAM système via PCIe est nettement plus lente, souvent inférieure à un dixième.
Si les données de poids du modèle, qui sont fréquemment consultées, sont transférées à plusieurs reprises entre la VRAM et la RAM système, ce « battage » entraînera un retard considérable dans le pipeline. Da De même, bien que les disques NVMe soient efficaces pour l’accès séquentiel, les performances au niveau de la couche d’échange peuvent se dégrader considérablement lorsqu’il s’agit de millions d’opérations d’accès aléatoire dans de petits blocs lors de l’inférence. La solution idéale pour maximiser le potentiel de GreenBoost ne réside pas dans un seul module, mais dans un partitionnement intelligent de la charge de travail, en utilisant les dernières technologies de quantification de paramètres telles que FP8 et INT4-AWQ pour maintenir le poids des données à un minimum dans la VRAM (T1) et déplacer le cache KV, qui augmente avec le temps, vers la RAM DDR4 (T2).
Implications pour l’infrastructure de l’IA
La sortie de GreenBoost en open source représente une réponse forte de la communauté des développeurs contre les limitations artificielles imposées par le marché des GPU grand public, où la puissance de calcul est élevée mais où la VRAM restreinte limite l’utilisation industrielle. Il s’agit d’une tentative d’émuler, via un logiciel, l’expérience de mémoire unifiée vue dans l’architecture Apple de la série M, qui permet une inférence massive d’IA sans avoir besoin de modules HBM coûteux, en intégrant cette technologie dans les plates-formes PC existantes.
Cette méthode de mise en œuvre offre une contre-mesure puissante aux chercheurs individuels et aux écosystèmes de développement d’IA de petite et moyenne taille contre la hausse des coûts des accélérateurs d’IA d’entreprise. Atualmente démontré sur la GeForce RTX 5070, avec la disponibilité du code source, il est prévu qu’un large éventail d’utilisateurs possédant des cartes des architectures Ada Lovelace et Ampere vérifieront et adapteront la solution. À une époque où l’évolutivité matérielle a atteint un plateau, l’approche Ferran Duarri, en contournant les couches complexes de la gestion du noyau à l’interface PCI-Express et à l’environnement CUDA, souligne les défis de gestion de la mémoire que les futures infrastructures d’IA distribuées devront relever. Desenvolvedores à travers le monde continue de créer des alternatives pour contourner cet obstacle.
Veja Tambem em Actualités (FR)
Un nouveau test de batterie place le Galaxy S26 Ultra devant l’iPhone 17 Pro Max dans le classement mondial
Samsung publie une nouvelle mise à jour du système avec de nouvelles fonctionnalités pour les utilisateurs de Galaxy Watch 4
La vente au détail numérique réduit la valeur du smartphone Galaxy S25 5G avec des bonus bancaires et un échange d’appareils
L’adaptateur CarPlay sans fil d’Amazon bénéficie d’une réduction de 50 % et d’un taux d’approbation élevé de la part des conducteurs
Le nouveau Resident Evil de Zach Cregger ignore les jeux et se concentre sur une histoire sans précédent avec de nouveaux personnages
Apple accélère la production de l’iPhone 17e et développe un nouveau modèle Air avec système à double caméra
La plateforme Epic Games lance douze jeux à gros budget sans frais permanents pour les utilisateurs de PC
La baisse des prix de la PlayStation 5 Pro accélère les ventes au détail numériques et élimine les stocks mondiaux
Le projet commémoratif d’Apple teste un téléphone portable avec un bord de 1,1 millimètre et un écran incurvé pour 2027
La nouvelle mise à jour du système Apple optimise la gestion des tâches urgentes pour les utilisateurs d’iPhone
Une fuite détaille le matériel de la nouvelle PlayStation portable avec des graphismes supérieurs à ceux de la Xbox Series S