要点速览
- 开源模型集中在 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-4bit | mlx-lm、LM Studio、MLX Harness |
| GGUF | 一个或几个 .gguf 文件,名称类似 Q4_K_M | llama.cpp、Ollama、LM Studio |
| 原始权重 | 模型发布者提供的全精度 safetensors | 先转换为 MLX,或选择现成的版本 |
不确定用哪个运行时?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 GB | 6 GB |
| 80 亿 | 约 4.5 GB | 约 8.5 GB | 16 GB |
| 140 亿 | 约 7.9 GB | 约 14.9 GB | 28 GB |
| 320 亿 | 约 18 GB | 约 34 GB | 64 GB |
| 700 亿 | 约 39 GB | 约 74 GB | 140 GB |
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)。
- 登录一个免费的 Hugging Face 账户,打开模型页面。
- 用页面上的按钮接受条款(默认是 Agree and send request to access repo)。有些发布者会人工审批请求,需要更长时间。
- 在 Hugging Face 设置中创建访问令牌。
- 把令牌交给你的工具:在终端中运行
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-4bitmlx_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_MMLX 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 上。
来源
- Hugging Facehuggingface.co
- mlx-communityhuggingface.co
- mlx-lmgithub.com
- MLXml-explore.github.io
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- LM Studiolmstudio.ai
- Ollamaollama.com