llama.cpp 修復 Metal 大矩陣偏移溢位問題
llama.cpp 建置版本 b11895 修復了 Metal 後端在大型矩陣輸出偏移時出現的整數溢位,同時加寬了 batch 偏移與 MUL_MAT_ID 的 token 索引。改動由 Codex 輔助完成,屬於影響大模型在 Apple Silicon 上推理正確性的底層修復,本次建置仍按慣例提供 macOS、Linux、Windows、Android 等多平台二進位制包。
原標題:b11895
閱讀原文
| 評分 | 42 / 40(平均 41,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 修復 Metal 大張量 kernel_mul_mm 報錯
llama.cpp 發布 b11575 建置,修復 Metal 後端在大張量上 kernel_mul_mm 核心報錯的問題,改動位於 ggml/src/ggml-metal/kernels/mul_mm.metal。該修復由 Codex 輔助完成,影響在 Apple Silicon 上通過 Metal 做推理的使用者。
llama.cpp 修復 Metal 後端每 token 9 專家 MoE 核心缺失
llama.cpp 建置 b11755 修復了 Metal 後端缺少每 token 9 專家 MoE 核心變體的問題(#30610、#30699),涉及 Apple Silicon 上的 MoE 推理路徑。該版本照例發布全平台預編譯包,覆蓋 macOS/iOS、Linux(CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO)、Android、Windows 及 openEuler 昇騰等後端。
llama.cpp 修復 Metal GPU capture 路徑記憶體洩漏
llama.cpp 發布 b11791 建置,Metal 後端修復了 GPU capture 路徑中的記憶體洩漏並清理了相關邏輯(#30890)。該版本同步更新 macOS/iOS、Linux、Android、Windows 各平台預編譯包,macOS Apple Silicon 的 KleidiAI 啟用版與 openEuler 建置仍為 DISABLED。Metal 修復主要影響在 Apple Silicon 上使用 Metal 後端跑本地推理的使用者。
llama.cpp 修復 Metal 後端 MUL_MAT+ADD 融合錯誤
llama.cpp 合併 PR #30100,修復 Metal 後端 MUL_MAT+ADD 融合中殘差運算元的選擇錯誤:當 ADD 的兩個運算元都是矩陣乘法輸出(x = W1@u + W2@v)時,舊邏輯會選中自身從未寫入的輸出緩衝區,導致結果錯誤。Clef 決策模型因此在 Metal 上機率趨近均勻,billing 輸出 0.28,而 CPU 後端為 0.977,且同一檔案在 CPU 上結果正確,說明並非量化問題。
llama.cpp 修復 Metal 後端 mul_mat_id 重複 id 錯誤
llama.cpp 建置版本 b11569 修復了 Metal 後端 mul_mat_id 在 id 重複時輸出錯誤、丟行乃至溢位到下一個 expert 切片的問題。新實現先做一遍預掃描,為每個 expert 建立緊湊的 (token, slot) 條目列表,並借鑑 Vulkan 方案讓 map0 額外輸出 tile 描述符,kernel_mul_mm_id 按描述符處理單個 tile,重複 id 由此被隱式處理。