在本地运行一个模型就是一次下载,而下载的文件会留下来。每一个让本地推理变简单的工具,也让再试一个模型变得简单,而没有哪一个会告诉你上个月的尝试一共累积了多少。在我们扫描的 Mac 上,对于任何花过一下午使用 Ollama 的人,AI 模型类别都是最大的单项,也是最让人意外的一项,因为这些工具里没有任何地方显示总量。

这篇文章介绍每个工具把文件放在哪里、它们有多大、测试为什么会让它们成倍增长,以及哪些可以删除而不会失去任何找不回来的东西。

一个模型有多大

大小取决于参数量和量化方式。对于这些工具下载的格式,可以按下面的经验值估算:

模型规模 4 位(Ollama、MLX、多数 GGUF) 8 位 16 位(Hugging Face 发布的 safetensors 原样)
1 到 3B 1 到 2 GB 2 到 3.5 GB 2.5 到 7 GB
7 到 9B 4 到 5.5 GB 8 到 9.5 GB 14 到 18 GB
12 到 14B 7 到 9 GB 13 到 15 GB 25 到 30 GB
27 到 35B 16 到 20 GB 32 到 36 GB 55 到 70 GB
70B 38 到 43 GB 70 到 75 GB 130 到 145 GB

大小仅指权重本身,经过取整,截至 2026 年 9 月。从 Hugging Face 下载的、从未量化的模型对应 16 位那一列,这就是为什么一个未量化的 8B 模型比三个 4 位模型占的空间还多。

随之而来的其他文件:Whisper large 约 3 GB,Stable Diffusion 和 Flux 这类图像模型每个检查点 4 到 25 GB,嵌入模型每个 0.3 到 2 GB,视觉语言模型还捆绑一个 1 到 2 GB 的第二编码器。

每个工具把它们放在哪里

Ollama 把所有内容放在 ~/.ollama/models 下。权重是按内容寻址的 blob,每个标签有一个清单指向它们,所以同一底层文件的两个标签会共享它。同一模型的两种量化版本则不会。ollama list 显示每个模型的大小,ollama rm 删除一个模型,但没有命令能显示整个文件夹有多大。

LM Studio 把下载的 GGUF 和 MLX 文件放在 ~/.lmstudio/models 下(旧版本使用 ~/.cache/lm-studio/models),按发布者和模型组织。每次下载都是一个完整的文件。试用同一模型的 Q4、Q5 和 Q8 构建,就是三份完整的副本。

Hugging Face 是最让人意外的一个。transformersdiffuserssentence-transformershuggingface_hub 这些库都下载到 ~/.cache/huggingface/hub,每个仓库一个文件夹,每个修订版本一个快照。拉取一个模型,作者推送修复后再拉取一次,你就有了两个快照。在脚本里加载过一次模型,它就永远留在那里。huggingface-cli scan-cache 会连同大小打印出全部内容,huggingface-cli delete-cache 会引导你删除修订版本。数据集放在 ~/.cache/huggingface/datasets,可能比模型还大。

MLX 在 Apple 芯片上使用同一个 Hugging Face hub 缓存来存放 mlx-community 模型。如果你用 mlx_lm.convert 自己转换过模型,输出会放在你指定的位置,通常是某个项目文件夹,而原始的 16 位权重仍然留在 hub 缓存里。一次转换又是一份完整大小的模型。

其他一切。 Python 环境会把 PyTorch 拉进来,每个 venv 2 到 4 GB,一台有几个 ML 项目的 Mac 就有好几份。Docker 的模型运行器和 Ollama 的 Docker 镜像在 Docker 的磁盘镜像里保存各自的副本。Jupyter 检查点和 .ipynb_checkpoints 文件夹保存着笔记本的副本,单个很小,数量很多。

测试为什么会让它膨胀

一个下午的评估是这样的。你在 Ollama 里拉取 Llama 3.1 8B 来和 Qwen 2.5 7B 比较,9 GB。其中一个很慢,于是你在 LM Studio 里试 Q8 构建,又是 8 GB。一篇论文提到一个 14B 推理模型,9 GB。你想给一些文档做嵌入,于是脚本下载了一个嵌入模型,而且因为你照抄了示例,还下载了示例里演示用的聊天模型的 16 位版本,15 GB。你试了 MLX,因为它在这台 Mac 上应该更快,4 位转换版本又是 4.5 GB,就放在它所源自的 16 位原版旁边。

这大约是 46 GB,五个工具,以及一个你还在用的模型。这个过程中没有任何一步是错误。评估就是这样进行的。它与构建缓存的区别在于,工具不会替你清理,而且这些文件大到只需几个就构成一块宽裕的硬盘和一块装满的硬盘之间的差距。

在我们扫描的环境里,以 AI 为主的开发者的 Mac 在这个类别里带着 80 GB 或更多。偶尔使用本地模型的 Python 与 ML 工程师也仍然带着 40 到 50 GB。参见按环境划分的完整表格

哪些可以安全删除

所有这些都可以通过重新下载恢复,因此 Cache Goblin 把每个模型都标为「可恢复」而不是「安全」:它会列出它们,显示每个的大小,并在移到废纸篓之前先询问你。下载的模型没有任何内容是你这台 Mac 独有的。

例外是你自己创建的文件。你训练的微调模型、LoRA 适配器、用你得重新摸索的设置转换出来的模型、你自己用 imatrix 量化的 GGUF。它们与下载的文件放在一起,看起来也一样,所以 Cache Goblin 把你最近改动过的项目文件夹里的任何权重都视为你的文件,只显示而不提议删除。

一个实用的顺序:

  1. ollama list,删除那些只试过一次的模型。保留你真正在调用的那个。
  2. huggingface-cli scan-cache,删除旧的修订版本以及任何你不记得下载过的内容。这通常是最大的数字。
  3. 查看 LM Studio 的模型文件夹,找出同一模型的重复量化版本,只保留一个。
  4. 检查 hub 缓存里有没有某个模型的 16 位原版,而你只以 4 位 MLX 转换版本运行它。
  5. 删除已结束项目的 Python 环境。PyTorch 每份都有几 GB。

或者运行一次扫描。Cache Goblin 在一个地方按名称和大小列出 Ollama、LM Studio、Hugging Face 和 MLX 的模型,附上那些工具从不显示的总量,「可恢复」按钮会删除你选中的那些。

免费下载 Mac 版 Cache Goblin,看看你那个下午的测试留下了什么。