For the complete documentation index, see llms.txt. This page is also available as Markdown.

GLM-5.2 - 如何本地运行

在本地硬件上运行 Z.ai 的新 GLM-5.2 模型!

GLM-5.2 是 Z.ai 的新开源模型,在长周期编码、推理和代理任务上提供 SOTA 性能。配备 744B 参数,40B 激活参数,以及一个 100 万上下文 窗口,现在可使用以下方式在本地运行 Unsloth Dynamic GGUF。GLM-5.2 是 最强的开源模型 截至目前,在许多基准测试中表现与 Claude 4.8 Opus、GPT-5.5 和 Gemini 3.1 Pro 不相上下。

动态 1 位达到 ~76.2% top-1 准确率,同时体积减少 86%。动态 2 位达到 ~82% 准确率,同时体积减少 84%。这并不意味着模型因为体积缩小 84% 就差了 82%——它实际上只比完整的 1.5TB 模型少约 18% 的准确率。感谢 Z.ai 为 Unsloth 提供首发日访问权限。 GLM-5.2-GGUF

运行 GLM-5.2 教程量化结果

⚙️ 使用指南

2 位动态量化 UD-IQ2_M 使用 239GB 磁盘空间——这可以直接放在一台 256GB 统一内存的 Mac 上 并且在以下配置上表现良好: 1×24GB GPU 和 256GB 内存 并启用 MoE 卸载。

该 1 位 量化版本可放入 223GB 内存中,而 8 位需要 810GB 内存。右侧可查看 1 位 GGUF 的实际效果:

表:推理硬件要求 (单位 = 总内存:RAM + VRAM,或统一内存)

1 位
2-bit
3-bit
4-bit
5 位
8-bit

223 GB

245 GB

290-360 GB

372-475 GB

570 GB

810 GB

推荐设置

GLM-5.2 具有 3 种思考模式。包含非思考和思考两种模式: 高 + 最大。复杂任务请使用最大思考。在 Unsloth Studio 中,你可以通过 UI 轻松切换高 + 最大思考与非思考。

大多数用例请使用这些设置:

默认设置(大多数任务)
SWE-Bench Pro

temperature = 1.0

temperature = 1.0

top_p = 0.95

top_p = 1.0

  • 最大上下文窗口: 1,048,576.

禁用思考,调整推理强度

GLM 5.2 默认使用推理。它还支持推理强度,其中 reasoning_effort 可以是 "high"、"max" 或禁用。

要禁用思考,请使用 --chat-template-kwargs '{"enable_thinking":false}'。如果你使用的是 Windows PowerShell,请使用: --chat-template-kwargs "{\"enable_thinking\":false}"

你也可以使用 --reasoning 开启 或 --reasoning 关闭 也可在 llama.cpp 中使用了!

如需自定义推理强度或禁用推理,请使用以下示例:

📈 量化分析

我们还运行了 KLD(KL 散度)基准来评估 GLM-5.2-GGUF 量化的准确性。动态 4 位 UD-Q4_K_XL 和动态 5 位 UD-Q5_K_XL 基本无损,而更小的量化也表现出色,因为它会动态地将重要层保留为更高精度,而将不重要的层降到低比特。

在纯 top-1% 准确率上, 动态 1 位可达到约 76.2% 准确率,同时体积缩小 86%!动态 2 位可达到约 82% 准确率,同时体积缩小 84%。这表明,将部分层动态量化到更高精度,并不会因为体积缩小 86% 就让模型变差 86%——它只比完整的 1.5TB 模型少约 24% 的能力。

但“76% 准确率”究竟描述的是什么?

76% top-1% 并不意味着“法国的首都是”会变成 76% 选择巴黎、24% 选择悉尼。模型也不会因此“变笨” 24%。在这个例子里,巴黎始终是 100%,悉尼是 0%。76% 这个数字包含了整个语料中的填充词和停用词,例如提问:

“创作一部小说”会因 LLM 采样而得到:

  • 我现在将创作一部小说……

  • 小说如下:

  • 你希望它是什么类型?

每个示例都是正确的,但变化的是 [I, The, What] 的分布——基线模型可能 100% 使用 [I],而现在 [I] 是 76%,[The] 是 24%。

这并不 不 意味着你会在 24% 的时间里得到像乱码之类的错误输出。

99.9% KLD 通常也很好——不过从 4 位开始提升更大,因此对于大规模分布外任务,动态 4 位可能是最佳选择。

Top-1% 是对 KLD 本身的一种“强制”二项分布。KLD 是基线(BF16 或 Q8_0)与量化版本概率之间的“距离”。量化的目标是最小化下面的目标:

minimize 1n∑DKL[ f(q(W)) ∣∣ f(W)) ]\text{minimize } \frac{1}{n} \sum{\text{D}_{\text{KL}}[\text{ }f(q(W))\text{ }||\text{ } f(W))\text{ }]}

其中 f 是语言模型的前向传播,而 q 是量化操作,而 W 是模型的参数或权重。目标是让基线模型输出的 logits 之间的“距离” f(W) 与量化模型输出之间尽可能小。如果你能让 KLD 达到 0,那就说明你完美重建了模型!

我们使用 平均 KLD 如下所示,因为在整个训练语料上运行 KLD 成本很高(例如 15T 词元)——所以我们改为 采样, 并从训练语料中获得一个具有代表性的小子集 / 作为下游任务,并对其进行优化。 平均 KLD 通常随磁盘空间呈单调趋势变化,而且即使在 1 位下 GLM-5.2 也表现良好!

Top-1% 准确率本质上只是一个贪心解码操作:我们假设会选中 argmax 项,而在 1 位、76% 的情况下,它与基线的 argmax 选择相同。

运行 GLM-5.2 教程:

你现在可以在 llama.cpp 和 Unsloth Studio中运行 GLM-5.2。我们将使用 239GB UD-IQ2_M 量化版本,以在可访问性和准确性方面取得最佳结果。

🦥 在 Unsloth Studio 中运行 GLM-5.2

GLM-5.2 可运行于 Unsloth Studio,这是一个用于本地 AI 的开源 Web UI。 Unsloth Studio 会自动卸载到 RAM,并检测多 GPU 配置。借助 Unsloth Studio,你可以在本地运行模型于 MacOS、Windows、Linux 上以及:

2 位 GLM-5.2 GGUF 输出
1

安装并启动 Unsloth

安装时,请在终端中运行:

MacOS、Linux、WSL:

Windows PowerShell:

启动 Unsloth

MacOS、Linux、WSL 和 Windows:

然后打开 http://127.0.0.1:8888 (或你指定的 URL)在浏览器中。

通过 HTTPS 和 Cloudflare 安全启动 Unsloth

新! Unsloth 现在提供了一种通过免费的 Cloudflare 隧道以 HTTPS 安全启动 Studio 的方式。使用下面的命令(适用于 Windows、Mac 和 Linux):

2

搜索并下载 GLM-5.2

Unsloth Studio 会自动卸载到 RAM,并检测多 GPU 配置。首次启动时,你需要创建密码来保护账户,并在之后重新登录。

然后前往 Unsloth Chat 选项卡并搜索 GLM-5.2 在搜索栏中下载你想要的模型和量化版本。请确保你有足够的算力来运行该模型。

3

运行 GLM-5.2

在使用 Unsloth Studio 时,推理参数应会自动设置,不过你仍然可以手动更改。你也可以编辑上下文长度、聊天模板和其他设置。

更多信息请查看我们的 Unsloth Studio 推理指南.

使用 Canvas 运行的 1 位 GLM-5.2 示例

🦙 在 llama.cpp 中运行 GLM-5.2

在本指南中,我们将运行 UD-IQ2_M 该量化版本,它至少需要 245GB 内存。你可以自由更改量化类型。对于这些教程,我们将使用 llama.cpp 以进行快速本地推理。GGUF: GLM-5.2-GGUF

1

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

2

你现在可以使用 llama.cpp 直接加载和下载模型,就像 ollama run。首先,选择你想要的量化类型,例如 UD-IQ2_M。同时使用 export LLAMA_CACHE="unsloth/GLM-5.2-GGUF" 来强制 llama.cpp 保存到特定位置。 注意,此下载过程可能非常慢,所以最好使用下一部分中的手动下载流程。

3

如果你想手动下载模型 (快得多!),我们可以通过下面的代码下载模型(在安装 pip install huggingface_hub之后)。如果下载卡住,请参见: Hugging Face Hub、XET 调试

如果你想使用动态 1 位,则执行:

4

然后在对话模式下运行模型。使用 unsloth/GLM-5.2-GGUF/UD-IQ2_M/GLM-5.2-UD-IQ2_M-00001-of-00006.gguf 用于 2 位,或者 unsloth/GLM-5.2-GGUF/UD-IQ1_S/GLM-5.2-UD-IQ1_S-00001-of-00006.gguf 用于 1 位。

5

当你启动 llama-cli 时,你会看到:

然后在提示它制作一个简短的 Flappy Bird 游戏后,我们得到:

完整对话和游戏如下:

HTML 完整游戏
完整对话

而且游戏有声音,运行得非常棒!提醒一下,这是 1-bit 量化,而且效果很好!

📐通过 KV Cache 量化实现长上下文

要在 llama.cpp 中利用长上下文,我们需要采用 KV cache 量化来减少内存使用。最近 llama.cpp 为 KV cache 量化加入了更高精度的技巧—— 见 以及其他 PR!

目前支持以下 KV cache dtype:

默认情况下 f16 被使用。如果你使用 q4_0 ,它大约是每个权重 4.5 bit,你可以将上下文长度扩展到大约 16 / 4.5 = 3.5 倍更长的上下文长度!所以如果你的模型原本支持 10K,那么 35K 可能就能实现! q4_1 可能更好,因为你还能获得一个偏移参数,而且是每个权重 5 bit——因此可获得 3.2 倍更长的上下文。

像下面这样使用:

📊 基准测试

你可以在下方以表格形式查看 GLM-5.2 基准测试:

基准
GLM-5.2
Claude Opus 4.8
GPT-5.5
Gemini 3.1 Pro
GLM-5.1
Qwen3.7-Max
MiniMax M3
DeepSeek-V4-Pro

推理

HLE

40.5

49.8*

41.4*

45

31

41.4

37

37.7

HLE(含工具)

54.7

57.9*

52.2*

51.4*

52.3

53.5

-

48.2

CritPt

20.9

20.9

27.1

17.7

4.6

13.4

3.7

12.9

AIME 2026

99.2

95.7

98.3

98.2

95.3

97

-

94.6

HMMT 2025 年 11 月

94.4

96.5

96.5

94.8

94

95

84.4

94.4

HMMT 2026 年 2 月

92.5

96.7

96.7

87.3

82.6

97.1

84.4

95.2

IMOAnswerBench

91.0

83.5

-

81

83.8

90

-

89.8

GPQA-Diamond

91.2

93.6

93.6

94.3

86.2

90

93

90.1

编程

SWE-bench Pro

62.1

69.2

58.6

54.2

58.4

60.6

59

55.4

NL2Repo

48.9

69.7

50.7

33.4

42.7

47.2

42.1

35.5

DeepSWE

46.2

58

70

10

18

18

20

8

ProgramBench

63.7

71.9

70.8

39.5

50.9

-

-

47.8

Terminal Bench 2.1(Terminus-2)

81.0

85

84

74

63.5

75

65

64

Terminal Bench 2.1(最佳报告基准)

82.7

78.9

83.4

70.7

69

-

-

-

FrontierSWE(统治性)

74.4

75.1

72.6

39.6

30.5

-

-

29.0

PostTrainBench

34.3

37.2

28.4

21.6

20.1

-

-

-

SWE-Marathon

13.0

26.0

12.0

4.0

1.0

-

-

-

智能体

MCP-Atlas(公开集)

76.8

77.8

75.3

69.2

71.8

76.4

74.2

73.6

Tool-Decathlon

48.2

59.9

55.6

48.8

40.7

-

-

52.8

最后更新于

这有帮助吗?