Cet article fait partie de notre revues d’articles de recherche en IA, une série d’articles qui explorent les dernières découvertes en matière d’intelligence artificielle.
Dans un article publié dans la revue scientifique à comité de lecture Nature la semaine dernière, les scientifiques de Google Brain ont présenté un technique d’apprentissage par renforcement profond pour la planification d’étage, le processus consistant à organiser le placement de différents composants de puces informatiques.
Les chercheurs ont réussi à utiliser la technique d’apprentissage par renforcement pour concevoir la prochaine génération d’unités de traitement tensoriel, les processeurs d’intelligence artificielle spécialisés de Google.
L’utilisation de logiciels dans la conception de puces n’est pas nouvelle. Mais selon les chercheurs de Google, le nouveau modèle d’apprentissage par renforcement « génère automatiquement des plans d’étage de puce qui sont supérieurs ou comparables à ceux produits par les humains dans toutes les mesures clés, y compris la consommation d’énergie, les performances et la surface de la puce ». Et il le fait en une fraction du temps qu’il faudrait à un humain pour le faire.
La supériorité de l’IA sur la performance humaine a beaucoup attiré l’attention. Un média l’a décrit comme « un logiciel d’intelligence artificielle capable de concevoir des puces informatiques plus rapidement que les humains » et a écrit qu' »une puce qui prendrait des mois à des humains à concevoir peut être imaginée par [Google’s] nouvelle IA en moins de six heures.
Un autre point de vente a écrit: « Le cycle vertueux de la conception de puces d’IA pour l’IA semble ne faire que commencer. »
Mais en lisant l’article, ce qui m’a étonné, ce n’est pas la complexité du système d’IA utilisé pour concevoir des puces informatiques, mais les synergies entre l’intelligence humaine et artificielle.
Analogies, intuitions et récompenses
L’article décrit le problème en tant que tel : « La planification des étages de puces consiste à placer des listes d’interconnexions sur des toiles de puces (grilles bidimensionnelles) afin que les mesures de performance (par exemple, la consommation d’énergie, la synchronisation, la surface et la longueur de fil) soient optimisées, tout en respectant des contraintes strictes sur la densité. et la congestion du routage.
Fondamentalement, ce que vous voulez faire, c’est placer les composants de la manière la plus optimale. Cependant, comme pour tout autre problème, à mesure que le nombre de composants d’une puce augmente, il devient plus difficile de trouver des conceptions optimales.
Les logiciels existants aident à accélérer le processus de découverte des arrangements de puces, mais ils sont insuffisants lorsque la puce cible devient de plus en plus complexe. Les chercheurs ont décidé de tirer l’expérience de la façon dont apprentissage par renforcement a résolu d’autres problèmes spatiaux complexes, comme le jeu Go.
« La planification du sol sur puce est analogue [emphasis mine] à un jeu avec des pièces variables (par exemple, des topologies de netlists, des nombres de macros, des tailles de macros et des rapports hauteur/largeur), des plateaux (des tailles de canevas et des rapports hauteur/largeur variables) et des conditions de gain (importance relative des différentes métriques d’évaluation ou des différentes contraintes de densité et d’encombrement du routage) », ont écrit les chercheurs.
C’est la manifestation de l’un des aspects les plus importants et les plus complexes de l’intelligence humaine : analogie. Nous, les humains, pouvons extraire des abstractions d’un problème que nous résolvons, puis appliquer ces abstractions à un nouveau problème. Bien que nous tenions ces compétences pour acquises, ce sont elles qui nous rendent très bons dans l’apprentissage par transfert. C’est pourquoi les chercheurs ont pu recadrer le problème de la planification au sol des puces comme un jeu de société et l’aborder de la même manière que d’autres scientifiques avaient résolu le jeu de Go.
Les modèles d’apprentissage par renforcement en profondeur peuvent être particulièrement efficaces pour rechercher de très grands espaces, un exploit physiquement impossible avec la puissance de calcul du cerveau. Mais les scientifiques ont été confrontés à un problème d’ordres de grandeur plus complexes que Go. « [The] l’espace d’état consistant à placer 1 000 clusters de nœuds sur une grille de 1 000 cellules est de l’ordre de 1 000 ! (supérieur à 102500), alors que Go a un espace d’état de 10360», ont écrit les chercheurs. Les puces qu’ils voulaient concevoir seraient composées de millions de nœuds.
Ils ont résolu le problème de complexité avec un réseau neuronal artificiel qui pourrait coder les conceptions de puces sous forme de représentations vectorielles et faciliter l’exploration de l’espace du problème. Selon le journal, « Notre intuition [emphasis mine] était qu’une politique capable de la tâche générale de placement de puce devrait également être capable de coder l’état associé à une nouvelle puce invisible dans un signal significatif au moment de l’inférence. Nous avons donc formé une architecture de réseau neuronal capable de prédire la récompense sur les placements de nouvelles netlists, dans le but ultime d’utiliser cette architecture comme couche d’encodeur de notre politique.
Le terme intuition est souvent utilisé au sens large. Mais c’est un très processus complexe et peu compris qui implique l’expérience, la connaissance inconsciente, la reconnaissance de formes, et plus encore. Nos intuitions proviennent d’années de travail dans un domaine, mais elles peuvent également être obtenues à partir d’expériences dans d’autres domaines. Heureusement, mettre ces intuitions à l’épreuve devient plus facile avec l’aide de l’informatique haute puissance et outils d’apprentissage automatique.
Il convient également de noter que les systèmes d’apprentissage par renforcement ont besoin d’une récompense bien conçue. En fait, certains scientifiques pensent que avec la bonne fonction de récompense, l’apprentissage par renforcement est suffisant pour atteindre l’intelligence artificielle générale. Sans la bonne récompense, cependant, un agent RL peut se retrouver coincé dans des boucles sans fin, faisant des choses stupides et dénuées de sens. Dans la vidéo suivante, un agent RL jouant à Coast Runners essaie de maximiser ses points et abandonne l’objectif principal, qui est de gagner la course.
Les scientifiques de Google ont conçu la récompense du système de planification d’étage comme la « somme négative pondérée de la longueur du fil proxy, de la congestion et de la densité ». Les poids sont des hyperparamètres qu’ils ont dû ajuster au cours du développement et de la formation du modèle d’apprentissage par renforcement.
Avec la bonne récompense, le modèle d’apprentissage par renforcement a pu tirer parti de sa puissance de calcul et trouver toutes sortes de façons de concevoir des plans d’étage qui maximisaient la récompense.
Ensembles de données organisés
Le réseau de neurones profonds utilisé dans le système a été développé en utilisant enseignement supervisé. L’apprentissage automatique supervisé nécessite des données étiquetées pour ajuster les paramètres du modèle pendant l’entraînement. Les scientifiques de Google ont créé « un ensemble de données de 10 000 emplacements de puces où l’entrée est l’état associé à un emplacement donné et l’étiquette est la récompense de cet emplacement ».
Pour éviter de créer manuellement chaque plan d’étage, les chercheurs ont utilisé un mélange de plans conçus par l’homme et de données générées par ordinateur. Il n’y a pas beaucoup d’informations dans le document sur l’effort humain impliqué dans l’évaluation des exemples générés par l’algorithme inclus dans l’ensemble de données d’entraînement. Mais sans données de formation de qualité, les modèles d’apprentissage supervisé finiront par faire de mauvaises inférences.
En ce sens, le système d’IA est différent des autres programmes d’apprentissage par renforcement tels qu’AlphaZero, qui a développé sa politique de jeu sans intervention humaine. À l’avenir, les chercheurs pourraient développer un agent RL qui peut concevoir ses propres plans d’étage sans avoir besoin de composants d’apprentissage supervisés. Mais je suppose que, compte tenu de la complexité du problème, il y a de grandes chances que la résolution de tels problèmes continue de nécessiter une combinaison d’intuition humaine, d’apprentissage automatique et de calcul haute performance.
Conception d’apprentissage par renforcement vs conception humaine
Parmi les aspects intéressants du travail présenté par les chercheurs de Google figure la disposition des puces. Nous, les humains, utilisons toutes sortes de raccourcis pour dépasser les limites de notre cerveau. Nous ne pouvons pas résoudre des problèmes complexes en un seul bloc. Mais nous pouvons concevoir des systèmes modulaires et hiérarchiques pour diviser et conquérir la complexité. Notre capacité à penser et à concevoir des architectures descendantes a joué un grand rôle dans le développement de systèmes capables d’effectuer des tâches très complexes.
Je vais donner un exemple de génie logiciel, mon propre domaine d’expertise. En théorie, vous pouvez écrire des programmes entiers dans un très grand flux contigu de commandes dans un seul fichier. Mais les développeurs de logiciels n’écrivent jamais leurs programmes de cette façon. Nous créons des logiciels en petits morceaux, fonctions, classes, modules, qui peuvent interagir les uns avec les autres via des interfaces bien définies. Nous imbriquons ensuite ces pièces dans des pièces plus grandes et créons progressivement une hiérarchie de composants. Vous n’avez pas besoin de lire chaque ligne d’un programme pour comprendre ce qu’il fait. La modularité permet à plusieurs programmeurs de travailler sur un seul programme et à plusieurs programmes de réutiliser des composants précédemment construits. Parfois, il suffit de regarder l’architecture de classe d’un programme pour vous orienter dans la bonne direction pour localiser un bogue ou trouver le bon endroit pour ajouter une mise à niveau. Nous échangeons souvent la vitesse contre la modularité et un meilleur design.
D’une certaine manière, la même chose peut être observée dans la conception des puces informatiques. Les puces conçues par l’homme ont tendance à avoir des limites nettes entre les différents modules. D’un autre côté, les plans d’étage conçus par l’agent d’apprentissage par renforcement de Google ont trouvé le moins de chemin de résistance, quelle que soit l’apparence de la mise en page (voir l’image ci-dessous).
Je suis intéressé de voir si cela deviendra un modèle de conception durable à l’avenir ou si cela nécessitera un certain type de compromis entre les conceptions générées par l’apprentissage automatique hautement optimisées et l’ordre descendant imposé par les ingénieurs humains.
IA + intelligence humaine
Comme le montre le concepteur de puces basé sur l’apprentissage par renforcement de Google, les innovations dans le matériel et les logiciels d’IA continueront de nécessiter une réflexion abstraite, trouver les bons problèmes à résoudre, développer des intuitions sur les solutions et choisir le bon type de données pour valider les solutions. Ce sont les types de compétences que de meilleures puces d’IA peuvent améliorer mais pas remplacer.
En fin de compte, je ne vois pas cela comme une histoire de « l’IA surpassant les humains », « l’IA créant une IA plus intelligente » ou l’IA se développant »auto-amélioration récursive« capacités. C’est plutôt une manifestation des humains qui trouvent des moyens d’utiliser l’IA comme accessoire pour surmonter leurs propres limites cognitives et étendre leurs capacités. S’il y a un cercle vertueux, c’est celui où l’IA et les humains trouvent de meilleurs moyens de coopérer.