Quand j’étais enfant, j’adorais un dessin animé appelé “Les Jetsons”. Cette émission parlait d’une famille vivant dans un monde futuriste et utilisant des gadgets et des accessoires avant-gardiste. Leur monde était rempli d’une myriade de machines. Certaines de ces machines étaient simples, mais un certain nombre d’entre elles étaient robotisées. La plus importante d’entre elles était Rosie, la femme de ménage des Jetson. Une grande partie de l’humour de cette émission est due à ces machines “intelligentes” qui tentent de faire face à toutes les choses étranges et imprévisibles qui peuvent se produire dans le cadre des relations avec les humains et de l’expérience humaine.
Enfant, je regardais l’émission pour me divertir et je n’ai jamais vraiment pensé aux implications de ce que je regardais. Je n’ai jamais pensé que ces machines recevaient des quantités massives d’informations, qu’elles essayaient de donner un sens à toutes ces données, puis qu’elles essayaient de sélectionner une réponse appropriée en fonction d’un algorithme qu’elles exécutaient, puis qu’elles stockaient éventuellement les données et leur réponse en vue d’un examen ultérieur.
Lorsque j’étais à l’école d’ingénieur, un de mes professeurs préférés a dit à ma classe que les ordinateurs sont essentiellement très stupides. Ils ne font qu’une chose à la fois. Ils ne font que ce qu’on leur dit de faire. Mais ils le font très rapidement et ne se laissent pas distraire comme les humains.
Depuis lors, les ordinateurs ont progressé à pas de géant en se sophistiquant. Aujourd’hui, j’ai un téléphone portable dans ma poche qui est minuscule face à mon premier ordinateur, qui pesait 15kg et couvrait un bureau entier. Cependant, le principe de base selon lequel les ordinateurs sont stupides et font uniquement ce pourquoi ils sont programmés est toujours vrai… en est-on bien sûr ?
Jusqu’à récemment, les ordinateurs étaient, pour la plupart, régis par leur unité centrale ou CPU. Une unité centrale est le cerveau d’un ordinateur qui détermine sa vitesse et sa capacité utile. L’unité centrale est utilisée pour des tâches générales telles que le traitement de texte, la navigation sur le web, la lecture et l’envoi de courriers électroniques, et d’autres choses fondamentales de ce genre.
Ces dernières années, les unités de traitement graphique, ou GPU, sont passées au premier plan. De loin, les GPU sont simplement des contrôleurs vidéo gonflés au maximum pour assurer le rendu graphique sur son écran. De nombreux jeux d’aujourd’hui nécessitent des calculs graphiques intenses qui font appel à des calculs physiques avancés, à des rendus ou à des rotations en trois dimensions. Ce sont là des domaines dans lesquels les GPU excellent. Cependant, tout n’est pas que du plaisir et des jeux, il existe d’autres programmes comme l’imagerie médicale et les applications de conception assistée par ordinateur qui utilisent également les capacités des GPU.
Il s’avère cependant que les GPU ne se limitent pas à travailler avec des données graphiques. En raison de leur capacité à traiter des quantités massives de données tout en effectuant simultanément des opérations complexes sur ces données à des vitesses ridicules, les GPU sont devenus des outils étonnants dans le domaine de l’intelligence artificielle (ou IA) et de l’apprentissage machine. C’est le GPU qui est au cœur de la plupart des gadgets technologiques automatisés que nous voyons aujourd’hui. Les voitures qui se conduisent seules, les applications de covoiturage, la reconnaissance faciale, la reconnaissance vocale, la reconnaissance d’empreintes digitales, le filtrage du spam et les publicités ciblées sur Facebook et d’autres sites utilisent tous l’IA et l’apprentissage automatique.
NVIDIA s’est fait un nom dans ce domaine et s’est imposé comme le leader incontesté du marché des GPU. Les produits NVIDIA GEFORCE sont très prisés par les joueurs du monde entier. Les produits NVIDIA Quadro sont utilisés par les professionnels partout dans le monde. NVIDIA Titan et Tesla sont les rois de l’IA et de l’apprentissage machine. Cependant, je voudrais parler d’un produit de la gamme AGX que NVIDIA a lancé en décembre 2018. NVIDIA l’appelle Jetson AGX Xavier, mais les spécialistes de l’IA et de l’apprentissage machine l’appellent le “Saint Graal”.
Le Jetson AGX ne va pas battre des cartes NVIDIA PCIe de datacenter mais c’est bien plus qu’un simple GPU. NVIDIA l’appelle un module, mais c’est vraiment une solution. Il s’agit d’une entité autonome qui est destinée à être utilisée comme une machine autonome dans n’importe quelle application qu’un client peut penser à lui placer. Il est en train de devenir rapidement la référence en matière de solutions d’IA et d’apprentissage machine.
En ce qui concerne le matériel, NVIDIA a équipé ce bébé de tout, sauf de l’évier de cuisine. Vous pouvez faire tourner Linux sur ce SOC de 8-core CPU Carmel 64-bit ARM. Pour l’IA et l’apprentissage machine, vous disposez d’un GPU Volta à 512 cœurs Volta avec Tensor Cores. Deux options de mémoire sont disponibles, l’une avec 8G et l’autre avec 16G. Dans les deux cas, la mémoire est une mémoire LPDDR4x 256 bits ultra rapide. L’ensemble de la solution est capable de 32TOPs de performances tout en consommant uniquement 10W. Tout cela dans un format de 105 mm par 105 mm. En résumé, vous obtenez des performances de niveau station de travail dans un tout petit boîtier.
Les outils sont une autre caractéristique de NVIDIA. Ils savent que fournir le meilleur matériel ne signifie rien si les clients ne sont pas capables d’utiliser ce matériel efficacement. Le JetPack SDK de NVIDIA permet aux clients de Jetson d’être opérationnels en un temps record, ce qui permet d’économiser d’énormes quantités de temps et de coûts de développement. Le SDK comprend toutes les images du système d’exploitation, les bibliothèques et les API, les outils de développement, les échantillons et la documentation nécessaires pour développer, débogguer et déployer rapidement des solutions sophistiquées. Python, CUDA, OpenCL, OpenCV, C et C++ sont tous pris en charge
Jetson est conçu spécifiquement pour les robots et l’informatique de pointe. À ce titre, il est conçu pour traiter toutes sortes d’entrées sensorielles en temps réel et pour faire tourner toutes sortes de moteurs d’inférence en toute autonomie et sans intervention humaine. La connectivité dans le cloud, la navigation avec planification de trajectoire et prévention des collisions et le suivi de terrains complexes, la livraison de colis et l’inspection industrielle ne sont que quelques exemples de ce que Jetson pourrait être programmé pour faire. Le ciel est vraiment la limite.
Cela nous ramène au dessin animé de Jetson. Lorsque je repense à tout ce qui s’est passé et que je considère toutes les choses folles qui se sont produites, j’en conclus que soit quelque chose s’est produit dans la ligne du temps qui a empêché NVIDIA d’inventer le Jetson AGX Xavier, soit les ingénieurs de cette époque étaient des idiots. J’en arrive à cette conclusion parce que si NVIDIA l’avait inventé et s’il y avait eu des ingénieurs compétents, Rosie et ses amis roboticiens auraient pu faire des erreurs folles une fois, mais ils ne les auraient pas faites une deuxième fois. Ils auraient appris de leur première erreur. De plus, s’ils avaient été mis en réseau comme ils auraient dû l’être, un seul d’entre eux aurait fait cette erreur, permettant ainsi à tous les autres d’en tirer les leçons. Après tout, ce n’est pas ce que l’IA et l’apprentissage approfondi visent à faire… éliminer les décisions de mauvaise qualité et les remplacer par des décisions de meilleure qualité.