PyTorch optimisé pour les Mac Apple Silicon, avec l’aide d’Apple

Nicolas Furno |

PyTorch annonce la sortie d’une version optimisée pour les Mac Apple Silicon de ses outils, un travail réalisé avec l’aide d’Apple. Ce framework open-source d’apprentissage automatisé (machine learning) construit sur une base de Python est utilisé sur de multiples projets, y compris de grande envergure, puisqu’une entreprise comme Tesla l’a utilisé pour la conduite autonome, pour ne donner qu’un exemple. Sur les Mac, il reposait uniquement sur le CPU jusque-là, avec des performances médiocres.

La version 1.12 exploitera le GPU et la mémoire unifiée des puces Apple destinés aux Mac M1. Metal, l’API graphique maison, est aussi exploitée, mais apparemment pas le moteur neuronal pourtant présent dans toutes les puces Apple Silicon. Quoi qu’il en soit, les gains devraient être spectaculaires, avec des performances multipliées par au moins cinq en phase d’apprentissage sur un Mac Studio équipé d’une puce M1 Ultra. C’est encore plus net quand le modèle entraîné est exploité, avec jusqu’à 20 fois plus de performances selon les tests.

Gains de performances de la puce M1 Ultra sur plusieurs tests, en apprentissage et en exploitation du modèle d’apprentissage automatisé. La barre noire représente la base, avec le CPU seul.

La version 1.12 n’est pas encore finalisée, c’est la version 1.11 qui est actuellement stable. Si vous utilisez PyTorch et un Mac Apple Silicon, vous pourrez tester la mise à jour en installant la « Preview (Nightly) » depuis la page des téléchargements du projet. Deux précisions importantes, il faut non seulement macOS 12.3, mais aussi une version récente et arm64 de Python. Les détails sont donnés sur cette page de téléchargement.

avatar Lameth | 

Bonne nouvelle. Pour info PyTorch est issu des équipes de dev de Facebook. A lui opposer le framework issu des équipes de dev de Google : tensorflow

avatar jopaone | 

@Lameth

Et sauf erreur de ma part je ne crois pas que Tensorflow soit encore optimisé pour les puces M1.

avatar Lameth | 

@jopaone

Nope je ne crois pas non plus. Espérons que cela incite Google à s’y mettre !

avatar jopaone | 

@Lameth

C’est clair car justement niveau perf , y compris sur Linux, TF est à la traîne par rapport à PyTorch

avatar tupui | 

@Lameth

En fait Apple avait sortit eux même un fork avec le support du M1 à sa sortie. Mais comme d’habitude pas maintenu et tensorflow n’a (publiquement du moins) rien fait.

avatar Amaczing | 

@tupui

Source ?

avatar tupui | 
avatar Amaczing | 

@tupui

🙏🏻

avatar Ensearque | 

@Lameth

Apple avait commencé un fork de TF mais il n’a pas été mis à jour et n’a pas l’air d’être maintenu. On arrive parfois à avoir de l’accélération GPU mais ça a l’air aléatoire donc difficile d’avoir une stratégie de distribution optimale

avatar klemanet | 

Il pourrait aider Citrix aussi? Ça serait cool de supprimer Rosetta

avatar raoolito | 

sans lien direct, Video copilot vient de mettre à jour ses principaux plugins, payants comme gratuits :)
https://www.videocopilot.net/products/m1/?utm_source=mailchimp&utm_medium=email&utm_campaign=m1_2022

avatar iPop | 

Je ne comprend cette idée de commencer des articles sans une présentation. Je n’ai rien compris et une perte de temps pour moi.

avatar Nicolas Furno | 

@iPop

Ben la deuxième phrase pourtant. Après, on ne peut pas expliquer toute l’informatique dans tous les articles non plus, c’est sûr.

CONNEXION UTILISATEUR