L'IA est omniprésente: elle prend en charge la reconnaissance vocale ou le traitement de photos, elle collecte et traite les données de capteurs pour l'analyse des zones agricoles et s'intègre dans les caméras intelligentes pour la reconnaissance automatique des plaques minéralogiques. Mais un système d'IA exige une puissance de calcul phénoménale et le matériel existant se révèle parfois trop limité. D'où l'apparition d'une nouvelle génération de puces, des accélérateurs d'IA, spécifiquement conçus pour supporter d'énormes volumes de calculs.
...

L'IA est omniprésente: elle prend en charge la reconnaissance vocale ou le traitement de photos, elle collecte et traite les données de capteurs pour l'analyse des zones agricoles et s'intègre dans les caméras intelligentes pour la reconnaissance automatique des plaques minéralogiques. Mais un système d'IA exige une puissance de calcul phénoménale et le matériel existant se révèle parfois trop limité. D'où l'apparition d'une nouvelle génération de puces, des accélérateurs d'IA, spécifiquement conçus pour supporter d'énormes volumes de calculs. C'est ainsi que Google vient de développer une gamme de TPU, des 'tensor processing units' des puces capables d'effectuer des calculs IA très lourds dans leurs centres de données. En parallèle, des chercheurs en IA se penchent sur du matériel plus petit et moins énergivore pour déporter l'IA à la périphérie du réseau. "L'IA devient toujours plus puissante, estime Peter Debacker, responsable du programme d'apprentissage machine chez imec. De grandes entreprises comme Google installent des baies complètes d'accélérateurs IA dans leurs centres de données. Il n'empêche que les puces sont toujours plus souvent confrontées à des goulets d'étranglement. Chez imec, nous étudions la manière dont on pourrait continuer à répondre à ce besoin sans cesse croissant de puissance de calcul avec ce nouveau matériel." imec développe et conçoit notamment de nouveaux types de puces spécifiquement dédiées à l'intelligence artificielle. En effet, les puces traditionnelles comme la CPU ou l'unité centrale de traitement que l'on retrouve dans chaque ordinateur, n'ont plus une puissance suffisante pour répondre aux exigences de l'IA. "Le CPU est une machine universelle qui fonctionne très bien pour des applications généralistes, explique Debacker. Mais elles représentent un goulet d'étranglement dans l'IA, sachant que les applications d'IA sont très centrées sur les données et les calculs répétitifs. Des puces dédiées se révèlent en effet plus performantes." Ces limitations de la CPU ont incité dans un premier temps les chercheurs en IA à se tourner vers la GPU, les processeurs graphiques particulièrement utilisés dans les jeux vidéo notamment. "Il existe une relation symbiotique entre l'IA et le matériel, constate Debacker. Le succès actuel de l'IA s'explique incontestablement par le matériel. L'une des raisons pour lesquelles nous sommes sortis du dernier hiver de l'IA, une période durant laquelle les progrès ont stagné, est que nous avons découvert fin des années '90 que les réseaux neuronaux profonds fonctionnent bien sur des GPU. Cela a subitement ouvert le champ des possibilités." Or même ces cartes graphiques atteignent peu à peu leurs limites, ce qui impose une spécialisation encore plus grande du monde du matériel IA. "De telles puces reproduisent constamment des schémas fixes, analyse Debacker. Nous recherchons surtout des architectures permettant des calculs parallèles massifs et où chaque unité de traitement dispose d'une mémoire propre suffisante. Même si chaque unité doit pouvoir si nécessaire partager efficacement des données avec ses voisins." Cela étant, l'attention ne se focalise pas uniquement sur les hautes performances. En effet, la miniaturisation et l'efficacité des puces sont également importantes. "Le matériel est crucial pour le développement de l'IA, considère Matthias Feys, CTO du spécialiste gantois de l'IA ML6. Nous suivons de près l'évolution des centres de données, mais notre priorité est l'implémentation en zone rurale. Le matériel lourd est surtout pour des acteurs comme Google. Nous nous intéressons à du matériel pouvant être installé à la périphérie du réseau. Un matériel qui sera moins coûteux et moins énergivore." En effet, les puces IA doivent pouvoir faire tourner des applications en périphérie du réseau, baptisé 'edge'. Il s'agit par exemple du traitement d'images provenant d'un smartphone ou d'une puce sur une caméra intelligente pour analyser en direct ce qui se passe. "Nous travaillons pour CNH Industrial, un constructeur de machines agricoles, confie Feys. Nous les aidons à déployer des capteurs intelligents sur leurs moissonneuses. Celles-ci détectent durant la moisson la qualité du froment récolté ou la présence de mauvaises herbes en trop grande quantité. On utilise pour ce faire une caméra qui analyse les images et, sur la base de données historiques, évalue la qualité de la récolte. Nous avons miniaturisé ce modèle pour permettre de le tourner sur ce capteur." Ce faisant, les données ne doivent pas être envoyées vers un centre de données pour y être traitées. "Le matériel IA est présent aux deux extrémités, ajoute Feys. D'une part, on trouve des puces très coûteuses dans les centres de données pour supporter des modèles toujours plus complexes. Et, d'autre part, il existe des équipements très bon marché et très petits qui sont installés sur le terrain à la périphérie du réseau. Ces deux extrêmes s'éloignent toujours plus l'un de l'autre." La néerlandaise Innatera Nanosystems est l'un des concepteurs de ce type de puce. Cette 'spin-off' de la TU Delft a mis au point une puce capable d'imiter le cerveau humain et de fonctionner dès lors de manière plus efficace. "Les processeurs classiques travaillent en extrayant des instructions de la mémoire pour les exécuter et ensuite stocker à nouveau le résultat, explique Sumeet Kumar, CEO d'Innatera. Ce cycle se répète en continu, mais n'est pas très efficace en énergie pour l'IA. Les réseaux neuronaux sont très parallèles et basés sur des milliers de noeuds qui exécutent simultanément des tâches. En revanche, un processeur traditionnel est séquentiel, ce qui provoque un décalage. Les performances ne sont pas excellentes et la consommation d'énergie plus importante. C'est surtout ce dernier aspect qui pose problème si l'on travaille avec un petit capteur qui doit fonctionner sur batterie." Dès lors, les puces actuelles pour l'IA fonctionnent davantage en parallèle. Mais Innatera va plus loin encore, avec des processeurs 'neuromorphiques'. "Les accélérateurs d'IA essayent de faciliter les calculs parallèles, souligne Kumar. Globalement, ils augmentent le nombre de calculs effectués simultanément. Ce faisant, les performances augmentent, tandis que la consommation énergétique reste stable. Mais en réalité, il s'agit d'un changement radical de paradigme. C'est ainsi que nous ne travaillons pas avec des 0 et des 1 pour nos calculs, mais avec des hausses et des baisses de tension, ce qui se révèle particulièrement efficace en termes d'énergie. Nous nous inspirons des pulsations électriques des neurones et des synapses du cerveau humain. De même, nous ne calculons pas par multiplications, mais avec des pics, des 'spikes', à nouveau comme le cerveau humain." La consommation énergétique est un défi lorsque l'on veut déployer l'IA à la périphérie du réseau. D'où l'intérêt de l'approche prônée par Innatera. "Notre priorité va à la périphérie absolue du réseau, insiste Kumar. Nous voulons placer notre puce directement près du capteur. C'est actuellement le maillon de la chaîne où l'efficacité énergétique est la plus importante. Très souvent, on n'a que quelques milliwatts pour y traiter les données. Notre approche consiste à combiner de l'intelligence complexe à un budget énergétique très réduit." Bref, de la spécialisation dans le monde déjà très spécialisé du matériel IA. Avec comme évolution, le développement de puces pour des applications très spécifiques, une tendance que suit de près Peter Debacker. "L'un de nos défis majeurs est de trouver le bon équilibre entre flexibilité et optimisation, conclut-il. C'est ainsi qu'une CPU est très flexible, mais pas économe en énergie et performante. Mais il est aussi possible de concevoir une puce pour une application très particulière. Dans ce cas, les performances sont élevées et l'efficacité énergétique optimale, mais la flexibilité est nulle. Entre les deux, il existe un large éventail de designs de puces. L'un de nos objectifs est de voir dans quelle mesure il faut être spécifique, ce qui est fonction de l'application. Une puce pour un smartphone est différente d'un processeur pour un capteur ou un vêtement intelligent dont la batterie doit durer très longtemps. Nous sommes toujours en quête du point d'équilibre idéal."