L’explosion de l’IA et de l’apprentissage machine change la nature même de l’informatique affirme Google, l’un des plus grands praticiens de l’IA à l’heure actuelle. L’ingénieur logiciel de Google Cliff Young a prononcé le discours d’ouverture jeudi matin de la Linley Group Fall Processor Conference, un symposium sur les puces informatiques organisé par la vénérable société d’analyse de semi-conducteurs The Linley Group, à Santa Clara, Californie.

Selon Cliff Young, l’utilisation de l’intelligence artificielle a atteint une “phase exponentielle” au moment même où la loi de Moore, la règle empirique vieille de plusieurs décennies sur le progrès des semi-conducteurs, est remise en cause.

“Le phénomène du CMOS ralentit. Nous le voyons dans les malheurs d’Intel pour produire des puces de 10 nanomètres, nous le voyons dans le fait que GlobalFoundries sorte du 7 nanomètres. Dans le même temps apparaît l’apprentissage profond, il y a une demande économique”. Le CMOS (complementary metal-oxide semiconductor) est le matériau le plus commun pour les puces d’ordinateur.

Course à la puissance

Alors que les puces conventionnelles sont à la lutte pour obtenir de meilleures performances et une plus grande efficacité, la demande des chercheurs en intelligence artificielle est en plein essor, fait remarquer Cliff Young. Il relève quelques statistiques : le nombre d’articles académiques sur l’apprentissage automatique répertoriés sur arXiv (maintenu par l’Université de Cornell) double tous les 18 mois. Et le nombre de projets internes axés sur l’intelligence artificielle chez Google, a-t-il dit, double également tous les 18 mois. Plus intense encore, le nombre d’opérations arithmétiques à virgule flottante nécessaires pour réaliser des réseaux neuronaux d’apprentissage machine double tous les trois mois et demi.

Cette croissance de la demande de calcul s’ajoute à une “Super loi de Moore” explique Cliff Young. Un phénomène qu’il qualifie de “un peu terrifiant”, et “un peu dangereux”, et “quelque chose dont il faut se préoccuper”.

“Pourquoi cette croissance exponentielle ?” en IA, a-t-il demandé. “En partie parce que l’apprentissage profond fonctionne” dit-il. “Pendant longtemps, j’ai passé ma carrière à ignorer l’apprentissage machine” dit-il. “Il n’était pas clair que ces choses allaient décoller.”

Des poids et des noeuds

Mais les percées dans des domaines tels que la reconnaissance d’images ont commencé, et il est devenu évident que l’apprentissage profond est “incroyablement efficace” a-t-il aussi dit. “Nous avons été la première entreprise d’intelligence artificielle pendant la plus grande partie des cinq dernières années, dit-il, nous avons reconstruit la plupart de nos business, de la recherche à la publicité et bien d’autres choses encore” autour de l’IA.

La demande de l’équipe de Google Brain qui mène des recherches sur l’intelligence artificielle requiert des “machines gigantesques” dit Cliff Young. Par exemple, les réseaux de neurones sont parfois mesurés par le nombre de “poids” qu’ils emploient, variables qui sont appliquées au réseau de neurones pour façonner sa manipulation des données. Si les réseaux neuronaux conventionnels peuvent avoir des centaines de milliers de ces poids qui doivent être calculés, ou même des millions, les scientifiques de Google disent “donnez-nous s’il vous plaît une machine téra-poids”, des ordinateurs capables de calculer un billion de poids.

Et ceci parce que “chaque fois que vous doublez la taille du réseau [neuronal], nous obtenons une amélioration de la précision”. La règle de l’IA de ce point de vue est donc : des ordinateurs de plus en plus gros.

TPU à la rescousse

Pour y répondre, Google a bien sûr développé sa propre gamme de puces d’apprentissage machine, la “Tensor Processing Unit”. Le TPU, et les puces du même genre, sont nécessaires parce que les processeurs traditionnels et les puces graphiques (GPU) ne peuvent pas suivre. “Pendant très longtemps, nous avons dit qu’Intel et Nvidia sont vraiment très doués pour construire des systèmes haute performance” a déclaré M. Young. “Nous avons franchi ce seuil il y a cinq ans”. Et cela semble bel et bien fini pour les géants de l’IA.

Le TPU a fait sensation lorsqu’il a été dévoilé pour la première fois en 2017, avec des performances supérieures à celles des puces conventionnelles. Google en est maintenant à sa troisième version du TPU, qu’il utilise en interne et qu’il offre également comme nœud de calcul à la demande via Google Cloud. L’entreprise continue de développer des instances de plus en plus grandes de la TPU. Sa configuration en “pod” relie 1.024 TPU individuels en un nouveau type de supercalculateur, et Google a l’intention de “continuer à faire évoluer” le système, a déclaré Young.

“Nous construisons ces gigantesques ordinateurs multiples, avec des dizaines de pétaoctets de calcul, a-t-il dit. “Nous poussons sans relâche dans plusieurs directions pour progresser, les téra-ops continuent à grimper.” Une telle ingénierie “contient toutes les questions qui se posent dans la conception des supercalculateurs” dit-il.

Copier le meilleur du Cray

Par exemple, les ingénieurs de Google ont adopté les astuces utilisées par le légendaire supercalculateur Cray. Ils ont combiné une “gigantesque unité de multiplication matricielle”, la partie de la puce qui fait le plus gros du travail pour le calcul en réseau neuronal, avec une “unité vectorielle polyvalente” et une “unité scalaire polyvalente”, comme sur le Cray. De quoi améliorer la performance.

Google a aussi développé ses propres constructions arithmétiques pour programmer les puces. Ce qu’on appelle un “bfloat16” est un moyen de représenter des nombres réels qui permet d’obtenir une plus grande efficacité dans le calcul des nombres sur les réseaux neuronaux. On l’appelle familièrement le “flotteur cérébral”.

Le TPU utilise les puces mémoire les plus rapides, appelées mémoires à large bande passante, ou HBM (high-bandwidth memory). Il y a un besoin croissant de capacité mémoire dans l’entraînement des réseaux neuronaux, dit-il. “La mémoire est beaucoup plus intensive à l’entraînement”, dit-il aussi. “Les gens parlent de centaines de millions de poids, mais c’est aussi une question de manipulation des variables d’activation d’un réseau neuronal.

TensorFlow évolue

Et Google ajuste également la façon dont il programme les réseaux neuronaux pour tirer le meilleur parti du matériel. “Nous travaillons beaucoup sur le parallélisme des données et des modèles, avec des projets tels que “Mesh TensorFlow”, une adaptation de TensorFlow qui “combine le parallélisme des données et des modèles à l’échelle du pod”.

Cliff Young n’a pas voulu révéler un certain nombre d’autres détails techniques. Il a noté que l’entreprise n’a pas beaucoup parlé des “interconnexions”, de la façon dont les données sont déplacées autour de la puce, si ce n’est pour dire “nous avons des connecteurs gigantesques”. Il a refusé d’offrir plus d’information, suscitant des rires de la part de l’auditoire.

Cliff Young a également mentionné des domaines de l’informatique encore plus intrigants. Par exemple, il a suggéré que le calcul via des puces analogiques, des circuits qui traitent les entrées comme des valeurs continues, plutôt que comme des uns et des zéros, pourraient jouer un rôle important. “Peut-être qu’on échantillonnera dans le domaine analogique, il y a des choses vraiment cool en physique, avec l’informatique analogique, ou dans la technologie non volatile.”