llama.cpp b11800 新增 QSA mask 融合運算元,並將 k-pool mask 推廣為通用實現
llama.cpp b11800 為 QSA 新增融合運算元,並將原本只服務 qwen4exp 與 glm5-next 池化選擇的 k-pool mask 推廣為通用 ggml_top_k_mask,DSA 模型與 DeepSeek V4 CSA 也改用該運算元。它保留 top-k 選中與額外保留的 mask 單元、其餘置為 -inf,可按 head 逐行選擇,後端不支援時回退原路徑。
原標題:b11800
閱讀原文
| 評分 | 50 / 45(平均 47,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 發布 b11352 版本,最佳化 Qwen4 掩碼構造
llama.cpp 發布 b11352 建置版本,主要變更為最佳化 Qwen4 的掩碼構造(#29824),並將相同改動應用到 GLM5-next。該版本覆蓋 macOS、iOS、Linux、Android、Windows 與 openEuler 平台,提供 CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL 等多種後端建置,其中 macOS Apple Silicon 的 KleidiAI 建置被標記為 DISABLED。
llama.cpp 修復 k-pool 模型圖重分配導致的解碼中止
llama.cpp 發布 b11412,修復 k-pool 模型(qwen4exp、glm5-next)解碼時意外重新預留計算圖並中止的問題。原因是兩模型按 cache_safe、n_tokens 等 reserve 無法預知的狀態分支,解碼圖與預留圖節點數不一致(如 7564 對 7762),解碼時被迫按當前狀態重預留、丟掉最壞情況尺寸,在 GGML_SCHED_DEBUG_REALLOC=1 下直接 abort。
llama.cpp Vulkan 後端修復 TOP_K 的 inf/NaN 與負值錯誤
llama.cpp 發布 b11505,修復 Vulkan 後端 TOP_K 運算元在 +inf/NaN 輸入和 k=1 負值時的錯誤。原 bucket search 從 [0, 0xFF800000) 起算,+inf 與 NaN 永不被計數,可致 NVIDIA 上掛起或裝置丟失、AMD 上索引錯誤,並漏掉真實 top 值。
llama.cpp CUDA 重做 top-k 選擇:大行數改用 radix
llama.cpp 的 CUDA 後端重做 top-k 演算法選擇,大行數場景改用按行網格的 radix select 替代 CUB 逐行 DeviceTopKKernel,在 qwen4exp 34,816 tokens 上啟動次數從 1,671,253 次降到 2,329 次,耗時從 5,761.8 ms 降到 941.8 ms。
llama.cpp b11600 修復 T5 無快取注意力的 KQ 偏置填充
llama.cpp 發布建置 b11600,主要修復無快取注意力中 KQ 偏置未填充的問題:T5 會額外加入形狀為 [n_tokens, n_tokens] 的相對位置偏置,當 n_tokens 不能整除填充後的寬度時,與 KQ 相加會失敗,現在按 K、V 的做法用零把偏置填充到 mask 的 KV 維度。