Team Ai
Modelpublic

HelloSun/qwen3-0.6b-ssd-streaming

sourceHugging Faceapache-2.0updated 16h agoView on Hugging Face
0likes38downloads
Model Card

Qwen3-0.6B:SSD Streaming CPU 推理

這是使用 llama.cpp 純 CPU 執行 Qwen3-0.6B-Q8_0.gguf 的低記憶體推論專案。 模型權重約 639 MB,KV cache 使用 SSD 檔案 mmap;所有程式、建置資料與驗證結果 都留在本 repo 目錄中。

本專案是 SSD Streaming + KV SSD Paging,不是 MoE expert paging,也不是 EPQ。 它適合用來驗證「小模型在極低 RAM 下,以 SSD 映射換取可執行性」的路徑。

使用方法

bash
git clone https://huggingface.co/HelloSun/qwen3-0.6b-ssd-streaming
cd qwen3-0.6b-ssd-streaming

# 編譯、下載模型、驗證並進入 chat
python3 demo.py

# 只做一次推論驗證
python3 demo.py --validate-only

# 多 prompt benchmark
python3 benchmark.py

BENCH_REPEATS 與 BENCH_MAX_TOKENS 可調整 benchmark 次數與生成長度。

實測條件與結果

目前驗證主機使用 8 threads、1024 context、權重與 K/V 都以檔案映射位於 NVMe。 8 次請求平均生成速度為 1.58 tokens/s,實測範圍 1.55–1.61 tokens/s; 峰值 RSS 約 125.82 MiB,server process VmSwap=0。

但該主機原本啟用了約 2 GiB system swap,因此這些數字是 SSD offload 效能記錄, 不是整機 swap=0 的通過證據。請以 `validate/validation.json` 中的主機狀態與驗證結果為準。

記憶體與 SSD 設定

  • —權重:mmap,搭配 LLAMA_MMAP_RELEASE=1 背景釋放頁面。
  • —KV:K/V 使用 q8_0,LLAMA_KV_SSD=1,放在 models/kv-ssd.cache。
  • —page cache:定期對 GGUF 與 KV 檔呼叫 POSIX_FADV_DONTNEED。
  • —RAM:activations、compute buffer、OS 與 llama.cpp 執行狀態仍需 RAM。
  • —設定:LLAMA_CONTEXT、LLAMA_THREADS、MEMORY_LIMIT_GB 可覆寫預設值。

swap=0 必須在實際推論主機上成立;程式會分開記錄 process VmSwap 與 system swap, 不會假裝替使用者關閉 swap。

證據

  • —`validate/validation.json`:smoke test 與驗證 verdict
  • —`validate/performance.json`:多 prompt 效能
  • —`validate/memory.json`:RSS / VmSwap 取樣
  • —`benchmark.py`:可重現 benchmark

參考