Hub documentation
Usando MLX no Hugging Face
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:
- Gerar texto com MLX-LM e gerar texto com MLX-LM para modelos no formato GGUF.
- Geração de texto em larga escala com LLaMA.
- Fine-tuning com LoRA.
- Gerando imagens com Stable Diffusion.
- Reconhecimento de fala com Whisper da OpenAI.
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 --helpVocê 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>