Logo Zéphyrnet

Avec l'IA, vous devez avoir une vue d'ensemble du matériel et des logiciels

Date :

image

Fonctionnalité sponsorisée Cela fait une décennie et demie que les chercheurs ont ébloui le monde de la technologie en démontrant que les unités de traitement graphique pouvaient être utilisées pour accélérer considérablement les opérations clés de l’IA.

Cette prise de conscience continue de captiver l’imagination des entreprises. IDC a rapporté qu'en matière d'infrastructure, le calcul accéléré par GPU et la mise à l'échelle de type HPC comptent parmi les principales considérations des leaders technologiques et des architectes qui cherchent à développer leur infrastructure d'IA.

Mais parmi toutes les organisations qui ont appliqué avec succès l’IA à des problèmes du monde réel, beaucoup d’autres ont du mal à dépasser le stade de l’expérimentation ou du pilote. Étude IDC 2021 a révélé que moins d’un tiers des personnes interrogées avaient mis leurs projets d’IA en production, et que seulement un tiers d’entre eux avaient atteint un « stade de maturité de production ».

Les obstacles cités incluent des problèmes liés au traitement et à la préparation des données et au renforcement de l’infrastructure pour prendre en charge l’IA à l’échelle de l’entreprise. Les entreprises devaient investir dans « des infrastructures spécialement conçues et de bonne taille », a déclaré IDC.

Quel est le problème de l’IA ici ?

Alors, où ces organisations se trompent-elles avec l’IA ? L’un des facteurs pourrait être que les leaders technologiques et les spécialistes de l’IA ne parviennent pas à adopter une vision globale du pipeline d’IA au sens large, tout en accordant trop d’attention aux GPU par rapport aux autres moteurs de calcul, notamment au vénérable CPU.

Car en fin de compte, il ne s’agit pas de soutenir les CPU contre les GPU contre les ASIC. Il s’agit plutôt de trouver le moyen optimal de construire un pipeline d’IA qui peut vous faire passer de la création d’idées, de données et de modèles au déploiement et à l’inférence. Et cela signifie apprécier les atouts respectifs des différentes architectures de processeur, afin de pouvoir appliquer le bon moteur de calcul au bon moment.

Comme l'explique Shardul Brahmbhatt, directeur principal d'Intel, Datacenter AI Strategy and Execution : « Le processeur a été utilisé pour les microservices et les instances de calcul traditionnelles dans le cloud. Et les GPU ont été utilisés pour le calcul parallèle, comme le streaming multimédia, les jeux et pour les charges de travail d’IA.

Alors que les hyperscalers et autres acteurs du cloud ont tourné leur attention vers l’IA, il est devenu clair qu’ils exploitent ces mêmes atouts pour différentes tâches.

Les capacités des GPU en matière de calcul parallèle les rendent parfaitement adaptés à la formation d’algorithmes d’IA, par exemple. Pendant ce temps, les processeurs ont un avantage en matière d’inférence en temps réel à faible temps de latence et par lots réduits et d’utilisation de ces algorithmes pour analyser les données en direct et fournir des résultats et des prédictions.

Encore une fois, il y a des mises en garde, explique Brahmbhatt : « Il y a des endroits où vous souhaitez faire davantage d'inférence par lots. Et cette inférence par lots est également effectuée via des GPU ou des ASIC.

En regardant le pipeline

Mais le pipeline de l’IA s’étend au-delà de la formation et de l’inférence. Sur le côté gauche du pipeline, les données doivent être prétraitées et des algorithmes développés. Le CPU généraliste a ici un rôle important à jouer.

En fait, les GPU représentent une proportion relativement faible de l'activité totale du processeur dans le pipeline d'IA, les charges de travail de « l'étape de données » alimentées par le CPU représentant globalement les deux tiers, selon Intel (vous pouvez lire un résumé de solution – Optimisez l'inférence avec la technologie CPU Intel ici).

Et Brahmbhatt rappelle que l’architecture CPU présente d’autres avantages, notamment la programmabilité.

« Étant donné que les processeurs ont été largement utilisés, il existe déjà un écosystème de développeurs et d'applications, ainsi que des outils qui offrent une facilité d'utilisation et une programmabilité pour le calcul à usage général », explique-t-il.

« Deuxièmement, les processeurs offrent un accès plus rapide à un espace mémoire plus grand. Et puis la troisième chose est qu’il s’agit d’un calcul plus non structuré par rapport aux GPU [qui] sont un calcul plus parallèle. Pour ces raisons, les processeurs fonctionnent comme des moteurs de transfert de données qui alimentent les GPU, aidant ainsi les modèles de système de recommandation ainsi que l'évolution des charges de travail telles que les réseaux de neurones graphiques.

Un plan ouvert pour le développement de l’IA

Alors, comment devrions-nous considérer les rôles respectifs des CPU et des GPU lors de la planification d'un pipeline de développement d'IA, que ce soit sur site, dans le cloud ou à cheval sur les deux ?

Les GPU ont révolutionné le développement de l’IA, car ils offraient une méthode d’accélération qui déchargeait les opérations du CPU. Mais cela ne signifie pas pour autant que ce soit l’option la plus judicieuse pour un travail donné.

Comme l'explique Sharath Raghava, architecte de la plate-forme Intel, « les applications d'IA ont des calculs vectorisés. Les calculs vectoriels sont parallélisables. Pour exécuter efficacement les charges de travail d'IA, il est possible d'exploiter les capacités des processeurs et des GPU en tenant compte de la taille des calculs vectoriels, de la latence de déchargement, de la parallélisabilité et de nombreux autres facteurs. Mais il continue, pour une tâche « plus petite », le « coût » du déchargement sera excessif, et cela n’a peut-être pas de sens de l’exécuter sur un GPU ou un accélérateur.

Les processeurs peuvent également bénéficier d’une intégration plus étroite avec d’autres composants du système, ce qui leur permet d’accomplir le travail d’IA plus rapidement. Tirer le meilleur parti des déploiements d’IA ne se limite pas à exécuter les modèles eux-mêmes : les informations recherchées dépendent d’opérations efficaces de prétraitement, d’inférence et de post-traitement. Le prétraitement nécessite que les données soient préparées pour correspondre aux attentes d'entrée du modèle formé avant qu'elles ne soient alimentées pour générer une inférence. Les informations utiles sont ensuite extraites des résultats d'inférence au stade du post-traitement.

Si l’on pense par exemple à un système de détection d’intrusion (IDS) dans un centre de données, il est important d’agir sur les résultats du modèle pour protéger et prévenir tout dommage causé par une cyberattaque en temps opportun. Et généralement, les étapes de prétraitement et de post-traitement sont plus efficaces lorsqu'elles sont effectuées sur les processeurs du système hôte, car elles sont plus étroitement intégrées au reste de l'écosystème architectural.

Amélioration des performances sous les commandes de démarreurs

Alors, cela signifie-t-il renoncer complètement aux avantages de l’accélération GPU ? Pas nécessairement. Intel intègre l'accélération de l'IA dans ses processeurs Xeon Scalable depuis quelques années. La gamme comprend déjà Deep Learning Boost pour une inférence haute performance sur des modèles d'apprentissage profond, tandis que les extensions vectorielles avancées 512 (AVX 512) et les extensions de réseau neuronal vectoriel (VNNI) d'Intel accélèrent les performances d'inférence INT8. Mais DL Boost utilise également le format à virgule flottante cérébrale (BF16) pour améliorer les performances sur les charges de travail d'entraînement qui ne nécessitent pas de hauts niveaux de précision.

Les prochains processeurs Intel Xeon Scalable de quatrième génération ajouteront une multiplication matricielle avancée, ou AMX. Cela donnera un boost supplémentaire de 8 fois par rapport aux extensions AVX-512 VNNI x86 implémentées dans les processeurs précédents selon les calculs d'Intel, et permettra aux processeurs Intel Xeon Scalable de 4e génération de « gérer les charges de travail de formation et les algorithmes DL comme le fait un GPU ». Mais ces mêmes accélérateurs peuvent également être appliqués au calcul général du processeur pour les charges de travail IA et non IA.

Cela ne veut pas dire qu’Intel s’attend à ce que les pipelines d’IA soient x86 du début à la fin. Lorsqu'il est plus logique de décharger complètement les charges de travail de formation qui bénéficieront de la parallélisation, Intel propose son processeur de formation Habana Gaudi AI. Les tests de référence suggèrent que ces dernières alimentent les instances Amazon EC2 DL1, qui peuvent offrir un rapport prix-performance jusqu'à 40 % supérieur à celui des instances de formation comparables basées sur un GPU Nvidia également hébergées dans le cloud.

Dans le même temps, la série Data Center GPU Flex d'Intel est orientée vers les charges de travail et les opérations qui bénéficient de la parallélisation telle que l'inférence de l'IA, avec différentes implémentations adaptées à des modèles d'IA « plus légers » et plus complexes. Un autre GPU Intel® Data Center, nommé Ponte Vecchio (PVC), commencera prochainement à alimenter le supercalculateur Aurora du Laboratoire national d'Argonne.

Pouvons-nous y aller de bout en bout ?

Potentiellement, le silicium d’Intel peut donc soutenir l’ensemble du pipeline d’IA, tout en minimisant le besoin de décharger inutilement des données entre différents moteurs de calcul. Les processeurs de l'entreprise – qu'il s'agisse de GPU ou de CPU – prennent également en charge un modèle logiciel commun basé sur des outils et des frameworks open source avec des optimisations Intel via son programme OneAPI.

Brahmbhatt cite l'héritage d'Intel dans la création d'un écosystème logiciel x86 basé sur la communauté et l'open source comme un autre avantage. « La philosophie d'Intel est la suivante : « laissons l'écosystème conduire l'adoption ». Et nous devons nous assurer que nous sommes justes et ouverts à l’écosystème, et que nous rendons à l’écosystème toute notre sauce secrète.

"Nous utilisons une pile logicielle commune, essentiellement pour nous assurer que les développeurs n'ont pas à se soucier de la différenciation sous-jacente de l'IP entre CPU et GPU pour l'IA."

Cette combinaison d'une pile logicielle commune et de l'accent mis sur l'utilisation du bon moteur de calcul pour la bonne tâche est encore plus importante dans l'entreprise. Les entreprises s'appuient sur l'IA pour les aider à résoudre certains de leurs problèmes les plus urgents, qu'ils résident dans le cloud ou sur site. Mais les charges de travail mixtes nécessitent un logiciel complet, ainsi que la maintenance et la gestion de la pile système, pour exécuter le code non inclus dans le noyau situé sur l'accélérateur.

Ainsi, lorsqu’il s’agit de répondre à la question « Comment pouvons-nous amener l’IA à l’échelle de l’entreprise », la réponse peut dépendre d’une vision d’ensemble et de la nécessité d’utiliser l’ensemble du matériel et des logiciels à votre disposition.

Sponsorisé par Intel.

spot_img

Dernières informations

spot_img