AISpot

llama.cpp 新增 Kimi-K3.1-Pro 文字模型支援

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

llama.cpp 通過 PR #31779 加入 Kimi-K3.1-Pro 文字模型支援,視覺塔與 mm_projector 被跳過,目前僅支援文字。該模型 93 層中有 24 層把全注意力 MLA 換成 DSA,每層帶 lightning indexer(32 頭 × 128,top_k 2048,無 rope),KDA 線性注意力層與 K3 其餘骨架不變,因此複用 K3 計算圖和轉換器。

llama.cpp 接入 Kimi-K3.1-Pro 的 DSA 稀疏注意力加 KDA 混合架構,並公布與 HF checkpoint 的逐張量比對和 PPL 實測,對想在本地跑 K3 系列模型的人最有用。

原標題:b12180
閱讀原文

評分84 / 78(平均 81,門檻 60)
狀態精選

全文翻譯

model: 新增 Kimi-K3.1-Pro 文字模型 ( #31779 ) model: 新增 Kimi-K3.1-Pro 文字模型 K3 將全注意力 MLA 層替換為 DSA:在此檢查點上,93 層中有 24 層 攜帶一個 lightning 索引器(32 頭 x 128,top_k 2048,無 rope)。KDA(線性注意力)層和 K3 骨架的其餘部分—— 跨層殘差、潛在 MoE、situ、MLA 輸出門、全秩 KDA 門—— 保持不變,因此這複用了 K3 圖與轉換器,並新增了索引器。 索引器: 選擇是整個快取上的加性掩碼,而不是對 top-k 行的 gather, 因此它複用了現有的稀疏快閃記憶體注意力路徑; 在該路徑之外,掩碼保持正確,但仍會在快取上產生一個 kq 索引器鍵 LayerNorm 從模型的 rms_norm_eps 獲取其 eps, 因為 dsa_config 自身未宣告 eps 圖與快取: 新架構,每個 DSA 層有四個索引器張量,以及一個混合記憶體 為這些層保留僅 K 的 MLA 快取,為 KDA 層保留迴圈狀態, 以及索引器鍵快取 圖節點預算共享 K3 入口 轉換: KimiK31Model(KimiK3Model),由 KimiK31ForConditionalGeneration 選取 dsa_config 變為 attention.indexer.{head_count,key_length,top_k,types} 加上索引器 LayerNorm eps;層列表像 linear_attn_config 的一樣從 1 開始索引,轉換器斷言其恰好覆蓋 全注意力層 路由專家保持 MXFP4,並像 K3 中一樣重新打包,而不是反量化 視覺塔和 mm_projector 被跳過:目前僅文字 架構鍵遵循檢查點自身的 model_type("kimi_k31"), 載入器註冊 KimiK31ForConditionalGeneration;發布名稱帶有 一個 -Pro 字尾,而配置或張量名稱中均未使用該字尾 量化:索引器的 q_b、k 和 proj 被排除在量化 覆蓋之外,因為 top-k 選擇對其精度敏感。 在 8 層切片上針對 HF 檢查點驗證:38 個張量精確 檢查,索引器後設資料對照配置檢查,選擇對照 全注意力檢查——在 top_k 超出上下文長度時 PPL 相同,一旦 top_k 被強制低於該長度則出現分歧。架構測試夾具和完整架構套件通過。 轉換器:避免 k3 基礎中的雜亂 縮小注釋以匹配模型 更新 metal 融合預期 恢復 與 PR 31733 重構同步 網站: https://llama.app 證明: https://github.com/ggml-org/llama.cpp/attestations/64707271 macOS/iOS: macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64, KleidiAI 已啟用) 已停用 - macOS Intel (x64) - iOS XCFramework - Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu 26.04 s390x (CPU) - Ubuntu 26.04 s390x (zDNN) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 庫 - Ubuntu x64 (CUDA 13) - CUDA 13.5 庫 - Ubuntu arm64 (CUDA 13) - CUDA 13.5 庫 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - 設定指南 - Android: - Android arm64 (CPU) - Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - 設定指南 - 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.5 DLLs - Windows arm64 (CUDA 13) - CUDA 13.5 DLLs - Windows x64 (Vulkan) - Windows arm64 (Vulkan) - Windows x64 (OpenVINO) - Windows x64 (SYCL) - Windows x64 (ROCm 10.0) - openEuler: - 已停用 - openEuler x86 (310p) - openEuler x86 (910b, ACL Graph) - openEuler aarch64 (310p) - openEuler aarch64 (910b, ACL Graph) - UI: - UI

由 AI 翻譯,以原文為準。

原文
model: add Kimi-K3.1-Pro text model ( #31779 ) model: add Kimi-K3.1-Pro text model K3 with the full-attention MLA layers replaced by DSA: on this checkpoint 24 of the 93 layers carry a lightning indexer (32 heads x 128, top_k 2048, no rope). The KDA (linear-attention) layers and the rest of the K3 skeleton - cross-layer residuals, latent MoE, situ, MLA output gate, full-rank KDA gate - are unchanged, so this reuses the K3 graph and converter and adds the indexer. Indexer: the selection is an additive mask over the whole cache, not a gather of the top-k rows, so it reuses the existing sparse flash attention path; off that path the mask stays correct but still costs a kq over the cache the indexer key LayerNorm takes its eps from the model's rms_norm_eps, because dsa_config declares no eps of its own Graph and cache: new arch with four indexer tensors per DSA layer, and a hybrid memory that keeps a K-only MLA cache for those layers, recurrent state for the KDA layers, and the indexer key cache the graph node budget shares the K3 entry Conversion: KimiK31Model(KimiK3Model), picked by KimiK31ForConditionalGeneration dsa_config becomes attention.indexer.{head_count,key_length,top_k,types} plus the indexer LayerNorm eps; the layer list is 1-indexed like linear_attn_config's, and the converter asserts that it covers exactly the full-attention layers the routed experts stay MXFP4 and are repacked as in K3, not dequantized the vision tower and mm_projector are skipped: text only for now the arch key follows the checkpoint's own model_type ("kimi_k31") and the loader registers KimiK31ForConditionalGeneration; the release name carries a -Pro suffix that nothing in the config or the tensor names uses Quantisation: the indexer's q_b, k and proj are kept out of the quant overrides, since the top-k selection is sensitive to their precision. Verified on an 8-layer slice against the HF checkpoint: 38 tensors checked exactly, the indexer metadata against the config, and the selection against full attention - identical PPL at top_k beyond the context length, divergent once top_k is forced below it. Arch test fixture and the full arch suite pass. converter: avoid clutter in the k3 base narrow comment to match model update metal fusion expectations restore sync with PR 31733 refactoring Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/64707271 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 26.04 s390x (CPU) Ubuntu 26.04 s390x (zDNN) Ubuntu x64 (Vulkan) Ubuntu arm64 (Vulkan) Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries Ubuntu x64 (CUDA 13) - CUDA 13.5 libraries Ubuntu arm64 (CUDA 13) - CUDA 13.5 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.5 DLLs Windows arm64 (CUDA 13) - CUDA 13.5 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 評分59

llama.cpp 新增支援 LiquidAI LFM3-1.7B 與 LFM3-VL-2B

llama.cpp 合併 PR,加入對 LiquidAI 的 LFM3-1.7B 文字模型與 LFM3-VL-2B 視覺語言模型的支援。改動包括為 LFM3 啟用迴圈狀態回滾、設定 LFM3 測試模型的 SWA rope base,並讓 LFM3-VL 的 depthwise 卷積核在量化時保持 F32 精度,同時補充 LFM3 的 Metal 融合基線測試。

llama.cpp releasesAI 評分45

llama.cpp b11572 新增 vLLM d3 模型支援

llama.cpp 發布 b11572,新增對 vLLM d3 模型的支援(d2 同步更新),並加入 pplx-decider 模型支援,同時澄清命名規則、加強校驗。該版本照例提供 macOS/iOS、Linux、Windows、Android、openEuler 的預編譯包,覆蓋 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 以及驍龍 CPU/Adreno GPU/Hexagon NPU 等後端。

llama.cpp releasesAI 評分25

llama.cpp 伺服器新增 /v1/systemone API,支援 laya、julia-1 等模型

llama.cpp 的 server 元件新增了 /v1/systemone API,支援 laya、julia-1、lev、openjev、kev 五個模型。該 PR 包含模型轉換、服務端程式碼、共享提示字首、視覺支援,並新增 openjev tiny 模型用於測試。建置覆蓋 macOS、Linux、Windows、Android 等平台,但明確不支援 date_facts。

llama.cpp releases● 精選AI 評分83

llama.cpp v0.8.0 支援 LFM3 全模態與即時語音端點

llama.cpp 發布 v0.8.0,新增 LiquidAI LFM3 模型家族,包括文字 LFM3-1.7B、視覺 LFM3-VL-2B、音訊 LFM3-Audio-2B 與 LFM3-Omni-2B,並配套實驗性流式音訊輸入 API。服務端新增 /v1/realtime 端點,實現 OpenAI realtime 協議,用於即時對話與轉寫,另有 POST /tts 文字轉語音端點,推理努力等級也可通過 API 選擇。