Hub documentation
Uso de MLX en Hugging Face
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:
- Generar texto con MLX-LM y generar texto con MLX-LM para modelos en formato GGUF.
- Generación de texto a gran escala con LLaMA.
- Ajuste fino con LoRA.
- Generación de imágenes con Stable Diffusion.
- Reconocimiento de voz con Whisper de OpenAI.
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 --helpTambié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>