> ## Documentation Index
> Fetch the complete documentation index at: https://docsmlx.otterly.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction à MLX

> Comprendre ce que MLX apporte pour exécuter et entraîner des modèles sur Apple Silicon

<Note>
  Cette documentation se concentre sur l'usage de MLX sur Mac avec Apple Silicon. Le projet MLX a évolué au-delà de ce périmètre, mais ici nous privilégions le parcours le plus utile pour un développeur Swift ou Python dans l'écosystème Apple.
</Note>

## Qu'est-ce que MLX ?

**MLX** est un framework open source créé par Apple pour le calcul numérique et le machine learning. Il expose des API en `Python`, `Swift`, `C++` et `C`.

Pour ce site, retenez surtout trois idées :

1. MLX est adapté aux machines Apple Silicon.
2. Il sert autant à l'inférence qu'au fine-tuning.
3. Il s'intègre bien avec un workflow mixte `Swift + Python`.

Si vous voulez charger des modèles open weight, les exécuter localement, les quantifier ou les adapter à votre cas d'usage, MLX est une base solide.

<CardGroup cols={2}>
  <Card title="Repo officiel MLX" icon="github" href="https://github.com/ml-explore/mlx">
    Le framework principal, maintenu dans l'organisation `ml-explore`.
  </Card>

  <Card title="Documentation MLX" icon="book" href="https://ml-explore.github.io/mlx">
    Référence technique pour les API et l'installation.
  </Card>

  <Card title="MLX Community" icon="users" href="https://huggingface.co/mlx-community">
    Modèles déjà convertis et quantifiés pour MLX.
  </Card>

  <Card title="Guide Foundation Models" icon="sparkles" href="/mlx/foundation-models/introduction">
    Le framework système d'Apple pour l'IA intégrée dans vos apps Swift.
  </Card>
</CardGroup>

***

## Pourquoi MLX intéresse les développeurs Apple

### Une mémoire unifiée plus simple à exploiter

Sur Apple Silicon, CPU et GPU partagent la même mémoire physique. MLX s'appuie sur cette architecture pour éviter une grande partie des copies que vous gérez ailleurs plus explicitement.

```python theme={null}
import mlx.core as mx

x = mx.array([1, 2, 3, 4])
y = mx.square(x)

with mx.stream(mx.cpu):
    total = mx.sum(x)
```

Vous manipulez les tableaux avec une API proche de NumPy, sans passer votre temps à déplacer les données entre plusieurs espaces mémoire.

### Une API pensée pour le calcul moderne

MLX combine :

* des tableaux et opérations vectorisées
* des modules de réseau de neurones
* l'autodifférentiation
* la compilation et l'évaluation différée de certaines opérations

Si vous venez de `NumPy`, `PyTorch` ou `Swift for TensorFlow`, la logique générale reste familière.

### Un bon point d'entrée pour les LLMs sur Mac

Dans la pratique, beaucoup de développeurs découvrent MLX via `mlx-lm`, le package de l'écosystème qui simplifie :

* le chargement de modèles
* la génération de texte
* la quantification
* le fine-tuning LoRA et QLoRA
* l'exposition d'un serveur local compatible API

***

## Ce que MLX n'est pas

MLX n'est pas le framework système qui vous donne accès au modèle Apple intégré à l'OS. Pour cela, Apple propose **Foundation Models** côté Swift.

En clair :

* utilisez **Foundation Models** si vous voulez exploiter le modèle système Apple dans une app Swift
* utilisez **MLX** si vous voulez travailler avec vos propres modèles open weight, en Python ou en Swift

Les deux approches sont complémentaires.

***

## Comment penser l'écosystème

### MLX

Le framework de base pour le calcul, les modèles et les opérations bas niveau.

### `mlx-lm`

La couche la plus pratique pour les LLMs en Python. C'est souvent votre point d'entrée si vous voulez aller vite.

### `mlx-swift` et les exemples Swift

Les briques Swift pour charger des modèles MLX dans une app Apple, généralement avec plus de contrôle mais aussi plus de responsabilités qu'avec Foundation Models.

### `mlx-community`

L'organisation Hugging Face où vous trouvez des modèles déjà préparés pour MLX.

***

## Quand choisir MLX

Choisissez MLX si vous voulez :

* exécuter un modèle open weight localement sur Mac
* fine-tuner un modèle avec LoRA ou QLoRA
* garder la main sur le modèle, ses poids et sa distribution
* combiner un backend Python avec une app Swift

Ne partez pas sur MLX en premier si votre besoin est simplement d'ajouter de la génération de texte on-device dans une app Swift moderne et que le modèle système Apple suffit. Dans ce cas, commencez par Foundation Models.

***

## La suite logique

1. Installez `mlx` et `mlx-lm`.
2. Lancez un premier modèle avec la CLI.
3. Passez ensuite soit vers le fine-tuning, soit vers l'intégration Swift selon votre objectif.

<CardGroup cols={2}>
  <Card title="Installation et setup" icon="download" href="/mlx/installation">
    Préparer un environnement propre pour MLX et `mlx-lm`.
  </Card>

  <Card title="Prise en main rapide" icon="rocket" href="/mlx/quickstart">
    Générer du texte en quelques commandes.
  </Card>
</CardGroup>
