320B上了苹果芯片,先看内存账单
智谱的 GLM-5.3-Flash 总参数 3200 亿、每次大约只激活 180 亿,已经被 OrcaRouter 做成了原生 MLX 权重,可以在苹果芯片上直接加载,不必先绕 NVIDIA 再转格式。
能加载,不等于你那台电脑装得下。官方先写了 MacBook Pro,社区马上指出笔记本统一内存到不了这一档,随后改口:即便是 2-bit,也建议上 Mac Studio。模型卡给的最低内存是 2-bit 约 160GB,3-bit 约 200GB,4-bit 约 224GB,6-bit 约 320GB。
结论就这一句:权重开了,量化方法也开了,卡点在统一内存,不在有没有人做软件。
🧠 320B 上了 Mac,机型才是第一句
买错电脑,模型再好看也只是硬盘上的一堆文件。苹果这边内存是 CPU 和 GPU 共用的那一池,专业上叫统一内存。池子不够,权重进不去,后面的生成速度、上下文长度都不必谈。
128GB 的笔记本在这个池子里已经算顶配消费机。按模型卡,最狠的 2-bit 也要约 160GB 起,消费机默认规格对不上。Mac Studio 才有更大一档的统一内存可选,所以官方后撤那句 MacBook Pro,不是客套。
这不是"再挤一挤就能跑"。量化把每个参数占用的位数砍下去,文件会小一截,但 3200 亿这个盘子还在。混合专家结构每次只叫醒大约 180 亿参数,省的是计算量,不是把整份权重从内存里蒸发掉。加载时该驻留的,还是得驻留。
架构本身也在吃内存。这是 GLM-5 系列里第一款原生多模态的 Flash:文本、图像、视频都能进,输出文本。注意力被拆成稀疏和线性两路,中间还夹着流形约束的超连接,术语是 Manifold-Constrained Hyper-Connections(mHC)。这些模块对长上下文更省,可权重布局比普通稠密模型更碎,量化时不能一刀切。
能上苹果芯片,和能上你那台苹果电脑,是两件事。
同一周里还有另一个名字在流传。这个模型匿名上线时叫 Ox Alpha,测了几天后才揭成 GLM-5.3-Flash,许可证是 MIT。那段插曲跟你买哪台 Studio 无关,只是后来搜资料会撞上两个名字。
🔧 OrcaSAQ 保的是敏感位置,不是所有位数
把一栋楼的承重墙和隔断墙用同一型号螺丝拧,楼不会立刻倒,风一大就会响。大模型量化也是这个理。OrcaSAQ 的全称是 Orca Sensitivity-Aware Quantization,中文可以叫敏感度感知量化:哪组张量更娇气,就多留几位;哪组本来就不是 FP8,干脆不压。
它不靠校准数据集。常见做法是拿一堆样本跑一遍,看量化后输出偏了多少再回调。OrcaSAQ 把这件事省了,改成按结构分配位数,并直接对着 GLM-5.3-Flash 的模块清单下手。共享专家多留 2 位,下行投影 down_proj 多留 1 位。底座发布里本来就不是 FP8 的那批——34 层线性注意力、稀疏索引器、超连接、归一化、词嵌入、输出头,加上整座视觉塔——原样用 BF16 带着走。
这就是"架构感知"四个字的具体内容。不是海报语。新架构刚进 MLX 不久,mlx-vlm 合并 glm5_next 的时间就在这几天,版本低了会直接加载失败。官方用法写的是 mlx-vlm>=0.6.17。
6-bit 对 FP8 参考的 Top-1 一致性是 97.76%,4-bit 是 96.13%,3-bit 是 92.06%,2-bit 掉到 86.56%。KL 散度均值从 6-bit 的 0.0063 爬到 2-bit 的 0.1647,p95 更从 0.0142 拉到 0.6528。权重空间里,6-bit 余弦相似度 0.9998、信噪比 37.3dB、相对误差 1.6%;2-bit 余弦相似度只剩 0.9518,相对误差 29.7%。
2-bit 还能不能当日常主力,社区里判断是散的,有人觉得 Top-1 掉到八成六已经出戏,有人觉得本地能转起来就值。
另一个团队 PipeNetwork 也在做这颗模型的 MLX 构建,路线是 8-bit、6-bit、4/8 混合和 4-bit,并用困惑度相对 8-bit 的变化做对照。两套东西都在 Hugging Face 上,选哪套看你要的是敏感度分配,还是带 8-bit 锚点的测量表。
📊 6-bit 和 2-bit 差的不是一个零头
先看表。内存门槛按模型卡是四档:6-bit 约 320GB,4-bit 约 224GB,3-bit 约 200GB,2-bit 约 160GB。数字不是整十整百地好看,但方向一致——每降一档,省的是内存,买的是误差。
Top-1 一致性说的是:同一道题,量化后模型给出的第一选择,有多大比例跟 FP8 参考一致。6-bit 还挨着参考,2-bit 已经有一成多的第一选择对不上。编码、工具调用、看图描述这类对第一选择敏感的活,掉的就是这类一致性。
信噪比和相对误差把同一件事写成重量。6-bit 相对误差 1.6%,2-bit 快到 30%。你可以把它理解成:压缩包解开后,有的房间几乎没动,有的房间墙皮已经空了。线性注意力和视觉塔被留在 BF16,就是为了不让那几面承重墙一起空。
仓库没有 8-bit。OrcaRouter 这套从 6-bit 起跳。需要更高锚点的人,得去看其他构建,或者回到官方 FP8/BF16 在 GPU 集群上跑。
长上下文官方给到约一百万 token。本地 Studio 就算内存够装权重,KV 缓存还要另占一截。理论上上下文拉满,统一内存会再被咬一口,具体能开到多长,得拿你那台机器的剩余内存试,模型卡没给可复现的满窗测试。
2-bit 能进门。6-bit 才接近原味。中间那两档是折中,不是彩蛋。
🛠️ 按精度下,别把整个仓库一次性拉完
仓库根目录默认对着 4-bit。2-bit、3-bit、6-bit 在子目录里。硬盘够大也别图省事全下,用 hf download 的 --include / --exclude 只拉一档。
1. 先把推理库升到能识别这套结构的版本,低了会在加载阶段直接报架构名。
pip install -U "mlx-vlm>=0.6.17"
跑完看的是版本号,不是一段欢迎词。这步最容易忽略的是环境里已经装着旧的 mlx-vlm,升级命令走了另一套 Python。
2. 只拉 4-bit(根目录那份),把其他精度目录排除掉,省时间和磁盘。
hf download orcarouter/GLM-5.3-Flash-MLX \
--local-dir ./GLM-5.3-Flash-MLX \
--exclude "2-bit/*" "3-bit/*" "4-bit/*" "6-bit/*"
排除规则按官方模型卡来。下完后目录里应该是一份可直接指向的模型,而不是四个精度叠在一起。
3. 先用纯文本冒烟,确认权重和聊天模板都能走通,再把图片路径加上去。
python -m mlx_vlm.generate \
--model ./GLM-5.3-Flash-MLX \
--prompt "用一句话解释量子纠缠。" \
--max-tokens 256
正常的话会开始逐 token 往外吐。如果卡在架构未识别、缺视觉塔或内存分配失败,先核对 mlx-vlm 版本和当前精度对应的最低内存,别先怀疑提示词。
4. 换 6-bit 时只拉对应子目录,并把 --model 指到那个子路径,不要继续指根目录。
hf download orcarouter/GLM-5.3-Flash-MLX \
--include "6-bit/*" \
--local-dir ./GLM-5.3-Flash-MLX
python -m mlx_vlm.generate \
--model ./GLM-5.3-Flash-MLX/6-bit \
--prompt "用一句话解释量子纠缠。" \
--max-tokens 256
带图时把 --image 指到本地文件即可。MLX 也可以走 CUDA 后端,安装 mlx[cuda] 后设 MLX_CUDA_USE_CUDNN_SDPA=0;那是另一套机器的事,Studio 默认走 Metal。
⚠️ 注意:内存不够时强行加载,系统会开始换页,风扇和卡顿会一起到,生成质量判断会失真。
内存刚好卡在两档之间的人,有的先上 2-bit 看能跑不能跑,有的直接空出 224GB 用 4-bit。两种都有人在用,选哪条看你更怕装不上,还是更怕第一选择对不齐。
本地能跑,不代表你已经把官方 API 那套百万上下文、低价推理原样搬回家了。Studio 解决的是"权重进内存",服务成本、并发和满窗缓存是下一张账单。想少踩加载坑,精度、mlx-vlm 版本、统一内存三件事对齐后再看生成好不好。Ox Alpha 那周的热闹过去了,留下来的是一份 MIT 权重和一张很不客气的内存表。
2-bit 的 86.56%,你自己能接受吗?
如果你对这类大模型本地部署的坑有同感,或者已经在自己的机器上踩过一轮,欢迎来云栈社区聊聊你的实机结果。