llama.cpp b10981 版本解决了 OpenVINO 后端状态解码路径中的关键正确性问题,特别修复了对使用每层头大小的模型(如 Gemma-4)的支持。它还引入了针对 GPU 混合专家 (MoE) 推理的优化,并通过 KV 状态重排提高了性能。
- 通过正确处理每层类型的头计数和滑动窗口层,修复了 Gemma-4 的状态解码失败问题。
- 改进了 GPU 上的状态解码性能,gemma-4-12B 在深度 8192 时从 6.27 t/s 提升至 9.11 t/s。
- 添加了 GGML_OPENVINO_REQUANT_KQUANT 以选择 4 位重量化目标,以及 GGML_OPENVINO_SPILL_DIR 以将权重缓冲区溢出到磁盘。
- 通过将专家块融合到 MOECompressed 并对分组的 8 位专家进行重量化,优化了 GPU MoE 推理。
- 通过接受打包的 QKV RoPE 视图并从掩码中检测无缓存注意力,启用了 NPU 上的无缓存编码器模型。
- 通过将不匹配的运算数类型上转换为 f32 以保持精度,修复了混合数据类型 ADD/SWIGLU_CLAMP 操作。
这些更改确保了像 Gemma-4 这样复杂模型架构的准确推理,同时在兼容硬件上为状态解码和 MoE 工作负载提供了可测量的加速。