Buckets:
| # Accelerated PyTorch Training on Mac | |
| With PyTorch v1.12 release, developers and researchers can take advantage of Apple silicon GPUs for significantly faster model training. | |
| This unlocks the ability to perform machine learning workflows like prototyping and fine-tuning locally, right on Mac. | |
| Apple's Metal Performance Shaders (MPS) as a backend for PyTorch enables this and can be used via the new `"mps"` device. | |
| This will map computational graphs and primitives on the MPS Graph framework and tuned kernels provided by MPS. | |
| For more information please refer official documents [Introducing Accelerated PyTorch Training on Mac](https://pytorch.org/blog/introducing-accelerated-pytorch-training-on-mac/) | |
| and [MPS BACKEND](https://pytorch.org/docs/stable/notes/mps.html). | |
| ### Benefits of Training and Inference using Apple Silicon Chips | |
| 1. Enables users to train larger networks or batch sizes locally | |
| 2. Reduces data retrieval latency and provides the GPU with direct access to the full memory store due to unified memory architecture. | |
| Therefore, improving end-to-end performance. | |
| 3. Reduces costs associated with cloud-based development or the need for additional local GPUs. | |
| **Pre-requisites**: To install torch with mps support, | |
| please follow this nice medium article [GPU-Acceleration Comes to PyTorch on M1 Macs](https://medium.com/towards-data-science/gpu-acceleration-comes-to-pytorch-on-m1-macs-195c399efcc1). | |
| ## How it works out of the box | |
| It is enabled by default on MacOs machines with MPS enabled Apple Silicon GPUs. | |
| To disable it, pass `--cpu` flag to `accelerate launch` command or answer the corresponding question when answering the `accelerate config` questionnaire. | |
| You can directly run the following script to test it out on MPS enabled Apple Silicon machines: | |
| ```bash | |
| accelerate launch /examples/cv_example.py --data_dir images | |
| ``` | |
| ## A few caveats to be aware of | |
| 1. Distributed setups `gloo` and `nccl` are not working with `mps` device. | |
| This means that currently only single GPU of `mps` device type can be used. | |
| Finally, please, remember that, `Accelerate` only integrates MPS backend, therefore if you | |
| have any problems or questions with regards to MPS backend usage, please, file an issue with [PyTorch GitHub](https://github.com/pytorch/pytorch/issues). | |
Xet Storage Details
- Size:
- 2.3 kB
- Xet hash:
- ba46dd8f06482cf263d5bc8dee9e0dd1532f872f076a8357865eb38ad4113fdd
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.