MLX - un framework de arreglos similar a Numpy para Apple Silicon
(github.com/ml-explore)- Un framework de arreglos creado por el equipo de investigación de machine learning de Apple, diseñado para ejecutar machine learning de forma eficiente y flexible en Apple Silicon
- Ofrece una API de Python casi idéntica a Numpy, y también cuenta con una API de C++ que incluye toda la funcionalidad
- Diferencias con Numpy
- Composable function transformations: MLX incluye transformaciones de funciones componibles para diferenciación automática, vectorización automática y optimización del grafo computacional
- Lazy Computation: los cálculos en MLX son lazy. Los arreglos solo se materializan cuando es necesario
- Multidispositivo: puede ejecutar operaciones en todos los dispositivos compatibles (CPU, GPU, ...)
- Construcción dinámica de grafos: el grafo computacional de MLX se construye de forma dinámica. Cambiar la forma de los argumentos de una función no ralentiza la velocidad de compilación, y la depuración es simple e intuitiva
- Está inspirado en frameworks como PyTorch, Jax y ArrayFire
- Una diferencia notable entre estos frameworks y MLX es el Unified Memory Model
- Los arreglos de MLX se almacenan en memoria compartida. Las operaciones sobre arreglos de MLX pueden realizarse en todos los tipos de dispositivos compatibles sin copiar datos
- Actualmente, los tipos de dispositivos compatibles son CPU y GPU
- Incluye varios ejemplos
- Entrenamiento de modelos de lenguaje Transformer
- Generación de texto a gran escala con LLaMA y ajuste fino con LoRA
- Generación de imágenes con Stable Diffusion
- Reconocimiento de voz con OpenAI's Whisper
2 comentarios
Esto sí se ve realmente bien. Trabajo mucho con datos dinámicos, así que siempre me costó bastante usar JAX...
Oh, esto está bueno. Lo voy a probar.