Pourquoi les entreprises passent de TensorFlow à PyTorch

Sous-catégorie de l'apprentissage automatique, l'apprentissage en profondeur utilise des réseaux de neurones multicouches pour automatiser à grande échelle des tâches machine historiquement difficiles, telles que la reconnaissance d'image, le traitement du langage naturel (PNL) et la traduction automatique.

TensorFlow, qui a émergé de Google en 2015, est le cadre d'apprentissage profond open source le plus populaire pour la recherche et les affaires. Mais PyTorch, qui a émergé 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 et de déploiement pour un éventail de plus en plus large de cas d'utilisation.

PyTorch connaît une adoption particulièrement forte dans l'industrie automobile, où il peut être appliqué à des systèmes de conduite autonome pilotes tels que Tesla et Lyft Level 5. Le cadre est également utilisé pour la classification et la recommandation de contenu dans les entreprises de médias et pour aider à soutenir les robots. dans les applications industrielles.

Joe Spisak, chef de produit pour l'intelligence artificielle chez Facebook AI, a déclaré que, bien qu'il soit satisfait de l'augmentation de l'adoption de PyTorch par les entreprises, il reste encore beaucoup de travail à faire pour obtenir une adoption plus large de l'industrie.

«La prochaine vague d'adoption viendra avec l'activation de la gestion du cycle de vie, des MLOps et des pipelines Kubeflow et la communauté autour de cela», a-t-il déclaré. «Pour ceux qui sont au début du voyage, les outils sont plutôt bons, utilisant des services gérés et certains open source avec quelque chose comme SageMaker chez AWS ou Azure ML pour commencer.

Disney: identifier les visages animés dans les films

Depuis 2012, les ingénieurs et les data scientists du géant des médias Disney construisent ce que l'entreprise appelle Content Genome, un graphe de connaissances qui rassemble les métadonnées de contenu pour alimenter les applications de recherche et de personnalisation basées sur l'apprentissage automatique dans l'énorme bibliothèque de contenu de Disney.

«Ces métadonnées améliorent les outils utilisés par les conteurs Disney pour produire du contenu; inspirer la créativité itérative dans la narration; expériences utilisateur puissantes grâce aux moteurs de recommandation, à la navigation numérique et à la découverte de contenu; et permettre l'intelligence d'affaires », a écrit les développeurs Disney Miquel Àngel Farré, Anthony Accardo, Marc Junyent, Monica Alfaro et Cesc Guitart dans un article de blog en juillet.

Avant que cela ne puisse se produire, Disney a dû investir dans un vaste projet d'annotation de contenu, se tournant vers ses scientifiques des données pour former un pipeline de marquage automatisé utilisant des modèles d'apprentissage en profondeur pour la reconnaissance d'images afin d'identifier d'énormes quantités d'images de personnes, de personnages et de lieux.

Les ingénieurs de Disney ont commencé par expérimenter divers frameworks, y compris TensorFlow, mais ont décidé de se regrouper autour de PyTorch en 2019. l'architecture de détection d'objets appelée régions avec des réseaux de neurones convolutifs (R-CNN). Ce dernier était plus propice à la gestion des combinaisons d'action en direct, d'animations et d'effets visuels courants dans le contenu Disney.

«Il est difficile de définir ce qu'est un visage dans un dessin animé, c'est pourquoi nous sommes passés à des méthodes d'apprentissage en profondeur utilisant un détecteur d'objet et avons utilisé l'apprentissage par transfert», a expliqué Monica Alfaro, ingénieure de recherche chez Disney. Après seulement quelques milliers de visages traités, le nouveau modèle identifiait déjà largement les visages dans les trois cas d'utilisation. Il est entré en production en janvier 2020.

«Nous n'utilisons qu'un seul modèle pour les trois types de visages et c'est génial de courir pour un film Marvel comme Avengers, où il doit reconnaître à la fois Iron Man et Tony Stark, ou tout personnage portant un masque», a-t-elle déclaré.

Étant donné que les ingénieurs traitent de volumes aussi élevés de données vidéo pour entraîner et exécuter le modèle en parallèle, ils souhaitaient également utiliser des GPU coûteux et hautes performances lors de la mise en production.

Le passage des processeurs a permis aux ingénieurs de reformer et de mettre à jour les modèles plus rapidement. Cela a également accéléré la distribution des résultats à divers groupes à travers Disney, réduisant le temps de traitement d'environ une heure pour un long métrage, à l'obtention de résultats en cinq à dix minutes aujourd'hui.

«Le détecteur d'objet TensorFlow a entraîné des problèmes de mémoire en production et était difficile à mettre à jour, alors que PyTorch avait le même détecteur d'objet et Faster-RCNN, nous avons donc commencé à utiliser PyTorch pour tout», a déclaré Alfaro.

Ce passage d'un framework à un autre a également été étonnamment simple pour l'équipe d'ingénierie. «Le changement [vers PyTorch] a été facile car tout est intégré, vous ne branchez que certaines fonctions et pouvez démarrer rapidement, ce n'est donc pas une courbe d'apprentissage abrupte», a déclaré Alfaro.

Lorsqu'ils rencontraient des problèmes ou des goulots d'étranglement, la communauté dynamique PyTorch était là pour aider.

Technologie Blue River: robots destructeurs de mauvaises herbes

Blue River Technology a conçu un robot qui utilise une combinaison enivrante d'orientation numérique, de caméras intégrées et de vision par ordinateur pour pulvériser des herbicides sur les mauvaises herbes tout en laissant les cultures seules en temps quasi réel, aidant les agriculteurs à conserver plus efficacement les herbicides coûteux et potentiellement dommageables pour l'environnement.

L'entreprise basée à Sunnyvale, en Californie, a attiré l'attention du fabricant d'équipement lourd John Deere en 2017, lors de son acquisition pour 305 millions de dollars, dans le but d'intégrer la technologie dans ses équipements agricoles.

Les chercheurs de Blue River ont expérimenté divers cadres d'apprentissage en profondeur 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 lorsqu'il s'agit de cotonniers, qui ressemblent mal à des mauvaises herbes.

Des agronomes hautement qualifiés ont été recrutés pour effectuer des tâches d'étiquetage d'images manuelles et former un réseau neuronal convolutif (CNN) à l'aide de PyTorch «pour analyser chaque image et produire une carte au pixel près de l'endroit où se trouvent les cultures et les mauvaises herbes», Chris Padwick, directeur de l'informatique vision et apprentissage automatique chez Blue River Technology, écrit dans un article de blog en août.

«Comme d'autres entreprises, nous avons essayé Caffe, TensorFlow, puis PyTorch», a déclaré Padwick. «Cela fonctionne à peu près hors de la boîte pour nous. Nous n'avons eu aucun rapport de bogue ni aucun bogue bloquant. Sur le calcul distribué, il brille vraiment et est plus facile à utiliser que TensorFlow, qui pour les parallélismes de données était assez compliqué. »

Padwick dit que la popularité et la simplicité du framework PyTorch lui donnent un avantage lorsqu'il s'agit de recruter rapidement de nouvelles recrues. Cela étant dit, Padwick rêve d'un monde où «les gens évoluent dans tout ce avec quoi ils sont à l'aise. Certains aiment Apache MXNet ou Darknet ou Caffe pour la recherche, mais en production, il doit être dans un seul langage, et PyTorch a tout ce dont nous avons besoin pour réussir. »

Datarock: analyse d'images basée sur le cloud pour l'industrie minière

Fondée par un groupe de géoscientifiques, la startup australienne Datarock applique la technologie de vision par ordinateur à l'industrie minière. Plus précisément, ses modèles d'apprentissage en profondeur aident les géologues à analyser les images d'échantillons de carottes de forage plus rapidement qu'auparavant.

En règle générale, un géologue examine ces échantillons centimètre par centimètre pour évaluer la minéralogie et la structure, tandis que les ingénieurs recherchent des caractéristiques physiques telles que des failles, des fractures et 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 de l'exploitation de Datarock. «Si vous pouvez le voir dans l'image, nous pouvons former un modèle à l'analyser ainsi qu'un humain.»

Semblable à Blue River, Datarock utilise une variante du modèle RCNN en production, les chercheurs se tournant vers des techniques d'augmentation des données pour collecter suffisamment de données d'entraînement dès les premiers stades.

«Après la période de découverte initiale, l'équipe a commencé à combiner des techniques pour créer un flux de travail de traitement d'image pour l'imagerie des carottes de forage. Cela impliquait de développer une série de modèles d'apprentissage en profondeur qui pourraient traiter des images brutes dans un format structuré et segmenter les informations géologiques importantes », ont écrit les chercheurs dans un article de blog.

Grâce à la technologie de Datarock, les clients peuvent obtenir des résultats en une demi-heure, au lieu des cinq ou six heures nécessaires pour consigner manuellement les résultats. Cela libère les géologues des aspects les plus laborieux de leur travail, a déclaré Crawford. Cependant, «lorsque nous automatisons les choses qui sont plus difficiles, nous obtenons un certain recul et devons expliquer qu'ils font partie de ce système pour former les modèles et faire tourner cette boucle de rétroaction.»

Comme de nombreuses entreprises qui formaient des modèles de vision par ordinateur d'apprentissage en profondeur, Datarock a commencé avec TensorFlow, mais est rapidement passé à PyTorch.

«Au début, nous avons utilisé TensorFlow et il plantait sur nous pour des raisons mystérieuses», a déclaré Duy Tin Truong, responsable de l'apprentissage automatique chez Datarock. «PyTorch et Detecton2 ont été lancés à cette époque et correspondaient bien à nos besoins, donc après quelques tests, nous avons vu qu'il était plus facile de déboguer et de travailler avec et occupait moins de mémoire, alors nous avons converti», dit-il.

Datarock a également signalé une amélioration 4x des performances d'inférence de TensorFlow à PyTorch et Detectron2 lors de l'exécution des modèles sur des GPU - et 3x sur des CPU.

Truong a cité la communauté croissante de PyTorch, l'interface bien conçue, la facilité d'utilisation et un meilleur débogage comme raisons du changement et a noté que bien que «ils soient assez différents du point de vue de l'interface, si vous connaissez TensorFlow, il est assez facile de changer , surtout si vous connaissez Python. »