zGLM-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 RAM/VRAM/统一内存(完整精度需要 32GB),现在你还可以使用 Unsloth 进行微调。要使用 vLLM 运行 GLM 4.7 Flash,请参见 GLM-4.7-Flash

circle-check

运行教程微调

要运行 GLM-4.7-Flash GGUF: unsloth/GLM-4.7-Flash-GGUFarrow-up-right

⚙️ 使用指南

为了获得最佳性能,请确保你的可用总内存(VRAM + 系统 RAM)大于你正在下载的量化模型文件大小。如果不够,llama.cpp 仍然可以通过 SSD/HDD 卸载运行,但推理会更慢。

在与 Z.ai 团队交流后,他们建议使用 GLM-4.7 的采样参数:

默认设置(大多数任务)
Terminal Bench,SWE Bench Verified

temperature = 1.0

temperature = 0.7

top_p = 0.95

top_p = 1.0

重复惩罚 = 禁用或 1.0

重复惩罚 = 禁用或 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

  • 有时你需要试验哪些数值最适合你的使用场景。

circle-exclamation
  • 最大上下文窗口: 202,752

🖥️ 运行 GLM-4.7-Flash

根据你的使用场景,你需要使用不同的设置。一些 GGUF 体积看起来相近,是因为模型架构(如 gpt-oss)的维度不能被 128 整除,因此部分参数无法量化到更低比特。

由于本指南使用 4-bit,你大约需要 18GB RAM/统一内存。我们建议至少使用 4-bit 精度以获得最佳性能。

circle-exclamation

Llama.cpp 教程(GGUF):

在 llama.cpp 中运行的说明(注意我们将使用 4 位以适配大多数设备):

1

获取最新的 llama.cppGitHub 这里arrow-up-right。你也可以按照下面的构建说明进行。将 -DGGML_CUDA=ON 改为 -DGGML_CUDA=OFF 如果你没有 GPU,或者只想进行 CPU 推理。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续——Metal 支持默认开启。

2

你可以直接从 Hugging Face 拉取。随着你的 RAM/VRAM 允许,你可以将上下文增加到 200K。

你也可以尝试 Z.ai 推荐的 GLM-4.7 采样参数:

  • 对于通用场景: --temp 1.0 --top-p 0.95

  • 对于工具调用: --temp 0.7 --top-p 1.0

  • 记得禁用重复惩罚!

针对 通用指令 用例:

针对 工具调用 用例:

3

通过以下方式下载模型(安装完 pip install huggingface_hub)。你可以选择 UD-Q4_K_XL 或其他量化版本。如果下载卡住,请参见 Hugging Face Hub,XET 调试

4

然后在对话模式下运行模型:

此外,请按需调整 上下文窗口 按需,最多到 202752

减少重复和循环

circle-check

这意味着你现在可以使用 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 用于主模型 - arrow-up-right.

circle-exclamation

🐦使用 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 :

最终渲染出如下 HTML 形式的 Flappy Bird 游戏:

chevron-rightHTML 中的 Flappy Bird 游戏(可展开)hashtag

我们还截取了一些截图(4bit 可用):

🦥 GLM-4.7-Flash 微调

Unsloth 现在支持对 GLM-4.7-Flash 进行微调,不过你需要使用 transformers v5。30B 模型无法放入免费的 Colab GPU;不过,你可以使用我们的 notebook。GLM-4.7-Flash 的 16-bit LoRA 微调大约会使用 60GB VRAM:

circle-exclamation

在微调 MoE 时,最好不要微调路由层,因此我们默认将其禁用。如果你希望保留其推理能力(可选),可以使用直接回答和思维链示例的混合。至少使用 75% 推理25% 非推理 ,以让模型保留其推理能力。

🦙Llama-server 服务与部署

要将 GLM-4.7-Flash 部署到生产环境,我们使用 llama-server 在一个新终端中,例如通过 tmux,按以下方式部署模型:

然后在一个新终端中,在执行 pip install openai之后,执行:

将打印

💻 vLLM 中的 GLM-4.7-Flash

你现在可以使用我们新的 FP8 Dynamic 量化版本arrow-up-right 该模型用于获得高性能和快速推理。首先从 nightly 版安装 vLLM:

然后启动服务 Unsloth 的动态 FP8 版本arrow-up-right 该模型。我们启用了 FP8 以将 KV cache 内存使用量降低 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 预测解码

我们发现,使用 GLM 4.7 Flash 的 MTP(多 token 预测)模块会使生成吞吐量从 1 张 B200 上的 13,000 tokens 降到 1,300 tokens!(慢 10 倍)在 Hopper 上,希望应该没问题。

在 1xB200 上吞吐量仅为 1,300 tokens/s(每个用户的解码速度为 130 tokens/s)

而在 1xB200 上吞吐量为 13,000 tokens/s(每个用户的解码速度仍为 130 tokens/s)

🔨使用 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 代码的工具调用

基准测试

除 AIME 25 外,GLM-4.7-Flash 在所有基准上都是表现最好的 30B 模型。

基准
GLM-4.7-Flash
Qwen3-30B-A3B-Thinking-2507
GPT-OSS-20B

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 Verified

59.2

22.0

34.0

τ²-Bench

79.5

49.0

47.7

BrowseComp

42.8

2.29

28.3

最后更新于

这有帮助吗?