ArticleApplications & Développement
Deep learning : 5 raisons de choisir PyTorch (2e Partie)
TensorFlow conserve encore certains avantages, mais l'on peut trouver chaque jour de bons arguments en faveur de PyTorch.

Après une première partie indiquant les avantages de PyTorch, notre confrère d’Infoworld poursuit la liste des atouts du framework d’IA.
PyTorch facilite l’apprentissage du deep learning
Il existe des dizaines de formation sur le deep learning, mais, selon Ian Pointer, c’est fast.ai qui offre le meilleur cours et il est gratuit ! Alors que la première année, ce cours était essentiellement consacré à la bibliothèque open source de deep learning Keras, l'équipe de fast.ai - Jeremy Howard, Rachel Thomas et Sylvain Gugger - est passée à PyTorch la seconde année et n'a pas regretté son choix. (Pour être tout à fait juste, ils croient également beaucoup à la bibliothèque Swift pour TensorFlow).
La version la plus récente du cours explique comment obtenir des résultats pointus sur des tâches comme la classification, la segmentation et les prédictions dans les domaines du texte et de la vision, de comprendre ce que sont les réseaux antagonistes génératifs (Generative adversarial networks – GAN) et de découvrir un tas d'astuces et d'idées que même les experts les plus endurcis trouveront éclairantes. Même si le cours utilise la propre bibliothèque de fast.ai, avec d’autres abstractions pour PyTorch (ce qui permet d’appréhender encore plus facilement le deep learning), le cours approfondit également les fondamentaux en proposant de créer une bibliothèque de type PyTorch à partir de zéro, ce qui permet de comprendre en profondeur comment fonctionne réellement PyTorch. L'équipe de fast.ai a même réussi à corriger quelques bugs dans la version principale de PyTorch en cours de route.
PyTorch est soutenu par une grande communauté
La communauté PyTorch apporte un support inestimable. Le site principal, pytorch.org, propose à la fois une excellente documentation toujours en phase avec les versions de PyTorch et un excellent ensemble de tutoriels qui couvrent tous les aspects de la bibliothèque, aussi bien la découverte rapide des principales fonctionnalités de PyTorch que des examens approfondis sur la façon d'étendre la bibliothèque avec des opérateurs C++ personnalisés. Même si les tutoriels manquent parfois d’homogénéité sur des sujets comme les fractionnements training/validation/test et les boucles de training, ils restent une ressource inestimable, surtout quand une nouvelle fonctionnalité est introduite.
Au-delà de la documentation officielle, le forum de discussion discuss.pytorch.org offre un espace étonnant dans lequel les utilisateurs peuvent converser et être aidé par les principaux développeurs de PyTorch. Avec plus de 1500 messages par semaine, c'est une communauté amicale et active. Et même si les discussions sont davantage axées sur la bibliothèque de fast.ai, les forums similaires sur forums.fast.ai constituent une autre grande communauté (avec de nombreux échanges) toujours prête à aider les nouveaux arrivants sans réserve, ce qui n’est malheureusement pas toujours le cas de nombreux espaces de discussion sur le deep learning.
PyTorch aujourd'hui et demain
Voilà donc cinq raisons d'utiliser PyTorch. Comme cela a été dit au début de cet article, elles ne sont pas exclusives à PyTorch, mais ensemble, elles font de PyTorch un framework de choix pour le deep learning. Certes, PyTorch est encore insuffisant dans certains domaines comme le développement mobile, les réseaux clairsemés et la quantification des modèles, pour n'en citer que trois. Mais, étant donné la rapidité de son développement, PyTorch sera beaucoup plus performant dans ces domaines d'ici la fin de l'année.
Quelques exemples supplémentaires pour terminer. Tout d'abord, PyTorch Elastic - introduit à titre expérimental en décembre - étend les packs de training distribués existants de PyTorch pour permettre un entraînement plus solide des modèles à grande échelle. Comme son nom l'indique, PyTorch Elastic fonctionne sur plusieurs machines de manière élastique, ce qui permet aux nœuds d'entrer et de sortir d’une tâche d’entraînement à tout moment sans provoquer le plantage de l'ensemble du travail.
Ensuite, OpenAI, une entreprise californienne engagée dans « la promotion et le développement d’un intelligence artificielle à visage humain », a fait savoir qu’elle adoptait PyTorch comme principal framework de développement. Une décision importante, car elle indique que les créateurs de GPT2 – une intelligence artificielle ayant des capacités de réponse aux questions, de traduction automatique, de compréhension de texte et de synthèse - estiment que PyTorch leur offre un environnement plus productif que TensorFlow pour l'itération de leurs idées. La décision d’OpenAI intervient après celle de Preferred Networks, une entreprise japonaise qui développe des applications de deep learning pratiques, laquelle a placé son framework de deep learning, Chainer, en mode de maintenance pour passer à PyTorch. Le choix d’OpenAI montre le chemin parcouru par PyTorch au cours des deux dernières années et laisse penser que ce framework va continuer à s'améliorer et à gagner des utilisateurs dans les années à venir.


