在 Mac 上下载并运行 LLM。

在本地运行模型,第一步是找到合适的文件:适合你所用 App 的格式、Mac 内存装得下的大小,以及能保持质量的量化方式。下面介绍如何在 Apple 芯片上选择、下载并运行开源模型。

更新于

要点速览

  • 开源模型集中在 Hugging Face。在 Mac 上,找 MLX 版本(常由 mlx-community 发布),或供 llama.cpp、Ollama 和 LM Studio 使用的 GGUF 文件。
  • 内存决定装得下什么:4-bit 的 MLX 模型每 10 亿参数约需 0.56 GB,另外还要给上下文和 macOS 留出空间。
  • 受限模型需要一个免费的 Hugging Face 账户、接受许可,以及一个令牌。
  • 可以用 MLX Harness、mlx-lm、LM Studio 或 Ollama 运行。

1去哪里找模型

大多数开放权重模型都托管在 Hugging Face。同一个模型通常有好几个版本,格式决定了哪个 App 能运行它:

格式外观可在这些工具中运行
MLX一个包含 safetensors 文件和 config.json 的文件夹,名称类似 Model-4bitmlx-lm、LM Studio、MLX Harness
GGUF一个或几个 .gguf 文件,名称类似 Q4_K_Mllama.cpp、Ollama、LM Studio
原始权重模型发布者提供的全精度 safetensors先转换为 MLX,或选择现成的版本
热门模型的现成 MLX 版本由 mlx-community 组织发布;也可以用 mlx-lm 自己制作(mlx-lm)。

不确定用哪个运行时?MLX、Ollama 与 llama.cpp 对比做了比较。完全是新手?先从在 Mac 上运行 LLM 开始。

2选一个内存装得下的大小

模型权重必须放进内存,并留有余量。MLX 存储量化权重时,除了每个权重本身的位数,每 64 个权重还共用一个缩放值和一个偏置,相当于每个权重多出约半个比特(MLX)。因此 4-bit 每 10 亿参数约需 0.56 GB,8-bit 约需 1.06 GB。

参数量4-bit(MLX)8-bit(MLX)16-bit
30 亿约 1.7 GB约 3.2 GB6 GB
80 亿约 4.5 GB约 8.5 GB16 GB
140 亿约 7.9 GB约 14.9 GB28 GB
320 亿约 18 GB约 34 GB64 GB
700 亿约 39 GB约 74 GB140 GB
仅计权重:MLX 量化版本按 参数量 ×(位数 + 0.5)÷ 8 计算,16-bit 为每个参数 2 字节。对话的上下文和 macOS 还需要额外空间。

macOS 默认只允许 GPU 使用部分统一内存;Compare 按约四分之三计算,mlx-lm 的 README 说明了如何在 macOS 15 或更高版本上用 sudo sysctl iogpu.wired_limit_mb=N 提高这个上限(mlx-lm)。对于混合专家模型,总参数量决定内存,激活参数量决定速度。Compare 会为每个热门模型和每款 Apple 芯片完成这些计算,本地跑大模型的最佳 Mac 解释了为什么带宽决定速度。

3量化:4-bit、8-bit 及其他

量化用更少的比特存储每个权重,让模型占用更少内存、运行更快,代价是一定的质量损失。在 Mac 上,4-bit 是常见的起点。8-bit 更接近原始模型,大小是 4-bit 的两倍。低于 4 bit 时,文件会变小,但回答质量下降得更快,所以只在更大的模型否则装不下时才尝试。

  • MLX 版本 会在名称中写明:-4bit、-8bit,有时还有混合精度版本,对敏感的层保留更多比特。
  • GGUF 文件 使用 llama.cpp 的命名:Q4_K_M、Q5_K_M、Q8_0 等。在 Ollama 中运行 Hugging Face 上的 GGUF 仓库而不指定版本时,只要有 Q4_K_M,它就会选用 Q4_K_M(Hugging Face)。
  • 自己制作 MLX 版本:从原始权重出发,mlx_lm.convert --model mistralai/Mistral-7B-Instruct-v0.3 -q 会写出一份 4-bit 副本(mlx-lm)。

4磁盘空间与模型存放位置

下载大小与上表中的权重大小相当,所以 4-bit 的 8B 模型只有几 GB,70B 模型则要几十 GB。同一个模型多试几种大小或版本,占用的空间很快就会累积起来。

mlx-lm 和其他 Hugging Face 工具把下载内容存放在 ~/.cache/huggingface/hub;设置 HF_HOME 或 HF_HUB_CACHE 可以更改位置。hf cache ls 显示其中有什么,hf cache rm 删除模型(Hugging Face)。Ollama 和 LM Studio 把模型放在各自的文件夹中,并自行管理。

5受限模型与 Hugging Face 令牌

有些模型是受限的,Llama 就是其中之一:下载前你需要接受发布者的条款(Hugging Face)。

  1. 登录一个免费的 Hugging Face 账户,打开模型页面。
  2. 用页面上的按钮接受条款(默认是 Agree and send request to access repo)。有些发布者会人工审批请求,需要更长时间。
  3. 在 Hugging Face 设置中创建访问令牌。
  4. 把令牌交给你的工具:在终端中运行 hf auth login,供 mlx-lm 和其他 Hugging Face 工具使用(Hugging Face),或把它粘贴到 App 的 Hugging Face 令牌栏中。

6运行模型:四种方式

mlx-lm:在终端中使用 Apple 的 MLX

用 pip 安装,然后指定 Hugging Face 上任意一个 MLX 模型;第一次运行时会自动下载(mlx-lm)。

pip install mlx-lm
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "How tall is Mt Everest?"
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bit

mlx_lm.server 在 localhost:8080 上以 OpenAI 风格的 API 提供模型,供其他 App 使用(mlx-lm):

mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit
curl localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Say this is a test!"}]}'

LM Studio:带模型浏览器的 App

LM Studio 在 App 内搜索并下载 Hugging Face 上的模型,在 Apple 芯片上既能运行 MLX 模型,也能通过 llama.cpp 运行 GGUF。它需要 Apple 芯片和 macOS 14 或更高版本,建议 16 GB 或以上内存(LM Studio)。

Ollama:一行命令

Ollama 运行自家模型库中的模型,也能直接运行 Hugging Face 上的任意 GGUF 仓库,还可以加上量化标签(Hugging Face):

ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_M

MLX Harness:我们的免费 App

MLX Harness 是我们基于 vMLX 构建的免费 Mac App:它在 Hugging Face 上搜索 MLX 模型,可以聊天、运行工具和图像模型,并通过本地 API 提供所有服务。它的网关也使用 8080 端口,所以不要和 mlx_lm.server 在同一端口上同时运行。不用 Mac 的时候,MLX Node 可以把它借给 MLX Network。

7常见问题

在哪里下载 Mac 用的 LLM?
在 Hugging Face。找 MLX 版本(很多由 mlx-community 发布)或 GGUF 文件。LM Studio 和 Ollama 也能替你搜索和下载。
该下载多大的模型?
选权重能宽松放进你 Mac 内存的:4-bit 下每 10 亿参数约 0.56 GB,所以 8B 模型约 4.5 GB,70B 约 39 GB,另外还要给上下文留空间。mlx.app 上的 Compare 会针对你的 Mac 帮你核对。
Mac 上该用 MLX 还是 GGUF?
两者在 Apple 芯片上都运行良好。MLX 版本专为 Apple 的 MLX 制作,可在 mlx-lm、LM Studio 和 MLX Harness 中运行;GGUF 文件可在 llama.cpp、Ollama 和 LM Studio 中运行。
需要 Hugging Face 账户吗?
公开模型不需要。受限模型需要一个免费账户、接受许可,以及一个访问令牌。
下载的模型能离线运行吗?
能。文件一旦在你的 Mac 上,模型无需联网即可运行,你的提示词也留在 Mac 上。

来源

  1. Hugging Facehuggingface.co
  2. mlx-communityhuggingface.co
  3. mlx-lmgithub.com
  4. MLXml-explore.github.io
  5. Hugging Facehuggingface.co
  6. Hugging Facehuggingface.co
  7. Hugging Facehuggingface.co
  8. Hugging Facehuggingface.co
  9. mlx-lmgithub.com
  10. LM Studiolmstudio.ai
  11. LM Studiolmstudio.ai
  12. Ollamaollama.com

延伸阅读

Mac 本地部署大模型:下载并运行 LLM 的实用指南 | MLX