Accelerate documentation
Entraînement PyTorch accéléré sur Mac
Entraînement PyTorch accéléré sur Mac
Avec la sortie de PyTorch v1.12, les développeurs et les chercheurs peuvent tirer parti des GPU Apple silicon pour un entraînement de modèles nettement plus rapide.
Cela permet d’exécuter des flux de travail de machine learning, comme le prototypage et le fine-tuning, localement, directement sur Mac.
Les Metal Performance Shaders (MPS) d’Apple, en tant que backend pour PyTorch, rendent cela possible et peuvent être utilisés via le nouvel appareil "mps".
Cela mappe les graphes de calcul et les primitives sur le framework MPS Graph et les noyaux optimisés fournis par MPS.
Pour plus d’informations, veuillez consulter les documents officiels Introducing Accelerated PyTorch Training on Mac et MPS BACKEND.
Avantages de l’entraînement et de l’inférence sur des puces Apple Silicon
- Permet aux utilisateurs d'entraîner des réseaux plus grands ou des tailles de lot plus importantes en local
- Réduit la latence de récupération des données et offre au GPU un accès direct à l’ensemble du magasin mémoire grâce à l’architecture de mémoire unifiée. Améliore ainsi les performances de bout en bout.
- Réduit les coûts liés au développement basé sur le cloud ou le besoin de GPU locaux supplémentaires.
Prérequis : Pour installer torch avec la prise en charge de mps, veuillez suivre cet excellent article medium GPU-Acceleration Comes to PyTorch on M1 Macs.
Fonctionnement par défaut
Il est activé par défaut sur les machines MacOs équipées de GPU Apple Silicon avec MPS activé.
Pour le désactiver, passez le drapeau --cpu à la commande accelerate launch ou répondez à la question correspondante lors du questionnaire accelerate config.
Vous pouvez exécuter directement le script suivant pour le tester sur des machines Apple Silicon compatibles MPS :
accelerate launch /examples/cv_example.py --data_dir images
Quelques points de vigilance
- Les configurations distribuées
glooetncclne fonctionnent pas avec le dispositifmps. Cela signifie qu'actuellement, seul un GPU unique de type de dispositifmpspeut être utilisé.
Enfin, n’oubliez pas que Accelerate intègre uniquement le backend MPS. Par conséquent, si vous rencontrez des problèmes ou avez des questions concernant l’utilisation du backend MPS, veuillez ouvrir un ticket sur GitHub PyTorch.