Hub documentation

在 Hugging Face 上使用 MLX

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

在 Hugging Face 上使用 MLX

MLX 是由 Apple Machine Learning Research 开发的,专为 Apple 芯片打造的模型训练与推理框架。

它附带了多种示例:

在 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。其他未受支持的模型可以按照以下方式轻松下载:

设置 HF_XET_HIGH_PERFORMANCE=1 会为高带宽且至少配备 64 GB 内存的机器提高并发上限和缓冲区大小:

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>

其他资源

Update on GitHub