HelloSun commited on
Commit
aa61f8c
·
verified ·
1 Parent(s): ae0ae4a

Add 10-run real tool-use benchmark summary

Browse files
Files changed (1) hide show
  1. README.md +20 -3
README.md CHANGED
@@ -64,7 +64,21 @@ RAM_BUDGET_MB=4096 ./sdq-ling/serve.sh
64
  | expert 權重 | gate/up Q4_K,down Q6_K;約 4.2 GiB | GGUF tensor metadata |
65
  | context metadata | 131,072 | GGUF metadata |
66
 
67
- ## 嚴格 RAM 上限實測
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
  每輪都由 `prlimit --data=<bytes>` 設定 RLIMIT_DATA;不是只有傳 pager budget。測試用 ctx=256、ubatch=32、threads=4、temperature=0,每輪生成 32 tokens、每級兩次。使用 Intel Xeon Platinum 8559C 主機,CPU-only,192 threads;上層 cgroup `memory.max=104000000000`、`memory.swap.max=2936848384`。build 關閉 `GGML_CPU_REPACK` 與 AMX;每輪前對模型檔呼叫 `posix_fadvise(DONTNEED)`。
70
 
@@ -84,10 +98,13 @@ anon 峰值是 RLIMIT_DATA 主要管制並用來判斷 PASS 的欄位;檔案
84
 
85
  ## 產物
86
 
87
- - `results/strict_memory_levels.md`、`results/strict_memory_levels.json`:1/2/4/8/16 GiB 硬限制的兩輪原始結果。
 
88
  - `results/io_*_watch.txt`:O_DIRECT 與 buffered page-cache 對照。
89
  - `results/verify_dequant.txt`、`results/verify_selftest_numpy.txt`、`results/verify_moe_layer.txt`:pager 數值正確性檢查。
90
- - `sdq-ling/strict_bench.py`:可重跑的限制矩陣 benchmark。
 
 
91
  - `sdq-ling/0001-sdq-ling.patch` 與 `sdq-ling/sdq_*.{cpp,h}`:參考 EPQ pager 的 llama.cpp patch/source。
92
  - `results/host_capability_audit.txt`:測試主機與容器資訊。
93
 
 
64
  | expert 權重 | gate/up Q4_K,down Q6_K;約 4.2 GiB | GGUF tensor metadata |
65
  | context metadata | 131,072 | GGUF metadata |
66
 
67
+ ## 實際工具使用 workload(10 輪平均)
68
+
69
+ 另外完成 1/2/4/8/16 GiB 各 10 輪的 tool-use benchmark。每輪模型實際輸出 `get_weather` 與 `compile_project` 呼叫;harness 查詢 Open-Meteo 東京天氣、每輪清除 build directory 並重新執行 CMake fixture 編譯,再將 tool result 交回模型摘要。每個模型回合都在相同硬記憶體上限下啟動。
70
+
71
+ | RAM 上限 | 成功輪次 | decode tok/s 平均 ± SD | SSD MiB/token 平均 ± SD | hot rate % 平均 ± SD | anon 峰值 MB 平均 | 全輪耗時秒平均 |
72
+ |---:|---:|---:|---:|---:|---:|---:|
73
+ | 1 GiB | 10/10 | 7.71 ± 0.12 | 205.4 ± 0.1 | 9.6 ± 0.0 | 432 | 34.7 |
74
+ | 2 GiB | 10/10 | 11.09 ± 0.36 | 71.3 ± 0.1 | 43.7 ± 0.0 | 1,423 | 33.0 |
75
+ | 4 GiB | 10/10 | 15.19 ± 0.81 | 22.1 ± 0.0 | 58.0 ± 0.1 | 3,404 | 39.8 |
76
+ | 8 GiB | 10/10 | 16.81 ± 0.64 | 7.1 ± 0.0 | 74.8 ± 0.0 | 7,076 | 49.8 |
77
+ | 16 GiB | 10/10 | 17.60 ± 0.45 | 6.5 ± 0.0 | 75.5 ± 0.0 | 14,612 | 78.2 |
78
+
79
+ 完整說明與原始結果見 [`results/tool_use_levels.md`](results/tool_use_levels.md) 和 [`results/tool_use_levels.json`](results/tool_use_levels.json),可重跑腳本為 [`sdq-ling/tool_use_bench.py`](sdq-ling/tool_use_bench.py)。天氣資料是即時 API 回應,因此依每輪查詢時間而變。benchmark 的每個 model call 獨立啟動,工具結果以新的 prompt 交回,不保留跨回合 KV cache。
80
+
81
+ ## 嚴格 RAM 上限實測(基準 prompt)
82
 
83
  每輪都由 `prlimit --data=<bytes>` 設定 RLIMIT_DATA;不是只有傳 pager budget。測試用 ctx=256、ubatch=32、threads=4、temperature=0,每輪生成 32 tokens、每級兩次。使用 Intel Xeon Platinum 8559C 主機,CPU-only,192 threads;上層 cgroup `memory.max=104000000000`、`memory.swap.max=2936848384`。build 關閉 `GGML_CPU_REPACK` 與 AMX;每輪前對模型檔呼叫 `posix_fadvise(DONTNEED)`。
84
 
 
98
 
99
  ## 產物
100
 
101
+ - `results/strict_memory_levels.md`、`results/strict_memory_levels.json`:先前固定 benchmark prompt 的兩輪原始結果。
102
+ - `results/tool_use_levels.md`、`results/tool_use_levels.json`:weather/CMake 真實工具使用的 10 輪結果。
103
  - `results/io_*_watch.txt`:O_DIRECT 與 buffered page-cache 對照。
104
  - `results/verify_dequant.txt`、`results/verify_selftest_numpy.txt`、`results/verify_moe_layer.txt`:pager 數值正確性檢查。
105
+ - `sdq-ling/strict_bench.py`:固定 prompt 限制矩陣 benchmark。
106
+ - `sdq-ling/tool_use_bench.py`:weather/CMake 工具呼叫限制矩陣 benchmark。
107
+ - `tools/tiny_fixture/`:CMake build 工具測試專案。
108
  - `sdq-ling/0001-sdq-ling.patch` 與 `sdq-ling/sdq_*.{cpp,h}`:參考 EPQ pager 的 llama.cpp patch/source。
109
  - `results/host_capability_audit.txt`:測試主機與容器資訊。
110