Sobre el proyecto

MLX es un marco de arrays para aprendizaje automático en Apple silicon, desarrollado por el equipo de investigación de aprendizaje automático de Apple. Proporciona una API de Python que sigue de cerca a NumPy, con APIs completas en C++, C y Swift que reflejan la interfaz de Python. Los paquetes de nivel superior como `mlx.nn` y `mlx.optimizers` siguen las convenciones de PyTorch para construir modelos complejos. Características principales: - **APIs familiares**: API de Python similar a NumPy, más versiones en C++, C y Swift. - **Transformaciones de funciones componibles**: Soporta diferenciación automática, vectorización y optimización de grafos de computación. - **Computación diferida**: Los arrays se materializan solo cuando es necesario. - **Construcción dinámica de grafos**: Los grafos de computación se construyen dinámicamente, evitando recompiaciones lentas cuando cambian las formas. - **Multidispositivo**: Las operaciones se ejecutan en CPU y GPU. - **Memoria unificada**: Los arrays residen en memoria compartida, permitiendo operaciones entre dispositivos sin transferencia de datos. MLX está diseñado para investigadores de aprendizaje automático, con el objetivo de ser fácil de usar y eficiente en el entrenamiento y la implementación. Se inspira en NumPy, PyTorch, Jax y ArrayFire. La instalación se realiza mediante pip en macOS (`pip install mlx`), con opciones para Linux con CUDA (`mlx[cuda]`) o solo CPU (`mlx[cpu]`). El repositorio de ejemplos de MLX incluye entrenamiento de modelos de lenguaje transformer, generación de texto LLaMA con ajuste fino LoRA, generación de imágenes Stable Diffusion y reconocimiento de voz Whisper. La documentación, las guías de inicio rápido y las pautas de contribución están disponibles en el repositorio. El proyecto es de código abierto y reconoce a los contribuyentes.