HyperAIHyperAI

Command Palette

Search for a command to run...

il y a un mois
NVIDIA
Multimodal
LLM

Optimiser la mémoire pour les grands modèles sur NVIDIA Jetson

L'essor des modèles d'intelligence artificielle générative open source pousse le déploiement au-delà des centres de données vers des appareils en bordure de réseau, permettant à des robots autonomes et à des agents physiques d'automatiser des tâches complexes. Cependant, l'exécution de modèles de plusieurs milliards de paramètres sur des dispositifs edge dotés d'une mémoire limitée constitue un défi majeur. Sur la plateforme NVIDIA Jetson, où les ressources mémoire, CPU et GPU sont partagées et strictement limitées, une gestion inefficace peut entraîner des goulots d'étranglement ou des défaillances système. Optimiser l'utilisation de la mémoire offre des avantages décisifs : amélioration des performances sur le même matériel, augmentation de la concurrence, réduction des coûts et meilleure efficacité énergétique. Pour y parvenir, une approche à cinq niveaux du pile logicielle d'IA en bordure est recommandée, allant du niveau matériel jusqu'au modèle lui-même. Au niveau fondamental, le Package de support matériel (BSP) et la suite JetPack forment la base. Des économies significatives peuvent être réalisées en désactivant les services inutilisés et en récupérant les régions de mémoire réservées (carveout) pour des périphériques spécifiques comme les écrans ou les caméras qui ne sont pas nécessaires dans des configurations en tête d'ailier (headless). De plus, l'optimisation côté noyau permet d'ajuster la taille des tampons SWIOTLB, souvent redondants avec la gestion matérielle IOMMU des plateformes Orin. Côté espace utilisateur, la suppression des services graphiques et l'analyse des processus consommateurs de mémoire via des outils comme procrank ou NvMap permettent de libérer des ressources vitales pour les charges de travail d'IA. La couche de pipeline d'inférence, souvent gérée par des frameworks comme NVIDIA DeepStream, nécessite également des réglages précis. Désactiver les étapes de visualisation inutiles, telles que le tiling ou l'ajout de surcouches, réduit la charge GPU et la mémoire consommée. Parallèlement, les frameworks d'inférence pour les modèles de langage (LLM), tels que vLLM ou Llama.cpp, optimisent le déploiement grâce à des techniques de regroupement continu et de gestion du cache KV. La quantification reste la technique la plus puissante pour réduire l'empreinte mémoire des modèles. Elle consiste à représenter les poids et activations avec des types de données à précision réduite. Il est conseillé d'évaluer progressivement des formats comme le FP16, le FP8, ou le W4A16, jusqu'à atteindre la précision minimale acceptable pour le cas d'usage. Des formats avancés comme le NVFP4 permettent des gains d'efficacité spectaculaires sans trop sacrifier la qualité. L'utilisation d'accélérateurs spécialisés non GPU, tels que le Vision Accelerator Programmable (PVA) de NVIDIA, permet de décharger des tâches de vision continues comme la détection de mouvement, libérant ainsi le GPU pour des inférences plus complexes. L'efficacité de ces stratégies est prouvée par le cas concret de l'assistant robotique Reachy Mini. Grâce à une optimisation globale incluant la suppression du gestionnaire d'affichage, l'utilisation d'un modèle multimodal quantifié en 4 bits et des runtime optimisés, le système fonctionne entièrement sur un Jetson Orin Nano doté de seulement 8 Go de mémoire. Cette configuration permet d'exécuter simultanément la compréhension visuelle, la reconnaissance vocale et la synthèse de parole sans dépendance cloud. En combinant quantification 4 bits et runtime efficaces, il devient possible d'héberger des LLM de 10 milliards de paramètres et des modèles multimodaux de 4 milliards sur des plateformes Edge contraintes.

Liens associés

Optimiser la mémoire pour les grands modèles sur NVIDIA Jetson | Articles tendance | HyperAI