DeepSeek V4.1-Flash 將 KV cache 壓縮至前代四分之一
DeepSeek 公布 V4.1-Flash 的 KV cache 相比上一代只需 1/4 的 HBM 和 1/8 的 SSD 儲存。官方指出快取命中費用常佔 agent 成本很大比例,壓縮快取可顯著降低這部分開銷。
找到 30 筆
DeepSeek 公布 V4.1-Flash 的 KV cache 相比上一代只需 1/4 的 HBM 和 1/8 的 SSD 儲存。官方指出快取命中費用常佔 agent 成本很大比例,壓縮快取可顯著降低這部分開銷。
llama.cpp 發布建置 b11910,修復 OpenCL 後端未在 set_tensor 中寫入 KV-cache 檢視、導致狀態恢復(state restore)被丟棄的問題(PR #30471)。
哈工大(深圳)與新加坡國立大學團隊提出免訓練 2-bit KV Cache 量化框架 QuantWM,面向影片世界模型,實際壓縮最高 6.20 倍。研究指出,現有量化方法在 VBench 等指標上接近 BF16,畫面卻仍有閃爍、模糊和失真,原因是 Key 的量化誤差改變了注意力分數排序,使模型選中不同的歷史幀或影像塊。
llama.cpp 發布 b11528,修復 meta backend 處理主機記憶體 tensor 檢視時的斷言失敗。此前使用 --split-mode tensor 並配合部分 offload 時,KV cache 的 view 會被留在 meta split 中,導致 ggml_backend_meta_get_split_state() 解引用 tensor->buffer->context 崩潰;
llama.cpp 發布 b11411,修復恢復 KV cache 時 rotation 後設資料不匹配的問題:現在會儲存精確的 rotation 後設資料,並拒絕恢復與之不匹配的快取。原先的 state rotation 測試被移入 test-save-load-state,納入儲存/載入測試矩陣,對所有受測模型執行,並探測模型支援的 KV cache 型別組合,不使用 attention rotation 的模型視為空通過。
llama.cpp 發布 b12007,核心改動是把 KV-cache 的旋轉常量保留在 GPU 上(#31073),並支援逐層旋轉緩衝,配套測試用於驗證常駐的 KV 旋轉緩衝。此次還修復了混合 SWA 旋轉輸入與混合放置檢查的問題,mistral-large4 與 dflash 模型改用逐層旋轉。多裝置旋轉的剩餘工作已補充文件,旋轉緩衝相關測試被移除;
llama.cpp 發布 b12065,修復了共享 KV cache 的序列在還沒有任何 cell 時 get_n_kv_rows() 返回 0 的問題。這類 cache 會複用另一個 cache 的 cells(例如 gemma4 assistant),因此當服務預熱階段提前建置圖時,它會被誤判為不使用 kv_rows,從而回退到 dense KQ mask 並讓排程器重新規劃;此後建置掩碼更大的圖時,在 GGML_SCHED_DEBUG_REALLOC=1 下會中止。
Cloudflare 披露 Workers AI 上的 GLM-5.3 出現跨請求 KV 快取洩露,155 條回應混入了其他使用者請求的資料。問題從 8 月 27 日持續到 9 月 9 日,隻影響長度超過 681,280 token 的提示詞:上下文視窗設為 1,048,576 token,但 prefill KV 池只有 681,280 token,SGLang 遇到超長請求時沒有返回錯誤,解碼節點反而讀取了殘留的快取頁。
百度發布並開源文心 Unlimited OCR 2,百頁級單序列峰值 KV 快取從 47GB 降到 1.77GB,減少約 96%。它靠稀疏參考滑動視窗注意力 SR-SWA 與分塊無限解碼,可連續解析 3600 頁以上文件,16 路併發吞吐從 360 提升到 1315 Token/秒。MarathonDocBench 得 77.06、MPDocBench 得 84.59,單步解碼速度分別為全注意力和上代 R-SWA 的 7.0 倍與 5.6 倍。
llama.cpp 發布 b11890 建置,集中修復 DeepSeek V4.1(DSV4)的支援。該版本中,KV-cache 的 DSV4 K mirror 改用 ggml_backend_tensor_copy 填充,Engram pad id 與 token map 分別移入 llama_hparams 和 llama_model,saver 不再需要 deepseek41 模型類;
llama.cpp 的 Hexagon 後端在 row-split 多核模式下把 flash_attn 從按 Q token 切分改為按 KV head 切分,讓每個核心只讀自己負責的那部分 KV cache,不再重複讀取全部 KV cache。該行為由 GGML_HEXAGON_FA_HEAD_SPLIT 控制,預設開啟;當 n_kv_heads 不能被核心數整除時回退到原 token-block 切分(如 4 核上只有 2 個 KV head 的 Gemma-4)。
Cerebras 詳解如何在自研 WSE-3T 晶圓上部署萬億引數模型:以開源的約 3 萬億引數 Kimi K3 為例,需要 59 片晶圓,可跑到 1000–2000+ tokens/s。每片晶圓有 44GB 片上記憶體,按 4-bit 權重、8-bit KV cache、256k 上下文計算,69 個線性注意力層每片放 2 層、24 個稠密層每片放 1 層。
llama.cpp 建置 b11756 修復了 Anthropic /v1/messages 轉換路徑不轉發 id_slot 的問題:服務端在把 Anthropic 請求轉成內部 OAI 格式時只複製了一份常用引數白名單,遺漏了 id_slot,導致需要把會話固定到快取了 KV cache 的槽位的代理只能退回自動選槽,在混合/迴圈模型上還要重新做完整的 prefill。
llama.cpp 建置 b11647 的 Vulkan 後端為 AMD 顯示卡最佳化了 f16/bf16 KV cache 的 strided 複製:先把 KV 一次性拷到 scratch,使跨記憶體通道的讀取分散,而不是集中在少數通道上。改動刪掉了專用的反量化 shader,改為複用已有的通用 copy pipeline——f16 分支只需要 strided copy,不需要 dequant;複製按源記憶體順序描述,讓跨步訪問落在順序寫入端。
llama.cpp b11576 把無快取注意力路徑的 KV 維度填充到 256,修復了該路徑下 Flash Attention 回退 CPU 的問題。
位元組 Seed 團隊發現,DeepSeek-V4 系列在 128K 長上下文檢索中的準確率會隨目標資訊的位置以 4 個 Token 為週期起伏,同一條資訊換個位置最多相差 40.2 個百分點,V4-Pro-Base 也有 34.8 個百分點。原因指向其為省記憶體採用的分塊 KV Cache 壓縮:資訊在壓縮視窗內所處相位不同,檢索能力就出現系統性差異,團隊稱之為相位敏感性,並用基於 Qwen3-0.6B 自訓的多種分塊壓縮模型復現了同樣的週期。
llama.cpp 新建置 b11868 給驍龍 Hexagon NPU 的多核 HMX flash attention 加入了 KV 頭分組拆分,並把原來的 FA_HEAD_SPLIT 與 FA_SPLIT 兩套開關合併為單一開關 GGML_HEXAGON_FA_SPLIT。設為 0 時只做 token 拆分;
llama.cpp 合併 PR #29994,修復 CPU 後端在共享序列(seq_cp)場景下 k-pool 的散射寫入資料競爭:多個共享同一 cell 的序列會從不同 scatter 條目寫同一 rep 行。
llama.cpp 更新 server 的 prompt cache 邏輯:現在只儲存可恢復的 slot 狀態(PR #30498)。此前每個任務啟動時都會把空閒 slot 全部寫入快取,rerank、embedding、decision、infill 的狀態填滿快取卻從不被讀回;
llama.cpp 建置 b11596 將 test-save-load-state、test-recurrent-state-rollback、test-state-restore-fragmented 三項上下文狀態測試合併為單一二進位制 test-llama-context,一次執行覆蓋 130 多個模型。
DeepSeek 上線 V4.1-Flash,採用 552B 引數 MoE 與新的因果編解碼架構,輸入僅 8B、輸出 16B 啟用引數,原生支援視覺理解。官方稱其基準成績超過旗艦 V4-Pro,KV cache 只需上代 1/4 的 HBM 和 1/8 的 SSD 儲存。
vLLM 與 SGLang 新增由 TorchTPU 驅動的原生 PyTorch 後端,開發者可用熟悉的 PyTorch 工具在 TPU 上執行並調優推理服務。引擎內建最佳化過的 TPU kernel、基於 TPU Sync 的 KV cache 管理和分離式 serving(disaggregated serving),這些能力由專案維護者與官方合作完成。
llama.cpp 合併 #29510,多序列共享的統一 KV 快取改用 kv_rows 切片,取代稠密的 KQ mask,以提升 flash attention 的效率。每個序列維護一份 cell 點陣圖,按置位順序生成 cell 列表,並在 seq_pos_inc/dec 時增量更新,刪除 cell 時不必重建;被 SWA 對所有 token 隱藏的 cell 會從列表中剔除。
llama.cpp 讓 qwen4exp (QSA) 與 glm5-next 的稀疏注意力選擇不再跟隨 kq_mask 的形狀,改為在 KV cache 單元上按 [n_kv, n_tokens] 建置,到 attention 前才拆成 K 檢視的流。這樣 dense mask 可以自行改變佈局(例如按序列的行列表),不必改動稀疏層。同時刪掉了 build_fused_top_k_mask 中未使用的引數。
DeepSeek 以 Apache 2.0 開源內部推理框架 DeepInfer 及配套編解碼元件 deepseek-recipe,當前支援 DeepSeek-V4.1-Flash。官方披露單叢集每天吞吐 155 萬億 token,按 API 谷價摺合每卡每小時 38 美元收入,有人以每張 B300 每小時 7 美元租金估算毛利率約 82%。
llama.cpp 發布 b11922,主要修正是讓多序列 split replay 與 partial state 的測試在已訓練模型上成立。原測試中回滾快照與參考上下文的 batch 形狀不同,狀態末位差異會被模型逐 token 放大;現在只比較每條序列的首個重放 token,並在 seq-1 的 tail 前把回滾狀態載回參考上下文。
llama.cpp 的 SYCL 後端新增 DPAS flash attention 核心,解碼與小批次(1 到 31 個 query token)可直接在 q4_0、q8_0 的 KV 塊上執行,不必做標量反量化或每次呼叫都把整個快取轉成 f16。Q.K 在 XMX 上使用 s8×s4 與 s8×s8 DPAS,V.P 仍保持 f16;覆蓋 head size 64 到 512、最多 32 的 GQA 與 attention sinks,prompt 階段仍走原有核心。
斯坦福教授 John Ousterhout 在 AI Engineer 演講中提出 Homa,一種面向資料中心的全新傳輸協議,認為 TCP 和 RDMA 正成為 AI 叢集的瓶頸。他指出 AI 負載已從大流量梯度傳輸轉向 KV cache 查詢、屏障同步等小訊息協調,這類訊息對延遲敏感,一旦與大數據流混排就會陷入 incast 佇列,拖高尾延遲並讓 GPU 空轉。Homa 基於訊息而非位元組流,採用接收端驅動的擁塞控制,並用 SRPT 優先排程短訊息。
阿里千問與俄亥俄州立大學提出 TRACE,用 Rollout 側真實 FP4 量化結果指導訓練側舍入方向,在四個 Qwen MoE 模型上把聯合 FP4 權重啟用與 FP4 KV Cache 的 RL 效能拉回 BF16 水平。Qwen3.5-35B-A3B 平均分 75.3,高於 BF16 Rollout 的 74.9,遠超普通 QAT 的 59.6 和 QUADS 的 68.8;128K 輸出長度下解碼吞吐最高提升 5.4 倍,端到端 RL step 僅增約 7.4% 開銷。
阿里開源 Qwen-Image-2.1,將文生圖與影像編輯統一到單一模型,視覺生成元件僅 7B 引數,原生支援生成和編輯透明影像。該模型最多可接受 10 張參考圖,支援圈選、塗抹和獨立掩碼三種區域性編輯方式,並提升人像身份與商品一致性。採用混合粒度注意力架構,KV cache 複用輸入影像與編輯指令以降低視訊記憶體佔用,權重已在 GitHub、Hugging Face 和 ModelScope 發布。