跳到主要内容

在 Hugging Face 使用 MLX

MLX 是 Apple 机器学习研究为 Apple silicon 制作的模型训练和服务框架。

它附带各种示例:

在 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>

其他资源