3 formas de aprovechar la GPU de Apple Silicon para el aprendizaje profundo |  de Jiří Moravčík |  marzo de 2024

Apple Silicon ha aportado impresionantes mejoras de rendimiento con una gran eficiencia energética. ¿Podemos utilizar estos chips también para el aprendizaje profundo?

Imagen del autor

Apple Silicon ha logrado impresionantes mejoras de rendimiento junto con una excelente eficiencia energética. Pero, ¿se pueden utilizar estos chips también para el aprendizaje profundo? ¡Absolutamente!

En este artículo, exploraremos tres formas en las que se puede aprovechar la GPU de Apple Silicon para una variedad de tareas de aprendizaje profundo.

La forma más sencilla de utilizar su GPU para aprendizaje profundo es a través de Sombreadores de rendimiento metálico (MPS). MPS amplía la PyTorch marco para aprovechar las GPU en Mac.

Para utilizar el backend de MPS, necesitará:

  • MacOS 12.3 o posterior
  • Python 3.7 o posterior

Creemos un script para verificar si MPS está configurado correctamente. Primero, necesitaremos crear un directorio con un entorno virtual e instalar PyTorch:

mkdir mps_test
cd mps_test
python3 -m venv .venv
source .venv/bin/activate
pip install torch

A continuación, crearemos un archivo Python, check.py con el siguiente código:

import torch

if __name__ == '__main__':
# Check if MPS backend is available in PyTorch
if torch.backends.mps.is_available():
# Create a vector on the MPS device
x = torch.ones(1, device='mps')
print(x)
else:
print('MPS device not found.')

Ejecutémoslo:

python check.py

El resultado debería mostrar:

tensor([1.], device='mps:0')

Ahora puede aprovechar MPS en cualquier código PyTorch. Por lo general, verá lo siguiente en muchos scripts de PyTorch:

model.to('cuda')

Puedes reemplazarlo con:

model.to('mps')

¡Y disfruta de la aceleración de GPU en tu Apple Silicon!

mlx es un marco de matriz para el aprendizaje automático en Apple Silicon. Está desarrollado por el equipo de investigación de Apple ML. MLX es…