Sous-catégorie de l'apprentissage machine, l'apprentissage profond utilise des réseaux de neurones multicouches pour automatiser des tâches machines historiquement compliquées, comme la reconnaissance d'images, le traitement du langage naturel (TLN) et la traduction automatique. Livré par Google en 2015, TensorFlow a été le framework d'apprentissage profond open source le plus utilisé dans la recherche et dans les entreprises. Mais PyTorch, sorti de Facebook en 2016, a rapidement rattrapé son retard, grâce aux améliorations apportées par la communauté en termes de facilité d'utilisation, de déploiement, mais aussi grâce à sa capacité à couvrir un éventail de plus en plus large de cas d’usage.
L’adoption de PyTorch a été particulièrement forte dans l'industrie automobile, où il a trouvé des applications dans les systèmes de conduite autonomes comme Tesla et Lyft Level 5. Le framework est également utilisé pour la classification et la recommandation de contenu dans les entreprises de médias ou encore pour le fonctionnement des robots dans les applications industrielles. Joe Spisak, chef de produit pour l'intelligence artificielle chez Facebook AI, se réjouit de l'adoption toujours plus importante de PyTorch par les entreprises, mais selon lui, il reste encore beaucoup à faire pour étendre davantage son adoption par l'industrie. « La prochaine vague d'adoption sera alimentée par la gestion du cycle de vie, MLOps, les pipelines Kubeflow et la communauté qui les entoure », a-t-il déclaré. « Pour les nouveaux adoptants, les outils sont assez bons, et ils peuvent démarrer avec des services managés et quelques logiciels libres comme SageMaker chez AWS ou Azure ML ».
Disney : Identifier les visages dans les dessins animés et films d'animations
Depuis 2012, les ingénieurs et les scientifiques des données du géant des médias Disney construisent ce que l’entreprise appelle le « Content Genome ». Ce graphique de connaissances rassemble les métadonnées du contenu pour alimenter des applications de recherche et de personnalisation basées sur l'apprentissage machine dans l'immense bibliothèque de contenu de Disney. « Ces métadonnées améliorent les outils utilisés par les narrateurs de Disney pour produire du contenu, inspirer une créativité itérative dans les récits, améliorer l'expérience des utilisateurs à l’aide de moteurs de recommandation, la navigation numérique et la découverte de contenu, et permettre une intelligence économique », comme l’ont écrit les développeurs de Disney, Miquel Àngel Farré, Anthony Accardo, Marc Junyent, Monica Alfaro et Cesc Guitart dans un article de blog en juillet. Pour en arriver là, Disney a dû investir dans un vaste projet d'annotation de contenu. L’entreprise a demandé à ses scientifiques des données de former un pipeline de marquage automatisé en utilisant des modèles d'apprentissage profond pour la reconnaissance d'images afin d'identifier d'énormes quantités d'images de personnes, de personnages et de lieux.
Pour commencer, les ingénieurs de Disney ont testé différents frameworks, dont TensorFlow. Mais finalement, en 2019, leur choix s’est fixé sur PyTorch. Les ingénieurs sont passés d'un descripteur d’attribut basé sur un histogramme conventionnel de gradients orientés (HOG) et du modèle populaire de machines à vecteurs de support (SVM) à une version de l'architecture de détection d'objets connue sous le nom de « régions avec réseaux de neurones convolutifs » ou « Regions with convolutional neural networks » (R-CNN), plus propice à la gestion des combinaisons d'action en direct, d'animations et d'effets visuels, tous très présents dans le contenu de Disney. « Il est difficile de définir ce qu'est un visage dans un dessin animé, et c’est pour cette raison que nous avons opté pour des méthodes d'apprentissage profond basées sur un détecteur d'objets et que nous avons utilisé l'apprentissage par transfert », a expliqué Monica Alfaro, ingénieur de Disney Research. Après le traitement de quelques milliers de visages, le nouveau modèle permettait déjà d'identifier largement les visages dans ces trois types d’usage. Le détecteur d’objet est entré en production en janvier 2020. « Nous n'utilisons plus qu'un seul modèle pour les trois types de visages, ce qui est très pratique pour un film Marvel comme Avengers, où il faut reconnaître à la fois Iron Man et Tony Stark, ou tout autre personnage portant un masque », a-t-elle déclaré.
Parce que les ingénieurs devaient traiter un tel volume de données vidéo pour former et faire fonctionner le modèle en parallèle, ils ont demandé des GPU coûteux et hautement performants quand ils sont passés en production, ce qui leur a permis de re-former et de mettre à jour les modèles plus rapidement. Ils ont pu aussi accélérer la distribution des résultats aux différents groupes de Disney et réduire le temps de traitement d’un long-métrage d’une heure à cinq-dix minutes aujourd'hui. « Le détecteur d'objets TensorFlow posait des problèmes de mémoire en production et il était difficile à mettre à jour, alors que PyTorch avait le même détecteur d'objets et un Faster-RCNN, ce qui nous a décidé à utiliser PyTorch pour tous nos processus », a déclaré Monica Alfaro. Ce passage d'un framework à l’autre s’est fait aussi très simplement pour l'équipe d'ingénieurs. « L’adoption de PyTorch a été facile parce que tout est intégré, on ne doit connecter que quelques fonctions et l’on peut démarrer rapidement, ce qui veut dire que la courbe d'apprentissage est très douce », a ajouté Monica Alfaro. Et quand les ingénieurs de Disney ont été confrontés à certains problèmes ou à des goulots d'étranglement, la très active communauté PyTorch était là pour les aider.
Blue River Technology : Des robots tueurs de mauvaises herbes
L’étonnant robot conçu par Blue River Technology combine du repérage numérique, des caméras intégrées et de la vision par ordinateur pour pulvériser en temps quasi-réel les mauvaises herbes avec un herbicide sans endommager les cultures. Il permet ainsi aux agriculteurs d’économiser sur le coût élevé des herbicides, mais aussi d’avoir une action moins nocive sur l'environnement. Basée à Sunnyvale, Californie, l’entreprise a attiré l'attention du fabricant d'équipements lourds John Deere en 2017, qui l’a acquis pour 305 millions de dollars. Son but : intégrer cette technologie dans ses équipements agricoles. Les chercheurs de Blue River ont expérimenté différents frameworks d'apprentissage profond tout en essayant de former des modèles de vision par ordinateur pour reconnaître la différence entre les mauvaises herbes et les cultures. Un défi de taille quand il s'agit de plants de coton, car on peut fortement les confondre parfois avec des mauvaises herbes.
Des agronomes hautement qualifiés ont été recrutés pour marquer manuellement les images et entraîner un réseau neuronal convolutif (CNN) à l'aide de PyTorch. « Ils devaient analyser chaque image et produire une carte au pixel près pour repérer précisément où se trouvaient les plants de coton et les mauvaises herbes », avait écrit en août Chris Padwick, directeur de la vision par ordinateur et de l'apprentissage machine chez Blue River Technology, dans un article de blog. « Comme d'autres entreprises, nous avons essayé Caffe, TensorFlow, et ensuite PyTorch », a encore déclaré Chris Padwick. « Nous utilisons PyTorch de manière assez standard, mais nous n'avons eu aucun rapport de bogues, ni aucun bogue bloquant. Sur le calcul distribué, PyTorch est vraiment très performant et plus facile à utiliser que TensorFlow, assez compliqué pour les parallélismes de données ». M. Padwick affirme que la popularité et la simplicité du framework PyTorch présente aussi un avantage quand il faut recruter rapidement de nouveaux employés. Cela dit, il rêve surtout d'un monde où « les gens développent avec le langage et les outils qui leur conviennent le mieux ». Certains préfèrent Apache MXNet ou Darknet ou Caffe pour la recherche, mais en production, c’est mieux quand on a affaire à un seul et même langage, et PyTorch a tout ce qu'il faut pour réussir un projet ».
Datarock : Analyse d'images dans le cloud pour l'industrie minière
Fondée par un groupe de spécialistes des géosciences, la start-up australienne Datarock applique la technologie de la vision par ordinateur à l'industrie minière. Plus précisément, ses modèles d'apprentissage profond aident les géologues à analyser les images des carottes de forage plus rapidement qu'auparavant. En général, le géologue examine ces échantillons centimètre par centimètre pour évaluer la minéralogie et la structure, alors que les ingénieurs recherchent des caractéristiques physiques comme les failles, les fractures et s’intéressent à la qualité de la roche. Ce processus est à la fois lent et sujet à l'erreur humaine. « Un ordinateur peut voir les roches comme le ferait un ingénieur », a déclaré Brenton Crawford, directeur général de Datarock. « Si ces caractéristiques sont visibles sur une image, on peut alors former un modèle pour l'analyser aussi bien qu'un humain ».
Tout comme Blue River, Datarock utilise une variante du modèle de « régions avec réseaux de neurones convolutifs » (R-CNN) en production. Les chercheurs ont adopté des techniques d'augmentation des données pour recueillir suffisamment de données de formation dès le début. « Après la période initiale de découverte, l'équipe a entrepris de combiner les techniques pour créer un flux de travail de traitement d'images pour l'imagerie des carottes de forage. Pour cela, elle a du développer une série de modèles d'apprentissage profond capables de traiter les images brutes dans un format structuré et segmenter les informations géologiques importantes », ont écrit les chercheurs dans un
Grâce à la technologie de Datarock, les clients peuvent obtenir des résultats en une demi-heure, contre cinq ou six heures quand l’enregistrement des résultats se fait manuellement. « Les géologues sont libérés des aspects les plus laborieux de leur travail », a déclaré M. Crawford. Cependant, « quand nous automatisons des choses plus difficiles, il peut y avoir quelques réticences, et nous devons expliquer à nos géologues qu'ils sont toujours partie intégrante du processus pour former les modèles et entretenir cette boucle de rétroaction ».
Comme beaucoup d'entreprises appelées à entraîner des modèles de vision par ordinateur à l'apprentissage profond, Datarock a commencé avec TensorFlow, mais elle est rapidement passée à PyTorch. « Au début, nous utilisions TensorFlow et le framework plantait avec nos modèles pour des raisons mystérieuses », a déclaré Duy Tin Truong, responsable de l'apprentissage machine chez Datarock. « PyTorch et Detecton2, lancés à cette époque, correspondaient bien à nos besoins, et après quelques tests, nous avons vu qu'il était plus facile de travailler avec ce framework, plus facile de le déboguer, qu'il occupait aussi moins de mémoire, et nous l’avons définitivement adopté », a-t-il ajouté. Datarock a également noté une amélioration des performances d'inférence de 4X entre TensorFlow et le couple PyTorch/Detectron2 quand les modèles sont exécutés sur GPU - et de 3x quand ils sont exécutés sur CPU. Parmi les autres avantages de PyTorch, M. Truong a également mentionné la communauté croissante autour du framework, son interface bien conçue, sa facilité d'utilisation et son meilleur débogage. Enfin, « même si leurs interfaces sont assez différentes, il est assez facile de passer à PyTorch si l’on a déjà pratiqué TensorFlow, surtout si l’on connait Python », a-t-il encore ajouté.