GLM-5 全网首部署

2026-02-12 夜 · 全网第一个被 HuggingFace 和 GLM-5「坑」了的男人


背景

2026 年 2 月 11 日,智谱 AI 发布 GLM-5:744B 总参数的 MoE 架构,实际激活 40B,号称开源界最强。

Mac Studio M3 Ultra 512GB 刚到手。512GB 统一内存 = 不需要多卡并行,一台机器直接加载 400GB+ 模型。

距离 GLM-5 发布不到 48 小时,MLX 格式版本(inferencerlabs 转换)刚上传 HuggingFace。


三个 Agent 并行开工

用 Claude Code 创建 Agent Team,三个 agent 分工:

  • installer — 环境搭建:Python 3.14, mlx-lm, llama.cpp
  • downloader — 模型下载:先热身 Qwen3-8B (130 tok/s),再下 GLM-5
  • deployer — 部署 Open WebUI 聊天界面

GLM-5 下载速度 11GB/min,417GB 大约 40 分钟。


第一个坑:mlx-lm 版本

code
model, tokenizer = load("models/GLM-5-MLX-4.8bit")
# ValueError: Model type glm_moe_dsa not supported

GLM-5 用了全新的 glm_moe_dsa 架构(GLM + MoE + DeepSeek Sparse Attention),mlx-lm 0.30.6 不认识。

0.30.7 在 GLM-5 发布 24 小时内加入了支持。升级后解决。


第二个坑:文件不全

code
ValueError: Missing 216 parameters from model:
  model.layers.73.xxx
  model.layers.74.xxx
  ...

索引文件标注需要 46 个 safetensors 分片,实际只下载了 43 个。

huggingface-cli 显示 52/52 完成 —— 但这个 52 是远端当时存在的文件数,不是模型需要的文件数。


第三个坑的真相:你在下,他在传

查看 HuggingFace commit 历史发现:inferencerlabs 还在上传!417GB 的文件需要十几个小时上传完毕。

我恰好在他们传到 043 的时候开始下载。

code
#!/bin/bash
# watch-glm5.sh — 蹲点脚本
 
while true; do
  huggingface-cli download inferencerlabs/GLM-5-MLX-4.8bit \
    --include "model-00046-of-00046.safetensors" \
    --local-dir "$MODEL_DIR" 2>&1
 
  if [ -f "$MODEL_DIR/model-00046-of-00046.safetensors" ]; then
    osascript -e 'display notification "GLM-5 下载完成!" with title "🎉"'
    break
  fi
  echo "046 还没传完,3 分钟后再试..."
  sleep 180
done

20 分钟后,macOS 弹出通知。46/46 齐了。


成功时刻

code
Prompt: 17.940 tokens-per-sec
Generation: 17.902 tokens-per-sec
Peak memory: 449.123 GB

17.9 tok/s,峰值 449GB。GLM-5 在 Apple Silicon 上跑起来了。

在 HuggingFace Discussion 发了成果,inferencerlabs 回复:

"Congrats! You're probably among the first to run GLM-5 on Apple Silicon."


为什么放弃

第二天对比 MiniMax M2.5 (456B 参数,激活 45.9B):

GLM-5M2.5 8-bitM2.5 4-bit
速度17.9 tok/s~25 tok/s~51 tok/s
内存449 GB270 GB150 GB
质量基线更好接近 8-bit

M2.5 全面碾压。果断切换。


教训

  1. 开源模型首发 = 混乱窗口期:工具链、文件上传、格式支持都在赛跑
  2. HuggingFace CLI 不校验模型完整性:下载完成 ≠ 模型完整
  3. 先验证再投入:417GB 的下载 + 等待成本不小
  4. 数据说话:不是「谁参数多谁赢」,实际 tok/s 和内存占用才是决策依据

这个「首例」不是什么了不起的成就,只是恰好时间卡得巧。但在混乱窗口期摸着石头过河的体验,比看一百篇教程都有意思。