在 Hugging Face 使用 MLX
MLX 是 Apple 机器学习研究为 Apple silicon 制作的模型训练和服务框架。
它附带各种示例:
- 使用 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 -U huggingface_hub
export HF_XET_HIGH_PERFORMANCE=1
hf download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>
转换和分享模型
你可以从 Hugging Face Hub 转换 LLM,并可选择量化,如下所示:
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>