AISpot

llama.cpp 修復取樣圖:跨 ubatch 保持靜態,避免重分配建置中斷

llama.cpp releases版本更新地端推論開源開發工具

llama.cpp 建置 b11530 修正了後端取樣圖的拓撲問題:現在每個 sampler 都建置 n_outputs_max_per_seq 條取樣鏈,使取樣圖在不同 ubatch 之間保持靜態。此前 reserve 階段按每個 sampler 建鏈,而 decode 階段按每行輸出建鏈,圖拓撲因此變化,導致 GGML_SCHED_NO_REALLOC 建置在下一次遇到同尺寸圖時中止。

原標題:b11530
閱讀原文

評分45 / 42(平均 43,門檻 60)
狀態未入選

原文

llama: keep the backend sampling graph static across ubatches ( #30223 ) The reserve builds n_outputs_max_per_seq sampling chains per sampler, while a decode built one per output row, so the graph changed its topology after the reserve and GGML_SCHED_NO_REALLOC builds aborted on the next same sized graph. Every sampler now builds n_outputs_max_per_seq chains, the ones without a row of the ubatch on the padding row and not selected, and graph_max_nodes counts them. Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/54380933 macOS/iOS: macOS Apple Silicon (arm64) macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED macOS Intel (x64) iOS XCFramework Linux: Ubuntu x64 (CPU) Ubuntu arm64 (CPU) Ubuntu s390x (CPU) Ubuntu x64 (Vulkan) Ubuntu arm64 (Vulkan) Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries Ubuntu x64 (ROCm 10.0) Ubuntu x64 (OpenVINO) Ubuntu x64 (SYCL FP32) Ubuntu x64 (SYCL FP16) Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide Android: Android arm64 (CPU) Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide Windows: Windows x64 (CPU) Windows arm64 (CPU) Windows arm64 (OpenCL Adreno) Windows x64 (CUDA 12) - CUDA 12.4 DLLs Windows x64 (CUDA 13) - CUDA 13.4 DLLs Windows arm64 (CUDA 13) - CUDA 13.4 DLLs Windows x64 (Vulkan) Windows arm64 (Vulkan) Windows x64 (OpenVINO) Windows x64 (SYCL) Windows x64 (ROCm 10.0) openEuler: DISABLED openEuler x86 (310p) openEuler x86 (910b, ACL Graph) openEuler aarch64 (310p) openEuler aarch64 (910b, ACL Graph) UI: UI

相關報導

llama.cpp releasesAI 評分48

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 releasesAI 評分45

llama.cpp 修復 NextN 提取引發的排程器重分配報錯

llama.cpp 發布 b11440,修復投機 MTP 解碼中 NextN 提取標誌變化導致的排程器預留失效報錯。啟用 MTP 後,NextN 提取在目標與草稿上下文的排程器已預留之後才開啟;未掩碼提取時主幹圖保留最後一層的全部 token 而非裁剪到輸出行,首次解碼按該批次形狀重分配,下一批更寬的批次就會觸發 GGML_SCHED_DEBUG_REALLOC。修復方式是在標誌變化時作廢預留,讓下一次計算按新圖形狀重新預留,並隨各平台預編譯包發布。

llama.cpp releasesAI 評分42

llama.cpp 新增回撥,推理時可上報計算圖重新分配

llama.cpp 建置 b11567 引入可選的 ggml_backend_sched_realloc_callback,使用者程式碼通過 ggml_backend_sched_set_realloc_callback 註冊後,可在為計算圖預留的緩衝區不足、需要重新分配時收到通知。回撥會報告後端分配方案與圖大小相對上次排程是否發生變化。

llama.cpp releasesAI 評分50

llama.cpp 發布 b11472:零溫度取樣改用貪心選擇

llama.cpp 發布建置 b11472,對符合條件、溫度為零的取樣鏈改用貪心選擇,CPU 與 grammar/reasoning-budget 路徑共用同一套貪心判定;動態溫度和顯式請求機率的場景仍保留分佈取樣,最終 top-k 且 k=1 之後也走貪心。改動由 Georgi Gerganov 參與,OpenAI Codex 協助,並在現有 sampler 測試中覆蓋常見取樣器選擇與機率行為。