作者:伯衡君

打开网易新闻 查看精彩图片

你的Mac跑本地AI到底多快?一定要搞清楚

概述

一直有人问我:Mac跑本地大模型,M1还够用吗?M6是不是必须升级?这次我拿着一组完整数据来了——同一个Qwen3.8-27B模型,从M1到M6全部跑一遍,把"每个芯片能跑多快"这件事算到了毫秒级。

说实话,结论可能和你想的不太一样:新的不一定快,Max不一定值,Ultra不一定必要。关键不在芯片型号,而在一条你可能从没注意过的指标上。

这篇文章把整套对比逻辑、每代芯片的实测数字、以及你自己该怎么判断,全部摊开讲。适合手里有Mac、正在琢磨要不要换机的人,以及好奇"本地AI到底卡在哪一环"的技术朋友。

从一张表格的勘误开始

我手头正拿着一张 M5 Pro 版 Mac mini 的参数表和勘误说明。有意思的是,这份勘误只修正了机器的预估重量,价格却一点没变。

仔细一看才发现问题所在:原表犯了个错误,把 20 核 GPU 的高配性能写成了基准配置,但标注的价格,其实是 16 核低配版的。

纠正过来之后,用这个价格买到的核心数变少了——这意味着机器在读入长输入(预填充)时的等待时间变长了,尽管生成答案的速度基本没变。

这件小事正好点出了很多人的选机盲区:换机时只盯着“输出有多快”,却忽略了“读入有多慢”。而这两件事,在 Mac 上走的完全是两套不同的硬件逻辑。

参数看走眼,浪费的可都是真金白银。

对比的基准:同一个模型,同一个引擎

这次用的模型是Qwen 3.8,270亿参数,4bit量化。参数量决定它有多大,量化决定它实际占多少内存。

打开网易新闻 查看精彩图片

引擎统一用MLX。这是苹果专门为Apple Silicon优化的推理框架,能把模型的加载和计算尽量压在硬件层面。如果你换模型或者换引擎,数字就完全不一样了——比如换成小模型,速度可能凭空涨一截,但那种快没有可比性。

所以这次对比全程锁死两件事:模型不变,设置不变。变的只有芯片。

这个原则听起来像废话,但现实中绝大多数"我家AI好快"的分享,连这一条都没守住。要么偷偷换了小模型,要么换了更激进的量化,要么改了上下文长度。回头一看,全是在自欺欺人。

保持变量单一,数字才有意义。

为什么"快"要拆成两个数字看

现在引入第一个关键概念。

打开网易新闻 查看精彩图片

想象有个人在工具台前干活,面前有条传送带往他这儿送零件。他得先看懂订单要什么,再开始组装,最后把成品交出去。

模型干活分两段。第一段叫pre-fill,处理你发过去的输入内容,也就是"读懂订单"。第二段叫decode,一个字一个字往外生成答案,也就是"组装交货"。

我们平时说的"每秒多少token",通常只指第二段。但如果你扔给它一篇长文档,第一段的等待可能长达几分钟,而这段时间里屏幕上一个字都没出。

那种感觉就像你点了杯咖啡,吧台后面忙活了十分钟,最后告诉你还没开始磨豆。

这就是为什么必须拆开。因为决定这两段速度的硬件完全不同——解码吃内存带宽,预填充吃计算核心数量。你换机换错了方向,就会出现"输入等半天,输出快成闪电"的畸形体验。

两个数字都得看,才知道你的时间花在哪。

解码速度的真正瓶颈:内存带宽

现在说到最容易被误解的一环。

Qwen3.8-27B是个密集模型,不是MoE。这意味着每生成下一个token,它都要把整套权重完整过一遍。这次对比用的4bit文件约16GB多,四个版本略有差异。

生成下一个token,就要把相当一部分数据从内存搬到计算单元。谁搬得快,谁就吐字快。

这里的关键指标叫内存带宽,单位GB/s。你可以把它想成一条传送带:带子越宽,每秒能送的零件越多。模型的计算单元再强,传送带跟不上,也只能干等着。

打个比方,这就像你有一座F1赛车的维修团队,但物料通道只有一根吸管粗。技师们再利索,零件送不进来全白搭。

这也是为什么同样叫"M5",带宽可能差出三倍多。芯片型号里那几个字母数字的组合,真正决定体验的是这个数。

顺着这个逻辑,把基础芯片一代代看过去。

基础芯片:M1到M6的带宽台阶

基础芯片这一档,数字是这样的:

打开网易新闻 查看精彩图片

M1是68 GB/s,M2和M3都到100,M4涨到120,M5到153,M6在24GB和32GB配置下到了170,但16GB那版还留在153。

看出问题了吗。M2到M3带宽一点没涨。M6的16GB版本和M5同速。这事说白了就是代际更新不等于性能更新,是这组数字第一个让人傻眼的地方。

传送带诚然在缓缓拓宽,但新一代迭代体系中自动跳转至Max档位的设定,本质上不过是一场虚妄的幻觉。

判断一台机器,别听"最新的"三个字,去看它那一款的带宽是多少。比如M3基础款和M2基础款在解码这件事上是同一起跑线,差的只是别的地方。

想知道自己该不该升,先查这个数。别的都是虚的。

升级到Pro:一场不完全的进化

Pro这一档,故事开始变得复杂。

打开网易新闻 查看精彩图片

M1 Pro和M2 Pro都是200 GB/s。M3 Pro反而掉到150——对,降了。M4 Pro跳到273,M5 Pro在用的那张目录里是307。

"M3 Pro比M2 Pro慢"这件事,是对"Pro一定更强"这个假设最直接的反驳。后缀名不保证性能,得看具体那一代的规格。

在社区用Llama 27B做的一次测试里,18核显卡的M3 Pro版本表现也不尽如人意。所以Pro这个词真的只是个档位标签,里面装的可能是升级也可能是缩水。

丑话说在前面:Pro这一档是命名最混乱的一档。性价比得靠你自己扒规格表,名字帮不上忙。

不把每个Pro当成完美阶梯上的一级,而是去看它的变体、看它的内存配置。价格和性能在Pro这一档的对应关系,比Max和Ultra混乱得多。

Max芯片:老将还能打

Max这一档的规则又不一样。显卡核心数多,对预填充特别有好处——因为预填充可以并行计算,核心多就能同时算更多。

但输出仍然受带宽限制。计算单元再多,传送带供给不上,照样得等。

M1 Max配64GB的用户,如果只是不断问短问题,其实体感还行。老Max在输出这件事上没被新芯片甩开,因为传送带宽度还是那个量级。

这事我踩过坑才想明白。我一度以为手里的老机器该扔了,结果测完才发现,我的用法根本吃不到新芯片那部分提升。

真正拉开差距的是预填充。喂进去的内容越长,核心多的优势越明显。短问答场景,老Max依然能战。

这也是这组数据最实用的一条:先想清楚你的用法。短问短答和长文档喂食,对硬件的需求根本不是一回事。

新Max的两个变体,别买错

新Max内部还分档,这个坑不小。

打开网易新闻 查看精彩图片

M4 Max有410和546两个版本,分别是32核和40核。M5 Max有460和614,同样看变体。两个数字都随核心数变化。

所以比较两台Max机器,必须连变体和内存一起报上来。"我这台是M5 Max"这句话信息量太低,鬼知道你快的是哪一版。

新芯片的优势场景也很明确:喂大量文档进去的时候。但如果你手里有台老Max,而且只是短问短答,它不会让你失望。

买新不买旧这个逻辑,在Max这一档要看你的用法,不能一刀切。

差的钱,得花在你真用得上的那个维度上。

Ultra:为已经的人准备的

Ultra这一档,带宽是另一个世界。

M1 Ultra和M2 Ultra标800 GB/s。M3 Ultra到819,M5 Ultra直接到1200。这些配置内存容量也大得多,传送带比基础芯片宽出将近十倍。

在参考模型估算里,M5 Ultra能到约56 tokens/s,而M2基础款只有5.5。差十倍。

这个差距有多大?就像同一份代码,一台机器写完喝杯咖啡回来了,另一台还在编译第一个文件。

但Ultra的价格和体积也在另一个世界。这条数据真正想说的是另一件事:如果你已经有一台内存够大的老Ultra,它的输出速度并没有过时。带宽和内存这两个核心指标,Ultra档位十年前就做到了很好的水平。

不是让你买Ultra,是让你知道已有的别浪费。

预填充的改进,在M5上兑现了

回到预填充这一段。

M5芯片的图形核心里加了专门针对预填充的加速器,做预填充这块活儿可以大幅并行。但有个前提:程序必须真的调用这些加速器,硬件改进才会转化为实际收益。

打开网易新闻 查看精彩图片

MLX在M5上的支持情况就是一个例子。对比工具给每一代的核心算了一个常数,从M4的151涨到M5的531。

数字背后有硬件,但能不能吃到红利要看软件。这也是我反复强调引擎重要的原因——同样的芯片,不同框架调用硬件的效率可以差很远。

所以换机之前先确认你的工具链跟上了。不然买了新硬件也是跑老逻辑,那钱花得才叫冤。

一份20页文档的等待时间

把预填充的差异落到具体场景上。

对比工具用了一份约20页的文档作为测试输入。估算结果:基础M2要等6分钟,M3 Ultra 40秒,M5 Max 21秒,M5 Ultra 11秒,基础M6 71秒。

注意这里的排序:M6基础款比M5 Ultra慢了六倍多。代际差在预填充这件事上完全可能被规格差反超。这事魔幻到我自己看到表格时都愣了一下。

一页纸的token数不固定,所以这些时间是针对这份文档的估算,不是万能秒表。但它揭示了一个事实:如果你经常喂长文档,选购时该优先看核心数和加速器,而不是解码速度。

反过来,如果你的问题就两句话,预填充的提升对你几乎无感。改善的那零点几秒,你根本注意不到。

先搞清楚自己的用法,再决定为哪个指标付钱。

上下文窗口:被忽略的内存黑洞

最后说一个选机时几乎没人提、但对实际体验影响很大的点。

这次对比的Qwen支持262144 token的上下文窗口。但选中这个上限,不等于你的对话真的填满了它。而且对话缓存还要额外吃内存——它要存已经计算过的文本信息,这部分开销在模型权重之外。

你的工作台堆满了可能还要用的材料,加载模型只是第一件事。

所以真实的情况是:模型权重16GB,上下文窗口有上限,对话缓存还要再占一块。你以为16GB够用,实际跑起来才发现处处都缺。

这就像买房时只看建筑面积,交房才发现公摊和物业费还没算进去。

这也是为什么这次对比反复强调"别只看模型文件多大"。装得下和跑得好之间,隔着一整套内存预算的账。

把这三块加起来算,你才知道手里的机器到底扛不扛得住你要干的事。

篇后寄语

这组数据跑完,我最大的感受是:Mac的芯片命名方式,可能是最擅长误导消费者的设计。

M3 Pro比M2 Pro慢,M6基础款可能不如老Ultra,Pro不一定比Max快,Ultra不一定比Max值。每一个后缀都在暗示性能台阶,而带宽和核心数这两个真正决定体验的数字,藏在规格表的深处。

所以下次有人问你该不该换机,别问型号新旧。先问两个问题:你主要喂长文档还是短问短答?你手里那台的带宽是多少?

想清楚这两个,答案自己就出来了。

概念释义

  • 内存带宽(Memory Bandwidth):内存每秒能向计算单元输送的数据量,单位GB/s。对dense模型而言,这是解码速度的首要瓶颈,可类比为工厂里的传送带宽度。
  • Pre-fill(预填充):模型处理输入内容的阶段,可并行计算,吃计算核心数量和加速器。喂长文档时的漫长等待主要发生在这一阶段。
  • Decode(解码):模型逐token生成答案的阶段,受内存带宽限制,是平时"每秒多少token"通常指代的速度。
  • MLX:苹果为Apple Silicon专门优化的机器学习推理框架,能更高效地调用硬件资源,是本次对比统一使用的推理引擎。
  • Dense模型:每个token生成都需要完整加载全部权重的模型类型(区别于MoE的稀疏激活),因此对内存带宽极度敏感。
  • 对话缓存(Conversation Cache):模型为已处理的对话文本保存的中间计算结果,需要额外内存,加上模型权重和上下文上限,共同构成实际内存需求。

以上,既然看到这里了,如果觉得不错,随手点个赞、收藏、转发三连吧,如果想第一时间收到最新黑科技,敬请关注行运设计师。

谢谢你看我的文章,我们,下次再见。

参考资料

  • Qwen 3.8 27B模型规格与4bit量化版本说明
  • MLX推理框架官方文档与Apple Silicon优化指南
  • Apple Silicon各代芯片内存带宽规格汇总
  • Mac芯片预填充加速器(M5)技术说明
  • 本地大模型显存预算计算方法