llama.cpp b10730发布:优化Qwen3.8-Flash-Next提示处理性能提升约 9%
llama.cpp发布b10730版本,通过按切片求和索引器头部并移除冗余cont操作,提升了Qwen3.8-Flash-Next模型的提示处理速度,实测从 2170 t/s提升至 2366 t/s。
AI解读:这次更新针对Qwen3.8-Flash-Next模型的推理优化。此前索引器头部的归约操作涉及转置和求和,导致大量内存复制。新版本改为按切片求和,直接对相邻的头部做加法链,消除了冗余复制。在RTX PRO 6000上,55k上下文的提示处理速度从 2170 t/s提升到 2366 t/s,约快 9%,生成速度不受影响。对开发者而言,这个优化特别适合长上下文或大批量处理场景,因为消除的工作量与上下文长度和批量大小成正比。普通用户无需立即升级,但使用高上下文或批处理推理的程序可以获得明显速度提升。
llama.cpp发布b10730版本,核心变更是针对Qwen3.8-Flash-Next模型的提示处理性能优化。
按切片求和索引器头部,减少内存复制
此前的头部归约通过转置和对ne[1] 执行sum_rows实现,导致转置在token表面上两次复制整个块。新实现利用头部在ne[1] 上相邻的特点,将每个头部视为跨步视图,求和变为短链加法,消除了转置和多余的块复制。
另一项变更是移除了索引器查询rope操作后的冗余cont调用。rope返回新分配的连续张量,reshape不再需要额外复制;ggml_reshape_3d会断言连续性,因此需要cont的布局不会静默通过。
- 实测环境:RTX PRO 6000,Qwen3.8-Flash-Next UD-Q4_K_XL,启用flash attention,55k上下文,基于 #28011 的热运行。
- 提示处理速度从 2170 t/s提升至 2366 t/s,提升约 9%。
- 生成(generation)速度不受影响。
- 移除的工作量与n_blocks × n_tokens成正比,意味着收益随上下文长度和ubatch大小增长。
- 贪婪输出与之前逐token一致。
可用平台与下载
b10730提供多平台预编译二进制,覆盖macOS(Apple Silicon、Intel、iOS XCFramework)、Linux(Ubuntu x64/arm64/s390x CPU,以及Vulkan、ROCm 7.14、OpenVINO、SYCL FP32/FP16版本)、Windows(x64/arm64 CPU,CUDA 12/13、Vulkan、OpenVINO、SYCL、ROCm版本)、Android(arm64 CPU)以及openEuler(部分构建禁用)。
值得注意,macOS Apple Silicon的KleidiAI启用构建和openEuler部分构建在本版本中处于禁用状态,用户需检查对应PR了解原因。
- macOS Apple Silicon (arm64):llama-b10730-bin-macos-arm64.tar.gz
- Ubuntu x64 (CPU):llama-b10730-bin-ubuntu-x64.tar.gz
- Windows x64 (CUDA 12):llama-b10730-bin-win-cuda-12.4-x64.zip
- Android arm64 (CPU):llama-b10730-bin-android-arm64.tar.gz
- 完整下载列表见发布页。