Hub documentation

Usando MLX no Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Usando MLX no Hugging Face

MLX é um framework de treinamento e serviço de modelos para Apple silicon, desenvolvido pela Apple Machine Learning Research.

Ele vem com uma variedade de exemplos:

Explorando o MLX no Hub

Você pode encontrar modelos MLX filtrando à esquerda na página de modelos. Também existe uma comunidade MLX aberta de contribuidores convertendo e publicando pesos para o formato MLX.

Graças à integração do MLX com o Hugging Face Hub, você pode carregar modelos MLX com poucas linhas de código.

Instalação

MLX é disponibilizado como um pacote independente, e há um subpacote chamado MLX-LM com integração do Hugging Face para Large Language Models. Para instalar o MLX-LM, você pode usar a seguinte instalação em uma linha através do pip:

pip install mlx-lm

Você pode obter mais informações sobre isso aqui.

Se você instalar mlx-lm, não precisa instalar mlx. Se você não quiser usar mlx-lm e apenas o MLX, pode instalar o próprio MLX da seguinte forma.

Com pip:

pip install mlx

Com conda:

conda install -c conda-forge mlx

Usando Modelos Existentes

O MLX-LM possui utilitários úteis para gerar texto. A linha a seguir baixa e carrega o modelo diretamente e inicia a geração de texto.

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

Para obter a lista completa de opções de geração, execute

python -m mlx_lm.generate --help

Você também pode carregar um modelo e começar a gerar texto por meio do Python, como abaixo:

from mlx_lm import load, generate

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

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

O MLX-LM suporta arquiteturas populares de LLM, incluindo LLaMA, Phi-2, Mistral e Qwen. Modelos que não são suportados podem ser baixados facilmente da seguinte forma:

Definir HF_XET_HIGH_PERFORMANCE=1 aumenta os limites de concorrência e os tamanhos de buffer para máquinas com alta largura de banda e pelo 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>

Convertendo e Compartilhando Modelos

Você pode converter e, opcionalmente, quantizar LLMs do Hugging Face Hub da seguinte forma:

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

Se você deseja enviar diretamente o modelo após a conversão, pode fazer como abaixo.

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

Recursos adicionais

Update on GitHub