MiaAI-Lab/GLM-5.3-Flash-EXL3-2x-DGX-Sparks · 上手攻略
- 仓库:MiaAI-Lab/GLM-5.3-Flash-EXL3-2x-DGX-Sparks
- 链接:https://github.com/MiaAI-Lab/GLM-5.3-Flash-EXL3-2x-DGX-Sparks
- 分类:LLM推理 · 量化部署 · vLLM
- 作者:Jay
- 更新:2026-08-30
这是什么
一个在 2× NVIDIA GB10(DGX Sparks) 上通过 vLLM 以 EXL3 4-bit 量化Serving zai-org/GLM-5.3-Flash 的开源配方。核心目标是用 ~164 GiB 的量化权重在消费级双 GB10 机器上跑起百万 token 上下文的 GLM-5.3-Flash,并附带 DFlash2 投机解码(k=7)加速。
简单说:让你在双 GB10 机器上,用比 FP8 少 46% 的显存占用,跑出一个支持 1M 上下文、多模态(图像+视频)、带工具调用能力的开源大模型推理服务。
解决什么问题
GLM-5.3-Flash 原生权重约 328 GB(FP8),普通开发者根本跑不动。这个 Recipe 通过 EXL3 4-bit 量化,把权重压到 ~164 GiB,同时保留 SM_121a 原生 cubin,在双 GB10 上用 TP=2 跑起来。
关键痛点解决:
- 显存不够:FP8 要 328 GB,EXL3 4bpw 只用 164 GiB(同精度质量 KLD 基本持平)
- 长上下文贵:KV pool 配了 1.75M token(1M 请求量的 1.75 倍),支持百万 token 级别 RAG/Agent 场景
- 投机解码:DFlash2 k=7 加速 structured generation,单请求 62.9 tok/s
- OpenAI 兼容:直接用 /v1/chat/completions 接口,现有应用无需改代码
快速安装
前置要求
- 2× NVIDIA GB10(每卡支持 SM_121a),CX7 网卡(TP 通讯)
- CUDA 13.0 环境(镜像基于
nvidia/cuda:13.0-cudnn9-devel-ubuntu22.04) - 约 200 GB 磁盘(存量化权重 + KV cache)
- Docker
拉取并启动
# 拉取 Docker 镜像
docker pull ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3
# 在 head 节点启动(假设 worker IP = 10.0.0.2)
docker run -it --rm \
--gpus all \
--network host \
--shm-size=64g \
-e HEAD_IP=10.0.0.1 \
-e WORKER_USER=zurih \
-e WORKER_IP=10.0.0.2 \
ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3 \
--headless
⚠️ 以上 IP/用户名为占位符,需要替换为你实际的双机 CX7 网卡 IP 和 SSH 用户名。镜像默认 OpenAI API 在
:8888,无需认证即可访问(正式部署务必设置VLLM_API_KEY)。
下载量化权重
# 权重来自 HuggingFace,无需手动下载(vLLM 启动时自动拉取)
# 模型 ID: Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw
#(brandonmusic 快照镜像: 5ab363a8…)
核心用法
启动服务(最小命令)
docker run -it --rm \
--gpus all \
--network host \
--shm-size=64g \
-e TORCH_CUDA_ARCH_LIST=12.1 \
ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3 \
--headless \
--model Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw \
--served-model-name GLM-5.3-Flash-EXL3 \
--tensor-parallel-size 2 \
--max-model-len 1000000 \
--kv-cache-dtype fp8 \
--enforce-eager 0 \
--enable-prefix-caching
⚠️
--moe-backend marlin在此 Recipe 中禁止使用,会与 EXL3 MoE 实现冲突。
OpenAI 兼容调用
# 流式对话
curl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "GLM-5.3-Flash-EXL3",
"messages": [{"role": "user", "content": "用一句话解释量子纠缠"}],
"max_tokens": 200,
"stream": true
}'
# 非流式
curl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "GLM-5.3-Flash-EXL3",
"messages": [{"role": "user", "content": "解释量子纠缠"}],
"max_tokens": 200
}'
工具调用(Agent 场景)
GLM-5.3-Flash 支持 --tool-call-parser glm47 + --reasoning-parser glm45:
# 启用自动工具选择
curl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "GLM-5.3-Flash-EXL3",
"messages": [{"role": "user", "content": "帮我查一下北京的天气"}],
"tools": [{"type": "function", "function": {"name": "get_weather", "parameters": {"type": "object", "properties": {"city": {"type": "string"}}}}}],"tool_call_parser": "glm47","enable_auto_tool_choice": true
}'
多模态(图像+视频)
curl http://localhost:8888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "GLM-5.3-Flash-EXL3",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}],
"max_tokens": 200
}'
性能基准(来自 README)
⚠️ 以下数字均在空 KV(无 1M 缓存填充)、CUDA graphs 开启、temp=0、thinking=off 条件下测得。实际线上吞吐会因 KV cache 命中率不同而变化。
| 并发 | TTFT | 流 tok/s | 总 tok/s |
|---|---|---|---|
| ×1 | 719 ms | 62.9 | 62.9 |
| ×2 | 6.62 s | 51.7 | 103.3 |
| ×4 | 6.30 s | 37.1 | 146.5 |
Structured generation(代码/结构化输出)lab median:61.7 tok/s(accept rate 0.918,每步 6.43 token)。
典型适用场景
- 私有化 LLM API 服务:在双 GB10 机器上搭一个内部 GPT-4-class 模型,支持 OpenAI SDK 直连
- 长上下文 Agent:1M token 上下文,适合知识库 RAG、代码库分析、长文档理解
- 多模态应用:图生文、视频帧理解,集成进现有 Agent pipeline
- 量化研究:对比不同精度(FP8 vs EXL3 4bpw vs NVFP4)在同硬件上的质量/性能 tradeoff
坑与注意
- GB10 专用镜像:不能用 stock
vllm/vllm-openai:*镜像,会在第一个 forward 报pe_dim must be 64 for fp8_ds_mla而崩溃——必须用本 Recipe 提供的 overlay 镜像。 - EXL3 + fp8 KV 绑定:TF32/FP16 MoE 会炸显存,DFlash2 draft KV 必须保持
auto/bf16,不要手动强制 fp8。 - TRITON_ATTN 陷阱:speculative decoding 开启时 pinned
TRITON_ATTN会把 structured 性能从 61.7 tok/s 跌到 ~29 tok/s,必须用FLASH_ATTN。 - 1M context ≠ 1M KV pool:实际 pool 是 1,754,237 token(1.75×),不要误以为设
--max-model-len 256k就能省显存——Mamba + DFlash window block-id 需求是长度无关的。 - 不要用
--moe-backend marlin:明确写在 README 里,会破坏 EXL3 MoE 的 fused kernel。 - API 默认无认证:生产环境必须设
VLLM_API_KEY,否则完全裸奔。
与同类对比
| 方案 | 硬件 | 精度 | 显存占用 | 1M ctx | 多模态 | 开源 |
|---|---|---|---|---|---|---|
| 本 Recipe(EXL3 4bpw TP2) | 2× GB10 | EXL3 4bpw | ~164 GiB | ✅ 1.75× pool | ✅ | ✅ |
| vLLM 原生 FP8 | 2× H100 | FP8 | ~328 GiB | ✅ | ✅ | ✅ |
| llama.cpp (Q4_K_M) | 单机 Mac/PC | Q4 | ~20 GB | ❌ 受限 | ❌ | ✅ |
| Ollama | 单机 | 量化 | ~10-30 GB | 部分 | ✅ | ✅ |
| Text generation webui | 单机 | 量化 | ~10-30 GB | ❌ | 部分 | ✅ |
本 Recipe 核心差异:是目前唯一在 GB10 上针对 GLM-5.3-Flash EXL3 量化做深度调优的 vLLM fork,目标是在消费级多卡环境(而非 H100 服务器)上实现百万 token 级别 serving。
⚠️ 注意:KLD 数据(0.024555 vs FP8 0.020615)表明 4bpw 精度相比官方 FP8 有约 19% 的质量损失,在对精度敏感的任务中需评估是否可以接受。
一句话推荐结论
如果你有双 GB10 机器、想在本地跑百万 token 上下文的开源 GPT-4-class 模型、且能接受 EXL3 4bpw 带来的约 19% KLD 质量损失,这个 Recipe 是目前最省显存的方案;否则建议用 FP8 + H100 或消费级 Ollama。
最小可跑命令清单
# 硬件:2× NVIDIA GB10, CX7 网卡互通
# CUDA:13.0(镜像内置)
# 模型:Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw(HuggingFace 自动下载)
# 精度:EXL3 4bpw, fp8 KV cache
# 命令:
docker pull ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3
# head 节点:
docker run -it --rm --gpus all --network host --shm-size=64g \
-e HEAD_IP=10.0.0.1 -e WORKER_USER=<user> -e WORKER_IP=<worker_ip> \
ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3 \
--model Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw \
--served-model-name GLM-5.3-Flash-EXL3 \
--tensor-parallel-size 2 --max-model-len 1000000 \
--kv-cache-dtype fp8 --enforce-eager 0 --enable-prefix-caching
# 验证:
curl http://localhost:8888/v1/models
来源
- 仓库 README:https://github.com/MiaAI-Lab/GLM-5.3-Flash-EXL3-2x-DGX-Sparks
- 量化权重:https://huggingface.co/Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw
- 原始 FP8 权重:https://huggingface.co/zai-org/GLM-5.3-Flash
- EXL3 upstream:https://huggingface.co/brandonmusic/GLM-5.3-Flash-tr3-4bpw
- vLLM 官方:https://github.com/vllm-project/vllm
- DFlash2 spec:https://huggingface.co/incoai/GLM-5.3-Flash-DFlash2