Hub documentation

Utiliser MLX chez Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Utiliser MLX chez Hugging Face

MLX est un framework d’entraînement et de service de modèles pour les puces Apple, développé par Apple Machine Learning Research.

Il est accompagné d'une variété d'exemples :

Explorer MLX sur le Hub

Vous pouvez trouver des modèles MLX en filtrant à gauche de la page des modèles. Il existe également une communauté MLX ouverte de contributeurs qui convertissent et publient des poids au format MLX.

Grâce à l'intégration de MLX avec le Hugging Face Hub, vous pouvez charger des modèles MLX en quelques lignes de code.

Installation

MLX est fourni sous forme de package autonome, et il existe un sous-package appelé MLX-LM avec une intégration Hugging Face pour les Large Language Models. Pour installer MLX-LM, vous pouvez utiliser l’installation en une ligne suivante via pip :

pip install mlx-lm

Vous pouvez obtenir plus d'informations à ce sujet ici.

Si vous installez mlx-lm, vous n’avez pas besoin d’installer mlx. Si vous ne souhaitez pas utiliser mlx-lm mais uniquement MLX, vous pouvez installer MLX lui-même comme suit.

Avec pip :

pip install mlx

Avec conda :

conda install -c conda-forge mlx

Utilisation de modèles existants

MLX-LM propose des utilitaires pratiques pour générer du texte. La ligne suivante télécharge et charge directement le modèle, puis démarre la génération de texte.

python -m mlx_lm.generate --model mistralai/Mistral-7B-Instruct-v0.2 --prompt "hello"

Pour obtenir la liste complète des options de génération, exécutez

python -m mlx_lm.generate --help

Vous pouvez également charger un modèle et commencer à générer du texte via Python, comme ci-dessous :

from mlx_lm import load, generate

model, tokenizer = load("mistralai/Mistral-7B-Instruct-v0.2")

response = generate(model, tokenizer, prompt="hello", verbose=True)

MLX-LM prend en charge les architectures de LLM populaires, notamment LLaMA, Phi-2, Mistral et Qwen. Les modèles autres que ceux pris en charge peuvent facilement être téléchargés comme suit :

Définir HF_XET_HIGH_PERFORMANCE=1 augmente les limites de concurrence et les tailles de tampon pour les machines disposant d’une bande passante élevée et d’au moins 64 Go de RAM :

pip install -U huggingface_hub

export HF_XET_HIGH_PERFORMANCE=1
hf download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>

Conversion et partage de modèles

Vous pouvez convertir, et éventuellement quantifier, des LLM depuis le Hugging Face Hub comme suit :

python -m mlx_lm.convert --hf-path mistralai/Mistral-7B-v0.1 -q 

Si vous souhaitez pousser directement le modèle après la conversion, vous pouvez procéder comme suit.

python -m mlx_lm.convert \
    --hf-path mistralai/Mistral-7B-v0.1 \
    -q \
    --upload-repo <USER_ID>/<MODEL_NAME>

Ressources supplémentaires

Update on GitHub