本地用vLLM部署GLM-5.2的速度终于上来了!
好消息终于轮到本地部署 GLM-5.2 了! 大家都知道 GLM-5.2 这次是自带了MTP头的, 可以进行推测性解码.
但是, 这个只适用于bf16原始精度的GLM-5.2, 而这玩意原始精度要到1.5TB, 本地跑的很少有富到这个程度的, 所以大家都用各种量化版本, 毕竟4bit量化就只要430GB了.
问题这就来了, 由于 GLM-5.2 的 MTP 采用了非常特殊的 DSA (动态稀疏注意力), 导致目前几个推理引擎 (llama.cpp, vLLM, mlx) 都无法支持.
其中 llama.cpp, mlx 是完全没办法开 MTP, vLLM 只支持FP8精度的.
而SGLang 没事哈, SGLang 架构比较屌上来就支持同一个计算流使用混合精度. 所以直接用 GLM-5.2-W4AFP8 就行.
所以回到这几个不支持的推理引擎, 大部分的量化版本 GLM-5.2 开了 MTP 反而会掉速度. 甚至有的量化版本直接把MTP部分给砍了(mlx).
而社区作者dnhkng搞了个缝合方法, 最终搞出了 GLM-5.2-AWQ-INT4-FP8-MTP-delta, 即 底座用 INT4(走 Marlin 算子)+ MTP 用 FP8(保持精度)同时还能让vLLM 支持. 速度从原来的 2 token/s 直接飙升到了 43.39 token/s (绑定NUMA+MTP-3)
所以目前位置 SGLang 和 vLLM (魔改版)都能直接火力全开跑带MTP的 GLM-5.2了. 而 llama.cpp和mlx用户还需要再等等. 社区还在弄.
这个作者的blog (过程极其精彩, 有不少优化技巧):
#
glm52# #
mtp# #
dsa#