llama.cpp 在新的预览构建中将 Zamba2 系列模型的更多计算转移到 GPU,提高了生成速度。此次改动面向通过 CUDA 运行该模型的开发者。在相同硬件和量化条件下,开发者测得吞吐量提升约 35%。量化是降低模型数值精度以存储模型的方式,吞吐量指单位时间内的处理量。

1. 让 GPU 直接处理此前无法承担的计算

核心是填补模型计算方式与 GPU 支持范围之间的空缺。Zamba2 及类似结构在延续前序状态进行计算的循环扫描阶段,使用的状态大小为 64,即计算中保留的数值个数。原有 CUDA 处理路径仅支持 96、128、256,因此该模型的主要扫描计算每一步都会回退到 CPU。

发布说明指出,在这一瓶颈下,Zamba2 每秒处理 6~7 个 token,而其他架构,即模型的组织方式,在相同硬件上可达到每秒 50~70 个 token。这说明,即使有 GPU,只要缺少模型所需的计算路径,CPU 处理仍可能限制生成速度。

此次修改沿用现有实现模式,新增状态大小为 64 的路径,并同步更新判断 GPU 是否支持的条件及错误提示。计算的数学内容保持不变。

2. 相同条件下的推理测量显示提升约 35%,推理即模型根据输入生成输出的过程

PR 作者报告称,Zamba2-7B-Instruct 的吞吐量从每秒约 11 个 token 增至 15.1 个 token。他表示,在保持硬件和量化条件相同的推理测量中,观察到了可复现的约 35% 提升。发布说明和提交说明也列出了相同的前后数值,提交是记录代码变更的条目。

这一结果展示了消除计算回退到 CPU 的主要原因后所带来的提升。此次修改的特点并非改变模型的数学运算,而是扩大 GPU 可承担的计算范围,从而提高吞吐量。

3. 对照 CPU 基准结果验证正确性

PR 作者表示,已将 GPU 结果与内置正确性测试中的 CPU 基准实现进行比较。此次新增了三项反映 Zamba2 实际维度属性的测试,维度属性即决定模型计算结构的大小信息,全部 28 项测试均通过。这一流程用于确认扩大 GPU 处理范围后,结果仍与基准计算一致。

新增测试涵盖多 token 处理和逐 token 生成的情况。以下摘录自原始代码,展示了选择状态大小为 64 的 GPU 计算路径的部分。

        if (d_state == 64) { // Zamba2
            constexpr int threads   = 64;
            constexpr int num_warps = threads/WARP_SIZE;

            const dim3 blocks((n_head * head_dim + (num_warps - 1)) / num_warps, n_seq, 1);
            const ggml_cuda_kernel_launch_params launch_params = ggml_cuda_kernel_launch_params(blocks, threads, 0, stream);
            ggml_cuda_kernel_launch(ssm_scan_f32_group<64/WARP_SIZE, 64>, launch_params,
                    src0, src1, src2, src3, src4, src5, src6, dst,

4. 主要瓶颈减轻后,CPU 处理负担仍然存在

此次变更的收益在于让 GPU 直接承担主要扫描计算。改变的是负责计算的设备,优化方式是将此前回退到 CPU 的路径纳入 GPU 支持范围。

不过,PR 作者报告称,由于另一原因,约 28% 的扫描调用仍会回退到 CPU,吞吐量尚未达到其他架构的水平。原文没有解释瓶颈调查阶段每秒 6~7 个 token 与改进测量中约 11 个 token 之间的差异,也未说明具体 GPU 和量化格式。

剩余的 CPU 处理是需要与收益一并考量的成本。即使主要计算路径已转移到 GPU,仍有任务由 CPU 承担,因此后续优化的重点是查明其余回退的独立原因。

5. 通过预览版的 CUDA 构建提供

b12207 是于 2026 年 11 月 8 日公开的预览版。发布内容包含适用于 Linux 和 Windows 的 CUDA 构建。在这些环境中运行 Zamba2 的开发者可以选择与操作系统匹配的 CUDA 构建。

选择使用方式时,关键在于此次修改位于 CUDA 计算路径中。该版本为 Linux 和 Windows 提供 CUDA 12 和 13 构建,并列出配套发布的 CUDA 库链接。

b12207 的价值在于,不改变计算公式,而是填补 GPU 支持的空缺,提高 Zamba2 的生成吞吐量。