IA : 7 questions à se poser avant de passer au HPC

Un projet, 3 étapes, 7 questions. Avant de vous lancer dans un projet de convergence IA/HPC, veillez à avoir validé ces 7 réponses…     

Les chercheurs vont devoir apprendre à partager. De plus en plus d’organisations envisagent d’utiliser leur infrastructure HPC, historiquement employée pour des travaux complexes de simulation, comme fondation pour leur projet d’intelligence artificielle. Les workloads d’IA réclament d’importantes ressources, à la fois pour la phase d’apprentissage, pendant laquelle elle va emmagasiner des quantités considérables d’information, et pour les processus d’inférence, au terme desquels l’IA va livrer ses conclusions. Avec plusieurs milliers de processeurs multicœurs, les plateformes HPC constituent effectivement des candidates séduisantes pour accueillir ces applications nouvelle génération. Mais cela pose quelques questions auxquelles il va falloir trouver les réponses.

1ère étape : Définir les besoins, anticiper les obstacles

Comment allez-vous utiliser l’intelligence artificielle pour répondre à vos besoins business ?

C’est la première étape de tout projet IT : interroger le besoin. Il est primordial de s’assurer dès le départ que la solution que vous allez mettre en place corresponde aux attentes de vos utilisateurs. Comment l’IA va-t-elle rendre service à votre organisation et de quelles données allez-vous avoir besoin pour cela ? C’est à partir des réponses à ces questions que vous serez à même de définir la meilleure stratégie de collecte, de stockage mais aussi de sécurité des données. Cette stratégie devra inclure les besoins matériel et logiciel ainsi que les compétences humaines nécessaires.

De quelle infrastructure avez-vous besoin pour héberger votre IA ?

Une intelligence artificielle n’est pas un workload figé. C’est un monde en constante évolution dont le bon fonctionnement des algorithmes conditionne l’implémentation. Pour optimiser vos investissements, commencez dans un premier par programmer vos algorithmes afin d’exploiter au mieux les capacités de calcul parallèle des processeurs Intel® Xeon® Scalable Processors existants. Vous pourrez ensuite déterminer plus précisément les accélérateurs (GPU, FPGA, etc.) dont votre IA aura besoin pour être plus efficace. Des solutions prêtes à l’emploi, comme les Dell EMC Ready Solutions for HPC, simplifient la conception et la configuration des environnements HPC avec des infrastructures spécifiquement pensées pour le calcul intensif et la résolution de problèmes complexes.

Quels sont les freins qui limitent l’exécution d’une IA sur une infrastructure HPC ?

Beaucoup de piles logicielles HPC ne sont pas compatibles avec les workloads d’intelligence artificielle et les compétences en développement sont différentes entre les deux domaines. Ce sont les deux principales barrières susceptibles de ralentir les organisations qui souhaitent intégrer une solution d’IA sur leur infrastructure HPC. Mais la convergence est en marche. Intel travaille actuellement sur ses processeur Intel® Xeon® Scalable Processors pour combler le fossé entre IA et HPC en reconfigurant son matériel et son architecture système, mais également en enrichissant son écosystème logiciel, comme le montre l’image ci-dessous.

2ème étape :  Exploiter les standards (mais les optimiser)

Quel framework choisir ?

Les applications modernes d’intelligence artificielle sont basées sur des frameworks open source comme TensorFlow, PyTorch ou MXNet, et du code écrit dans des langages courants comme Python, Java ou C++. Optez pour un framework qui sera capable de supporter les applications que vous souhaitez implémenter. Un des points clé pour choisir est de bien déterminer quelle proportion de vos workloads d’IA sera de l’apprentissage et quelle part sera de l’inférence.

Faut-il utiliser des applications prêtes à l’emploi ?

Il est probable que les solutions d’IA existantes sur le marché ne sachent pas répondre de manière parfaitement exhaustive à vos besoins spécifiques. Vos développeurs devront alors effectuer des ajustements ou créer entièrement le logiciel adapté. Bien que la communauté HPC propose des bibliothèques pour faciliter cela, coder des applications pour le HPC et l’IA requiert des compétences particulières, comme l’optimisation du programme pour les traitements parallèles par exemple. Un framework comme celui d’Intel aide les développeurs en leur fournissant des outils pour moderniser les applications et supportant des langages communs comme Python, C++ ou Fortran.

Comment exploiter au mieux les frameworks de deep learning ?

Utiliser un framework comme TensorFlow ou PyTorch permet de faciliter l’adoption du deep learning. Mais encore faut-il l’optimiser correctement afin de tirer parti au maximum des CPU multicœurs. Sur un réseau de neurones convolutifs par exemple, il est possible de doubler la vitesse d’apprentissage et de multiplier par 2,7 la vitesse d’inférence, sans changer une ligne de code, mais simplement en appliquant les bonnes pratiques de configuration des processeur Intel® Xeon® Scalable Processors et Intel® Xeon Phi™.

3ème étape :  Préparer l’avenir

Disposez-vous des ressources pour exploiter votre environnement HPC sur le long terme ?

Une fois le cas d’usage bien délimité et les algorithmes affutés grâce aux différents tests, il sera temps d’exécuter votre application à grande échelle en la déployant sur plusieurs milliers de nœuds. Pour cela, assurez-vous d’utiliser les frameworks, bibliothèques et processeurs les plus récents. Opérer des infrastructures HPC/IA réclame ensuite des compétences spécifiques. Les superordinateurs peuvent être intégralement gérés en interne ou grâce au support de partenaires externes. Les ingénieurs du laboratoire d’innovation Dell EMC pour l’IA et le HPC et des centres d’excellence pour le HPC et l’IA peuvent également vous aider à tester les technologies nouvelles et émergentes et à optimiser vos systèmes.

About the Author: Dell Technologies