Il y a toujours eu une « guerre sectaire » dans le domaine de la technologie. Qu’il s’agisse d’un débat sur les avantages et les inconvénients des différents systèmes d’exploitation, des fournisseurs de cloud ou des frameworks d’apprentissage profond, il suffit de quelques bières pour que les faits disparaissent et que les gens commencent à se battre pour la technologie qu’ils prennent en charge comme le Saint Graal. guerre.
Il semble y avoir une discussion sans fin sur les IDE, certaines personnes préfèrent VisualStudio, d'autres préfèrent IntelliJ et d'autres encore préfèrent les anciens éditeurs comme Vim. On a toujours dit que l’éditeur de texte que l’on aime utiliser reflète souvent la personnalité de l’utilisateur. Cela peut paraître un peu absurde.
Après l'essor de la technologie de l'IA, une « guerre » similaire semble avoir éclaté entre les deux camps des frameworks d'apprentissage profond PyTorch et TensorFlow. Il y a de nombreux partisans derrière les deux camps, et ils ont tous deux de bonnes raisons pour lesquelles leur cadre préféré est le meilleur.
Cela dit, les données montrent un fait évident. TensorFlow est actuellement le framework d'apprentissage profond le plus utilisé. Il reçoit chaque mois presque deux fois plus de questions sur StackOverflow que PyTorch.
Mais d'un autre côté, PyTorch s'est très bien développé ces derniers temps et le nombre d'utilisateurs de TensorFlow n'a pas augmenté. Avant cet article, PyTorch gagnait régulièrement du terrain.
Pour être complet, l'image ci-dessous montre également Keras, qui a été publié à peu près en même temps que TensorFlow. De toute évidence, Keras a sous-performé ces dernières années, simplement parce que Keras est un peu simple et trop lent pour les besoins de la plupart des praticiens du deep learning.
La popularité de PyTorch continue de croître, tandis que la croissance de TensorFlow est au point mort. est toujours en baisse. Il y a donc tout lieu de penser que cette tendance à la baisse deviendra encore plus prononcée dans les années à venir, notamment dans le domaine Python.
PyTorch est un framework plus pythonique
TensorFlow, développé par Google, a été l'un des premiers frameworks à apparaître lors de la soirée deep learning fin 2015. Cependant, comme tout logiciel, la première version est toujours assez lourde à utiliser.
C'est pourquoi Meta (Facebook) a commencé à développer PyTorch, en tant que technologie ayant des fonctions similaires à TensorFlow mais plus pratique à utiliser.
L'équipe de développement de TensorFlow l'a rapidement remarqué et a adopté bon nombre des fonctionnalités les plus populaires de PyTorch dans la mise à jour majeure de TensorFlow 2.0.
Une bonne règle de base est que les utilisateurs peuvent faire dans TensorFlow tout ce que PyTorch peut faire. Il faudra deux fois plus d'efforts pour écrire le code. Même aujourd’hui, ce n’est pas si intuitif et semble très impythonique.
En revanche, pour les utilisateurs qui aiment utiliser Python, l'expérience PyTorch est très naturelle.
De nombreuses entreprises et établissements universitaires ne disposent pas de la puissante puissance de calcul nécessaire pour construire de grands modèles. Cependant, lorsqu’il s’agit d’apprentissage automatique, l’échelle est reine : plus le modèle est grand, meilleures sont les performances.
Avec l'aide de HuggingFace, les ingénieurs peuvent prendre des modèles volumineux, formés et réglés et les intégrer dans leurs pipelines de flux de travail avec seulement quelques lignes de code. Cependant, 85 % de ces modèles ne fonctionnent qu’avec PyTorch. Seulement environ 8 % des modèles HuggingFace sont uniques à TensorFlow. Le reste peut être partagé entre les deux cadres.
Cela signifie que si de nombreux utilisateurs envisagent aujourd'hui d'utiliser de grands modèles, ils feraient mieux de rester à l'écart de TensorFlow, sinon ils devront investir beaucoup de ressources informatiques pour entraîner le modèle.
PyTorch est plus adapté aux étudiants et à la recherche
PyTorch est plus populaire dans le milieu universitaire. Ce n’est pas sans raison : les trois quarts des articles de recherche utilisent PyTorch. Même parmi les chercheurs qui ont commencé à utiliser TensorFlow (rappelez-vous, cela est arrivé beaucoup plus tôt dans le domaine de l'apprentissage profond) la plupart sont maintenant passés à PyTorch.
Cette tendance surprenante est là pour rester, même si Google joue un rôle de premier plan dans la recherche sur l'IA et utilise principalement TensorFlow.
Plus logiquement, la recherche affecte l'enseignement et détermine ce que les élèves apprendront. Un professeur qui publie la plupart de ses articles en utilisant PyTorch sera plus enclin à l’utiliser lors de cours. Non seulement ils peuvent plus facilement enseigner et répondre aux questions sur PyTorch, mais ils peuvent également croire davantage au succès de PyTorch.
Par conséquent, les étudiants en savent peut-être beaucoup plus sur PyTorch que TensorFlow. De plus, sachant que les étudiants d’aujourd’hui sont les travailleurs de demain, on peut imaginer le sens de cette tendance…
Au final, seulement quand on participe à l’écosystème Seulement quand le logiciel le cadre est important. PyTorch et TensorFlow disposent d'écosystèmes assez développés, comprenant des référentiels pour les modèles de formation en plus de HuggingFace, des systèmes de gestion de données, des mécanismes de prévention des pannes, etc.
Il convient de mentionner que jusqu'à présent, l'écosystème de TensorFlow est encore légèrement plus développé que celui de PyTorch. Mais gardez à l’esprit que PyTorch est arrivé plus tard et a connu une croissance considérable du nombre d’utilisateurs au cours des dernières années seulement. Par conséquent, l’écosystème de PyTorch pourrait un jour surpasser celui de TensorFlow.
Bien que le code TensorFlow soit lourd à écrire, une fois écrit, il est beaucoup plus facile à déployer que PyTorch. Des outils tels que les services TensorFlow et TensorFlow Lite peuvent être déployés en un clin d'œil sur le cloud, les serveurs, les appareils mobiles et IoT.
D'un autre côté, PyTorch a toujours été notoirement lent lorsqu'il s'agit de déployer des outils de publication. Cela étant dit, l’écart avec TensorFlow a récemment été réduit à un rythme accéléré.
C'est difficile à prédire pour le moment, mais il est très probable que PyTorch rattrapera, voire dépassera, le déploiement de l'infrastructure de TensorFlow dans les prochaines années.
Le code TensorFlow peut encore exister pendant un certain temps, car changer de framework après le déploiement coûte cher. Cependant, il est concevable que de nouvelles applications d’apprentissage profond soient de plus en plus écrites et déployées à l’aide de PyTorch.
TensorFlow ne disparaît pas. Il ne fait tout simplement plus aussi chaud qu'avant.
La raison principale est que de nombreuses personnes qui utilisent Python pour l'apprentissage automatique se tournent vers PyTorch.
Il est à noter que Python n'est pas le seul langage d'apprentissage automatique. Il s'agit du langage de programmation représentatif de l'apprentissage automatique, et c'est la seule raison pour laquelle les développeurs TensorFlow ont concentré leur support sur Python.
Maintenant, TensorFlow peut également être utilisé avec JavaScript, Java et C++. La communauté a également commencé à développer la prise en charge d'autres langages tels que Julia, Rust, Scala et Haskell.
PyTorch, en revanche, est extrêmement centré sur Python – c'est pourquoi il semble si pythonique. Même s'il dispose d'une API C++, sa prise en charge d'autres langages n'est pas aussi bonne que celle de TensorFlow.
Il est concevable que PyTorch remplace TensorFlow en Python. TensorFlow, en revanche, restera un acteur majeur dans le domaine du deep learning en raison de son excellent écosystème, de ses capacités de déploiement et de sa prise en charge d'autres langages.
La mesure dans laquelle vous aimez Python détermine si vous devez choisir TensorFlow ou PyTorch pour votre prochain projet.
Lien original : https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!