Informatique

Pour Intel, les supercalculateurs d’IA d’aujourd’hui doivent

Pour Intel, les supercalculateurs d'IA d'aujourd'hui doivent être à la portée de tous

Certaines notions de base font consensus dans les cercles d’initiés en intelligence artificielle et en deep learning.

Tout d’abord, il est certain que les réseaux neuronaux vont continuer à grandir dans un avenir proche, à quelques exceptions près. Par ailleurs, tout le monde s’accorde à penser que le potentiel du deep learning repose sur l’innovation logicielle, malgré la prolifération de nouveaux matériels.

Qu’est-ce que tout cela signifie ? On peut en déduire que les innovations logicielles sont la seule chose qui rendra le deep learning accessible à tous ceux qui utilisent l’IA, et pas seulement à ceux qui possèdent les ordinateurs les plus gros et les plus chers.

« L’IA d’aujourd’hui est vraiment une question de capacité de calcul lorsque nous l’approfondissons », selon Wei Li, vice-président et directeur général de l’IA et de l’analytique pour le géant des puces Intel. « Les plus grands modèles ont besoin d’un million de dollars pour être formés, ils sont l’équivalent d’un superordinateur », précisait-il dans une interview accordée à ZDNet.

Du laboratoire à l’entreprise

Cela met une grande partie de l’IA hors de portée des simples mortels, souligne Wei Li. « Nous avons très bien réussi à adopter l’IA dans le laboratoire de recherche où les doctorants de Stanford créent des algorithmes reconnaissant les chats et les chiens, et les fournisseurs de services de cloud font beaucoup de choses. »

« Ce n’est pas durable, ce ne sera pas largement applicable si tout le monde doit payer 10 millions de dollars pour former un modèle à 1 000 milliards de paramètres », dit-il. « Si vous voulez étendre votre portée – et c’est l’opportunité ici d’avoir de l’IA partout – le pont n’est pas encore tout à fait là. »

Et ce pont, pour Wei Li, c’est le logiciel. Il a selon lui la capacité de prendre les percées du laboratoire et de les distribuer aux organisations, grandes et petites, sur différents types de matériels informatiques, y compris sur les CPU et les GPU, et toutes les nouvelles sortes de puces accélératrices exotiques. « Je considère le logiciel comme un pont permettant d’accéder à l’IA partout », avance-t-il.

Le responsable d’Intel comprend parfaitement les enjeux contemporains. Il a passé son doctorat en informatique à l’université de Cornell dans les années 1990, faisant progresser les techniques de compilation, c’est-à-dire les logiciels qui permettent aux programmes de fonctionner sur un matériel donné. Ses travaux étaient alors spécifiquement axés sur la manière d’exécuter des charges de travail sur de nombreuses ressources informatiques.

« Ce qui est étonnant, c’est que tout ce que j’ai appris à l’époque concernait la rapidité d’exécution et la gestion d’une grande quantité de données », se souvient Wei Li.

Ce qui était obsolète devient à nouveau pertinent

Wei Li a été embauché par Intel il y a 25 ans, alors que l’entreprise passait du statut de fabricant de puces pour PC à celui de fournisseur de puces pour serveurs. Son expertise a été mise à profit pour développer des compilateurs pour serveurs. « J’ai toujours été à la pointe d’Intel », raconte-t-il, « c’est ce qui rend mon travail agréable ».

Comme c’est souvent le cas dans le domaine de la technologie, tout ce qui est ancien redevient nouveau. « Les compilateurs étaient devenus sans intérêt » ces dernières années, indique Wei Li, dans un domaine de l’informatique considéré comme largement réglé. « Mais en raison du deep learning, le compilateur est en train de revenir. Nous sommes au milieu de cette transition. »

Dans sa thèse de doctorat à Cornell, Wei Li a développé un cadre informatique pour le traitement du code dans de très grands systèmes dotés de ce que l’on appelle « l’accès non uniforme à la mémoire » (ou NUMA). Son programme a remodelé les boucles de code pour obtenir le plus grand nombre possible de traitements parallèles. Mais il a également fait quelque chose de particulièrement important : il a décidé quel code devait être exécuté en fonction des mémoires auxquelles le code devait accéder à un moment donné.

Aujourd’hui, dit-il, dans le deep learning, ces mêmes problèmes reviennent. Le potentiel du deep learning est principalement déterminé non pas par le nombre de multiplications de matrices pouvant être calculées, mais par l’efficacité avec laquelle le programme peut accéder à la mémoire et à la bande passante.

« Aux premiers stades du deep learning, la question était de savoir si l’on pouvait exécuter rapidement des multiplications de matrices ainsi que des convolutions », note Wei Li.

« Mais ce n’est que la première étape. » Le problème devient hautement plus stratégique. « Comment exécuter le graphe des opérations de calcul sur toutes les machines hétérogènes que nous avons », ajoute l’expert en IA. « Vous voulez le distribuer, vous voulez le paralléliser d’une certaine manière, vous voulez gérer les hiérarchies de mémoire d’une certaine manière – ce sont toutes des optimisations de compilateur. »

Gérer la mémoire et l’interconnexion pour les données

Certaines choses sont plus difficiles que d’autres. « Notre travail consiste à choisir un graphe et à le diviser en ces unités de calcul – c’est la partie facile », explique le responsable d’Intel. Un programmeur informatique peut dessiner des diagrammes du matériel de calcul, différents nœuds, des processeurs, et réfléchir à la manière de diviser les boucles d’exécution.

La mémoire et les communications ne sont pas aussi faciles à schématiser, surtout avec des modèles de réseaux neuronaux de plus en plus grands. « La partie difficile est la hiérarchie de la mémoire, c’est beaucoup plus difficile que la simple parallélisation, et c’est la clé », précise-t-il. « La partie difficile est la bande passante d’interconnexion, l’organisation des communications. »

« Nous n’avons pas trouvé la bonne façon de modéliser le mouvement des données », ajoute-t-il. « La majorité du travail consiste à gérer les données – la partie difficile de l’optimisation des compilateurs consiste à gérer les données de manière efficace. » Plus précisément, « la localisation des données est super importante », insiste-t-il, ce qui signifie qu’une opération fonctionne sur certaines données et, « si tout va bien, ces données reste dans la couche de mémoire la plus proche, ou peut-être dans le cache quelque part ».

L’ampleur du problème augmente avec certains types de deep learning, comme les réseaux de neurones graphiques, utilisés dans les systèmes de recommandation pour, par exemple, une application de commerce. « Il y a une similitude au niveau du noyau, nous parlons de la multiplication matricielle, de la convolution, mais ensuite il y a une diversité lorsque vous allez au-dessus de cela », indique Wei Li. « Dans les systèmes de vision par ordinateur, il peut y avoir des millions d’images à traiter, mais quand on passe aux graphiques, la quantité de données est énorme. » Chaque personne connectée à chaque autre, comme dans un réseau social, représente des défis qualitativement différents pour le traitement.

« Si vous pensez à LinkedIn et ses milliards de personnes – ce sont des milliards et des milliards de nœuds – ce sont vraiment de grosses données. »

La façon de gérer la mémoire et l’interconnexion pour les données vraiment volumineuses « revient à la parallélisation des compilateurs ». « En réalité, nous avons besoin de beaucoup de compilateurs, car tout revient aux compilateurs. »

CodePlay dans le portefeuille d’Intel

Intel a déjà pris des mesures pour attirer davantage d’experts en compilateurs dans ses rangs. En juin, la société a annoncé qu’elle allait acquérir la société de développement de logiciels écossaise CodePlay.

CodePlay fait partie de la stratégie d’Intel pour disposer d’une large pile logicielle pour toutes les optimisations dont parle Wei Li. Parmi les solutions possibles, Wei Li est le champion d’une boîte à outils et d’une plateforme logicielle qu’Intel a contribué à développer, appelée oneAPI, dont le code source est publié sur GitHub. Intel livre sa propre implémentation de la spécification open source depuis décembre 2020.

La plateforme oneAPI propose des bibliothèques, comme oneDNN, pour accélérer les primitives de multiplication de matrices. Elle comprend également un langage de programmation qu’Intel veut être un langage de parallélisation multiplateforme, appelé DPC++. Ce langage est une adaptation du langage SYCL développé par Khronos Group. CodePlay a déjà déployé ses propres efforts analogues à DPC++, appelés ComputeC++.

Interrogé sur les progrès de oneAPI, Wei Li a déclaré : « L’adoption commence à se faire, et ce sont les endroits où nous obtenons une assez bonne adoption du côté du deep learning. »

« Il y a encore un long chemin à parcourir. Etablir une norme dans la communauté et l’écosystème n’est pas une chose facile. »

Remettre le logiciel au centre

Intel peut se targuer de quelques réussites. L’une des technologies oneAPI, OneDNN, une approche visant à accélérer les performances des réseaux neuronaux, est devenue un paramètre par défaut dans TensorFlow et PyTorch. Une bibliothèque Intel appelée BigDL, qui peut automatiquement restructurer un réseau neuronal développé sur un seul nœud pour le faire évoluer vers des milliers de nœuds, a été adoptée par de grandes entreprises telles que MasterCard.

Le géant des licences de processeurs Arm a mis en œuvre oneAPI dans la conception de ses processeurs. « Arm utilise en fait la même interface OneAPI, et c’est l’un des principaux contributeurs à notre OneDNN », indique Wei Li. « Ils ont une mise en œuvre de oneDNN sur Arm, et c’est ainsi qu’ils obtiennent leur valeur plus rapidement. »

« Au final, nous verrons beaucoup de gains de performance grâce à l’optimisation que nous faisons », explique-t-il. « Nous constatons un gain d’échelle de 10 fois, un gain de performance de 100 fois » grâce à l’utilisation de oneAPI.

Pour Wei Li, une partie de la bataille consiste à souligner continuellement l’importance du logiciel, un aspect qui peut être occulté dans un monde où les derniers accélérateurs matériels de start-up telles que Cerebras Systems, Graphcore et SambaNova attirent le plus l’attention.

« Même au sein de l’industrie, il y a, on peut l’appeler comme ça, une déconnexion », estime Wei Li. « Très souvent, les gens parlent de la façon dont vous avez des données, des algorithmes, des calculs – la notion de logiciel est beaucoup, beaucoup moins comprise. Mais en réalité, le logiciel joue un rôle clé dans la réalisation de l’IA. »

Aussi important que puisse être le logiciel, la discussion sur l’accélération de l’IA tournera toujours autour d’Intel, en tant que plus grand fabricant indépendant de processeurs, et de la bataille qui l’oppose aux jeunes rivaux tels que Cerebras, ainsi qu’au géant historique des puces d’IA, Nvidia.

Intel et Nvidia se partagent le marché des puces d’IA

Intel concurrence les start-up avec Habana, le fabricant de puces qu’il a acheté en 2019. Ce dernier continue de fournir des améliorations de performance compétitives. Intel doit supporter le poids du code hérité de tous ses utilisateurs de x86, ce qui n’est pas le cas des start-up. Mais dans un sens, rappelle Wei Li, les start-up doivent également soutenir les héritages des cadres d’IA tels que TensorFlow et PyTorch qui dominent la création de réseaux neuronaux.

Ainsi, Wei Li résume la question en ces termes : « Comment ajouter votre élément unique à quelque chose qui existe déjà ? C’est un défi qu’ils ont tous, et c’est le défi que nous avons aussi. C’est pourquoi j’ai une équipe qui travaille sur Python, j’ai une équipe qui travaille sur TensorFlow », précise-t-il. « C’est pourquoi notre stratégie se concentre sur l’écosystème logiciel de nombreuses façons différentes. »

Intel partage le marché des puces d’IA à haut volume avec Nvidia. Cette dernière dominant la formation, la phase initiale où un réseau neuronal est développé, et Intel ayant l’essentiel du marché de l’inférence, lorsqu’un réseau neuronal formé exécute des prédictions. Intel subit également la concurrence de Qualcomm, qui promeut sa propre pile logicielle qui pourrait être considérée comme une alternative à oneAPI.

La prolifération des processeurs dans la feuille de route d’Intel – un GPU pour centre de données portant le nom de code Ponte Vecchio, l’amélioration continue de l’unité centrale Xeon pour serveurs avec des capacités de multiplication matricielle, de nouveaux réseaux de portes programmables (FPGA), entre autres – signifie qu’il existe un très grand diagramme de Venn où Intel est en concurrence avec Nvidia et AMD, Qualcomm et les start-up.

« Aujourd’hui, dans le domaine des processeurs, nous avons la majorité du marché de l’inférence, et c’est là que nous jouons, et nous entrons sur le marché de la formation grâce aux autres accélérateurs que nous faisons ici », raconte Wei Li.

Nvidia est généralement considérée comme ayant une forte emprise sur le marché de la formation, non seulement en raison du volume de ses ventes de GPU, mais aussi parce que ses outils de programmation CUDA existent depuis plus longtemps que tout autre. « La question de CUDA est intéressante, parce qu’elle dépend vraiment de la volonté des gens d’aller à un niveau plus bas », explique Wei Li. Seul un petit public s’intéresse vraiment à l’écriture dans les bibliothèques CUDA et au langage de programmation CUDA, selon lui. La grande majorité des personnes qu’Intel essaie d’atteindre avec oneAPI est la catégorie, plus vaste, des data scientists qui travaillent au niveau des cadres.

« Lorsque nous parlons d’IA partout, vous avez des millions de développeurs, mais ce sont les développeurs principalement au niveau supérieur », précise-t-il. « Ils ne seront pas au niveau de la programmation CUDA, ils seront au niveau de la programmation TensorFlow. Ce sont ces personnes qui feront passer l’IA à l’échelle, n’est-ce pas ? »

Face aux acteurs du cloud

Intel a-t-il une chance de briser l’avance de Nvidia parmi les chercheurs en deep learning ? Wei Li s’abstient de faire des prédictions grandioses. Mais il « pense que c’est une bonne chose pour l’ensemble du marché, parce que cela fournit une alternative », c’est-à-dire une interface unique.

« Mon objectif est de bien développer notre produit et de laisser le produit parler de lui-même sur le marché », indique-t-il. « Intel, à mon avis, est bien placé pour mener ce voyage vers l’IA partout, en particulier du côté des logiciels. »

Il y a un autre groupe avec lequel Intel est en concurrence, mais avec lequel il s’associe également : celui des fournisseurs de services cloud – Amazon, Alphabet et Microsoft. Tous trois ont leurs propres programmes de silicium. Dans le cas de l’unité de traitement Tensor (TPU) d’Alphabet, la famille de puces en est à sa quatrième génération, et elle bénéficie d’un soutien important en tant que cheval de bataille dédié au cloud de Google. La puce « Trainium » d’Amazon est moins développée en tant qu’écosystème à ce stade.

Alors que les fournisseurs de cloud computing achètent des tonnes de processeurs à Intel, leurs pièces maison peuvent être considérées comme un obstacle pour Intel et ses concurrents Nvidia et AMD. Les puces maison peuvent enlever des charges de travail aux offres des marchands.

D’un côté, Intel travaille dur pour pivoter, fait valoir Wei Li, pour rester en contact avec ce dont les géants du cloud ont besoin. « C’est intéressant : au départ, le cloud ne concernait que la vision par ordinateur, les chats et les chiens. Mais lorsque nous avons commencé à travailler avec les fournisseurs de services en cloud (CSP), nous avons découvert que le cycle numéro un là-bas, la plus grande quantité de calcul qu’ils brûlent, n’est pas la vision par ordinateur, mais en fait les systèmes de recommandations. »

Les start-up ne peuvent pas suivre ce rythme, insiste Wei Li. « Imaginez, il y a cinq ans, il y avait des start-up partout. Pourtant, leurs machines étaient seulement conçues pour AlexNet », un réseau neuronal qui fait le test ImageNet largement utilisé. « Aujourd’hui, elles ne sont plus en activité parce qu’elles n’ont tout simplement pas pu faire face à la tendance des CSP. »

Dans le même temps, « le cloud est une priorité pour nous, mais l’IA partout va en fait au-delà du cloud, vers les entreprises ». Ces entreprises clientes « ont un ensemble différent de personnes, elles ont des exigences différentes, et différents types d’applications ». Ces entreprises pourraient inclure Facebook ou un détaillant, observe Wei Li.

Les applications de l’internet des objets (IoT) et de l’edge computing peuvent exiger une sensibilité différente de celle des opérations d’IA dans le cloud, affirme Wei Li. « Je vais parler à certains grands détaillants, et leurs applications ne sont pas tout à fait des applications cloud », précise-t-il. « Ils peuvent avoir du machine learning dans leur magasin qui sera légèrement différent du côté du cloud. »

« Je pense qu’Intel est en bonne position, car Intel a de l’envergure », estime Wei Li. « La gamme de puces, le volume qu’Intel expédie, signifient que [l’entreprise] peut gérer la diversité », insiste-t-il.

Source : ZDNet.com




Source link

Articles similaires

Bouton retour en haut de la page