AISpot

llama.cpp 修復 gguf-split 對截斷 GGUF 靜默輸出損壞張量

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

llama.cpp 建置 b11727 為 gguf-split 和 export-lora 加上張量資料邊界檢查與短讀檢查,輸入 GGUF 檔案被截斷時直接拒絕,不再靜默產出損壞的張量資料。修復點位於 gguf-split.cpp 的 copy_file_to_file(split_strategy)與 export-lora.cpp 的 read_tensor_data,並附帶回歸測試,驗證截斷輸入被拒絕、合法張量資料仍被保留。

原標題:b11727
閱讀原文

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

原文

tools : reject truncated GGUF tensor data in split and export tools ( #30497 ) The problem here in the repo is gguf-split can silently produce corrupted tensor output when the input GGUF file is truncated. The fix is to add tensor-data bounds checks and short-read checks in gguf-split.cpp and export-lora.cpp, and a regression test that checks truncated input is rejected and valid tensor data is preserved.# Bug : GGUF-split can silently produce corrupted tensor output when the input GGUF file is truncated. Fix : add short-read checks in gguf-split.cpp (in copy_file_to_file in split_strategy) and export-lora.cpp (in read_tensor_data of file_input) so that truncated input is rejected. Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/57346730 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 評分45

llama.cpp 建置 b11448:ggml-cuda 分塊處理大塊 BF16/FP16 轉 F32

llama.cpp 發布建置 b11448,ggml-cuda 後端把大塊 BF16/FP16 到 F32 的轉換改為分塊執行(#29442),並修正分塊 cuBLAS 矩陣乘法未遵循目標 stride 的問題,提交由 Johannes Gäßler 參與。改動僅涉及 CUDA 後端,影響用 NVIDIA GPU 做本地推理的場景;該建置同時覆蓋 macOS Apple Silicon 與 Linux、Windows 的 CUDA 12/13 等平台。

llama.cpp releasesAI 評分46

llama.cpp 修復 ggml_acc 負偏移導致的越界寫

llama.cpp 建置 b11529 修復了 ggml 中 ggml_acc 的越界寫漏洞:ggml_acc_impl 將 size_t 偏移量收窄為 int32_t 時未做檢查,超大偏移會截斷成負數,再被符號擴充套件為巨大 size_t 導致邊界斷言失效,可在 dst 緩衝區下方越界寫入。修復方式是在收窄前檢查偏移量,與 ggml_set_impl 中已有檢查保持一致。該版本同時提供 macOS、Linux、Windows、Android 等多平台預編譯包。

llama.cpp releasesAI 評分42

llama.cpp 改為從 GGUF 後設資料讀取 LFM2-VL 切圖引數

llama.cpp 新建置 b11767 讓 LFM2-VL 的影像切分引數改由 GGUF 後設資料決定,不再寫死在程式碼裡。轉換 LFM2-VL mmproj 時會把 processor_config.json 中的 min_tiles、max_tiles、tile_size 和 max_pixels_tolerance 寫入模型,clip.cpp 讀取這些值,缺失時回退到原有常量。

llama.cpp releasesAI 評分45

llama.cpp b11436 修復 OpenVINO 後端多項 GPU 迴歸

llama.cpp b11436 修復 ggml-openvino 後端的 CI 測試失敗與多項 GPU 迴歸。上游 #29622 給輸入 embedding 圖加入混合 token/embd 分支,後端改為只從計算節點建置 OV 模型,並把同型別連續 DUP 按 CONT 翻譯以避免圖被拆分,修復了 CPU 與 GPU 上首個單 token decode 失敗;