YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

SDQwen35A3B — Qwen3.6-35B-A3B 的 SSD→RAM→CPU 專家分層推論引擎

在 8 GB RAM 的 Intel 機器上真的跑得動 Qwen3.6-35B-A3B(22.1 GB / Q4_K_M): 冷專家留在 SSD,RAM 只放有限容量的 expert cache,不用 swap 冒充 RAM。

  • 引擎基礎:llama.cpp(pinned commit,見 sdq/config.py)
  • 核心實作:cpp/sdq_pager.cpp(RAM arena + 大小兩種槽位 + pin + 淘汰 + 指標) + cpp/sdq_moe.cpp(自訂 MoE op)+ cpp/sdq_buft.cpp(讓 18.2 GiB 專家權重不進 RAM)
  • 進度真相來源:**stage.txt**(每階段更新,並上傳 HF)
  • 文件:docs/01 執行路徑分析、docs/02 設計、docs/03 實測結果與瓶頸、 docs/04 mode C 與負結果、docs/05 I/O 段平行與 8 GB 預算修正、 docs/06 大小兩種槽位(+11.5 %)、docs/07 跨層預取的負結果與三個正確性修正、 docs/08 預取路徑的測試與它抓出的缺陷、docs/09 決定性結案
  • 一鍵從零到聊天:python demo.py

目前的實測數字

條件:--ram-budget-mb 8192 + RLIMIT_DATA 8 GB、8 執行緒、ctx 4096、temp 0, 短提示詞、48 個生成 token。換機器數字一定不同(見 docs/05 §1:本機的 SSD 是網路檔案系統,單流只有 275 MB/s)。

項目 值
decode 速度 6.28 tok/s(7 次中位數;S5 收尾時是 5.52)
prefill 速度 30 tok/s(681 token 的提示詞,ubatch=128)
expert cache 命中率 70.7 %(這個工作流的理論上限是 78.9 %,見 docs/05 §6)
SSD 讀取量 202 MB / token
峰值 RSS 8035 MB(長提示詞、ctx 4K;短提示詞 7455 MB)
本行程 swap 0 MB(不用 swap 冒充 RAM)
模型載入 22.1 GB 全部留在 SSD,RAM 只有 3.68 GiB arena(2067 槽)

上下文設計上支援 1M,實測只驗 4K。細節見 docs/03_results.md(量測方法)、 docs/04_experiments.md(mode C 與兩個負結果)、docs/05_optimization.md(I/O 段平行與 8 GB 預算修正)、docs/06_slots.md(大小兩種槽位)、docs/07_prefetch.md(跨層預取的 負結果)、docs/08_verify_gaps.md(驗證的漏洞與它抓出的缺陷)、 docs/09_determinism.md(決定性檢查與一個資料競爭的結案)。

這個版本為什麼比之前快

兩句話:

  1. 一個 expert 的三段權重(gate/up/down)在 GGUF 裡是不相鄰的三段,原本是循序 pread,而單次讀取時間與執行緒數無關。改成三段同時讀之後 +48%。
  2. 40 層裡只有 3 層的 expert 比較大(down 用 Q6_K),但槽位全部照大的配, 等於白扔 6.8% 的 arena。改成大小兩種槽位之後 +11.5%,而峰值 RSS 完全不變。
版本 decode tok/s
S2(mode B) 2.63
S4(mode C 排程) 3.73
S5(+I/O 段平行) 5.52
S6(+大小兩種槽位) 6.28

8 GB 預算的硬約束

這個專案最重要的不是速度,是真的不超過 8 GB。兩個實際踩過的坑:

  • ubatch 預設 512 會讓長提示詞直接 std::bad_alloc 崩潰(compute buffer 是在 arena 大小算出來之後才配置的)→ 預設改成 128。
  • RAM 預留 700 MB 時長提示詞的峰值 RSS 是 8231 MB,超出預算 → 改成 900 MB (峰值 8035 MB)。代價是少 8 % 速度,值得。

快速開始

python demo.py                # 下載 code / 模型 / 編譯 / 進入聊天
python demo.py --once         # 不聊天,單跑一句示範(適合 CI)
python demo.py --verify       # 三層正確性驗證(kernel / 整層 / 端到端 A/B)
python demo.py --bench        # 量 RSS / SSD I/O / 命中率 / tok/s
python demo.py --help         # 全部選項

目前狀態請先讀 **stage.txt**(含未結案問題清單)。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support