1crk X1btlegwqtmvjnp Q.png

Un benchmark de las principales operaciones y capas en GPU MLX, PyTorch MPS y CUDA.

Imagen del autor: Ejemplo de benchmark sobre la operación softmax

En menos de dos meses desde su primer lanzamiento, la última creación del equipo de investigación de ML de Apple, MLX, ya ha logrado avances significativos en la comunidad de ML. Es sorprendente ver la rapidez con la que el nuevo marco ha llamado la atención, como lo demuestran las más de 12.000 estrellas en GitHub y una comunidad en crecimiento de más de 500 miembros en abrazando la cara 🤗.

en un Artículo anteriordemostramos cómo se desempeña MLX en el entrenamiento de una red convolucional gráfica (GCN) simple, comparándola con varios dispositivos, incluidos UPCPyTorch diputadosy CUDA GPU. Los resultados fueron esclarecedores y mostraron el potencial de MLX para ejecutar modelos de manera eficiente.

En esta exploración, profundizamos y nos propusimos comparar múltiples operaciones clave comúnmente aprovechadas en las redes neuronales.

En nuestro punto de referencia, cada operación se evalúa en función de una variedad de experimentos, que varían en la forma y el tamaño de la entrada. Los hemos ejecutado secuencialmente y varias veces en diferentes procesos para garantizar medidas de tiempo de ejecución estables y confiables.

Con el espíritu de colaboración abierta, hemos hecho que el código de referencia sea de código abierto y fácil de ejecutar. Esto permite a los contribuyentes agregar fácilmente sus propios puntos de referencia según su dispositivo y configuración.

Nota: muchas gracias a todos los contribuyentes, sin los cuales este punto de referencia no comprendería tantos chips básicos.

Ejecutamos con éxito este punto de referencia en 8 diferente Silicio de manzana patatas fritas y 4 alta eficiencia GPU CUDA:

Silicio de manzana: M1, M1 Pro, M2, M2 Pro, M2 Max, M2 Ultra, M3 Pro, M3 Max

GPU CUDA: RTX4090 16GB (Laptop), Tesla V100 32GB (NVLink), Tesla V100 32GB (PCIe), A100 80GB (PCIe).