85GB 模型塞进 64GB Mac:我用 LocalBrain 跑通 Qwen3.8 Flash Next
我得先修正自己之前的判断。
看到 Qwen3.8 Flash Next 的规模时,我的第一反应是:**64GB Mac 不适合。**它有 125B 的主模型,另外还有 51B n-gram embedding 和 4B MTP。即使每个 token 只激活大约 6B 参数,模型文件也不会凭空缩小,普通四比特量化依然会把 64GB 统一内存挤爆。
这个判断对普通量化没有错。但 Atomic 发布的 M64 特制分片,改变了问题的前提。
我下载的是 Qwen3.8-Flash-Next-AD-3.84bpw-IQ4_XS-M64:28 个模型分片,加一份 Q8 视觉投影,实际下载约 79.67GiB。然后我把它交给 LocalBrain,在一台 64GB M5 Pro Mac 上完成加载、文本生成、工具调用、图片理解和持续输出测试。它不是“能打开”,而是真的以约 22.5~26.3 token/s 工作。
这篇文章讲清三件事:这个模型强在哪里;85GB 文件为什么能塞进 64GB Mac;以及为什么我更建议用 LocalBrain 管理这种越来越复杂的本地模型。

它不是普通的“125B 大模型”
Qwen 官方模型卡把 Qwen3.8 Flash Next 定义为带视觉编码器的多模态 MoE 模型。主模型约 125B 参数,但每个 token 只激活约 6B;48 层里放了 512 个专家,每轮选择 10 个路由专家,再加 1 个共享专家。原生上下文是 262,144 token,还可以扩展到 1,000,000 token。
这里最重要的不是“参数多”,而是它把不同类型的参数放在了不同的位置:
| 结构 | 规模与作用 | 本地运行影响 |
|---|---|---|
| 主 MoE 模型 | 125B,总激活约 6B | 决定主要计算量,活跃专家必须快速访问 |
| n-gram embedding | 额外约 51B | 本质更像查找表,适合按地址从 SSD 读取 |
| MTP | 约 4B | 用于多 token 预测,改善生成效率 |
| 视觉编码器 | 图片到文本理解 | 需要独立的 mmproj 文件 |
官方公布的原始模型成绩很亮眼:GPQA Diamond 91.7、LiveCodeBench v6 91.9、SWE-bench Pro 62.5、SWE-bench Multilingual 81.0、Toolathlon Verified 73.5;视觉侧的 RealWorldQA 是 88.5,MathVision 在官方两种评测设置下是 90.6 / 95.7。

但这些数字必须加一句粗体说明:**它们是 Qwen 公布的原始模型参考成绩,不是我这份 3.84bpw 量化在 Mac 上重新跑出的分数。**量化会带来损失,运行框架、提示模板、上下文和采样参数也会改变结果。把厂商跑分直接写成本机成绩,是最容易制造误导的一步。
我也没有只挑最好看的分数。官方表里,HLE 是 35.9,低于同表 Claude Opus 4.6 的 40.0;NL2Repo-Bench 是 48.1,也低于同表最佳结果 54.2。图中保留这两项,就是为了提醒自己:它在科学推理、竞赛编程、工具调用和视觉理解上很强,不等于每个任务都领先。
为什么现在要做这种架构?过去的稠密模型几乎每个 token 都要触碰大部分权重,能力上去,单 token 成本也跟着上去。MoE 先把“总容量”和“每轮计算量”拆开,Qwen 这一次又用 n-gram 查找表把一部分容量换成更便宜的存储访问。对模型厂商和云服务商来说,6B 激活意味着更低的推理成本和更高的单位算力吞吐;对个人用户来说,代价则从纯计算变成了量化质量、内存余量、SSD 和运行时是否配合。
因此,受益方不只是一群喜欢折腾本地模型的人。Qwen 用这次开放权重提前验证下一代架构;量化发布者和 llama.cpp 获得新的技术入口;Apple Silicon 用户得到了一条原本只有大显存服务器才有的能力路径。被挤压的,是“模型文件多大就必须准备多大内存”的旧部署逻辑,以及按 token 计费、却无法保留私有数据的单一路径。硬件厂商很少会主动强调这一点,因为它恰好说明:有时一块更大的 SSD 和更聪明的分片,比继续堆统一内存更有效。
提示 Qwen3.8 Flash Next 默认会进入思考模式。官方推荐思考模式使用
temperature=1.0、top_p=0.95、top_k=20、min_p=0、presence_penalty=0;非思考模式使用temperature=0.7、top_p=0.8、top_k=20、min_p=0、presence_penalty=1.5。本地软件若只切换“思考开关”却不联动采样参数,效果会明显偏离官方设定。
真正的突破,是把 39GB 留在 SSD
Atomic 的做法不是传统意义上的“把算不动的层扔到硬盘”。普通专家权重每个 token 要产生 GB 级流量,从 SSD 临时取几乎注定会慢死。n-gram 表不同:模型根据最近的 token 计算固定地址,每轮只读取极小一部分。
此前的 CPU/GPU offload 通常只是把放不下的权重搬到另一层存储,计算时仍要反复传输,所以越过内存边界后速度会断崖式下降。M64 分片的关键差别,是留在 SSD 的不是高频参与矩阵计算的专家,而是一张按确定地址读取的查找表。它不是更激进的 offload,而是利用模型结构,把不该常驻的东西从一开始就隔离出去。
早在 2020 年 M1 把 CPU、GPU 和统一内存放进同一套封装时,本地 AI 就少了一次显存与主存之间的来回搬运;但统一内存仍有物理上限。M64 这次并不是继续扩大那块内存,而是先判断哪些参数根本没必要进去。
Atomic 的量化说明给出的参考是:在 36 token/s 时,这部分随机读取约 3MB/s,NVMe 响应时间小于单 token 的 28ms 预算。更关键的是,发布者把 n-gram 表单独放进一个 GGUF 分片。Apple Silicon 上开启 mmap 后,约 39GB 查找表可以留在 SSD,而不是和 Metal 权重一起被锁进统一内存。
这就是 M64 后缀真正有价值的地方。

| Atomic 量化 | 常驻内存 | 留在 SSD | 总体积 | Mean KLD | 同 Top-1 | PPL 比值 |
|---|---|---|---|---|---|---|
| 3.84bpw IQ4_XS M64 | 45.8GB | 39.1GB | 84.9GB | 0.2277 | 82.68% | 1.102 |
| 4.27bpw Q4_K_M M64 | 54.5GB | 38.4GB | 92.9GB | 0.0842 | 89.49% | 1.026 |
如果只看质量,Atomic 明确推荐 4.27bpw:KLD 更低、Top-1 一致率更高。但对 64GB 机器,我反而选了 3.84bpw。原因很现实:4.27bpw 比 3.84bpw 多吃 8.7GB 常驻内存,系统、上下文、计算缓冲和视觉投影都还要空间。质量再好,第一次解码就内存不足,也没有意义。
警告 这不是所有 80GB~90GB GGUF 都能在 64GB Mac 上跑的通用技巧。它依赖这个模型特殊的 n-gram 结构、Atomic 的独立分片,以及新版 llama.cpp 对该架构的支持。普通大模型照搬同样参数,结果大概率仍是内存溢出。
我在 LocalBrain 里实际跑出了什么
本次环境是 LocalBrain 1.2.23、llama.cpp b10705、64GB M5 Pro。所有层交给 Metal,mmap 开启,lazy load 开启,fit 关闭,上下文先定在 32K;视觉测试使用 Q8 mmproj。这套配置不启用 DFlash2——它对当前模型和这条 llama.cpp 路径没有实际加速。
这也和我过去在 Mac 上跑 7B、27B、70B 量化的经验不同:以前主要问题是“权重能不能全部放进统一内存”,上下文通常是第二顺位;这一次模型文件本来就大于物理内存,部署能否成立首先取决于分片语义,然后才轮到量化位宽、上下文和速度。也就是说,光看模型名、参数量或 GGUF 文件大小,已经不足以判断一台 Mac 能不能跑。
加载耗时约 14~18 秒。LocalBrain 运行时显示模型占用约 51GB,总内存约 60.1GB,只剩约 3.9GB,但没有进入 swap。几组结果如下:
| 测试 | 结果 |
|---|---|
| 简单计算 | 29 × 31 = 899,回答正确 |
| 文本生成 | 25.84 token/s |
| 工具调用 | 26.33 token/s,正确生成 get_weather({"location":"上海"}) |
| 图片理解 | 24.13 token/s,能识别黑底上的橙色 LB 标志 |
| 持续生成 | 24.51 token/s,长输出过程稳定 |
| LocalBrain 界面实测 | 约 22.5 token/s,提示词已占 4,499 token |
Atomic 在 64GB M5 Max 上公布的参考是 36 token/s。我的 M5 Pro 达到它的约 62%~73%,考虑 GPU 规模、内存带宽和真实提示词长度,这个速度是合理的,不是异常偏慢。
上一次我把 70B 级量化塞进 Mac,主要是在量化位宽和上下文之间做减法;这一次则多了一层“按参数用途分配存储”。两者表面上都是本地部署,真正决定成败的环节已经变了。
还有两个边界必须说清。第一,3.84bpw 的量化误差确实高于 4.27bpw,所以我把它定位成“64GB 上可用的能力上限”,不是最佳质量版。第二,这类模型不适合一上来就把原生 262K 上下文拉满;32K 已经能覆盖代码、资料分析和多轮工具任务,同时给系统留出最后的安全空间。
为什么我更愿意把它交给 LocalBrain
命令行当然能跑。问题是,这个模型已经不再是一条 llama-cli -m model.gguf 能讲完的东西:28 个分片是否完整、视觉投影是否匹配、mmap 有没有打开、fit 是否误判、上下文会不会顶爆内存、聊天模板有没有加 --jinja,任何一个细节错了,都可能得到“模型下载完了,但不能用”的结果。
LocalBrain 的价值不只是提供一个聊天窗口。它更像是 Mac 上的本地多模态模型与工具中枢:统一下载和管理语言、语音、图像、视频模型;按本机内存和模型结构安排运行参数;把本地能力通过 MCP 交给其他 AI 软件调用;任务结束后再回收资源。之前我已经完整介绍过它的定位和界面,可以继续看:LocalBrain:把 Mac 变成私有 AI 盒子。
历史上,本地模型管理器大多围绕“一个模型文件、一个后端、一个聊天窗口”设计。多模态模型、分片 GGUF、思考模式和工具调用叠到一起之后,继续让用户手工维护每条启动命令,只会把部署成本从硬件转移到排错时间。LocalBrain 之所以要把模型、运行时和本地工具放在一起,动机就在这里:它争的是本地能力的统一入口,而不只是又做一个聊天客户端。

这次 Qwen3.8 Flash Next 的实测,把这种管理层的价值放大了。对于特殊分片模型,软件需要知道“文件总大小”和“真正会常驻内存的大小”不是同一个数字;对于思考模型,软件还要知道开关背后应该联动一组采样参数;对于多模态模型,它还要把主模型和 mmproj 视为一个完整交付物。

LocalBrain 目前仍在快速迭代。我这次没有盲信自动值,而是为这个特殊 M64 量化固定了 32K 上下文、单并发、512 batch、mmap、lazy load 和 fit off。这套实测结果会继续反哺它的自动参数逻辑。我的目标不是让用户背下这些参数,而是让以后加入的语言模型尽可能做到:识别结构、估算常驻内存、给出安全上下文,然后直接运行。
我的结论:能跑,而且有实际使用价值
Qwen3.8 Flash Next 最吸引我的地方,不是“125B 打败了谁”,而是它把本地模型的边界往前推了一步:总文件约 85GB,不等于 85GB 都必须进内存;每 token 激活 6B,也不等于它只需要一台 6B 模型的机器。模型结构、量化策略、分片方式、运行时和 SSD,第一次变成了同一个部署问题。
对 64GB Apple Silicon 用户,我的建议很明确:
- 选择 Atomic 的 3.84bpw M64,别因为 4.27bpw 质量更好就忽略内存余量。
- 准备至少 90GB 可用 SSD 空间,使用新版 llama.cpp,保持 mmap 和 lazy load,关闭自动 fit。
- 先用 32K 上下文和单并发跑通,再增加预算;不要把官方 262K 当作 64GB Mac 的默认值。
- 如果不想手工维护分片、视觉投影和启动参数,直接用 LocalBrain 最新版管理。
它不会把 64GB Mac 变成训练服务器,也不会让 3.84bpw 等同于原始精度。但在一台安静、私有、无需按 token 付费的个人电脑上,以 22~26 token/s 跑起一个具备编程、智能体、工具调用和视觉能力的超稀疏模型——这已经不是演示,而是可以进入真实工作流的本地 AI。
