La version PyTorch 2.0 accélère l’apprentissage automatique open source
Découvrez les sessions à la demande du sommet Low-Code/No-Code pour apprendre à innover avec succès et à gagner en efficacité en améliorant et en faisant évoluer les développeurs citoyens. Regarde maintenant.
Parmi les technologies d’apprentissage automatique (ML) les plus largement utilisées aujourd’hui figure le framework open source PyTorch.
PyTorch a fait ses débuts sur Facebook (maintenant connu sous le nom de Meta) en 2016 avec la sortie de la version 1.0 en 2018. En septembre 2022, Meta a déplacé le projet PyTorch vers la nouvelle PyTorch Foundation, qui est gérée par la Linux Foundation. Aujourd’hui, les développeurs de PyTorch ont franchi la prochaine étape majeure pour PyTorch, en annonçant la première version expérimentale de PyTorch 2.0. La nouvelle version promet d’aider à accélérer la formation et le développement ML, tout en maintenant la rétrocompatibilité avec le code d’application PyTorch existant.
Nous avons ajouté une fonctionnalité supplémentaire appelée `torch.compile` que les utilisateurs doivent insérer dans leurs bases de code, Soumith Chintala, mainteneur principal, PyTorch. dit VentureBeat. Nous l’appelons 2.0 car nous pensons que les utilisateurs y trouveront un nouvel ajout important à l’expérience.
Le nouveau compilateur de PyTorch qui fait toute la différence pour le ML
Il y a eu des discussions dans le passé sur le moment où le projet PyTorch devrait appeler une nouvelle version 2.0.
Événement
Sommet sur la sécurité intelligente
Découvrez le rôle critique de l’IA et du ML dans la cybersécurité et des études de cas spécifiques à l’industrie le 8 décembre. Inscrivez-vous pour votre laissez-passer gratuit aujourd’hui.
S’inscrire maintenant
En 2021, par exemple, il y a eu une brève discussion sur la question de savoir si PyTorch 1.10 devait être étiqueté comme une version 2.0. Chintala a déclaré que PyTorch 1.10 n’avait pas suffisamment de changements fondamentaux par rapport à 1.9 pour justifier une mise à niveau majeure vers 2.0.
La version la plus récente généralement disponible de PyTorch est la version 1.13, qui est sortie fin octobre. Une caractéristique clé de cette version provenait d’une contribution de code IBM permettant au cadre d’apprentissage automatique de fonctionner plus efficacement avec les réseaux Ethernet de base pour les charges de travail à grande échelle.
Chintala a souligné que le moment était venu pour PyTorch 2.0, car le projet introduit un nouveau paradigme supplémentaire dans l’expérience utilisateur de PyTorch, appelé torch.compile, qui apporte aux utilisateurs des accélérations solides qui n’étaient pas possibles dans le mode impatient par défaut de PyTorch 1.0.
Il a expliqué que sur environ 160 modèles open source sur lesquels le projet PyTorch a validé les premières versions de 2.0, il y a eu une accélération de 43 % et ils ont fonctionné de manière fiable avec l’ajout d’une ligne à la base de code.
Nous nous attendons à ce qu’avec PyTorch 2, les gens changent leur façon d’utiliser PyTorch au quotidien, a déclaré Chintala.
Il a déclaré qu’avec PyTorch 2.0, les développeurs commenceront leurs expériences avec le mode impatient et, une fois qu’ils auront formé leurs modèles pendant de longues périodes, activeront le mode compilé pour des performances supplémentaires.
Les scientifiques des données pourront faire avec PyTorch 2.x les mêmes choses qu’ils ont faites avec 1.x, mais ils peuvent les faire plus rapidement et à plus grande échelle, a déclaré Chintala. Si votre modèle s’entraînait sur 5 jours et qu’avec le mode compilé 2.xs, il s’entraîne désormais en 2,5 jours, vous pouvez itérer sur plus d’idées avec ce temps supplémentaire ou créer un modèle plus grand qui s’entraîne dans les mêmes 5 jours.
Plus de Python à venir sur PyTorch 2.x
PyTorch tire la première partie de son nom (Py) du langage de programmation Python open source largement utilisé en science des données.
Les versions modernes de PyTorch, cependant, n’ont pas été entièrement écrites en Python, car certaines parties du framework sont désormais écrites dans le langage de programmation C++.
Au fil des ans, nous avons déplacé de nombreuses parties de torch.nn de Python vers C++ pour optimiser les performances du dernier kilomètre, a déclaré Chintala.
Chintala a déclaré que dans la dernière série 2.x (mais pas dans la version 2.0), le projet PyTorch prévoit de déplacer le code lié à torch.nn vers Python. Il a noté que C++ est généralement plus rapide que Python, mais que le nouveau compilateur (torch.compile) finit par être plus rapide que l’exécution du code équivalent en C++.
Le déplacement de ces parties vers Python améliore la capacité de piratage et abaisse la barrière pour les contributions de code, a déclaré Chintala.
Les travaux sur Python 2.0 se poursuivront au cours des prochains mois et la disponibilité générale n’est pas prévue avant mars 2023. Parallèlement à l’effort de développement, PyTorch passe de la régie et de l’exploitation par Meta à son propre effort indépendant.
La Fondation PyTorch n’en est qu’à ses débuts, et vous en entendrez plus sur un horizon temporel plus long, a déclaré Chintala. La fondation est en train d’exécuter divers transferts et d’établir des objectifs.
La mission de VentureBeat est d’être une place publique numérique permettant aux décideurs techniques d’acquérir des connaissances sur la technologie d’entreprise transformatrice et d’effectuer des transactions. Découvrez nos Briefings.