GPU, composant d’architecture incontournable au service de l’IA
Le GPU, de l'acronyme anglo-saxon Graphical Processing Unit, désigne le processeur dédié au traitement des données graphiques.
GPU pour une IA à l’échelle
L'utilisation de GPU est aujourd'hui répandue dans toutes les industries. Nous savons que construire des offres GPU n'est pas trivial. Les algorithmes et les modèles modernes de deep learning supposent que nous ayons une grosse capacité CPU+GPU disponible pour effectuer l'entraînement et l'inférence.
Les GPU ont aujourd'hui le vent en poupe, et se révèlent apporter une réponse concrète à des besoins de traiter de gros volumes de données en parallèle. Les GPU sont principalement utiles sur des algorithmes d'IA/Deep Learning qui comprennent le traitement d'images ou de vidéos, de fichiers scannés, etc...
Lorsque l'on cherche à mettre à disposition à un groupe d'utilisateurs des GPU, cela devient rapidement complexe. Il s'agit en effet de pouvoir allouer et libérer des GPU pour servir les traitements des utilisateurs.
Les difficultés de consommation de GPU
Les architectures de GPU mutualisées sont complexes à construire pour plusieurs raisons évidentes.
Pas de GPU Hyperviseurs
Le partage de CPU entre plusieurs utilisateurs est simple avec les hyperviseurs, dans le cas des GPU … rien est prévu nativement. Il faut nécessairement attacher le GPU (réserver) à un contrôleur. Cela suppose donc que pour des GPU ondemand cloud publique, les ressources GPU soient facturées dès lors que le contrôleur ou la VM les attachent !
Rareté des compétences Devops Full Stack
Intégrer des composants GPU demande de travailler sur l'ensemble des couches (IaaS, Paas, Driver GPU, networking) et installer des machines, puis ensuite assurer la maintenance, les patchs. Les Devops capables de travailler fullstack sont rares sur le marché.
Partage sécurisé de données avec le GPU
Donner les accès aux données et assurer le bon niveau de sécurité n’est pas nativement prévu. Cela peut passer par de l’anonymisation, pseudonymisation, ou un autre mécanique de chiffrement.
Finops
Dans le cadre de ressources payées à l’usage, l’optimisation du coût GPU va demander de libérer les ressources dès que les jobs sont terminés et de les ré-allouer dynamiquement par la suite.