Google prétend non seulement avoir créé une IA plus rapide et aussi bonne que les humains pour concevoir des puces, mais le géant du Web l’utilise pour concevoir des puces pour une IA plus rapide et meilleure.
Par conception, nous entendons l’élaboration du plan d’étage d’une puce, c’est-à-dire l’agencement de ses sous-systèmes – tels que ses cœurs CPU et GPU, sa mémoire cache, ses contrôleurs RAM, etc. – sur sa puce en silicium. L’emplacement des minuscules circuits électroniques qui composent ces modules peut affecter la consommation d’énergie et la vitesse de traitement de la puce : le câblage et l’acheminement des signaux nécessaires pour tout connecter sont très importants.
Dans un papier à paraître cette semaine dans Nature, et vu par Le registre avant la publication, les googleurs Azalia Mirhoseini et Anna Goldie, et leurs collègues, décrivent un système d’apprentissage par renforcement en profondeur qui peut créer des plans d’étage en moins de six heures alors qu’il peut falloir des mois aux ingénieurs humains et à leurs outils automatisés pour proposer une disposition optimale.
On nous dit que Google a utilisé ce système d’IA pour produire le plan d’étage d’un TPU de nouvelle génération – son unité de traitement de tenseur, que le géant du Web utilise pour accélérer les réseaux de neurones dans son moteur de recherche, nuage public, AlphaGo et AlphaZéro, et d’autres projets et produits.
En effet, Google utilise un logiciel d’apprentissage automatique pour optimiser les futures puces qui accélèrent les logiciels d’apprentissage automatique.
Pour le logiciel, ce n’est pas différent de jouer à un jeu : il apprend progressivement une stratégie gagnante lorsqu’il organise le dé d’un jeton comme s’il jouait, par exemple, un match de Go. Le réseau de neurones se contente de disposer une puce qui, pour un humain, peut ressembler à un désordre non conventionnel, mais dans la pratique, le composant a un avantage sur une partie planifiée par les ingénieurs et leurs outils industriels. Le réseau neuronal utilise également quelques techniques autrefois envisagées par l’industrie des semi-conducteurs, mais abandonnées car jugées inefficaces.
Nous pensons qu’un matériel plus puissant conçu par l’IA alimentera les progrès de l’IA, créant une relation symbiotique entre les deux domaines
« Notre méthode a été utilisée pour concevoir la prochaine génération d’accélérateurs d’intelligence artificielle de Google et a le potentiel d’économiser des milliers d’heures d’effort humain pour chaque nouvelle génération », ont écrit les Googlers. « Enfin, nous pensons qu’un matériel plus puissant conçu par l’IA alimentera les progrès de l’IA, créant une relation symbiotique entre les deux domaines. »
Lors de la conception d’un microprocesseur ou d’un accélérateur de charge de travail, vous définirez généralement le fonctionnement de ses sous-systèmes dans un langage de haut niveau, tel que VHDL, SystemVerilog ou peut-être même Chisel. Ce code sera finalement traduit en quelque chose appelé netlist, qui décrit comment une collection de macroblocs et de cellules standard doit être connectée par des fils pour exécuter les fonctions de la puce. Les cellules standard contiennent des éléments de base tels que les portes logiques NAND et NOR, et les macroblocs contiennent une collection de cellules standard ou d’autres composants électroniques pour exécuter une fonction spéciale, telle que fournir une mémoire intégrée ou un cœur de processeur. Les macroblocs sont donc nettement plus grands que les cellules standard.
Ensuite, vous devez choisir comment organiser cette netlist de cellules et de macroblocs sur le dé. Cela peut prendre des semaines, voire des mois, aux ingénieurs humains à travailler avec des outils de conception de puces spécialisés sur de nombreuses itérations pour obtenir un plan d’étage optimisé selon les besoins en termes de consommation d’énergie, de synchronisation, de vitesse, etc. Habituellement, vous modifiez le placement des gros blocs macro au fur et à mesure que votre conception se développe et vous laissez les outils automatisés, qui utilisent des algorithmes non intelligents, placer la multitude de cellules standard plus petites, puis rincer et répéter jusqu’à ce que vous ayez terminé.
Pour accélérer cette étape de planification au sol, les scientifiques de l’IA de Google ont créé un système de réseau neuronal convolutif qui effectue le placement des macroblocs tout seul en quelques heures pour obtenir une disposition optimale ; les cellules standard sont automatiquement placées dans les interstices par d’autres logiciels. Ce système d’apprentissage automatique devrait être capable de produire un plan d’étage idéal beaucoup plus rapidement et mieux que la méthode ci-dessus de peaufiner et d’itérer un plan d’étage avec les outils automatisés traditionnels de l’industrie et les humains aux commandes.
Le réseau de neurones, nous dit-on, améliore progressivement ses compétences de placement au fur et à mesure qu’il acquiert de l’expérience. Il essaie de placer des macroblocs sur la puce, l’espace entre les deux étant rempli de cellules standard, et est récompensé en fonction de l’encombrement du routage, des longueurs d’interconnexion des fils et d’autres facteurs. Cette récompense est utilisée comme retour pour améliorer sa prochaine tentative de placement des blocs. Ceci est répété jusqu’à ce que le logiciel s’y habitue et puisse appliquer ses capacités à n’importe quelle puce que vous souhaitez disposer, même s’il n’en a jamais vu une semblable auparavant.
Dans leur article, les Googlers ont déclaré que leur réseau de neurones est « capable de se généraliser sur les puces – ce qui signifie qu’il peut apprendre de l’expérience pour devenir à la fois meilleur et plus rapide pour placer de nouvelles puces – permettant aux concepteurs de puces d’être assistés par des agents artificiels avec plus d’expérience que n’importe quel autre ». l’homme pourrait jamais gagner. «
La génération d’un plan d’étage peut prendre moins d’une seconde à l’aide d’un réseau neuronal pré-entraîné, et avec jusqu’à quelques heures de réglage fin du réseau, le logiciel peut égaler ou battre un humain lors de la conception du plan d’étage, selon l’article, en fonction de quelle métrique vous utilisez. Le réseau neuronal a surpassé les ingénieurs humains qui ont travaillé sur un précédent accélérateur TPU en termes de synchronisation du signal, d’utilisation de l’énergie, de zone de puce et/ou de quantité de câblage nécessaire, en fonction des macroblocs impliqués.
Par exemple, une puce TPU de génération précédente a été conçue par des ingénieurs humains, et lorsque le réseau de neurones a fait un plan d’étage pour le même composant, le logiciel a pu réduire la quantité de câblage nécessaire sur la puce (réduction de la longueur du fil de 57,07 m à 55,42 m.) De même, le réseau de neurones a réduit la longueur du fil dans un Ariane Le cœur du processeur RISC-V lors de la génération de son plan d’étage, indique le document. Le système a été formé, en partie, à l’aide de conceptions TPU précédentes.
Nous notons qu’après que le réseau de neurones des Googlers ait mis en place un TPU de nouvelle génération, la conception devait encore être peaufinée par des experts pour s’assurer que le composant fonctionnerait réellement comme prévu – les humains et leurs outils logiciels habituels étaient nécessaires pour les tâches fastidieuses de vérifier la propagation du signal d’horloge, et ainsi de suite. Cette étape serait toujours nécessaire même si le TPU était planifié par des personnes et non par un réseau de neurones.
« Notre méthode a été utilisée dans le tapeout du produit d’un récent Google TPU », ont écrit les Googlers. « Nous avons entièrement automatisé le processus de placement via PlaceOpt, auquel cas la conception a été envoyée à un tiers pour une optimisation post-placement, y compris un routage détaillé, une synthèse d’arbre d’horloge et une optimisation post-horloge. »
Nous notons également que le placement du réseau neuronal pour le TPU de nouvelle génération scotché était, selon l’article, « comparable aux conceptions manuelles », et avec une autre étape de réglage fin qui a optimisé l’orientation des blocs, la longueur du fil était réduit de 1,07 pour cent. L’ensemble du processus de plan d’étage n’a pris que huit heures. Il semble donc que Google puisse utiliser son réseau de neurones pour surpasser les humains ou plus ou moins les égaler, et il peut le faire en heures et non en jours, semaines ou mois.
Leur article conclut :
L’année dernière, Google a publié une préimpression d’un papier similaire cette décrit en utilisant l’apprentissage par renforcement pour la disposition des puces. En tant que site sœur La prochaine plate-forme souligné à cette époque, Google travaillait sur la conception de puces alimentées par l’IA au moins depuis 2017. Ce dernier article n’est pas seulement un raffinement publié dans une revue de ce travail antérieur, il révèle également que le logiciel a été utilisé pour concevoir un prochain -génération TPU.
Nvidia, quant à lui, a discuté en utilisant des outils basés sur l’IA pour la disposition des puces. Préparez-vous à plus de réseaux de neurones en concevant du matériel pour rendre les réseaux de neurones plus puissants. ®