Les puces d’IA dans le monde réel : Interopérabilité, contraintes, coût, efficacité énergétique et modèles

Spread the love
Les puces d'IA dans le monde réel : Interopérabilité, contraintes, coût, efficacité énergétique et modèles

Comment tirer le meilleur parti de l’éventail de plus en plus large de matériel en silicium personnalisé tout en ne se dispersant pas pour suivre chacun d’entre eux ? Si nous devions mettre un prix sur cette question, ce serait certainement une question à des milliards d’euros. C’est ce que représente la valeur estimée combinée des différents marchés qu’elle touche. Alors que les applications de l’IA explosent, la diversité du matériel spécialisé qui les prend en charge explose également.

Pour nous, l’intérêt pour les puces dites “IA” est né de notre intérêt pour l’IA, et nous avons essayé de suivre les évolutions dans ce domaine. Pour Even Sparks, PDG et fondateur de Determined AI, cela va plus loin. Nous avons discuté de l’interaction entre le matériel et les modèles dans l’IA.

publicité

Une couche d’interopérabilité pour des piles de matériel disparates

Avant de fonder Determined AI, Evan Sparks était chercheur au AmpLab à l’université de Berkeley. Il s’est concentré sur les systèmes distribués pour l’apprentissage machine (machine learning) à grande échelle, et c’est là qu’il a eu l’occasion de travailler avec des personnes comme Dave Patterson, un pionnier de l’informatique, actuellement vice-président du conseil d’administration de la Fondation RISC-V.

Dave Patterson clame que la loi de Moore est morte et que le silicium personnalisé est le seul espoir de croissance dans le moment qui vient. Evan Sparks a été influencé par cela, et ce qu’il veut faire avec Determined AI, c’est construire un logiciel pour aider les scientifiques et les ingénieurs en machine learning.

L’objectif est d’aider les scientifiques et les ingénieurs en apprentissage machine à accélérer la charge de travail et les flux de travail et à construire plus rapidement des applications d’IA. Pour ce faire, Determined AI fournit une couche d’infrastructure logicielle qui se trouve sous des frameworks comme TensorFlow ou PyTorch et au-dessus de diverses puces et accélérateurs.

Dans sa position actuelle, l’intérêt d’Evan Sparks n’est pas tant de disséquer les stratégies des fournisseurs que de se mettre à la place des personnes qui développent et déploient des modèles d’apprentissage automatique. Il était donc naturel de commencer par ONNX.

xenonstack-onnx-overvieww-advantages.png

ONNX est une couche d’interopérabilité qui permet de déployer des modèles d’apprentissage machine formés à l’aide de différents framework sur une gamme de puces d’IA.

ONNX est une couche d’interopérabilité qui permet aux modèles d’apprentissage machine formés à l’aide de différents frameworks d’être déployés sur une gamme de puces d’IA qui prennent en charge ONNX. Des fournisseurs comme GreenWaves ou Blaize prennent en charge ONNX.

ONNX est issu de Facebook à l’origine, et Evan Sparks note que la raison pour laquelle ONNX a été développé est que Facebook avait une pile de formation et d’inférence très disparate pour les applications d’apprentissage machine.

Facebook s’est développé en utilisant PyTorch en interne, tandis que la plupart des modèles d’apprentissage profond (Deep Learning) en production étaient des modèles de vision par ordinateur qui fonctionnaient avec le soutien de Caffe. Le postulat de Facebook était que la recherche puisse être faite dans la langue que vous voulez, mais le déploiement en production devait se faire dans Caffe.

Cela a conduit à la nécessité d’une couche intermédiaire qui traduirait les données entre les architectures modèles qui étaient sorties dans PyTorch et entrées dans Caffe. Assez rapidement, les gens ont réalisé que c’était une bonne idée, applicable plus largement. En fait, elle n’est pas très différente de ce que nous avons vu précédemment dans les compilateurs de langage de programmation.

ONNX et TVM : Deux façons de résoudre des problèmes similaires

L’idée est d’utiliser une représentation intermédiaire entre plusieurs langages de haut niveau et de brancher les systèmes avec plusieurs langages à la source et plusieurs frameworks à la destination. Cela ressemble beaucoup à des compilateurs, et c’est une bonne idée. Mais ONNX n’est pas la finalité de l’interopérabilité des puces d’IA.

TVM est le nouveau venu. TVM a débuté comme un projet de recherche de l’université de Washington, il est devenu récemment un projet open source Apache de haut niveau et il est également soutenu par un effort commercial dans OctoML.

Les objectifs de TVM sont similaires à ceux d’ONNX : rendre possible la compilation de modèles d’apprentissage profond en ce qu’ils appellent des modules minimums déployables, et optimiser automatiquement ces modèles pour différents éléments du matériel cible.

Evan Sparks fait remarquer que TVM est un projet relativement nouveau, mais qu’il est soutenu par une communauté open source assez forte. Il ajoute que beaucoup de gens aimeraient voir TVM devenir un standard : « les vendeurs de matériel informatique qui ne sont pas avec Nvidia sont susceptibles de vouloir plus d’ouverture et un moyen d’entrer sur le marché. Et ils recherchent une sorte d’interface à mettre en œuvre ».

Il y a une certaine nuance à faire entre ONNX et TVM. En bref, TVM est un peu plus faible qu’ONNX, précise Evan Sparks, et il y a des compromis à faire à ce niveau. Il estime que TVM pourrait être un peu plus généraliste. Evan Sparks toutefois fait remarquer qu’ONNX et TVM sont tous deux au début de leur vie, et qu’ils apprendront l’un de l’autre au fil du temps. Pour Evan Sparks, ils ne sont pas des concurrents immédiats, mais seulement deux façons de résoudre des problèmes similaires.

Contraintes de l’IA, coût et efficacité énergétique

Cependant, qu’il s’agisse d’ONNX ou de TVM, les scientifiques et les ingénieurs en apprentissage machine ne devraient pas avoir à s’occuper de cette couche d’interopérabilité. Evan Sparks plaide pour une séparation des préoccupations entre les différentes étapes du développement des modèles, ce qui est tout à fait conforme au thème des MLOps.

« Il existe de nombreux systèmes pour préparer vos données à la formation (de modèle d’IA), ce qui en fait des structures de données compactes et performantes, etc. C’est une étape différente du processus, un flux de travail différent de l’expérimentation qui va dans la formation et le développement de modèles. Tant que vous obtenez vos données dans le bon format pendant que vous êtes en train de développer un modèle, le système de données en amont ne devrait pas importer. De même, tant que vous développez dans ces langages de haut niveau, le matériel de formation sur lequel vous travaillez, qu’il s’agisse de GPU ou de CPU ou d’accélérateurs exotiques, ne devrait pas avoir d’importance. »

determined-components.jpg

La pile de l’IA déterminée vise à abstraire les différentes architectures matérielles sous-jacentes.

Ce qui importe, c’est la façon dont ce matériel peut satisfaire les contraintes d’application, selon Evan Sparks. Imaginez une entreprise d’appareils médicaux qui possède du matériel ancien. Ils ne vont pas se mettre à jour juste pour faire fonctionner des modèles un peu plus précis.

Au lieu de cela, le problème est presque l’inverse : comment obtenir le modèle le plus précis qui puisse fonctionner sur ce matériel particulier. Ils pourraient donc commencer avec un modèle énorme et utiliser des techniques comme la quantification et la distillation pour l’adapter à ce matériel.

Le coût de la formation a été multiplié par 300 000 au cours des dernières années

Il s’agit du déploiement et de l’inférence, mais la même logique peut être appliquée à la formation. Le coût de la formation des modèles d’IA, tant financier qu’environnemental, est difficile à ignorer. Evan Sparks a fait référence aux travaux de l’OpenAI, selon lesquels le coût de la formation a été multiplié par 300 000 au cours des dernières années.

C’était il y a deux ans. Comme le montrent des travaux plus récents, cette tendance n’a pas du tout ralenti. Le coût de la formation du dernier modèle linguistique d’OpenAI, le GPT3, est estimé entre 7 et 12 millions de dollars. Evan Sparks souligne une évidence : il s’agit d’une quantité folle de calculs, d’énergie, d’argent, que la plupart des mortels n’ont pas. Nous avons donc besoin d’outils qui nous aident à raisonner sur ce coût et à attribuer des quotas ; Evan Sparks est en train de les construire.

Infuser la connaissance dans les modèles

La technologie de son entreprise permet de spécifier un budget, un nombre de modèles à former à la convergence et l’espace des modèles à explorer. La formation cesse avant la convergence, et les utilisateurs peuvent explorer les modèles sans se ruiner. Cette approche est basée sur l’apprentissage actif, mais il existe d’autres approches, comme la distillation, le réglage fin ou l’apprentissage par transfert.

« Vous laissez les grands de ce monde, les Facebook et les Google, s’entraîner sur d’énormes quantités de données avec des milliards de paramètres, en consacrant des centaines d’années de GPU à un problème. Puis, au lieu de partir de zéro, vous prenez ces modèles et vous les utilisez peut-être pour former des encapsulations que vous allez utiliser pour des tâches en aval. »

Evan Sparks mentionne le NLP (Natural Language Processing) et la reconnaissance d’images, avec BERT et ResNet-50, comme de bons exemples de cette approche. Il lance toutefois un avertissement : cela ne fonctionnera pas toujours. Le problème se pose lorsque les modalités des données sur lesquelles les personnes s’entraînent sont totalement différentes de celles qui sont disponibles.

Mais il y a peut-être une autre solution. Que nous l’appelions AI robuste, AI hybride, AI neuro-symbolique, ou sous tout autre nom, l’infusion de connaissances dans des modèles d’apprentissage machine serait-elle utile ? La réponse d’Evan Sparks est un grand oui.

« Dans les cas d’utilisation de “produits” comme le NLP ou la vision, il existe des points de référence sur lesquels les gens s’accordent et des ensembles de données standard. Chacun sait quel est le problème, la classification des images ou la détection des objets ou la traduction des langues. Mais lorsque vous commencez à vous spécialiser davantage, l’un des plus grands progrès que nous avons constatés est que vous obtenez un expert du domaine pour infuser ses connaissances. »

Evan Sparks a utilisé des phénomènes physiques comme exemple. Imaginons que vous mettiez en place un réseau neuronal avec 100 paramètres et que vous lui demandiez de prédire où se trouvera un objet volant dans une seconde. Si l’on donne suffisamment d’exemples, le système convergera probablement vers une approximation raisonnablement bonne de la fonction d’intérêt et fera des prévisions avec un degré élevé de précision.

« Mais si l’on infuse à l’application un peu plus de connaissances sur le monde physique, la quantité de données va diminuer, la précision va augmenter et nous allons voir une constante gravitationnelle commencer à émerger comme une caractéristique du réseau ou une combinaison de caractéristiques. Les réseaux de neurones sont géniaux. Ce sont des approximations fonctionnelles super puissantes. Mais si j’explique un peu plus à l’ordinateur en quoi consiste cette fonction, j’espère pouvoir faire économiser à tout le monde quelques millions de dollars en calcul et obtenir des modèles qui représentent le monde avec plus de précision. Il serait irresponsable d’abandonner cette idée. »

Source : ZDNet.com

Leave a Reply