À propos du projet
MLX est un framework de tableaux pour l'apprentissage automatique sur Apple silicon, développé par l'équipe de recherche en apprentissage automatique d'Apple. Il fournit une API Python qui suit étroitement NumPy, avec des API C++, C et Swift entièrement fonctionnelles qui reflètent l'interface Python. Des packages de niveau supérieur comme `mlx.nn` et `mlx.optimizers` suivent les conventions de PyTorch pour construire des modèles complexes.
Les fonctionnalités clés incluent :
- **API familières** : API Python de type NumPy, plus des versions C++, C et Swift.
- **Transformations de fonctions composables** : prend en charge la différenciation automatique, la vectorisation et l'optimisation du graphe de calcul.
- **Calcul paresseux** : les tableaux ne sont matérialisés que lorsque nécessaire.
- **Construction de graphes dynamiques** : les graphes de calcul sont construits dynamiquement, évitant les recompilations lentes lorsque les formes changent.
- **Multi-périphérique** : les opérations s'exécutent sur CPU et GPU.
- **Mémoire unifiée** : les tableaux vivent dans une mémoire partagée, permettant des opérations sur plusieurs périphériques sans transfert de données.
MLX est conçu pour les chercheurs en apprentissage automatique, visant la convivialité et l'efficacité dans l'entraînement et le déploiement. Il s'inspire de NumPy, PyTorch, Jax et ArrayFire.
L'installation se fait via pip sur macOS (`pip install mlx`), avec des options Linux pour CUDA (`mlx[cuda]`) ou CPU uniquement (`mlx[cpu]`). Le dépôt d'exemples MLX inclut l'entraînement de modèles de langage transformateurs, la génération de texte LLaMA avec finetuning LoRA, la génération d'images Stable Diffusion et la reconnaissance vocale Whisper.
La documentation, les guides de démarrage rapide et les directives de contribution sont disponibles dans le dépôt. Le projet est open-source et remercie les contributeurs.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.