Neural Magic, Nvidia et Alibaba sont dans le top du benchmark d’IA MLPerf

Neural Magic, Nvidia et Alibaba sont dans le top du benchmark d'IA MLPerf


Le Hopper de Nvidia, sa dernière génération de GPU, est apparu dans les tests de référence MLPerf sur les réseaux neuronaux. La puce a montré des scores admirables, avec un système à une seule puce battant certains systèmes qui utilisaient plusieurs puces de l’ancienne variété, l’A100. Image : Nvidia.

De plus en plus, les grands réseaux neuronaux deviennent une tendance de plus en plus forte en machine learning et en intelligence artificielle.

Les plus grands réseaux neuronaux, comme le modèle Pathways Language de Google, mesurés par leurs paramètres, ou « poids », comptent plus de centaines de milliards de poids, chaque poids supplémentaire augmentant la puissance de calcul utilisée.

Comment faire face à cette taille croissante ? Avec des puces plus puissantes, d’une part, mais aussi en mettant certains logiciels au régime.

Les résultats de MLPerf dévoilés

Jeudi, le dernier test d’évaluation de la vitesse à laquelle un réseau neuronal peut être exécuté pour faire des prédictions a été présenté par MLCommons, le consortium qui gère les benchmarks MLPerf. Les résultats présentés ont permis de franchir des étapes importantes, notamment les tout premiers résultats pour le GPU « Hopper » de Nvidia, dévoilé en mars dernier.

Dans le même temps, Alibaba, le géant chinois du cloud computing, a présenté les tout premiers résultats d’une grappe entière d’ordinateurs fonctionnant comme une seule machine, ce qui a permis de dépasser les autres résultats en termes de débit total.

Enfin, une start-up, Neural Magic, a montré comment elle a pu utiliser « l’élagage », un moyen de supprimer des parties d’un réseau neuronal, pour obtenir un logiciel plus fin, aussi performant qu’un programme normal, mais nécessitant moins de puissance de calcul.

« Nous formons tous ces modèles denses à force brute embarrassante », a déclaré Michael Goin, responsable de l’ingénierie des produits pour Neural Magic, dans une interview accordée à ZDNet, en faisant référence aux réseaux neuronaux géants tels que Pathways. « Nous savons tous qu’il doit y avoir une meilleure solution. »

Inference 2.1

Les tests de référence, appelés Inference 2.1, représentent une moitié de l’approche du machine learning, lorsqu’un réseau neuronal formé reçoit de nouvelles données et doit produire des conclusions en sortie. Les tests de référence mesurent la rapidité avec laquelle un ordinateur peut produire une réponse pour un certain nombre de tâches, dont ImageNet, où le défi consiste pour le réseau neuronal à appliquer une étiquette à une photo décrivant l’objet sur la photo, comme un chat ou un chien.

Les fabricants de puces et de systèmes s’affrontent pour déterminer leurs performances sur des mesures telles que le nombre de photos traitées en une seule seconde ou la réduction de la latence, c’est-à-dire le temps total d’aller-retour entre l’envoi d’une requête à l’ordinateur et le retour d’une prédiction.

En outre, certains fournisseurs soumettent des résultats de tests montrant la consommation d’énergie de leurs machines, un élément de plus en plus important à mesure que les centres de données deviennent de plus en plus grands et consomment de grandes quantités d’énergie.

La deuxième partie du problème, à savoir l’entraînement d’un réseau neuronal, fait l’objet d’une autre série de résultats d’évaluation que MLCommons publie séparément, la dernière série datant de juin.

Le rapport Inference 2.1 fait suite à une série précédente de benchmarks d’inférence en avril. Cette fois-ci, les résultats rapportés ne concernaient que les systèmes informatiques fonctionnant dans les centres de données et la « périphérie », un terme qui englobe désormais une variété de systèmes informatiques autres que les machines traditionnelles des centres de données. Une feuille de calcul est publiée pour les résultats des centres de données, une autre pour le edge.

Le dernier rapport n’inclut pas les résultats pour les appareils à très faible puissance connus sous le nom de TinyML et pour les ordinateurs mobiles, qui avaient été regroupés avec les centres de données dans le rapport d’avril.

Au total, les fabricants de puces et leurs partenaires, ainsi que des start-up telles que Neural Magic, ont soumis 5 300 résultats aux benchmarks. C’est presque 40 % de plus que lors de la dernière ronde, rapportée en avril.

Nvidia performe

Comme par le passé, Nvidia a obtenu les meilleures notes pour l’accélération de l’inférence dans de nombreuses tâches. Le GPU A100 de Nvidia a dominé le nombre de soumissions, comme c’est souvent le cas, étant intégré avec des processeurs d’Intel et d’Advanced Micro Devices dans des systèmes construits par une multitude de partenaires, dont Alibaba, ASUSTeK, Microsoft Azure, Biren, Dell, Fujitsu, GIGABYTE, H3C, Hewlett Packard Enterprise, Inspur, Intel, Krai, Lenovo, OctoML, SAPEON et Supermicro.

Deux candidatures ont été soumises par Nvidia elle-même avec le GPU Hopper, désigné « H100 », dans le segment des centres de données des résultats. Un système était accompagné d’un CPU AMD EPYC comme processeur hôte, et un autre était accompagné d’un CPU Intel Xeon.

Dans les deux cas, il convient de noter que le GPU Hopper, bien qu’il s’agisse d’une seule puce, a obtenu de très bons résultats, surpassant dans de nombreux cas les systèmes équipés de deux, quatre ou huit puces A100.

Le GPU Hopper devrait être commercialisé dans le courant de l’année. Nvidia prévoit de mettre à disposition, au début de l’année 2023, sa prochaine puce CPU « Grace », qui concurrencera les CPU d’Intel et d’AMD, et que cette partie sera une puce complémentaire de Hopper dans les systèmes.

Aux côtés de Nvidia, le géant des puces mobiles Qualcomm a présenté de nouveaux résultats pour sa puce Cloud AI 100, un nouvel accélérateur conçu pour les tâches de machine learning. Qualcomm a ajouté de nouveaux partenaires systèmes à ce tour, dont Dell, Hewlett Packard Enterprise et Lenovo, et le nombre total de soumissions utilisant sa puce.

Le principe de sparsité

Alors que les affrontements entre fabricants de puces et fabricants de systèmes tendent à faire la une des journaux, un nombre croissant de chercheurs se présentent à MLPerf avec de nouvelles approches permettant d’obtenir davantage de performances avec le même matériel.

Parmi les exemples passés, citons OctOML, la start-up qui essaie d’apporter la rigueur de DevOps au machine learning.

Cette fois-ci, une approche intéressante a été proposée par la jeune entreprise Neural Magic. La technologie de cette société est en partie issue des recherches de son fondateur Nir Shavit, chercheur au MIT.

Ces travaux laissent entrevoir une possible percée dans la réduction de la puissance de calcul nécessaire à un réseau neuronal.

La technologie de Neural Magic forme un réseau neuronal et détermine quels poids peuvent rester inutilisés. Elle fixe ensuite ces poids à une valeur nulle, afin qu’ils ne soient pas traités par la puce de l’ordinateur.

Cette approche, appelée élagage, revient à supprimer les branches indésirables d’un arbre. Cependant, elle s’inscrit également dans une tendance plus large du deep learning, qui remonte à plusieurs décennies et qui est connue sous le nom de « sparsité ». Dans les approches éparses du machine learning, certaines données et certaines parties des programmes peuvent être considérées comme des informations inutiles à des fins pratiques.

Technique de quantification

Une autre technique, appelée quantification, convertit certains nombres en représentations plus simples. Par exemple, un nombre à virgule flottante de 32 bits peut être comprimé en une valeur scalaire de 8 bits, plus facile à calculer.

La technologie Neural Magic agit comme une sorte d’outil de conversion qu’un spécialiste des données peut utiliser pour trouver automatiquement les parties de son réseau neuronal qui peuvent être éliminées sans risque et sans sacrifier la précision.

Selon le chef de projet de Neural Magic, l’avantage n’est pas seulement de réduire le nombre de calculs qu’un processeur doit effectuer, mais aussi de réduire le nombre de fois où un processeur doit sortir de la puce pour aller vers une mémoire externe, comme la DRAM, ce qui ralentit tout. « Vous supprimez 90 % des paramètres et vous supprimez 90 % des FLOP dont vous avez besoin », a déclaré Michael Goin de Neural Magic, en faisant référence aux « opérations en virgule flottante par seconde », une mesure standard de la vitesse à laquelle un processeur effectue des calculs.

En outre, « il est très facile pour les processeurs de se retrouver limités par la bande passante de la mémoire », a ajouté Michael Goin. « Le déplacement de grands tenseurs nécessite une grande largeur de bande de mémoire, ce qui n’est pas le cas des CPU », a noté ce dernier. Les tenseurs sont les structures qui organisent les valeurs des poids des réseaux neuronaux et qui doivent être conservées en mémoire.

Les prouesses de DeepSparse

Neural Magic a soumis des résultats dans les catégories datacenter et edge en utilisant des systèmes dotés d’un seul Intel Xeon 8380 cadencé à 2,3 gigahertz. La catégorie choisie par Neural Magic est la catégorie « ouverte » des catégories datacenter et edge, où les soumissionnaires sont autorisés à utiliser des approches logicielles uniques qui ne sont pas conformes aux règles standard des benchmarks.

La société a utilisé son nouveau moteur d’exécution, appelé DeepSparse, pour exécuter une version du réseau neuronal de traitement du langage naturel BERT développé par Google.

En élaguant le réseau BERT, la taille considérablement réduite des poids a pu être conservée dans la mémoire locale du processeur plutôt que d’être transférée hors puce vers la DRAM.

Les CPU modernes disposent d’une grande mémoire locale, appelée cache, qui peut stocker les valeurs fréquemment utilisées. Le cache dit de niveau 3 de la plupart des puces de serveur telles que Xeon peut contenir des dizaines de mégaoctets de données. Le logiciel Neural Magic DeepSparse réduit la taille du fichier du programme BERT de 1,3 gigaoctet à 10 mégaoctets seulement.

« Maintenant que les poids peuvent être assez petits, il est possible de les intégrer dans les caches et, plus précisément, d’intégrer plusieurs opérations dans ces différents niveaux de cache, afin d’obtenir une bande passante mémoire plus efficace au lieu d’être coincé dans la DRAM », a déclaré Michael Goin à ZDNet.

Le programme DeepSparse a permis de traiter un nombre de requêtes par seconde nettement supérieur à celui de la plupart des systèmes standard.

Comparé aux résultats de la version « fermée » du test ResNet en centre de données, où des règles logicielles strictes sont suivies, l’unique CPU Intel de Neural Magic a surclassé de nombreuses soumissions dotées de multiples accélérateurs Nvidia, y compris celles de Hewlett Packard Enterprise et de Nvidia lui-même.

Dans une comparaison plus représentative, un serveur Dell PowerEdge équipé d’un seul Intel Xeon n’a traité que 47,09 requêtes par seconde, alors que l’une des machines Neural Magic a été capable de produire 928,6 requêtes par seconde, soit une accélération d’un ordre de grandeur.

Neural Magic voit grand

Les travaux de Neural Magic ont de vastes implications pour l’IA et pour la communauté des puces. Si les réseaux neuronaux peuvent être réglés de manière à être moins gourmands en ressources, cela pourrait permettre d’endiguer le budget énergétique toujours croissant du machine learning.

« Si l’on considère le coût réel du déploiement d’un boîtier pour l’inférence, il y a beaucoup à faire au niveau du moteur d’exécution, mais il y a encore plus à faire au niveau de la communauté, pour que les ingénieurs en ML et les data scientists disposent de plus d’outils pour optimiser leurs modèles », a déclaré Michael Going à ZDNet. « Nous voulons ouvrir l’optimisation à un plus grand nombre de personnes », a-t-il ajouté.

« Si nous pouvons élaguer un modèle à 95 % de son poids, pourquoi tout le monde ne le fait-il pas ? » s’interroge Michael Goin. La sparsité, dit-il, « va être comme la quantification, ce sera quelque chose que tout le monde ramasse, nous sommes juste à la limite. »

Pour l’industrie des puces, le fait que Neural Magic ait pu montrer les avantages des puces X86 signifie que de nombreuses autres approches de puces pourraient être viables pour l’inférence et la formation. Plus tôt cette année, Neural Magic s’est associé à Advanced Micro Devices, le plus grand concurrent d’Intel pour les processeurs x86, montrant ainsi que le travail ne se limite pas aux seules puces de marque Intel.

Les scientifiques d’Intel ont même fait appel à Neural Magic l’année dernière lorsqu’ils ont entrepris de produire des modèles élagués de BERT. Dans un article d’Ofir Zafrir et de ses collègues des Intel Labs en Israël, l’approche Neural Magic, appelée « Gradual Magnitude Pruning », a été combinée à une approche Intel appelée « Learning Rate Rewinding ». Selon les auteurs, la combinaison de ces deux approches a entraîné une perte minimale de précision.

Michael Goin s’attend à ce que Neural Magic ajoute des systèmes basés sur ARM à l’avenir. « J’adorerais pouvoir faire une soumission MLPerf directement à partir de ce MacBoo Pro », a déclaré Michael Goin, faisant référence au silicium de la série M du Mac, qui utilise le jeu d’instructions ARM.

Neural Magic, qui compte actuellement près de 40 personnes, a levé l’an dernier 30 millions de dollars en capital-risque et dispose d’une « marge de manœuvre jusqu’en 2024 », selon Michael Goin. La société monétise son code en vendant une licence d’utilisation du moteur d’exécution DeepSparse. « Nous voyons le plus grand intérêt pour des choses telles que le traitement du langage naturel et la vision par ordinateur à la périphérie », a déclaré Michael Goin.

« Le commerce de détail est un secteur prospectif très important pour les cas d’utilisation », a-t-il ajouté, tout comme la fabrication et les applications IoT. Mais l’applicabilité est vraiment n’importe quel nombre de systèmes humbles dans le monde qui n’ont pas d’accélérateurs fantaisistes et ne le feront peut-être jamais. « Il y a des industries qui existent depuis des décennies et qui ont des processeurs partout », a observé Michael Goin. « Vous allez dans l’arrière-salle d’un Starbucks, ils ont un rack de serveurs dans le placard ».

« L’informatique hétérogène » selon Alibaba

Parmi les autres résultats frappants pour MLPerf, le géant du cloud Alibaba a été la première et la seule entreprise à soumettre un système composé de plusieurs machines dans ce qui est habituellement une compétition pour des machines uniques.

Alibaba a soumis cinq systèmes composés de variations de deux à six nœuds, exécutant un mélange d’Intel Xeon et de GPU Nvidia. Un logiciel d’Alibaba, appelé Sinian vODLA, répartit automatiquement les tâches d’un réseau neuronal entre différents processeurs.

La caractéristique la plus frappante est que le logiciel Sinian peut décider à la volée de répartir les tâches d’un réseau neuronal entre différents types de processeurs, y compris une variété de GPU Nvidia, et non un seul.

« C’est l’avenir, l’informatique hétérogène », a déclaré Weifeng Zhang, qui est le scientifique en chef d’Alibaba chargé de l’informatique hétérogène, dans une interview accordée à ZDNet.

Les résultats de l’évaluation comparative du serveur cloud d’Alibaba ont révélé des chiffres étonnants. Sur la tâche linguistique BERT, un système à quatre nœuds avec 32 GPU Nvidia au total a pu exécuter plus de 90 000 requêtes par seconde. C’est 27 % plus rapide que la meilleure soumission dans la catégorie fermée des machines de centre de données, une machine unique d’Inspur utilisant 24 GPU.

« La valeur de ce travail peut être résumée comme étant facile, efficace et économique », a déclaré Weifeng Zhang à ZDNet.

La redistribution des ressources

En ce qui concerne le premier point, la facilité d’utilisation, « nous pouvons faire abstraction de l’hétérogénéité du matériel informatique et le faire ressembler davantage à un pool géant de ressources » pour les clients, a expliqué Weifeng Zhang.

La manière de faire fonctionner plusieurs ordinateurs comme un seul est un domaine de l’informatique qui connaît un regain d’intérêt avec l’essor des très grands réseaux neuronaux. Toutefois, le développement de systèmes logiciels permettant de répartir le travail entre de nombreux ordinateurs est une tâche ardue, hors de portée de la plupart des utilisateurs industriels de l’IA.

Nvidia a trouvé des moyens de partitionner ses GPU pour en faire des puces multi-tenant, a noté Weifeng Zhang, appelées « MIG », un GPU à instances multiples.

C’est un début, mais Alibaba espère aller plus loin. « Le MIG divise le GPU en sept petits composants, mais nous voulons généraliser cela, aller au-delà des limites physiques, pour utiliser l’allocation des ressources en fonction de la demande réelle », a expliqué Weifeng Zhang. « Si vous exécutez ResNet-50, vous n’utilisez peut-être que 10 TOPs de calcul », c’est-à-dire des trillions d’opérations par seconde. Même un seul des MIG est probablement plus que ce dont un utilisateur a besoin. « Nous pouvons faire une allocation plus fine », avec Sinian, « de sorte que peut-être une centaine d’utilisateurs peuvent l’utiliser un seul GPU à la fois ».

Sur le deuxième point, l’efficacité, la plupart des puces, a noté Weifeng Zhang, sont rarement utilisées autant qu’elles pourraient l’être. En raison de divers facteurs, tels que les temps d’accès à la mémoire et aux disques et les contraintes de bande passante, les GPU sont parfois utilisés à moins de 50 %, ce qui constitue un gaspillage. Parfois, ce taux n’est que de 10 %, a noté Weifeng Zhang.

« Si vous utilisiez une machine avec 8 emplacements PCIe » reliant les puces à la mémoire, a déclaré Weifeng Zhang, « vous seriez en train d’utiliser moins de 50 % de vos ressources parce que le réseau est le goulot d’étranglement ». En traitant le problème du réseau en premier, « nous sommes en mesure d’atteindre une utilisation beaucoup plus élevée dans cette soumission ».

Peut-être tout aussi important, alors que les machines évoluent vers de plus en plus de puces, la puissance dans une seule boîte devient un problème épineux. « Supposons que vous puissiez construire 32 emplacements sur votre carte mère » pour les GPU, a expliqué Weifeng Zhang, « vous pouvez obtenir le même résultat, mais avec 32 emplacements PCIe sur la carte mère, votre alimentation électrique va tripler ».

La troisième question, d’ordre économique, concerne la manière dont les clients d’Alibaba peuvent acheter des instances. « C’est important pour nous, car nous avons beaucoup de dispositifs, pas seulement des GPU, et nous voulons tous les exploiter », a déclaré Weifeng Zhang. « Nos clients disent qu’ils veulent utiliser les dernières [puces], mais ce n’est peut-être pas exactement ce dont ils ont besoin, donc nous voulons nous assurer que tout ce qui est dans le pool est disponible pour l’utilisateur, y compris les [GPUs] A100 mais aussi les technologies plus anciennes. »

« Tant que nous résolvons leur problème, que nous leur donnons des ressources plus économiques, cela permettra probablement à nos clients d’économiser plus d’argent – c’est essentiellement la principale motivation qui nous pousse à travailler sur ce sujet. »

Accès à la mémoire et bande passante

Si vous souhaitez approfondir en détail le travail d’Alibaba, un bon point de départ est cette série de diapositives que Weifeng Zhang a utilisé en juin pour donner une conférence à l’International Symposium on Computer Architecture.

Les travaux d’Alibaba sont d’autant plus intéressants que, depuis quelque temps, les spécialistes des réseaux informatiques parlent d’un second réseau qui se situerait derrière le réseau local, une sorte de réseau dédié à l’intelligence artificielle pour répondre à la demande massive de bande passante du deep learning.

En ce sens, la soumission du réseau d’Alibaba et la sparsité de Neural Magic traitent toutes deux de la question primordiale de l’accès à la mémoire et de la bande passante, qui, selon de nombreux spécialistes, sont des obstacles bien plus importants au machine learning que la partie informatique elle-même.

Source : ZDNet.com





Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.