GLM-4.7-Flash:如何本地运行
在您的设备上本地运行并微调 GLM-4.7-Flash!
GLM-4.7-Flash 是 Z.ai 新推出的本地部署用 30B MoE 推理模型,在代码生成、代理式工作流和聊天方面提供同类最佳的性能。它使用约 3.6B 参数,支持 200K 上下文,并在 SWE-Bench、GPQA 以及推理/聊天基准中领先。
GLM-4.7-Flash 可在 24GB 内存/显存/统一内存(全精度需 32GB),现在你也可以使用 Unsloth 进行微调。要在 vLLM 上运行 GLM 4.7 Flash,请参见 GLM-4.7-Flash
1 月 21 日 更新: llama.cpp 修复了一个错误,该错误指定了错误的 scoring_func: "softmax" (应为 "sigmoid")。该问题导致循环和糟糕的输出。我们已更新 GGUF —— 请重新下载模型以获得更好的输出。
你现在可以使用 Z.ai 推荐的参数并获得很好的结果:
一般使用场景:
--temp 1.0 --top-p 0.95工具调用场景:
--temp 0.7 --top-p 1.0重复惩罚: 禁用它,或者设置
--repeat-penalty 1.0
1 月 22 日:更快的推理已经到来,因为针对 CUDA 的 FA 修复现已合并。
用于运行的 GLM-4.7-Flash GGUF: unsloth/GLM-4.7-Flash-GGUF
⚙️ 使用指南
为获得最佳性能,请确保您可用的总内存(VRAM + 系统 RAM)大于您下载的量化模型文件的大小。如果不是,llama.cpp 仍可通过 SSD/HDD 异地卸载运行,但推理会更慢。
在与 Z.ai 团队沟通后,他们建议使用他们的 GLM-4.7 采样参数:
temperature = 1.0
temperature = 0.7
top_p = 0.95
top_p = 1.0
repeat penalty = 禁用或 1.0
repeat penalty = 禁用或 1.0
一般使用场景:
--temp 1.0 --top-p 0.95工具调用场景:
--temp 0.7 --top-p 1.0如果使用 llama.cpp,设置
--min-p 0.01因为 llama.cpp 的默认值是 0.05有时你需要尝试哪些数值最适合你的使用场景。
目前,我们 不建议 用以下方式运行此 GGUF Ollama 因为可能存在聊天模板兼容性问题。该 GGUF 在 llama.cpp(或例如 LM Studio、Jan 等后端)上运行良好。
记得禁用重复惩罚!或者设置 --repeat-penalty 1.0
最大上下文窗口:
202,752
🖥️ 运行 GLM-4.7-Flash
根据你的使用场景,你需要使用不同的设置。一些 GGUF 的最终大小相似是因为模型架构(例如 gpt-oss)的维度不能被 128 整除,因此部分无法量化到更低的位宽。
因为本指南使用 4 位,你将需要大约 18GB 内存/统一内存。我们建议使用至少 4-bit 精度以获得最佳性能。
目前,我们 不建议 用以下方式运行此 GGUF Ollama 因为可能存在聊天模板兼容性问题。该 GGUF 在 llama.cpp(或例如 LM Studio、Jan 等后端)上运行良好。
记得禁用重复惩罚!或者设置 --repeat-penalty 1.0
Llama.cpp 教程(GGUF):
在 llama.cpp 中运行的说明(注意我们将使用 4 位以适配大多数设备):
获取最新的 llama.cpp 在 GitHub 在此。你也可以按照下面的构建说明。若 -DGGML_CUDA=ON 改为 -DGGML_CUDA=OFF 如果你没有 GPU 或仅想使用 CPU 推理。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续 - Metal 支持默认开启。
你可以直接从 Hugging Face 拉取。你可以根据你的内存/显存将上下文增加到 200K。
你也可以尝试 Z.ai 推荐的 GLM-4.7 采样参数:
一般使用场景:
--temp 1.0 --top-p 0.95工具调用场景:
--temp 0.7 --top-p 1.0记得禁用重复惩罚!
遵循此以获取 一般指令 用例:
遵循此以获取 工具调用 用例:
通过以下方式下载模型(在安装后 pip install huggingface_hub)。你可以选择 UD-Q4_K_XL 或其他量化版本。如果下载卡住,请参见 Hugging Face Hub、XET 调试
然后以对话模式运行模型:
另外,根据需要调整 上下文窗口 到 202752
➿减少重复与循环
1 月 21 日 更新: llama.cpp 修复了一个错误,该错误指定了错误的 "scoring_func": "softmax" 导致循环和糟糕的输出(应为 sigmoid)。我们已更新 GGUF。请重新下载模型以获得更好的输出。
这意味着你现在可以使用 Z.ai 推荐的参数并获得很好的结果:
一般使用场景:
--temp 1.0 --top-p 0.95工具调用场景:
--temp 0.7 --top-p 1.0如果使用 llama.cpp,设置
--min-p 0.01因为 llama.cpp 的默认值是 0.05记得禁用重复惩罚!或者设置
--repeat-penalty 1.0
我们添加了 "scoring_func": "sigmoid" 改为 config.json 用于主模型 - 参见.
目前,我们 不建议 用以下方式运行此 GGUF Ollama 因为可能存在聊天模板兼容性问题。该 GGUF 在 llama.cpp(或例如 LM Studio、Jan 等后端)上运行良好。
🐦使用 UD-Q4_K_XL 的 Flappy Bird 示例
作为示例,我们通过使用 UD-Q4_K_XL 进行了以下长对话,运行命令: ./llama.cpp/llama-cli --model unsloth/GLM-4.7-Flash-GGUF/GLM-4.7-Flash-UD-Q4_K_XL.gguf --fit on --temp 1.0 --top-p 0.95 --min-p 0.01 :
它渲染出如下的 Flappy Bird HTML 游戏:
我们还截取了一些截图(4bit 可用):


🦥 微调 GLM-4.7-Flash
Unsloth 现在支持 GLM-4.7-Flash 的微调,然而你将需要使用 transformers v5。该 30B 模型无法放入免费的 Colab GPU;不过你可以使用我们的笔记本。GLM-4.7-Flash 的 16-bit LoRA 微调大约需要 60GB 显存:
在使用 A100 40GB 显存时你可能会遇到内存不足的情况。你需要使用 H100/A100 80GB 显存以获得更顺畅的运行。
在微调 MoE 时,通常不建议微调路由层,因此我们默认禁用它。如果你想保留其推理能力(可选),可以使用直接答案与链式思维示例的混合。在你的数据集中至少使用 75% 推理类 和 25% 非推理类 以使模型保留其推理能力。
🦙 Llama-server 提供服务与部署
要将 GLM-4.7-Flash 部署到生产环境,我们使用 llama-server 在新终端中(例如通过 tmux),通过以下方式部署模型:
然后在新终端中,在执行 pip install openai之后,执行:
这将打印出
💻 vLLM 中的 GLM-4.7-Flash
你现在可以使用我们的新 FP8 动态量化 为高端且快速的推理对模型进行的设置。首先从 nightly 安装 vLLM:
然后提供服务 Unsloth 的动态 FP8 版本 的模型。我们启用了 FP8 以将 KV 缓存内存使用量减少 50%,并在 4 张 GPU 上。如果只有 1 张 GPU,请使用 CUDA_VISIBLE_DEVICES='0' 并设置 --tensor-parallel-size 1 或移除此参数。要禁用 FP8,请移除 --quantization fp8 --kv-cache-dtype fp8
然后你可以通过 OpenAI API 调用该已部署的模型:
⭐ vLLM GLM-4.7-Flash 预测解码(Speculative Decoding)
我们发现使用 GLM 4.7 Flash 的 MTP(多标记预测)模块会让生成吞吐量从 1 个 B200 的 13000 个标记降到 1300 个标记!(慢 10 倍)在 Hopper 上,希望应该没问题。
在 1xB200 上吞吐量仅 1,300 标记/秒(每用户解码 130 标记/秒)

在 1xB200 上吞吐量为 13,000 标记/秒(仍为每用户解码 130 标记/秒)

🔨使用 GLM-4.7-Flash 的工具调用
参见 Tool Calling Guide 以了解有关如何进行工具调用的更多细节。在新的终端中(如果使用 tmux,使用 CTRL+B+D),我们创建了一些工具,例如相加两个数字、执行 Python 代码、执行 Linux 命令等更多功能:
然后我们使用下面的函数(复制粘贴并执行),它们会自动解析函数调用并为任何模型调用 OpenAI 端点:
在通过 启动 GLM-4.7-Flash 之后, llama-server 就像在 GLM-4.7-Flash 或参见 Tool Calling Guide 了解更多细节,然后我们可以进行一些工具调用:
针对 GLM 4.7 的数学运算工具调用

用于为 GLM-4.7-Flash 执行生成的 Python 代码的工具调用

基准测试
GLM-4.7-Flash 是除 AIME 25 之外在所有基准测试中表现最好的 30B 模型。

AIME 25
91.6
85.0
91.7
GPQA
75.2
73.4
71.5
LCB v6
64.0
66.0
61.0
HLE
14.4
9.8
10.9
SWE-bench 已验证
59.2
22.0
34.0
τ²-Bench
79.5
49.0
47.7
BrowseComp
42.8
2.29
28.3
最后更新于
这有帮助吗?

