返回首頁

推論系統

llama.cpp 0.4.0 以延遲張量讀取降低大型模型載入尖峰,並接入 Qwen3.8 新架構

新版加入 `--lazy-mode`、量化工作記憶體上限及逐列分片串流,讓超大型張量不必一次載入 RAM。它也初步支援 Qwen3.8-Flash-Next 與 Nemotron-3-Puzzle,但前者的效能最佳化及部分硬體相容性仍待完成。

The GGML authors · Public domain · Image source
zh-Hant

llama.cpp 0.4.0 的重點不只是增加模型名稱,而是重新處理大型、異質模型的資料搬移方式。新增的 `--lazy-mode` 可按需求讀取張量,避免模型啟動時把所有權重立即放進實體記憶體;量化器另加入 `max_buf_size` 與 row-slab streaming,限制處理單一巨型張量時的暫存空間。這對 Qwen3.8-Flash-Next 特別重要:該模型除 125B、每 token 啟用約 6B 的 MoE 主體外,還包含約 51B 參數的 n-gram embedding,單純依賴傳統完整載入容易產生明顯 RAM 尖峰。

模型層面,新版加入 `qwen4exp`、Nemotron-3-Puzzle-75B-A9B、Nemotron 3.5 DSpark 與 nanbeige4.2-3B。推論核心則取得 DFlash2、n-gram history lookup、逐層 expert routing,以及 KV cache 復原和序列掃描最佳化;伺服器可用 `--kv-unified-per-slot` 為不同請求槽設定上下文配額,降低單一長對話侵占共享 KV 容量的風險。多模態介面也擴充影片輸入及新的 tokenization parts API。

工程團隊升級前應注意 session/state 格式因 KV-cell token tracking 而改版,保存中的狀態未必能直接沿用。官方亦明確把 Qwen3.8 支援標為「初步」,最佳化尚未完成;社群已回報部分 AMD HIP 裝置在長上下文、多輪生成時出現降速或輸出異常。延遲讀取能降低常駐記憶體,卻可能把瓶頸轉移至儲存延遲與頁面快取,因此仍須以實際 GGUF、SSD、後端及上下文長度量測,而不能把可載入等同於可高效執行。

來源

  1. llama.cpp v0.4.0 release notes
  2. llama.cpp 0.4.0 source archive and release metadata
  3. Qwen3.8-Flash-Next model announcement