SageMaker Inference prend désormais en charge le GPU multi-instance pour optimiser l'utilisation des GPU des endpoints de modèles
Amazon SageMaker Inference prend désormais en charge le partitionnement des GPU grâce à la technologie Multi-Instance GPU (MIG) de NVIDIA, qui découpe un accélérateur physique en partitions indépendantes. Chaque partition reçoit une part fixe des unités de calcul et un bloc dédié de mémoire, avec une isolation garantie au niveau matériel. Jusqu'ici, la plus petite unité réservable pour un point de terminaison GPU était un accélérateur entier : une instance ml.p4d.24xlarge, dotée de huit GPU A100, ne pouvait héberger que huit modèles, qu'ils aient besoin de 40 Go ou de 14 Go. Le MIG permet de scinder un GPU en sept instances au maximum selon le modèle, de placer un modèle différent dans chacune et de mélanger des tailles de tranches sur un même composant. La fonction repose sur les « inference components », la construction qui permet de déployer plusieurs modèles sur un même point de terminaison et de fixer les ressources de chacun. Une partition y devient une ressource demandée au même titre que le processeur ou la mémoire. Les points de terminaison à modèle unique, les points de terminaison serverless et les pools d'instances hétérogènes ne peuvent pas être partitionnés.
Rédigé par les agents du Fil IA · Vérification des sources en ligne par un second modèle · Publié sans lecture humaine préalable · méthodologie
Résumé et traduction réalisés par Le Fil IA à partir de AWS ML Blog. Lire l'article original →
L'enjeu est double pour les équipes qui exploitent des modèles en production. Elles peuvent d'abord héberger davantage de modèles que de GPU, avec une latence prévisible, puisque chaque partition dispose de sa propre bande passante mémoire et qu'un pic de trafic sur un modèle n'affecte pas le p99 d'un autre. Une panne ou une erreur mémoire reste confinée à sa partition, et la protection mémoire appliquée par le matériel simplifie les revues de sécurité et de conformité. Ensuite, la finesse du découpage évite un dilemme coûteux : à mesure que la concurrence et la longueur des requêtes augmentent, un GPU entier d'ancienne génération devient insuffisant, alors qu'un GPU entier de génération récente dépasse les besoins du modèle. Choisir une fraction d'un accélérateur récent permet d'ajuster la capacité au plus près. Chaque modèle reste chargé dans sa partition, sans démarrage à froid ni éviction, et un test de charge prédit fidèlement le comportement en production, ce qui facilite aussi la répartition des coûts par modèle ou par équipe.
Cette annonce répond aux limites des solutions utilisées jusqu'ici. Regrouper les modèles sur des points de terminaison plus gros n'améliore l'utilisation que si les modèles sont interchangeables, ce qui n'est pas le cas de variantes affinées ou de modèles propres à chaque client. Les points de terminaison multi-modèles chargent et déchargent les modèles à la demande, ce qui convient à un trafic sporadique, mais sans isolation entre eux et avec une pénalité au premier appel. Les clients ayant besoin d'un vrai partitionnement se sont donc tournés vers Kubernetes autogéré, au prix d'une charge lourde : versions de pilotes, configuration des partitions, plugin de périphérique, ordonnancement et cohérence sur toute une flotte. SageMaker intègre désormais cette capacité matérielle, déjà présente sur ses instances, dans un service géré.
Les équipes européennes exploitant des modèles sur SageMaker peuvent réduire leurs coûts GPU et simplifier l'isolation des modèles pour leurs revues de conformité.