Hub documentation

Uso de MLX en Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Uso de MLX en Hugging Face

MLX es un marco de entrenamiento y servicio de modelos para Apple silicon creado por Apple Machine Learning Research.

Incluye una variedad de ejemplos:

Explorando MLX en el Hub

Puedes encontrar modelos de MLX filtrando a la izquierda de la página de modelos. También existe una comunidad de MLX abierta de colaboradores que convierten y publican pesos para el formato MLX.

Gracias a la integración de MLX con Hugging Face Hub, puedes cargar modelos de MLX con unas pocas líneas de código.

Instalación

MLX se distribuye como un paquete independiente, y existe un subpaquete llamado MLX-LM con integración de Hugging Face para Modelos de Lenguaje Grandes. Para instalar MLX-LM, puedes usar la siguiente instalación de una línea a través de pip:

pip install mlx-lm

Puedes obtener más información al respecto aquí.

Si instalas mlx-lm, no necesitas instalar mlx. Si no quieres usar mlx-lm sino solo MLX, puedes instalar MLX de la siguiente manera.

Con pip:

pip install mlx

Con conda:

conda install -c conda-forge mlx

Uso de modelos existentes

MLX-LM tiene utilidades útiles para generar texto. La siguiente línea descarga y carga el modelo directamente y comienza a generar texto.

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

Para obtener la lista completa de opciones de generación, ejecute

python -m mlx_lm.generate --help

También puede cargar un modelo y comenzar a generar texto a través de Python, como se muestra a continuación:

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 admite arquitecturas de LLM populares, como LLaMA, Phi-2, Mistral y Qwen. Los modelos que no están entre los admitidos se pueden descargar fácilmente de la siguiente manera:

Establecer HF_XET_HIGH_PERFORMANCE=1 aumenta los límites de concurrencia y los tamaños de búfer para máquinas con ancho de banda alto y al menos 64 GB de RAM:

pip install -U huggingface_hub

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

Conversión y compartición de modelos

Puede convertir y, opcionalmente, cuantizar LLMs del Hugging Face Hub de la siguiente manera:

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

Si deseas subir directamente el modelo después de la conversión, puedes hacerlo de la siguiente manera.

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

Recursos adicionales

Update on GitHub