IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les affirmations de Google concernant son système basé sur l'apprentissage par renforcement sont à nouveau remises en question
Par une équipe de l'université de Californie à San Diego

Le , par Bruno

15PARTAGES

3  0 
Les affirmations de Google concernant son système basé sur l'apprentissage par renforcement sont à nouveau remises en question,
par une équipe de l'université de Californie à San Diego

En juin 2021, Google a annoncé avoir mis au point un système basé sur l'apprentissage par renforcement capable de générer automatiquement des plans optimisés de puces électroniques. Aujourd'hui, une équipe de l'université de Californie à San Diego (UCSD) remet en question les affirmations de Google concernant son modèle plus performant que celui des humains.

Ces plans déterminent la disposition des blocs de circuits électroniques à l'intérieur de la puce, c'est-à-dire l'emplacement des cœurs de l'unité centrale et du processeur graphique, de la mémoire et des contrôleurs de périphériques sur la matrice de silicium physique. La planification des puces est la tâche d'ingénierie consistant à concevoir l'agencement physique d'une puce informatique. Malgré cinq décennies de recherche, la planification des puces n'a pas été automatisée et nécessiterait des mois d'efforts intenses de la part des ingénieurs chargés de la conception physique pour produire des schémas manufacturables.

Des chercheurs ont présenté une approche d'apprentissage par renforcement profond pour la planification des puces. En moins de six heures, cette méthode génère automatiquement des plans 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, la performance et la surface de la puce.


Pour y parvenir, les chercheurs considèrent la planification des puces comme un problème d'apprentissage par renforcement et développent une architecture de réseau neuronal convolutionnel graphique basée sur les arêtes, capable d'apprendre des représentations riches et transférables de la puce. En conséquence, la méthode des chercheurs utilise l'expérience passée pour devenir meilleure et plus rapide dans la résolution de nouvelles instances du problème, ce qui permet la conception de puces par des agents artificiels ayant plus d'expérience que n'importe quel concepteur humain.

La méthode a été utilisée pour concevoir la prochaine génération d'accélérateurs d'intelligence artificielle (IA) de Google et pourrait permettre d'économiser des milliers d'heures de travail humain pour chaque nouvelle génération. Google a déclaré qu'il utilisait ce système d'IA pour concevoir ses propres puces TPU qui accélèrent les charges de travail d'IA : il utilisait l'apprentissage automatique pour faire fonctionner plus rapidement ses autres systèmes d'apprentissage automatique.

Le plan d'une puce est important car il détermine les performances du processeur. Il convient d'agencer soigneusement les blocs de circuits de la puce pour que, par exemple, les signaux et les données se propagent entre ces zones à un rythme souhaitable. Les ingénieurs passent généralement des semaines, voire des mois, à peaufiner leurs conceptions afin de trouver la configuration optimale. Tous les différents sous-systèmes doivent être placés d'une certaine manière pour produire une puce aussi puissante, économe en énergie et petite que possible.

Aujourd'hui, la production d'un plan d'étage implique souvent un mélange de travail manuel et d'automatisation à l'aide d'applications de conception de puces. L'équipe de Google a cherché à démontrer que son approche d'apprentissage par renforcement produirait des meilleures conceptions que celles réalisées par des ingénieurs humains utilisant des outils industriels. De plus, Google a déclaré que son modèle accomplissait son travail beaucoup plus rapidement que des ingénieurs.

« En moins de six heures, notre méthode génère automatiquement des plans d'implantation de puces qui sont supérieurs ou comparables à ceux produits par des humains dans toutes les mesures clés », écrivent les Googlers dans leur article paru dans Nature.

Cette recherche a attiré l'attention de la communauté de l'automatisation de la conception électronique, qui s'orientait déjà vers l'intégration d'algorithmes d'apprentissage automatique dans ses suites logicielles. Aujourd'hui, une équipe de l'université de Californie à San Diego (UCSD) remet en question les affirmations de Google concernant son modèle plus performant que celui des humains.

Dirigé par Andrew Kahng, professeur d'informatique et d'ingénierie, ce groupe a passé des mois à rétroconcevoir le pipeline de planification des sols décrit par Google dans Nature. Le géant du web n'a pas divulgué certains détails du fonctionnement interne de son modèle, invoquant une sensibilité commerciale, de sorte que l'UCSD a dû trouver le moyen de fabriquer sa propre version complète pour vérifier les conclusions des Googlers. Il est à noter que le professeur Kahng a participé à l'examen de l'article de Google par la revue Nature.

Les universitaires ont finalement constaté que leur propre création du code original de Google, appelée circuit training (CT) dans leur étude, était moins performante que les humains utilisant les méthodes et outils traditionnels de l'industrie.

« Nous proposons une mise en œuvre et une évaluation ouvertes et transparentes de l'approche d'apprentissage par renforcement profond de Google Brain pour le placement des macros et sa mise en œuvre de l'apprentissage par circuit (CT) dans GitHub. Nous implémentons en open source des éléments clés de l'apprentissage par circuits et clarifions les divergences entre l'apprentissage par circuits et l'article de Nature », écrivent-ils

De nouveaux cas de test sur les outils ouverts sont développés et publiés. Les chercheurs évaluent CT avec de multiples macro-placeurs alternatifs, tous les flux d'évaluation et les scripts associés étant publiés dans GitHub. Les expériences englobent également des benchmarks académiques de placement de taille mixte, ainsi que des études d'ablation et de stabilité.

Plusieurs disparités importantes ont été constatées entre CT et Nature

  • CT suppose que toutes les instances de la liste de réseaux d'entrée ont des emplacements (a, b), c'est-à-dire que la netlist a déjà été placée avant d'être introduite dans CT. Les informations relatives à l'emplacement sont utilisées par le processus de groupage, de quadrillage et de regroupement de CT. Toutefois, cela n'était pas évident lors de l'examen du document et n'est pas mentionné dans Nature. Les expériences montrent que le fait de disposer d'informations initiales sur l'emplacement peut améliorer de manière significative les résultats de l'examen comparatif ;
  • La fonction de coût de substitution définit l'objectif qui guide l'apprentissage de l'agent RL. CT fixe le poids de congestion 𝜆 à 0,5 et le poids de densité 𝛾 à 1,0. Nature indique que « le poids d'encombrement 𝜆 est fixé à 0,01, le poids de densité 𝛾 est fixé à 0,01 ». Cependant, les ingénieurs de Google Brain ont suggéré que nous définissions le poids de congestion 𝜆 = 0,5 et le poids de densité 𝛾 = 0,5. Les chercheurs ont suivi cette dernière suggestion dans toutes leurs expériences ;
  • Nature « place le centre des macros et des groupes de cellules standard au centre des cellules de la grille ». Cependant, CT n'exige pas que les clusters de cellules standard soient placés au centre des cellules de la grille ;
  • Nature décrit la génération de la matrice d'adjacence sur la base de la distance de registre entre les paires de nœuds. Ceci est cohérent avec la synchronisation qui est une mesure clé de la qualité du placement. Cependant, CT construit la matrice d'adjacence en se basant uniquement sur les connexions directes entre les nœuds (c'est-à-dire les macros, les entrées-sorties).

Comment expliquer cette différence ?

On pourrait dire que la création était incomplète, mais il y a peut-être une autre explication. Au fil du temps, l'équipe de l'UCSD a appris que Google avait utilisé un logiciel commercial développé par Synopsys, un important fabricant de suites d'automatisation de la conception électronique (EDA), pour créer un arrangement initial des portes logiques de la puce que le système d'apprentissage par renforcement du géant du web a ensuite optimisé.

Le document de Google mentionne que des outils logiciels standard et des ajustements manuels ont été utilisés après que le modèle a généré un plan, principalement pour s'assurer que le processeur fonctionnerait comme prévu et pour le finaliser en vue de sa fabrication. Les chercheurs de Google ont fait valoir qu'il s'agissait d'une étape nécessaire, que le plan ait été créé par un algorithme d'apprentissage automatique ou par des humains à l'aide d'outils standard, et que leur modèle méritait donc d'être crédité pour l'optimisation du produit final.

Toutefois, l'équipe de l'UCSD a déclaré que l'article de Nature ne mentionnait pas l'utilisation préalable d'outils EDA pour préparer un plan sur lequel le modèle pourrait itérer. Ces outils de Synopsys auraient pu donner au modèle une longueur d'avance suffisante pour remettre en question les capacités réelles du système d'IA.

L'équipe universitaire a écrit à propos de l'utilisation de la suite Synopsys pour préparer un schéma pour le modèle : cela n'était pas apparent lors de l'examen de l'article, et n'est pas mentionné dans Nature. Les expériences montrent que le fait de disposer d'informations sur le placement initial peut améliorer de manière significative les résultats de la tomodensitométrie.

Clarifier les éléments de la "boîte noire" du CT

Voici, expliqué, deux éléments clés de la « boîte noire » du CT : le placement forcé et le calcul des coûts par procuration. Aucun de ces éléments n'est clairement documenté dans Nature, ni visible dans le CT. Ces exemples sont représentatifs de la rétro-ingénierie nécessaire pour comprendre et réimplémenter des méthodes qui, à ce jour, ne sont visibles qu'à travers des API.

Notons que lors de l'exécution du placement dirigé par la force et du calcul du coût du proxy, CT suppose que chaque cluster de cellules standard a une forme carrée. Le placement dirigé par la force (FD) est utilisé pour placer des clusters de cellules standard en fonction des emplacements fixes des macros et des ports IO. Pendant le FD, seuls les clusters de cellules standard peuvent être déplacés et ils ne sont pas nécessairement placés sur les centres de la grille.

Au début de la FD, toutes les grappes de cellules standard sont placées au centre du canevas. Ensuite, les emplacements des clusters de cellules standard sont mises à jour de manière itérative. Chaque itération calcule d'abord les forces exercées sur chaque nœud (macro, grappe de cellules standard). Il existe deux types de forces entre les nœuds : les forces attractives et les forces répulsives.

La force d'attraction 𝐹𝑎 ne s'applique qu'aux paires de nœuds reliés par des réseaux. Tous les réseaux à plusieurs broches sont décomposés en réseaux à deux broches à l'aide du modèle en étoile. Pour le réseau à deux broches reliant la broche 𝑃1 du nœud 𝑀1 et 𝑃2 du nœud 𝑀2, les composantes de la force d'attraction appliquées à 𝑀1 et 𝑀2 sont 𝐹𝑎𝑥 = 𝑘𝑎 × 𝑎𝑏𝑠[𝑃1.𝑥 - 𝑃2.𝑥] et 𝐹𝑎𝑦 = 𝑘𝑎 × 𝑎𝑏𝑠[𝑃1.𝑦 - 𝑃2.𝑦], où 𝑘𝑎 est le facteur d'attraction. Si l'une des broches est un port IO, 𝑘𝑎 est égal au facteur d'attractivité multiplié par le facteur IO (par défaut = 1,0).

La force de répulsion 𝐹𝑟 ne s'applique qu'aux nœuds qui se chevauchent l'un sur l'autre. Les coordonnées du centre de chaque nœud 𝑀 sont indiqués en utilisant [𝑀.𝑥, 𝑀.𝑦]. Pour deux nœuds 𝑀1 et 𝑀2 qui se chevauchent, les composantes de la force de répulsion appliquées à 𝑀1 et 𝑀2 sont 𝐹𝑟𝑥 =


où 𝑘𝑟 est le facteur répulsif, 𝐹𝑟𝑚𝑎𝑥 est la distance maximale de déplacement et 𝑑𝑖𝑠𝑡(𝑀1, 𝑀2) est la distance...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !