在Hugging Face上使用MLX
MLX 是Apple Machine Learning Research为Apple硅芯片打造的模型训练和服务框架。
它带有各种示例
- 使用MLX-LM生成文本 以及 使用MLX-LM为GGUF格式的模型生成文本。
- 使用LLaMA进行大规模文本生成。
- 使用LoRA进行微调。
- 使用Stable Diffusion生成图像。
- 使用OpenAI的Whisper进行语音识别。
在Hub上探索MLX
您可以在模型页面左侧的筛选器中找到MLX模型。 还有一个开放的MLX社区,由贡献者为MLX格式转换和发布权重。
借助MLX Hugging Face Hub集成,您可以使用几行代码加载MLX模型。
安装
MLX作为一个独立的软件包提供,还有一个名为MLX-LM的子包,用于大语言模型,并集成了Hugging Face。要安装MLX-LM,您可以使用以下通过pip
进行的一行安装
pip install mlx-lm
您可以在此处获取更多相关信息。
如果您安装了mlx-lm
,则无需安装mlx
。如果您不想使用mlx-lm
,而是仅使用MLX,则可以按照以下步骤安装MLX本身。
使用pip
pip install mlx
使用conda
conda install -c conda-forge mlx
使用现有模型
MLX-LM具有生成文本的实用工具。以下行直接下载和加载模型,并开始生成文本。
python -m mlx_lm.generate --model mistralai/Mistral-7B-Instruct-v0.2 --prompt "hello"
要查看完整生成选项列表,请运行
python -m mlx_lm.generate --help
您也可以通过Python加载模型并开始生成文本,如下所示
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支持流行的LLM架构,包括LLaMA、Phi-2、Mistral和Qwen。可以轻松下载不受支持的模型,如下所示
pip install huggingface_hub hf_transfer
export HF_HUB_ENABLE_HF_TRANSFER=1
huggingface-cli download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>
模型转换和共享
您可以按照以下步骤将 Hugging Face Hub 上的 LLMs 转换为其他格式,并可选地进行量化。
python -m mlx_lm.convert --hf-path mistralai/Mistral-7B-v0.1 -q
如果您想在转换后直接推送模型,可以按照以下步骤进行。
python -m mlx_lm.convert \ --hf-path mistralai/Mistral-7B-v0.1 \ -q \ --upload-repo <USER_ID>/<MODEL_NAME>