Add 10-run real tool-use benchmark summary
Browse files
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 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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`:
|
|
|
|
| 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`:
|
|
|
|
|
|
|
| 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 |
|