Informatique « à la périphérie » : amener l’intelligence artificielle partout
Par José Luis Espinosa, ingénieur en chef/gestionnaire – Ubotica Technologies et professeur agrégé à l'ESI-UCLM.
Comment parvenir à l’intelligence artificielle d’aujourd’hui ?
L’essor récent de l’intelligence artificielle est indéniable, au point qu’elle s’est fait une place dans la presse et dans l’idéologie en général. Il est difficile aujourd'hui de ne pas avoir entendu parler de ses nouvelles applications, notamment son intégration dans la voiture autonome ou les robots, l'aide au diagnostic médical ou d'autres systèmes génératifs tels que ChatGPT o de·E.
Ce qui peut paraître surprenant, c’est que les concepts de base de ces systèmes remontent à de nombreuses années. Les réseaux de neurones ont leurs premières origines en 1943 [1]. Cependant, c’est au cours des deux dernières décennies que les conditions nécessaires ont été réunies pour l’essor du développement des systèmes d’intelligence artificielle [2], grâce à :
1) L'évolution du matériel de traitement, grâce à l'utilisation de cartes graphiques (GPU), couvrant la grande demande informatique que ces systèmes doivent apprendre.
2) Big data, fournissant la quantité de données nécessaire à ce type de techniques.
3) L'évolution des logiciels et des techniques de deep learning.
"Intelligence artificielle"au bord »
L’évolution des techniques d’intelligence artificielle a conduit au développement de systèmes intelligents de plus en plus puissants mais aussi plus complexes, rendant nécessaire le recours à des systèmes performants ou à des ressources de cloud computing. Mais que se passe-t-il lorsque nous avons des limitations qui nous empêchent d’utiliser ces ressources pour intégrer notre système intelligent ? Un exemple clair serait le domaine principal dans lequel nous travaillons dans l'entreprise. Ubotique, où il s'agit apporter autonomie et intelligence aux systèmes déployés dans l’espace, ce qui serait actuellement « la dernière limite » pour l’être humain.
L’un des cas dans lesquels ces restrictions sont encore plus drastiques est celui des nanosatellites. Ces petits satellites sont en plein essor grâce aux investissements de différentes agences spatiales comme la ESA ou la NASA et des entreprises comme SpaceX en raison de leur coût relativement faible et des possibilités qu'ils offrent. Néanmoins, ces appareils n’ont pas les mêmes capacités de communication avec la Terre qu’un satellite plus gros.
C’est pour ces cas-là que l’informatique se pose »au bord", déplacer l’exécution des algorithmes d’intelligence artificielle directement à l’endroit où les informations sont capturées. Cette approche a de nombreux avantages:
1) Confidentialité. En effectuant des opérations à l'endroit où les données sont capturées, il n'est pas nécessaire d'envoyer des informations aussi sensibles que des images sur le réseau.
2) Latence réduite. En n’ayant pas à envoyer ces données et à attendre de recevoir les résultats, l’appareil lui-même serait en mesure de prendre une décision dans un court laps de temps. Par exemple, si un nanosatellite ou un rover détectait un obstacle, il pourrait décider de manière autonome de la meilleure marche à suivre pour l’éviter.
3) Réduction de la bande passante requise. Ceci est particulièrement remarquable dans le cas de l’utilisation des nanosatellites pour l’observation de la Terre. Ces appareils capturent de grandes images (plusieurs Gio), mais ont une très faible vitesse d'envoi d'informations vers la Terre, ce qui rend impossible l'envoi constant d'informations pour traitement sur une base terrestre. Grâce à l'informatiqueau bord», il serait simple d'envoyer uniquement les informations obtenues lors du traitement des images, comme, par exemple, la notification d'une urgence due à la détection d'un incendie ou de tout autre type d'événement dangereux.
Qu’est-ce qui est nécessaire au niveau technologique ?
Pour appliquer ce paradigme, deux facteurs sont nécessaires :
1) Le développement de systèmes embarqués spécifiques pour l’exécution d’applications d’intelligence artificielle. Bien que ces systèmes doivent avoir pour caractéristique principale un puissance de calcul élevée, il faut aussi qu'ils aient un taille réduit est notre valeur principale. faible consommation d'énergie, pour être envoyé dans l'espace. C'est le cas de notre carte XE2, basé sur les appareils Myriad développés par Intel Movidius, et que nous utilisons chez Ubotica dans tous types de développements et de solutions liés au secteur aérospatial et à l'industrie 4.0, mais qui ont également été utilisés dans d'autres situations très restrictives comme détection des braconniers dans les zones protégées.
2) Le utilisation de techniques spécifiques qui nous permettent d'utiliser des systèmes d'intelligence artificielle au sein de ce matériel car, bien que la capacité de calcul soit élevée, il est difficile d'obtenir les mêmes performances qu'un GPU en raison de restrictions de taille et de consommation. C'est pourquoi on utilise souvent des versions réduites des modèles utilisés dans des systèmes plus complexes ou une réduction de la précision des opérations en utilisant moins de bits pour stocker les valeurs à virgule flottante (par exemple, en utilisant FP16 au lieu de FP32). ou l'utilisation de techniques de quantification qui réduisent le nombre de valeurs possibles à un petit ensemble (même à des valeurs entières).
De quoi ai-je besoin pour travailler dans ce contexte ?
Comme nous l’avons vu, l’intelligence artificielle »au bord» est en plein essor, étant devenu une niche d'emploi très particulière. Bien qu'il soit possible d'y accéder avec des connaissances uniquement dans le domaine du matériel ou de l'intelligence artificielle, ceux d'entre nous qui y travaillent ont dû se convertir à un profil beaucoup plus multidisciplinaire.
Dans mon cas particulier, avec une première spécialisation dans le domaine de l'intelligence artificielle, il m'a fallu apprendre à prendre en compte les restrictions matérielles lors de la conception et de la formation de systèmes intelligents. D'autres collègues axés sur le matériel ont dû apprendre à comprendre le fonctionnement des systèmes intelligents pour pouvoir les intégrer et les valider au sein des appareils.
Cela se heurte à la division en intensifications des diplômes universitaires actuels au niveau européen, dans lesquels la spécialisation dans une branche spécifique est priorisée, de sorte que la formation complémentaire nécessaire est souvent supportée par l'étudiant lui-même ou par l'entreprise qui l'embauche par le biais de cours, des formations internes ou des masters à caractère spécifique ou général tels que MUII de l'ESI.
C'est pourquoi je voudrais terminer cet article avec une réflexion que je fais toujours à mes collègues et à mes étudiants, à la fois en raison d'une possible multidisciplinarité et en raison de l'apparition constante de nouvelles technologies, et c'est cela L’une des principales capacités qu’un diplômé en informatique doit posséder est d’être capable de comprendre et d’apprendre de nouvelles choses..
références
[1] McCulloch, WS et Pitts, W. (1943). Un calcul logique des idées immanentes à l'activité nerveuse. Le bulletin de biophysique mathématique, 5, 115-133. [2] Goodfellow, I., Bengio, Y. et Courville, A. (2016). L'apprentissage en profondeur. Presse du MIT.Lire aussi Professeur et diplômés lauréats ESI NASA Awards 2022