MiMo 2.6 蒸馏 9B 能在 Mac 上跑吗?本地部署与代码实测

在 18GB M3 Pro Mac 上运行社区量化的 MiMo 2.6 9B Q3 GGUF,记录部署命令、内存指标的局限,以及没有通过的代码测试。

浅色卡纸上的双筒望远镜线稿,标题为 MiMo 2.6 Local。

MiMo-V2.6-Distill-Qwen-9B 可以在本次测试的 Mac 配置上本地运行:Apple M3 Pro、18 GiB 统一内存、社区 Q3_K_M GGUF,搭配 llama.cpp。模型加载和文本生成成功,但我们给它的简短编程任务没有通过全部验收用例。

能装进内存,不代表能可靠完成你的任务。这里的蒸馏 9B 模型也不是在线托管的 MiMo 2.6 Pro。

实际测试配置

项目本次配置
硬件Apple M3 Pro,18 GiB 统一内存
运行时llama.cpp build 10470,commit 34af94cd9,Darwin arm64
量化发布者bartowski/MiMo-V2.6-Distill-Qwen-9B-GGUF
仓库版本4371da10c84fb26da3592d4cf312d24aa82b7b65
文件MiMo-V2.6-Distill-Qwen-9B-Q3_K_M.gguf
下载大小4,479,948,320 字节,约 4.17 GiB
上下文与输出上限上下文 2,048 token,最多生成 256 token
采样temperature 0,seed 42,关闭预热
范围本地文本生成,未加载视觉 projector,未测试 Agent 工具循环

小米原始模型社区 GGUF是不同文件。后者经过量化转换,记录时应保留发布者与具体版本,不能称为小米官方 Q3 版本。

下载固定版本并校验

从可信的软件源安装 llama.cpp;本次 Mac 使用 Homebrew。然后在剩余空间足够的目录下载同一版本:

brew install llama.cpp
mkdir -p mimo26-test
cd mimo26-test
curl -fL --retry 2 \
  'https://huggingface.co/bartowski/MiMo-V2.6-Distill-Qwen-9B-GGUF/resolve/4371da10c84fb26da3592d4cf312d24aa82b7b65/MiMo-V2.6-Distill-Qwen-9B-Q3_K_M.gguf' \
  -o model-Q3_K_M.gguf
shasum -a 256 model-Q3_K_M.gguf

本次校验通过的 SHA-256 为:

d98e54ec9650b6554cfdeea531e2420009207d50471170d0c3640483df8e87eb

除模型文件外,还应为运行时、日志和系统留出磁盘空间。GGUF 文件大小不等于完整内存需求。现在安装的 llama.cpp 可能与本次版本不同,比较结果前记录 llama-cli --version

发起一次有明确上限的请求

/usr/bin/time -l llama-cli \
  -m model-Q3_K_M.gguf \
  -c 2048 -n 256 \
  --single-turn --temp 0 --seed 42 --no-warmup \
  -p 'Write a Python function unique_in_order(values) that removes duplicates while preserving first occurrence order. Inputs are hashable. Return only the function, with no explanation.'

以上是实际执行的命令结构。/usr/bin/time -l 是本次使用的 macOS 测量选项,不能直接假设 Linux 支持同样参数。这里刻意使用较小的上下文,没有验证大上下文、多模态输入或并发请求。

生成了代码,但逻辑没过关

第一次运行返回:

def unique_in_order(values):
    if not values:
        return []
    result = [values[0]]
    for value in values[1:]:
        if value != result[-1]:
            result.append(value)
    return result

这段代码只删除相邻重复元素,不会删除隔开后再次出现的重复值。我们实际运行了四组用例:

输入预期输出第一次实际输出结果
[][][]通过
[1, 1, 2][1, 2][1, 2]通过
[1, 2, 1, 3, 2][1, 2, 3][1, 2, 1, 3, 2]未通过
['a', 'b', 'a']['a', 'b']['a', 'b', 'a']未通过

第二次在提示词中加入非相邻重复元素的明确示例,仍未通过后两组。第三次重复原始提示词,返回了与第一次相同的函数。这是同一个小任务的三次功能检查,不能当作综合准确率,也不能据此断定其他量化版本表现相同。

速度与内存指标应该怎么看

运行CLI 报告的生成速度进程总耗时
原始提示词14.4 token/s27.74 秒
加入明确示例13.7 token/s15.62 秒
再次使用原始提示词15.3 token/s14.49 秒

进程总耗时包含启动与加载。前两次运行期间,本机还在构建博客;第三次在构建结束后执行。因此这些只是这台机器上的观测,不能用作严格控制条件的速度对比。任务始终没有通过全部用例,所以我们也没有测得“得到正确结果所需的总时间”。

macOS 报告的最大进程常驻内存约为 1.91、3.86、3.84 GiB。这些是操作系统的进程指标,不是独立 GPU 显存测量,也不是模型完整的统一内存需求。内存映射、共享缓冲区及其他应用都会影响解读。本次结果只支持“在这台 18 GiB Mac 上运行成功”,不支持“只需要 4 GiB”或“任何 8 GiB 显卡都能跑”。

下载测试记录,可查看生成的函数、预期与实际输出,以及测量设置。

下一步怎么试

选择带有明确验收用例的任务,并在执行模型生成的代码前检查代码。如果结果不合格,更换提示词、量化版本或模型都应当作为新的实验单独验证,这些调整并不保证修复上述错误。

如果需要在线推理,MiMo API 教程介绍独立的接入方式,价格指南说明官方直连费率。托管 Pro 与本地 9B 转换版本是不同模型,不能把其中一个的测试结果算到另一个身上。

常见问题

这是否证明完整 MiMo 2.6 Pro 能在 18GB Mac 上运行?
不能。测试使用的是独立蒸馏 9B 模型的社区 Q3 量化文件,并非托管的完整 Pro。
本地代码测试通过了吗?
模型成功加载并生成代码,但三次运行都没有通过非相邻重复元素的用例。这只是小规模功能检查,不是综合能力评测。
文中的常驻内存就是 GPU 显存要求吗?
不是。它是 macOS 进程指标,不代表模型完整的统一内存或 GPU 内存需求。